项目经验一:微信小游戏——港口贸易模拟器(个人开发)
项目周期:2025年11月至今(持续迭代中)
角色:独立开发(全栈)
技术栈:Cocos Creator 3.x + 微信云开发(云数据库、云函数、云存储)+ Node.js
项目描述:一款模拟航海贸易的微信小游戏。玩家驾驶商船在多个港口间航行,利用各地物价差异低买高卖赚取差价,目标是在限定时间内达成指定盈利目标。核心包含港口地图系统、浮动价格交易系统、仓位管理系统三大玩法模块,后端全部基于微信云开发实现。
个人职责与成果:
独立完成全部前端开发。基于Cocos Creator组件化架构搭建项目,设计了港口主界面、航行地图、交易弹窗、背包管理等核心页面。利用离屏Canvas缓存静态背景和大量货物图标,将DrawCall控制在合理范围内,在千元级Android测试机上稳定运行。
独立设计并实现浮动价格算法。基于供需模型构建价格引擎,每个港口维护基准价、供需系数、随机扰动三层计算,实现"买多则涨、卖多则跌"的动态市场效果。同时设计了事件驱动机制(随机触发风暴、商队、海盗等事件影响具体商品价格),保证数值平衡的同时增加了策略深度。
独立完成后端架构。基于微信云开发搭建全后端体系:云数据库设计玩家存档、港口配置、商品模板、交易流水四个核心集合;云函数实现价格刷新、交易撮合、存档同步等业务逻辑;定时触发器自动执行每小时行情刷新和每日事件轮换。所有港口、商品、价格参数从数据库读取,运营人员无需发版即可调整游戏数值。
解决了仓库容量限制与商品差异化占位的设计难题。不同商品占用不同格子数,引入"先卸后装、净容积校验"的交易原子化逻辑,防止利用整数取整的数值漏洞套利。
遇到的技术难点:
实现航行进度条平滑插值时,微信小游戏环境的低端机在setTimeout回调中频繁更新画面导致掉帧。改为在requestAnimationFrame主循环中统一驱动所有动画(航行进度、价格飞字、事件弹窗),将多套动画系统收敛到一个渲染循环中,帧率从波动25fps提升到稳定50fps以上。