[T.15] 团队项目:Beta 阶段项目计划

项目 内容
这个作业属于哪个课程 软件工程
这个作业的要求在哪里 [T.15]Beta 阶段项目计划
我在这个课程的目标是 掌握软件工程的核心理论,协作完成软件项目开发
这个作业在哪个具体方面帮助我实现目标 分配Beta阶段任务,确定具体执行计划

1. 功能规格

1.1 角色系统

  • 戴夫地图形态重绘,简单像素风,支持待机动画和运动动画。

  • 戴夫战斗形态优化。

  • 戴夫其他界面(商店界面、教程界面)优化。

1.2 卡牌系统

  • 完成黑夜、泳池、迷雾、屋顶共32张战斗卡的设计与实现。

  • 完成道具卡系统的重构,道具卡使用pvz中商店的8种植物。

  • 完成卡牌UI的增强,增加关键词预览功能,增强卡牌描述清晰度。

1.3 探图系统

  • 优化地图演出效果。

  • 确保每个新地图引入新的体系与机制,保持游戏的新颖性。预计黑夜地图引入墓碑组件,泳池地图引入渡水功能,迷雾地图引入局部视野,屋顶地图暂定。

1.4 战斗系统

  • 战斗内卡牌释放特效的实现与增强。

  • 引入新的战斗机制,预计黑夜引入阳光限制,泳池引入抽牌限制,屋顶引入站位限制。

  • 平衡性测试与调整。

1.5 辅助系统

  • 音量调节功能。

  • 阶段性存档功能。

  • 游戏窗口全屏功能。

2. 技术规格

当前 src/data/ 已经混入了非数据内容(UI 几何、UI 字符串、卡牌目标判定逻辑、资源 key 助手等),违反了仓库约定(src/data/ 只放设计/数值数据)。同时地图相关代码散落在 src/map/src/scenes/MapScene.tssrc/ui/map/src/ui/battle/ 多处,UI 与逻辑没有清晰边界。

2.1 现状审计

2.1.1 src/data/ 中非数据文件(应迁出)

文件 内容 现状 处置
battleLayout.ts 战斗 UI 几何常量 + getEnemySlotX 是 UI 概念,被 BattleScene/Animator/Visualizer 使用 → src/ui/battle/battleLayout.ts
handLayoutMath.ts 手牌扇形几何纯数学 依赖 battleLayout,是 UI 几何 → src/ui/battle/handLayoutMath.ts
consumableVisuals.ts 道具贴图 key + 备用字形 + getter UI 资源映射 → src/ui/battle/consumableVisuals.ts
statusLabels.ts 状态中文标签 + 列表格式化 UI 文案 → src/ui/common/statusLabels.ts
cardTargeting.ts cardNeedsTarget 卡牌目标推断 卡牌域逻辑,不是数据 → src/card/CardTargeting.ts
eventBackgrounds.ts 背景 ID 列表 + key/path 助手 资源 key 助手 → src/scenes/eventBackgrounds.ts
mapTileColors.ts 战斗内地图 peek 配色 + getter 无任何调用方(已死代码) 删除

2.1.2 src/data/ 留下(确实是设计数据)

balance.tscards.tsenemies.tsevents.tsmap.tsshop.tsconsumableEffects.ts(每个一次性道具的伤害/状态规格——属于平衡数据)。

2.1.3 地图 UI 散落

文件 现状 处置
src/map/MapDecorations.ts (244 行) Phaser 装饰渲染 → src/ui/map/MapDecorations.ts
src/map/MinimapPanel.ts (189 行) UI 面板 → src/ui/map/MinimapPanel.ts
src/map/ProximityHintController.ts (84 行) "按 E 交互" 提示 UI → src/ui/map/ProximityHintController.ts
src/map/MapV2Assets.ts (151 行) 房屋簇贴图 + 邻接形状助手 UI 渲染辅助 → src/ui/map/MapV2Assets.ts
src/map/MapNode.ts 类型定义 留下
src/map/MapGenerator.ts 楼层地图生成纯逻辑 留下
src/map/WorldMapData.ts 世界地图数据 + 解析 本次不动(避免 PR 进一步膨胀,留作后续 issue)

2.2 推进方式

一个 issue,一个 PR,多次迭代提交,每次迭代后跑 npm run typecheck + npm test + npm run build 验证:

  • 迭代 1:清理 src/data/ 迁移 6 个文件 + 删除 1 个死文件,更新所有调用方 import;同步更新 test/battle-layout.test.jstest/item-frame.test.js 中的源码路径断言。

  • 迭代 2:地图 UI 集中 把 src/map/ 下 4 个 UI 文件迁到 src/ui/map/,更新 MapScene.ts 等调用方 import;同步更新 test/map-v2-assets.test.js 路径断言。

  • 迭代 3:刷 CLAUDE.md 把已经过时的章节(如 TopBarMapStatusHud 已不存在;src/data/ 实际内容;src/ui/map/ 新边界)改成现状。

2.3 范围限制(Karpathy 风格的克制)

  • 仅做"搬家 + 删死代码 + 更新引用"。不重写、不拆分 MapScene / ShopPanel 等 god class(留作后续 issue)。

  • 不动 WorldMapData.ts(移它需要再次扫所有引用)。

  • 不动 consumableEffects.ts(确实是平衡数据)。

  • 每次迭代 typecheck + test + build 全绿才进下一步。

2.4 验收

  • npm run action(CI 同款)通过

  • 浏览器 / Electron 手测:进战斗、出牌、用道具、进商店、看小地图 → 行为不变

3. 任务分配

3.1 设计与美术准备周 (5.14 - 5.21)

本阶段重点:产出所有新场景的机制设计、卡牌数值表,以及角色地图/战斗的新美术素材。

任务编号 任务名称 预期时间 人员分配 任务说明
3.1.1 [策划] 四大场景新卡牌与道具设计 12h 刘昶(策划) 设计黑夜、泳池、迷雾、屋顶共32张战斗卡数值;完成8种PvZ植物道具卡的效果设计与机制说明。
3.1.2 [策划] 新场景机制与战斗限制设计 8h 刘昶(策划) 敲定新地图探图机制(墓碑/渡水/局部视野/屋顶机制)及战斗限制(阳光/抽牌/站位)的具体数值与逻辑判定规则。
3.1.3 [美术] 戴夫地图形态与动作重绘 12h 周子强(美术) 绘制戴夫地图形态的简单像素风,并切分/制作待机动画与运动动画帧序列。
3.1.4 [美术] 戴夫战斗形态与界面UI优化 10h 周子强(美术) 优化战斗内戴夫形态;重绘商店、教程界面的UI切图;为卡牌增强设计关键词Tip框及高亮底图。
3.1.5 [美术] 战斗特效与地图演出素材制作 12h 周子强(美术) 制作卡牌释放的新特效序列帧;准备地图演出所需的环境特效(如迷雾、水花等)。
3.1.6 [工程] Beta版本看板更新与排期对齐 4h 丁宇城(PM) 拆解Beta阶段Issue,分配到对应里程碑;组织会议对齐新机制的技术可行性。
3.1.7 [架构] 新增机制的数据结构拓展 6h 琚长昊(后端) 根据策划新表,扩展卡牌JSON结构(增加关键词字段、场景特定字段)和道具卡数据模型。

3.2 系统机制与内容实现周 (5.22 - 6.4)

本阶段重点:程序集中攻坚,实现所有新卡牌、道具系统重构、探图新机制以及战斗新规则。

任务编号 任务名称 预期时间 人员分配 任务说明
3.2.1 [前端] 戴夫动画状态机与地图演出实现 10h 陈申学佳(前端) 接入戴夫像素风素材,配置待机与移动动画状态机;优化地图界面的视觉演出效果。
3.2.2 [算法] 四大场景探图特殊机制实现 16h 琚长昊(后端) 在原有树状地图基础上,编写算法引入黑夜墓碑组件、泳池渡水功能、迷雾局部视野生成与屋顶机制。
3.2.3 [逻辑] 道具系统重构与8种植物道具实现 12h 丁宇城(PM) 拆分原有道具卡逻辑,重构为独立的战斗/局外消耗品系统,实装商店购买的8种植物道具效果。
3.2.4 [架构] 战斗限制新机制底层开发 12h 罗春宇(Tech) 修改战斗状态机,引入:黑夜的阳光产出限制、泳池的回合抽牌数限制、屋顶的可用站位限制逻辑。
3.2.5 [前端] 卡牌UI增强与关键词预览功能 8h 陈申学佳(前端) 增强卡牌描述文本的排版清晰度;实现鼠标悬停/长按时弹出关键词解释Tip的交互功能。
3.2.6 [前端] 界面UI替换与全面优化 8h 陈申学佳(前端) 接入优化后的戴夫战斗形态;替换商店界面、教程界面的新版美术素材。
3.2.7 [后端] 阶段性本地存档功能实装 8h 琚长昊(后端) 扩展Alpha阶段存档功能,实现“阶段性保存”(如每打完一个精英怪或过一层后自动覆盖存档),防止坏档。

3.3 表现增强、辅助系统与测试周 (6.5 - 6.14)

本阶段重点:特效实装、周边系统完善(全屏、音量)、以及最重要的战斗平衡性测试。

任务编号 任务名称 预期时间 人员分配 任务说明
3.3.1 [前端] 战斗内卡牌释放特效接入 10h 陈申学佳(前端) 配合美术实装32张新战斗卡及原有卡牌的释放特效(投射物、受击、Buff等视觉表现)。
3.3.2 [系统] 游戏窗口全屏与音量调节完善 6h 罗春宇(Tech) 实现Windows/Mac客户端的窗口化与全屏切换功能;完善BGM与音效的独立音量调节及本地配置保存。
3.3.3 [逻辑] 32张新战斗卡实际效果编写 16h 丁宇城(PM) 编写并实装黑夜、泳池、迷雾、屋顶新战斗卡的具体Action逻辑(伤害、护盾、特殊状态等)。
3.3.4 [测试] 各场景流派打法与平衡性测试 16h 刘昶(策划) 在打包版本中反复通关测试,评估新限制机制下的难度曲线;调整怪物血量、卡牌费用及道具价格。
3.3.5 [美术] 测试反馈的美术细节修改 6h 周子强(美术) 根据测试反馈,调整不明显的UI提示、补充缺失的特效或修正穿模动作。
3.3.6 [工程] Bug修复与Beta版本发版准备 12h 全员 集中清理Bug,优化运行内存与帧率;丁宇城负责出包、书写Beta版本更新日志(Changelog)。

image

posted @ 2026-05-21 11:01  魔法细胞  阅读(6)  评论(0)    收藏  举报