需求规划说明书
1. 选题背景
我们团队决定开发一款"植物大战僵尸特别版",目标用户为学生,为其提供休闲娱乐。预期用户量为50+。
2. 项目特色
与市面上其他植物大战僵尸游戏不同,我们的特色在于:
- 自带外挂,玩的爽。
- 有独特彩蛋机制,增加关卡乐趣。
- 独特植物与僵尸与原版不一样的体验。
3. 需求分析
功能需求
- 用户系统:支持账户登录
- 战斗系统:5条跑道,15种特色植物
- 成就系统:收集多种隐藏成就
- 选关系统:多种关卡选择
- 平衡系统:多种难度选择
- 图鉴系统:查看各种植物与僵尸并与彩蛋触发条件挂钩。
4.技术需求
植物大战僵尸游戏开发技术分析
《植物大战僵尸》是一款2D塔防游戏,开发它需要掌握多种编程技术,包括游戏逻辑、物理碰撞、动画控制、AI行为、数据存储和UI交互等。
1. 核心编程语言选择
*基于游戏引擎的选择
- 使用适合开发植物大战僵尸的优秀引擎
2. 核心游戏系统编程
(1) 游戏循环与状态管理
- 游戏主循环(处理输入、更新逻辑、渲染)
- 游戏状态机(菜单、战斗、暂停、胜利/失败)
- 时间管理(游戏速度、僵尸波次计时)
(2) 实体-组件系统 (ECS)
- 植物、僵尸、子弹等游戏对象的基类
- 组件化设计(如
AttackComponent、MovementComponent) - 对象池优化(避免频繁创建/销毁对象)
(3) 网格与碰撞系统
- 2D网格管理(5x9 草坪格子,用于植物种植位置)
- 碰撞检测(僵尸与植物、子弹与僵尸)
- 矩形碰撞 (AABB)
- 圆形碰撞(适用于豌豆子弹)
- 射线检测(直线攻击判定)
(4) 资源管理与经济系统
- 阳光收集系统(点击阳光增加资源)
- 植物购买系统(消耗阳光放置植物)
- 关卡解锁与进度存储(JSON/二进制存档)
3. 动画与特效编程
(1) 精灵动画 (Sprite Animation)
- 帧动画(僵尸行走、植物攻击)
- 动画状态机(切换不同动画,如僵尸受伤/死亡)
(2) 粒子特效
- 阳光闪烁特效
- 爆炸效果(樱桃炸弹)
- 子弹命中效果
(3) UI 动画
- 植物卡片拖拽
- 按钮点击反馈
- 关卡进度条动画
4. 僵尸AI与游戏逻辑
(1) 僵尸行为树/状态机
- 简单僵尸(直线行走)
- 特殊僵尸(撑杆跳、铁桶僵尸等)
- 波次生成逻辑(随时间增加难度)
(2) 植物攻击逻辑
- 自动攻击(豌豆射手)
- 手动触发(土豆地雷)
- 范围伤害(樱桃炸弹)
5. 数据存储与关卡设计
(1) 数据存储方式
- JSON/XML(存储植物、僵尸属性)
- 二进制存档(玩家进度)
- SQLite(可选)(复杂数据管理)
(2) 关卡设计
- 波次配置(僵尸出现顺序)
- 地形变化(白天/黑夜/泳池关卡)
- 解锁机制(新植物逐步解锁)
6. 音效与音乐管理
- 背景音乐循环
- 音效触发(种植、攻击、僵尸死亡)
- 音量控制(设置面板)
5.真实性,可用性,价值
| 维度 | 分析 | 结论 |
|---|---|---|
| 真实性 | 非现实模拟,但规则自洽,符合游戏逻辑 | 虽不真实,但合理有趣 |
| 可用性 | 操作简单、难度曲线合理 | 用户体验极佳 |
| 价值 | 娱乐性强、潜在教育意义 | 经典游戏,影响深远 |
6.团队具体分工
| 职责 | 成员 |
|---|---|
| 前端开发 | 何锦辉,梁鑫 |
| 后端开发 | 彭颂华,雷文龙,费俊耀 |
| 测试 | 朱俊锋 |
| PM | 黄子恒 |
7.团队项目的issue管理

8.时间安排
原计划:
| 周次 | 主要任务 |
|---|---|
| 第六周 | 1. 团队组队、团队博客发布。2. 团队介绍、成员展示、角色分配、选题确定。3. 制定团队计划安排,规定团队贡献分规则。 |
| 第七周 | 1. 完成需求规格说明书。2. 原型设计,任务难度评估,学习必要技术。3. 完成编码规范、平台环境搭建、初步架构搭建。 |
| 第八周 | 1. 改进原型,向目标用户展示并收集反馈。2. 架构设计,完成WBS(工作分解结构),成员估计任务时间。3. 制定测试计划。 |
| 第九,十周 | 1. 团队项目Alpha任务分配计划 2. 连续7天的Alpha敏捷冲刺,7 篇 每日Scrum Meeting博客+代码提交 |
| 第十一周 | 1.用户反馈+测试计划改进 2. 团队Alpha阶段个人总结 3. 团队项目Alpha博客:发布说明、测试报告、展示博客、项目管理 |
| 第十二周 | 1. 团队项目Alpha博客:事后分析 |
现计划:
| 周次 | 主要任务 |
|---|---|
| 第六周 | 1. 团队组队、团队博客发布。2. 团队介绍、成员展示、角色分配、选题确定。3. 制定团队计划安排,规定团队贡献分规则。 |
| 第七周 | 1. 完成需求规格说明书。2. 原型设计,任务难度评估,学习必要技术。3. 完成编码规范、平台环境搭建、初步架构搭建。 |
| 第八周 | 1. 改进原型,向目标用户展示并收集反馈。2. 架构设计,完成WBS(工作分解结构),成员估计任务时间。3. 制定测试计划。 |
| 第九,十周 | 1. 团队项目Alpha任务分配计划 2. 连续7天的Alpha敏捷冲刺,7 篇 每日Scrum Meeting博客+代码提交 3.并开一次项目讨论会。 |
| 第十一周 | 1.用户反馈+测试计划改进 2. 团队Alpha阶段个人总结 3.根据用户反馈改进4. 团队项目Alpha博客:发布说明、测试报告、展示博客、项目管理 |
| 第十二周 | 1. 团队项目Alpha博客:事后分析 |

浙公网安备 33010602011771号