1、立项背景和目标:
一款以三国为背景的轻量级塔防策略抖音小程序游戏,
玩家需要在5×8网格地图上布置兵种抵御敌人进攻,
保护己方基地不被摧毁。目标是通过策略搭配和兵种合成,
通关多个关卡,体验三国英雄合成功能。
2、软件功能、核心功能模块的介绍:
- 关卡选择系统:多关卡递进式设计,解锁机制
- 兵种招募与合成:刀、弓、骑、枪四大兵种,同种合成升级
- 武将字牌系统:赵云、张飞、关羽等三国名将,双字牌合成英雄
- 大招特效系统:英雄专属技能动画(群体攻击、范围震慑、横扫千军等)
- 资源管理:金币征兵、铁锹清理障碍、垃圾场丢弃回收
- S型敌人路径算法:敌人沿预设蜿蜒路线推进,含岩石、锁区等地形障碍
3、业务流程、功能路径描述:
封面页→PVE选关→进入战斗→招募兵种拖入网格→合成升级→抵御波次敌人→
通关解锁下一关→收集武将字牌合成英雄→触发大招特效→胜利/失败结算
1、整体架构和设计思路,不同模块使用的技术栈:
采用经典的游戏循环架构(Game Loop),基于微信小程序 Canvas 2D API 实现渲染。
核心模块:
- main.js:游戏主逻辑,状态机管理(封面/选关/战斗)
- grid.js:5×8网格地图系统,路径计算与碰撞检测
- unit.js / monster.js:兵种与怪物实体类,星级倍率系统
- renderer.js:Canvas 2D渲染引擎,精灵绘制与特效动画
- input.js:触控事件处理,拖拽合成交互
- config.js:全局配置(关卡数据、兵种属性、英雄配方、S型路径)
2、"我"的负责模块和结果(尽可能量化):
- 独立开发全部6个JS模块,总计约2000+行代码
- 实现完整的兵种合成系统(4种兵种×5星等级)
- 设计6位三国英雄字牌合成配方及专属大招特效
- 完成10个关卡的难度曲线设计与波次数据配置
- 优化Canvas渲染性能,稳定60FPS流畅运行
3、"我"遇到的难点、坑,和解决方案:
- 难点1:拖拽合成交互的边界判断(队列内合成vs网格放置vs垃圾桶丢弃)
解决:统一通过dragging状态机管理,在onDragEnd中按坐标区域分发处理
- 难点2:英雄大招特效的性能开销
解决:采用特效队列+定时器机制,避免每帧全量计算
- 难点3:小程序Canvas坐标系统与触控事件的映射
解决:封装pixelToGrid转换函数,统一处理多分辨率适配