[T.15] 团队项目:Beta 阶段项目计划
[T.15] 团队项目:Beta 阶段项目计划
| 项目 | 内容 |
|---|---|
| 这个作业属于哪个课程 | 首页 - 2026年春季软件工程 - 北京航空航天大学 - 班级博客 - 博客园 |
| 这个作业的要求在哪里 | [T.15] 团队项目:Beta 阶段项目计划 - 作业 - 2026年春季软件工程 - 班级博客 - 博客园 |
| 我们在这个课程的目标是 | 以团队协作方式完成一款可运行、可迭代、可展示的游戏项目,完整经历需求、设计、开发、测试、发布与复盘流程 |
| 这个作业在哪个具体方面帮助我们实现目标 | 在 Alpha 版本基础上更新功能规格和技术规格,明确 Beta 阶段任务分配、Issue 计划和质量改进目标 |
一、Alpha 阶段回顾
Alpha 阶段我们完成了 2D 横版动作 RPG 的核心战斗原型:主角可以移动、跳跃、下落、冲刺、贴墙、墙跳、三段普攻、跳劈、反击和治疗;骷髅敌人可以待机、巡逻、发现玩家、追击、攻击、被反击眩晕和死亡;属性系统已经支持物理伤害、暴击、护甲、闪避和火/冰/雷元素状态。
Alpha 的主要不足也很明确:
- UI 还停留在血条、技能树节点和 tooltip 原型,缺少完整属性面板和技能说明。
- 音频尚未完整接入,攻击、受击、反击、治疗、敌人预警和 UI 点击缺少反馈。
- 战斗流程没有形成完整关卡,SampleScene 更像功能测试场。
- 自动化测试和 Unity 构建流水线不足,质量主要依赖手工测试。
因此,Beta 阶段的目标不是简单增加更多功能,而是把 Alpha 的战斗原型包装成一段可独立试玩的短关卡 Demo。
二、Beta 阶段总体目标
Beta 阶段目标:完成一段 5 到 8 分钟的横版动作 RPG Demo,使第一次接触的玩家能够在不需要组员讲解的情况下理解目标、完成战斗、看懂 UI、听到反馈,并体验到动作与 RPG 数值的结合。
Beta 版本的出口条件如下:
| 条件 | 说明 |
|---|---|
| 完整流程 | 玩家能从进入关卡到完成阶段目标,形成“移动教学、基础战斗、反击教学、元素教学、阶段挑战”的闭环 |
| UI 可理解 | 玩家能看到生命值、技能说明、基础属性、状态提示和关键操作提示 |
| 音频反馈 | 攻击、受击、暴击、反击、治疗、敌人预警、UI 点击和 BGM 至少接入第一版 |
| 稳定运行 | Windows 11 环境下发布包可运行,无崩溃、卡死、主角无法控制等阻塞问题 |
| 测试覆盖 | 核心伤害结算、元素状态、敌人死亡、基础关卡流程至少有手工测试记录,部分逻辑补充自动化测试 |
| 发布交付 | 形成 Beta 发布包、发布说明、测试报告和已知问题列表 |
三、功能规格说明书更新
1. 用户画像更新
Beta 阶段我们将目标用户细化为三类:
| 用户类型 | 需求 | Beta 版本需要满足的点 |
|---|---|---|
| 第一次试玩的新玩家 | 想知道目标是什么、按什么键、如何击败敌人 | 关卡开头提供基础操作提示,战斗流程循序渐进 |
| 偏动作玩家 | 关注移动、连招、反击、跳劈是否流畅 | 优化三段普攻、冲刺、反击窗口和敌人前摇 |
| 偏 RPG 玩家 | 关注属性、技能、元素状态是否有意义 | 增加属性面板、技能说明、元素状态提示 |
2. Beta 新增功能一:完整教学关卡
Alpha 版本只有 SampleScene 功能测试场。Beta 阶段将新增一条短关卡流程:
- 起点区域:玩家熟悉移动、跳跃、冲刺。
- 第一只敌人:教学普通攻击和受击反馈。
- 反击区域:安排攻击前摇明显的敌人,引导玩家尝试反击。
- 元素区域:展示火、冰、雷状态的差异。
- 小挑战房间:通过多只敌人或强化敌人验证战斗理解。
- 结束区域:显示阶段目标完成提示。
需求对应:玩家不再只是进入一个测试场,而是有明确目标和渐进式学习过程。
验收标准:
- 新玩家能在 5 到 8 分钟内完成流程。
- 每个教学点都有对应提示或反馈。
- 玩家失败后可以重新尝试,不需要重启游戏。
3. Beta 新增功能二:UI 与信息反馈
Beta 阶段计划完善以下 UI:
- 玩家血条和敌人血条。
- 基础属性面板:生命、伤害、暴击、护甲、闪避、元素伤害。
- 技能说明 tooltip:技能名称、效果、冷却或限制。
- 状态提示:燃烧、冰冻、雷电蓄积。
- 关卡目标提示:当前目标、完成提示。
- 暂停/退出提示。
需求对应:Alpha 中玩家很难理解属性和元素变化,Beta 要让玩家知道“发生了什么”和“为什么发生”。
验收标准:
- 关键 UI 不遮挡主战斗区域。
- 1920×1080 和 1366×768 下文字不严重重叠。
- 受击、治疗、状态变化能在 UI 或视觉反馈中体现。
4. Beta 新增功能三:音频系统
Beta 阶段接入第一版 AudioManager,至少覆盖以下音频:
- 普通攻击音效。
- 命中/受击音效。
- 暴击音效。
- 反击成功音效。
- 治疗音效。
- 敌人发现玩家或攻击预警音效。
- UI 点击音效。
- 简单场景 BGM。
需求对应:Alpha 战斗反馈主要依赖动画和血条,缺少声音确认。音频接入后,玩家能更清楚地感受到攻击是否命中、反击是否成功、自己是否受伤。
验收标准:
- 关键战斗事件触发时能播放对应音效。
- 同一音效不会因连续触发而明显爆音。
- BGM 音量不遮盖战斗反馈音效。
5. Beta 新增功能四:敌人和关卡挑战扩展
在 Alpha 骷髅敌人的基础上,Beta 阶段计划新增至少一种敌人变化,或制作一个强化骷髅作为阶段挑战对象。
可选实现:
- 增加远程/冲刺型敌人。
- 增加强化骷髅:更高血量、更明显前摇、更适合反击教学。
- 增加刷怪波次:限制最大数量,完成后进入下一阶段。
需求对应:单一骷髅只能验证基础战斗,无法形成关卡节奏。Beta 需要至少有一个阶段性挑战,让玩家完成 Demo 时有结束感。
验收标准:
- 至少一个挑战房间能完整运行。
- 敌人死亡、生成和关卡目标更新不会卡住流程。
6. Beta 新增功能五:存档/配置的最低可用版本
Alpha 的存档模块还没有正式合入。Beta 阶段不追求完整存档系统,但需要完成最低可用版本:
- 保存玩家基础配置或关卡进度之一。
- 至少支持重新进入 Demo 后恢复某个简单状态,或保留设置。
- 如果时间不足,允许只做本地配置保存,例如音量、分辨率、按键提示状态。
需求对应:用户需要最基本的使用连续性。即使 Demo 很短,也应为后续完整项目留下存档接口。
四、技术规格说明书更新
1. 总体架构
Beta 阶段继续使用 Unity 6000.3.14f1、URP 2D、Input System、Tilemap、uGUI 和 Unity Test Framework。
模块划分更新如下:
| 模块 | Alpha 状态 | Beta 改进 |
|---|---|---|
| Player | 状态机已完成基础动作 | 补充状态文档,稳定反击、治疗、连招退出逻辑 |
| Enemy | 骷髅基础 AI 可用 | 增加敌人变体或强化敌人,完善死亡/生成事件 |
| Combat | 伤害、暴击、元素状态可用 | 抽象战斗事件,供 UI、音频、特效使用 |
| UI | 血条、技能节点、tooltip 原型 | 增加属性面板、状态提示、目标提示 |
| Audio | 需求和素材选型完成 | 新增 AudioManager,接入核心事件 |
| Level | SampleScene 功能测试场 | 新增教学关卡流程和阶段目标 |
| Test | 手工测试为主 | 增加部分 EditMode/PlayMode 测试 |
2. 战斗事件接口
Beta 阶段增加统一战斗事件,用来降低 UI、音频、特效之间的耦合。
计划事件包括:
| 事件 | 触发时机 | 使用方 |
|---|---|---|
OnPlayerDamaged |
玩家受击后 | UI、Audio、VFX |
OnEnemyDamaged |
敌人受击后 | UI、Audio、VFX |
OnCriticalHit |
暴击发生时 | Audio、VFX |
OnCounterSuccess |
反击成功时 | UI、Audio、VFX |
OnHeal |
玩家治疗时 | UI、Audio、VFX |
OnEnemyDeath |
敌人死亡时 | Level、Audio、VFX |
OnObjectiveUpdated |
关卡目标变化时 | UI |
这样 UI 和音频不再直接依赖某个具体状态类,而是监听统一事件。
3. UI 技术方案
Beta 阶段继续使用 uGUI。UI 分为三层:
- HUD 层:血条、状态图标、当前目标。
- Menu 层:属性面板、技能说明、暂停界面。
- Tooltip 层:技能节点和属性说明。
UI 更新原则:
- 战斗中只显示必要信息,不遮挡角色和敌人。
- 属性和技能说明放到暂停或技能界面中。
- 低分辨率下使用锚点和布局组件避免重叠。
4. 音频技术方案
新增 AudioManager,管理 BGM、SFX 和 UI 音效。
计划结构:
PlaySFX(AudioClip clip):播放一次性音效。PlayBGM(AudioClip clip):播放或切换背景音乐。SetMasterVolume(float value):总音量。SetSFXVolume(float value):音效音量。SetBGMVolume(float value):BGM 音量。
音频由战斗事件触发,避免散落在多个状态脚本里。
5. 关卡流程技术方案
新增 LevelFlowController,用于管理教学关卡阶段。
计划阶段:
MovementIntro:移动教学。BasicCombat:基础敌人战斗。CounterIntro:反击教学。ElementIntro:元素状态展示。FinalChallenge:阶段挑战。Complete:Demo 完成。
每个阶段有进入条件、完成条件和 UI 提示。敌人生成由关卡控制器调用现有敌人生成逻辑,不再完全随机生成。
6. 测试技术方案
Beta 阶段新增测试:
| 测试类型 | 覆盖内容 |
|---|---|
| EditMode 测试 | 物理伤害、暴击、元素抗性、护甲减伤、闪避、治疗 |
| PlayMode 测试 | 玩家攻击敌人、敌人死亡、状态切换、关卡阶段更新 |
| 手工测试 | 完整 5 到 8 分钟流程、UI 显示、音频反馈、发布包运行 |
最低要求:Beta 发布前执行完整回归测试,记录 Bug、修复状态和已知问题。
五、Beta 阶段任务规划
Beta 阶段计划分为三个小迭代。
迭代一:流程和接口稳定
时间:第 1 周。
目标:
- 定义完整关卡流程。
- 建立战斗事件接口。
- 明确 UI、音频、关卡控制器需要监听的事件。
- 创建 Issue 并分配任务。
交付件:
- 关卡流程文档。
- 战斗事件接口初版。
- Beta 任务 Issue 列表。
迭代二:UI、音频、关卡集成
时间:第 2 周。
目标:
- 完成教学关卡初版。
- 合入 UI 面板和状态提示。
- 接入 AudioManager 和核心音效。
- 增加敌人变体或强化敌人。
交付件:
- 可运行 Beta Demo 初版。
- UI/音频接入说明。
- 第一轮 Beta 测试记录。
迭代三:测试、修复、发布
时间:第 3 周。
目标:
- 完成回归测试。
- 修复 P0/P1 Bug。
- 整理发布说明和已知问题。
- 生成 Beta 发布包。
交付件:
- Beta 发布包。
- Beta 测试报告。
- Beta 发布说明。
- 最终展示材料。
六、任务分配
| 成员 | Beta 主要任务 | 交付件 |
|---|---|---|
| 庞济慷 | 战斗流程、主角动作稳定、战斗事件接口 | 事件接口、主角状态修复、反击/连招稳定性优化 |
| 张恒鑫 | 音频系统 | AudioManager、SFX/BGM 接入、音量配置 |
| 李元星 | UI、属性面板、存档/配置 | 属性面板、技能说明、状态提示、最低可用配置保存 |
| 陈文卓 | 特效、Shader、元素状态反馈 | 火/冰/雷状态表现优化、命中/暴击/反击特效 |
| 肖钦予 | 场景美术、背景、关卡氛围 | 教学关卡场景、背景视差、场景装饰 |
| 周文康 | 关卡流程、技能与敌人设计 | 5 到 8 分钟关卡流程、敌人变体/强化敌人设计 |
| 张泰尔 | 测试、Issue 跟踪、发布验收 | Beta 测试用例、Bug 列表、回归测试、发布检查 |
七、Issue 规划
以下 Issue 为 Beta 阶段初步规划,实际编号以 GitHub 仓库创建后为准。
| Issue | 标题 | 负责人 | 优先级 | 验收标准 |
|---|---|---|---|---|
| #B01 | 设计并实现 Beta 教学关卡流程 | 周文康、肖钦予 | P0 | 玩家能按阶段完成移动、基础战斗、反击、元素、挑战流程 |
| #B02 | 建立战斗事件接口 | 庞济慷 | P0 | UI、音频、特效可以监听受击、暴击、反击、治疗、死亡事件 |
| #B03 | 优化主角动作和反击提示 | 庞济慷、陈文卓 | P0 | 连招、冲刺、反击在测试流程中无阻塞问题,反击成功有明显反馈 |
| #B04 | 完成属性面板和状态 UI | 李元星 | P0 | 玩家能查看基础属性,能看到燃烧/冰冻/雷电状态提示 |
| #B05 | 完成技能说明和 tooltip 优化 | 李元星 | P1 | 技能节点有说明,低分辨率下不严重遮挡 |
| #B06 | 接入 AudioManager 和核心音效 | 张恒鑫 | P0 | 攻击、受击、暴击、反击、治疗、UI 点击、BGM 可播放 |
| #B07 | 完成元素和命中特效优化 | 陈文卓、肖钦予 | P1 | 火/冰/雷和暴击/命中特效清晰,不遮挡核心动作 |
| #B08 | 增加敌人变体或强化敌人 | 周文康、庞济慷 | P1 | 至少一个阶段挑战敌人可稳定运行 |
| #B09 | 实现最低可用配置/存档 | 李元星 | P2 | 至少能保存设置或简单进度之一 |
| #B10 | 增加自动化测试 | 张泰尔、庞济慷 | P1 | 至少覆盖伤害结算、元素状态、治疗中的 3 类逻辑 |
| #B11 | 完成 Beta 回归测试 | 张泰尔 | P0 | 输出测试报告,P0 Bug 清零,P1 Bug 有处理结论 |
| #B12 | 生成 Beta 发布包和发布说明 | 张泰尔、庞济慷 | P0 | Windows 发布包可运行,发布说明包含运行方式和已知问题 |
八、风险与应对
| 风险 | 影响 | 应对方式 |
|---|---|---|
| 关卡流程集成晚 | Beta 仍像功能测试场 | 第一周必须产出关卡流程初版,不等 UI/音频全部完成 |
| UI 和音频依赖战斗事件 | 接入延期 | 先定义事件接口,允许 UI/音频使用假数据并行开发 |
| Unity 场景和预制体冲突 | 合并困难、引用丢失 | 场景负责人统一管理主场景,其他人通过 Prefab 或分支提交 |
| 自动化测试做不完 | 质量仍靠手工 | 优先覆盖纯逻辑测试,PlayMode 测试做最小闭环 |
| 新增敌人影响稳定性 | Demo 展示风险 | 敌人变体作为 P1,若风险过高则改为强化骷髅 |
| 发布前 Bug 过多 | 发布延期或质量低 | 第三周冻结大功能,只允许修复 P0/P1 |
九、Beta 阶段验收方式
Beta 阶段验收分为功能验收、体验验收和工程验收。
功能验收:
- 完整关卡流程可走通。
- 主角动作、敌人战斗、属性元素、UI、音频都能在同一流程中出现。
- 发布包可运行。
体验验收:
- 至少 5 名非本组同学试玩。
- 至少 3 人能在不看源码、不听完整讲解的情况下完成 Demo。
- 收集每位试玩者对 UI、音频、战斗节奏的反馈。
工程验收:
- P0 Bug 清零。
- P1 Bug 有修复或明确说明。
- 核心测试用例执行通过。
- 发布说明、已知问题和 Issue 状态同步。
十、Beta 阶段预期成果
Beta 阶段结束时,我们希望项目达到以下状态:
- 从 Alpha 的“战斗功能原型”进化为“可独立试玩的短关卡 Demo”。
- 玩家能看懂目标、完成战斗、理解反击和元素状态。
- UI 和音频不再只是计划,而是进入主流程。
- 团队开发方式从“模块并行但后期联调”改进为“先定义流程和接口,再并行实现”。
- Issue、测试、发布和文档形成更稳定的闭环。
如果 Beta 阶段能完成以上目标,项目就具备继续扩展为更完整游戏的基础。
浙公网安备 33010602011771号