[T.17] 团队项目:Beta 阶段发布说明

这个作业属于哪个课程 北航2026年春季软件工程
这个作业的要求在哪里 团队项目:Beta 阶段发布声明
我在这个课程的目标是 在真实团队项目中完整经历需求分析、迭代开发、版本发布和质量保障过程,把课堂中的软件工程方法落实到一个可运行、可维护、可持续改进的作品中。
这个作业在哪个具体方面帮助我实现目标 完成 Beta 版本发布与发布声明

Alpha 阶段已经证明了核心想法:把《植物大战僵尸》的植物、僵尸与阳光资源放进 Roguelike 卡牌战斗。但它更像一个“战斗样片”——玩家能出牌、能击败僵尸,却还缺少长线探索、构筑取舍、主题关卡和稳定的通关反馈。Beta 要解决的问题,就是把“好玩的单局”连成“一次愿意从头打到尾的冒险”。

一、新功能与新特性

  1. 从单局战斗到四层主题冒险

实现了什么? Beta 将地图扩展为白天前院、黑夜草地、白天泳池和迷雾泳池四个主题楼层。变化不只是背景:地形、遭遇密度、专属僵尸、卡牌奖励和脚本事件会随楼层改变。泳池关引入下水和水面相关规则,迷雾关用色调与主题敌人制造压力,后段则实现了僵王博士的多阶段战斗和制作人结算场景。

解决什么需求? Alpha 的战斗规则成立,却缺少中长期目标。主题楼层让玩家持续获得新的规则问题,也建立“探索—成长—挑战 Boss”的进程感,避免一套牌反复处理相同敌人。

故事场景。 周五晚上,小杰只想“随便打两局”。他在前院用豌豆射手学会指定目标,到黑夜后发现阳光菇改变了资源节奏;进入泳池时,原本稳定的牌组又要围绕水面重新调整。等迷雾笼罩画面,他才意识到自己已经从“玩一局”变成“我想看看最后的僵王博士”。

戴夫在前院地图探索,右上角显示小地图

  1. 奖励、商店、事件和道具构成完整构筑循环

实现了什么? 战斗奖励、商店、休息点、随机/脚本事件、付费删牌和一次性道具被连成一套经济系统。玩家可以选牌或跳过;同楼层商店会保存售罄状态;毁灭菇、割草机、钉耙和栅栏门是容量有限、用后消失的应急资源。“戴夫的园艺卡册”则让玩家在地图和战斗中查看整副牌、类型分布与已获得道具。

解决什么需求? Roguelike 构筑的乐趣不是不断拿牌,而是在有限金币、卡位和机会之间做取舍。跳过奖励避免牌组被强制稀释,删牌允许做减法,道具容量则让玩家权衡眼前安全和未来 Boss 战。

故事场景。 小杰在商店看见一张稀有攻击牌,但牌组已经塞满高费卡。他没有买下“看起来最强”的选项,而是先删除一张基础牌。后来精英战几乎失控,他用掉一直舍不得的割草机才保住冒险——“现在要不要用”正是道具带来的策略。

疯狂戴夫的后院商店界面

戴夫的园艺卡册显示牌组和道具区

  1. 动画音效增强反馈

实现了什么? Beta 为豌豆、投掷、蘑菇、爆炸、吞咬、防御和一次性道具建立了分类动画。植物子弹、僵尸撕咬/爪痕、Boss 投射物与命中音效使用同一时序触发,受击、死亡和格挡也不再共用一种模糊表现。僵王博士战增加阶段氛围、召唤、投射物与警告演出。

解决什么需求? 如果伤害数字已经变化,子弹却还在空中,玩家会怀疑是否命中;如果每只僵尸的攻击都是相同闪光,敌人也会失去个性。视觉、声音和数值同步不仅是“好看”,更帮助玩家理解因果与力度。

故事场景。 小杰打出豌豆射手,叶片扬起,子弹飞过草地,僵尸血条在命中声响起的同一刻下降。到了 Boss 战,色调、阶段警告和召唤动作又告诉他:这不是一只单纯数值更高的普通僵尸。

僵王博士战的特殊场景和阶段敌人

  1. 游戏可以被存档、中断和恢复

实现了什么? 地图、战斗、事件、奖励和休息场景增加分阶段教程;共用状态栏集中显示 HP、金币、阳光、道具以及地图/牌库入口;小地图标示事件、休息、商店、精英和出口。地图位置、商店、奖励、事件或休息结果改变时,游戏会写入本地自动存档,下一次启动便可“继续游戏”。

解决什么需求? 完整流程比单场战斗更长。没有存档时,玩家会因不敢中途退出而放弃开局;没有小地图和分段教程时,新玩家的认知成本会集中爆发。新版本允许把冒险拆成几次完成,同时保持“我在哪里、能做什么”可见。

故事场景。 小杰打完精英战后临时有事,直接关闭游戏。第二天主菜单没有逼他重开,而是恢复原来的楼层、血量、牌组和地图进度。长流程不再是一次必须完成的“时间考试”。

二、Beta 阶段修复的主要缺陷

td {white-space:nowrap;border:0.5pt solid #dee0e3;font-size:10pt;font-style:normal;font-weight:normal;vertical-align:middle;word-break:normal;word-wrap:normal;}
原有缺陷与负面影响 修复方式 修复后的状态
跨关状态污染与地图节点类型丢失。 上一关状态、教程标记或地图信息可能被带入新楼层;MapGenerator 还可能覆盖作者指定的休息/事件节点,导致图标与实际交互不一致。 重整新 run 和跨关重置;地图生成器保留作者节点类型及遭遇元数据,并增加回归测试。 新楼层使用自身地图和状态,休息、事件、精英等节点按设计生成。
奖励页打开地图/牌库后可能扰乱领奖流程。 面板层级、关闭状态和领取输入相互竞争;强制拿牌还会让成型牌组越来越臃肿。 5 月 9 日修复地图/牌库问题并增加“跳过”;后续把奖励做成独立覆盖场景,一次只能领取一个选项。 奖励、查看面板和退出路径彼此隔离,玩家可主动保持精简牌组。
召唤敌人重复、不可选目标判定失效。 战斗管理器和场景层可能各插入一次召唤物;合并后还曾破坏催眠/不可选中的目标过滤。 明确由 BattleManager 拥有召唤对象,场景仅响应可视化;目标结果使用敌人槽位索引区分同 ID 单位。 召唤不会重复,同 ID 敌人以及催眠、不可选状态可被正确区分。
吹风草结算与眩晕会中断特殊流程。 异步演出可能晚于战斗结束检查,眩晕则可能永久丢失特殊进度,造成满足胜利条件后仍无法继续的软卡死。 吹风类效果先同步更新战斗状态再播放表现;眩晕只中断当前行动,不销毁应保留的进度。 击杀后能正常进入奖励、下一波或结算,特殊流程不会因一次眩晕消失。
地图误显示战斗专用道具控件。 共用顶部栏后,玩家会误以为道具可在地图使用,点击却没有有效战斗目标。 RunStatusBar 根据 map/battle 模式分离可见控件,并加入静态测试。 地图只保留状态与查看入口,战斗时才开放消耗型道具操作。
教程 BGM、战斗音画和早期难度不协调。 教程打断地图音乐;部分攻击音效与命中帧错位;第一层精英战和跨关残血形成过早失败峰值。 保留并恢复 BGM 进度;音效从动画命中回调触发;新楼层开始回满生命,第一层精英敌人由 4 只减为 3 只,并持续调整各层卡牌与敌人。 音画因果更清楚,失败更接近构筑和决策结果,而非反馈误导或早期数值墙。

这些缺陷必须在 Beta 阶段说明,因为它们并非“少一处装饰”,而会损害玩家对规则、公平性和存档进程的信任。修复的共同方向也很明确:把状态所有权收紧、把场景职责分开,并用针对具体回归的自动化测试守住行为。

三、运行环境要求

《植胜僵场》是基于 Phaser 3 和 Electron 41 的纯单机桌面游戏。项目提供 Windows 可携带版和 macOS DMG 构建脚本,没有对 Linux 发布包作同等承诺。根据 Electron 41 官方平台支持说明,客户端建议使用:

td {white-space:nowrap;border:0.5pt solid #dee0e3;font-size:10pt;font-style:normal;font-weight:normal;vertical-align:middle;word-break:normal;word-wrap:normal;}
项目 基本条件
操作系统 Windows 10 或更高版本;macOS 12 Monterey 或更高版本
处理器架构 与下载包标注相匹配的 64 位 Intel/AMD 或 Apple Silicon 设备
显示 建议 1280×720 或更高分辨率;窗口可缩放,游戏按比例适配
输入 键盘用于 WASD/方向键移动,鼠标用于卡牌、按钮和面板
声音 音箱或耳机并非启动必需,但建议开启以获得战斗反馈
存储 素材与构建产物为数百 MB,建议预留至少 1 GB 用于安装、解压和存档
网络与外部能力 下载后可离线游玩;无需微信、第三方账号、摄像头、NFC、红外或指纹设备

团队尚未为 CPU 和内存建立经过真机验证的“最低配置”,因此不虚构硬性门槛。考虑到游戏以 60 FPS 为目标,并使用多层精灵、GIF 解码和补间动画,近年的双核或四核处理器、4 GB 及以上内存、支持硬件加速的集成显卡是更稳妥的建议环境,但不等同于已验证的最低值。

需要从源码运行的开发者应使用 Node.js 18+ 和 npm;当前 CI 使用 Node.js 24。普通玩家运行打包后的客户端,不需要另行安装 Node.js、npm 或 Electron。游戏进度保存在本机应用数据中,卸载或手动清理应用数据前应留意存档。

四、安装与使用方法

游戏提供四种使用方式,推荐普通玩家使用浏览器版(零安装):

  • Windows 桌面版:从 网盘链接 下载 Z-Spire-win-x64.zip,解压后双击 植胜僵场.exe 运行,无需安装。

  • macOS 桌面版:下载 .dmg 文件,将 植胜僵场.app 拖入 Applications。首次打开需右键 → "打开" 绕过未签名开发者警告。

  • 从源码运行:需 Node.js v18+,git clone 后执行 npm install && npm run dev,浏览器访问 http://localhost:3000

快速上手:目标是操控戴夫探索地图、通过回合制卡牌战斗击败僵尸最终战胜 Boss。WASD/方向键移动,靠近节点点击触发交互;战斗中鼠标点击卡牌再选目标出牌,悬停卡牌可预览数值变化。结束回合或逃跑(扣 10% HP)按钮在屏幕底部,顶部可查看牌组、小地图和使用道具。


五、已知问题与限制

已知不计划修复的问题

  • Floor 4 Boss 标记缺失:地图 ASCII 布局中缺少 B 标记(npm test 有 1 个相关用例失败),但 Boss 遭遇通过代码逻辑触发,正常游玩不受影响。

  • DEBUG 模式未关闭config.tsDEBUG = true,按 P 或点击小地图可触发开发者传送,普通玩家不易发现,不影响正常体验,同时此功能也支持玩家进行自由探索。

  • MAP_FLOORS 常量显示为 3:实际已实现 5 层(草地→黑夜→泳池→泳池黑夜迷雾→屋顶 Boss),楼层切换使用显式判断,不依赖此常量。

已知限制

类别 限制项 说明与应对
平台 仅支持桌面端 1280×720 固定分辨率,未适配移动端和触控。建议在 PC/Mac 上使用 Chrome 或 Edge 浏览器
平台 macOS 包未签名 .dmg 首次需右键→"打开"绕过 Gatekeeper,只需一次
内容 单存档位 开始新游戏覆盖旧存档。多人共用一台电脑请注意
内容 战斗中无存档 仅在地图/商店/事件/奖励节点自动保存。战斗中退出需重新开始本场战斗
内容 无音量设置 BGM 和音效音量固定,需静音请用系统音量控制
内容 Floor 5 地图为简化占位 Boss 战本身完整,但 Boss 关探索区域比前几层小
内容 仅简体中文 无多语言支持
性能 首次加载约 25-30MB 冷启动 5-10 秒;后续利用缓存 2-3 秒。桌面版无此问题(资源内置)
性能 长 session(>2h)可能内存增长 若出现卡顿,刷新页面即可恢复
浏览器 Firefox/Safari 未充分测试 优先使用 Chrome 或 Edge

六、发布方式及发布地址

在北航网盘发布软件:https://bhpan.buaa.edu.cn/link/AA348ACDDA513541188C25B14FDE94D0A4

posted @ 2026-06-21 16:09  魔法细胞  阅读(8)  评论(0)    收藏  举报