[T.4] 团队项目:选题和需求分析
[T.2] 团队项目:选题和需求分析
| 这个作业属于哪个课程 | 北航2026年春季软件工程 |
|---|---|
| 这个作业的要求在哪里 | [T.4] 团队项目:选题和需求分析 |
| 我在这个课程的目标是 | 完整开发一次软件,锻炼软件开发能力 |
| 这个作业在哪个具体方面帮助我实现目标 | 给予我们自行选择软件的机会,让我们充分锻炼能力 |
杰后余生
杰后余生是一款面向年轻玩家和中度游戏爱好者的轻量级 2.5D 像素风生存撤离网页游戏。
产品融合了硬核的搜集撤离博弈机制、极简的格子战斗系统与一键链接组队的轻社交属性。
产品以移动端网页和 PC 网页形式发布,玩家无需下载安装,点开链接即可在浏览器中获得极具沉浸感的多人战术竞技体验,完美填补了碎片化时间内的中重度娱乐需求。
一、 概念文档与核心玩法介绍
为了确保团队在最小可玩版本开发阶段目标一致,本部分详细定义了游戏的核心概念与局内业务闭环。
1. 游戏核心循环
游戏采用非零和博弈机制。一局完整的游戏包含三个相对独立的战斗小局。玩家的核心目标是在每小局长达十分钟的倒计时内,在地图中搜刮宝箱获取宝石资产,或者击杀其他玩家掠夺物资。最后在倒计时结束前,到达地图上指定的撤离点成功撤离。带出的宝石将作为局间黑市的货币,用于购买下一局的增益道具,并在三局结束后结算为玩家的总资产与排名积分。
2. 双轨撤离机制
常规撤离点分为五分钟和十分钟两个开启节点,地图上的三个预设备选点会随机激活一个。撤离倒计时结束瞬间,处于该区域的玩家均可带走全部物资。
丢包撤离点属于保命机制。玩家可在任意时刻前往丢包撤离点,代价是必须将当前装备的背包以及背包内的所有战利品丢弃在原地。原地等待十秒即可成功撤离保命。该撤离点有严格的人数名额限制,名额耗尽后永久关闭。
3. 格子战斗与职业系统
游戏废除了复杂的护甲穿透公式与庞大的数字血条,采用直观的格子血量系统。最小血量与伤害单位均为一格。游戏首发包含刺客、射手、坦克、法师、战士五大基本职业。每个职业拥有独立的普通攻击方式、普通技能与极难获取但能扭转战局的强化技能。例如刺客的强化技能命中敌人后,可直接将敌方血量强制降至一格濒死状态。
二、 选题背景与市场调研(Need)
在当前的游戏市场中,生存撤离类游戏因其极高的多巴胺反馈而爆火。但同时也伴随着硬件门槛高、学习曲线陡峭、单局全损挫败感极强等痛点。另一方面,轻量级多人网页游戏虽然访问便捷,但游戏内容并没有结合当前热门游戏的玩法。
我们采用了线下采访同学的方式进行用户调研:、
采访内容为:
- 你是否玩过搜打撤类型的游戏?
- 你玩搜打撤类型游戏的时间占比是多少?
- 你觉得这种类型游戏的爽点和痛点分别是什么?
一共采访了 5 名同学,其中 4 名同学都是三角洲等搜打撤游戏的爱好者。对于我们提出的三局流转与低保机制,上述受访者给出了极高评价,认为这种死一次不至于全盘皆输的设计大幅缓解了死亡焦虑。基于链接的一键组队功能更是获得了认可。
三、 技术栈与可行性(Approach)
技术栈
-
前端:采用 Vue 3 组合式应用程序接口与 TypeScript 作为界面层核心框架,搭配 Vite 构建工具提升开发与运行效率。游戏渲染层采用 Phaser 引擎处理像素瓦片地图与精灵动画。使用 Tailwind CSS 实现轻量化大厅界面设计,结合 Pinia 进行状态管理,确保页面加载流畅、交互便捷,契合用户碎片化使用场景。
-
后端:选用 Node.js 结合 Colyseus 状态同步框架处理核心战斗逻辑,确保高频的多人坐标与伤害同步。外围业务服选用 Express 结合 PostgreSQL 数据库,稳定存储用户资产、历史战绩与永久外观数据。匹配队列与会话管理引入 Redis 提供高速缓存支撑,为各页面的留存设计提供坚实的数据支撑。
-
技术可行性:高。Phaser 与 Colyseus 均是目前业界经过大量验证的成熟网页多人联机解决方案,配合既有的客户端插值平滑算法,预估三到四周可完成最小可行性产品开发。
四、 软件价值(Benefit)
主要目的:为玩家提供情绪价值,让玩家玩的开心,玩的爽
现代年轻人的娱乐时间很少很少,难以长时间进行大型游戏游玩。
我们提取了硬核撤离夺金玩法中最具刺激感的核心,将其压缩至十分钟一局的短平快节奏中。同时抛弃了繁琐的物资搜刮流程和复杂的护甲数值计算,采用直观的格子血量系统,让玩家在最短的时间内获得最纯粹的战术博弈与心流体验。
基于现代网页技术,依靠核心的一键链接组队功能,玩家只需在任意聊天软件中抛出邀请链接,好友点击即可瞬间拉起浏览器同屏开黑。这种零社交压力的轻量化连线方式,完美契合了当代玩家即兴社交的需求。
五、竞品分析(Competitor)
我们的差异化竞争优势在于体验降维与刺激不减。坚守网页端的轻量化优势,砍掉冗长的搜购物资过程,专注人与人的心理博弈。通过局间经济机制,确保落后玩家有翻盘希望,打破传统撤离游戏单局定生死的死局。
| 竞品名称 | 核心功能 | 优势 | 劣势 | 我们的差异化优势 | 实机图片 |
|---|---|---|---|---|---|
| 鸭科夫 | 搜刮与撤离机制 | 画面简单有趣,玩法容易上手 | 无法进行联机,无法即开即玩 | 网页端即点即玩,采用三局流转容错机制,大幅降低死亡挫败感,专注轻量化反馈 | ![]() |
| slay.one | 像素风俯视角射击、网页端即时对战 | 打开即玩,操作门槛极低,战斗节奏极快,适合碎片化时间 | 玩法偏向传统零和死亡竞赛,目标感较弱 | 保留网页极速开局优势,玩法更加丰富 | ![]() |
|
| 三角洲行动 | 顶级画质第一人称射击、摸金撤离与大战场模式 | 画面表现力顶尖,战术配合丰富,相比传统硬核撤离降低了上手门槛 | 属于重度客户端应用,设备存储与性能要求高,无法满足办公室或课间十分钟的快速游玩需求 | 极简格子战斗系统,抛弃繁琐护甲计算,随时随地打开浏览器即可体验撤离博弈 |
|
六、 产品分发与运营生态(Delivery)
1. 轻量化极速冷启动
依托网页端链接分发。
通过短视频平台集锦切片引流,在视频评论区置顶直达链接。
通过社交媒体进行宣传,邀请玩家试玩。
2. 玩家社区
建立活跃的外部聊天室社群,鼓励玩家分享游戏体验,以此形成自然流量增长
七、 模块划分和分工
为了保障项目高效推进,团队采用敏捷开发模式,将系统拆解为四个主要工程模块,并为团队成员明确职责。
1. 核心模块拆解
- 客户端前端模块:负责浏览器端的画面渲染、用户输入捕获、界面交互逻辑展示以及与后端的网络通信对接。
- 战斗服务器模块:处理高频状态帧同步的核心节点,承担地图物理碰撞校验、技能伤害计算、视野管理以及防作弊鉴权。
- 业务服务器模块:匹配队列调度与排行榜刷新。
- 策划与资源模块:负责各职业数值平衡设计、地图关卡绘制、像素动画切片制作以及整体项目排期管理。
2. 团队角色与分工
| 角色 | 任务 | 分工 |
|---|---|---|
| 产品与系统策划 | 负责玩法规则细化、数值平衡设计、经济系统搭建、整体进度跟踪与迭代规划 | 赵骥远 |
| 前端交互工程师 | 使用现代前端框架搭建游戏大厅、商店界面,并完成多端适配与资源打包优化 | 徐琬莹 |
| 前端引擎工程师 | 接入网页游戏渲染引擎,解析地图,编写键鼠输入捕获逻辑 | 朱城宇 |
| 核心战斗服工程师 | 搭建状态同步框架,编写服务器端的物理碰撞校验逻辑、视野剔除算法以及怪物人工智能行为树 | 刘舒童 |
| 业务逻辑服工程师 | 设计并实现宝石结算逻辑、道具购买校验、数据库持久化结构以及第三方平台登录接口对接 | 孙琦航 |
| 美术设计师 | 美术资源设计,对角色、动作、地图等等资源进行创作和绘画 | 吴震宏 |
八、 具体业务实现与系统设计
本章节为项目的初步系统设计文档与开发文档,明确了整体技术架构与核心玩法的底层程序实现方案。
1. 整体架构设计
项目采用前后端分离与服务器权威架构。
客户端用户通过统一资源定位符访问前端静态资源节点。静态资源加载完毕后,客户端向外围业务逻辑服发起超文本传输协议请求,完成登录与资产同步。
玩家发起匹配后,业务服的匹配调度器将玩家分配至空闲的战斗服务器房间,并返回房间密钥。客户端随后通过全双工的 WebSocket 协议与战斗服建立长连接,正式进入实时战斗与状态同步阶段。所有高价值数据在对局结束后由战斗服加密回传至业务服,并持久化写入关系型数据库。
2. 实体设计与逻辑封装
游戏局内逻辑采用面向对象的实体组件系统混合设计。
功能逻辑被拆分为独立组件进行挂载封装。例如血量组件负责管理初始格数、扣血计算与死亡派发事件。移动组件负责处理速度加成与摇杆方向位移。技能组件负责管理冷却时间与施法前摇阻断。
3. 网络同步方案
所有关键逻辑计算都放在服务器中,防止玩家作弊。
客户端的职责仅限于捕获玩家移动方向与技能按键,并将操作指令高频发送至服务器。同时根据服务器下发的数据渲染画面。
服务器端以固定帧率例如每秒六十帧运行主循环逻辑。服务器接收客户端指令,更新实体位置与状态,执行碰撞与伤害判定,随后将最新的全局状态广播给所有连接的客户端。
为了解决网络延迟导致的画面卡顿,客户端实装预测与平滑插值技术。客户端在发送移动指令后立刻在本地先行移动角色残影,当收到服务器的权威坐标确认后,再通过缓动函数将角色平滑拉扯至真实位置。
4. 核心玩法程序设计方案
-
物理运动与碰撞判定:
游戏虽然视觉上是 2.5D 视角,但在物理引擎底层严格采用纯二维平面的网格坐标系进行计算。
环境墙体阻挡使用静态的轴对齐包围盒检测。普通攻击的挥砍采用扇形射线检测,法师魔法球等投掷物采用动态圆形与动态包围盒的相交测试。所有碰撞校验通过轻量级二维物理库在服务器内存中运算。
-
技能与状态增益系统:
当玩家使用移速道具或触发狂暴技能时,生成一个包含持续时间、修改目标属性以及修改数值的增益对象压入管理器队列。每次服务器主循环都会遍历更新该队列的时间戳,到期自动剥离增益效果,并恢复玩家基础属性。
-
怪物人工智能设计:
包含四个基础状态:
- 巡逻状态下怪物在出生点指定半径内随机选取坐标移动。
- 警戒状态下怪物发现进入视野的玩家实体,开始寻路追踪。
- 攻击状态下怪物判断玩家进入攻击距离,触发攻击前摇与伤害结算。
- 脱战状态下怪物丢失目标视野两秒后,自动满血并寻路返回出生点。
-
撤离判定逻辑:
撤离点设计为一个特殊的区域实体。
当服务器系统时间到达五分钟或十分钟节点时,随机激活一个预设的区域实体并变更其状态为开启。
当本局倒计时归零触发结算事件时,服务器遍历处于该区域实体坐标范围内的所有存活玩家实体,将其标记为撤离成功状态,提取其背包组件内的战利品数据进行总账结算。
九、 其他核心模块设计
1. 经济模块
模块负责处理小局之间的资产沉淀与消费。
每小局结束后,服务器拉取玩家当前的背包战利品对象,将其转换为统一的宝石数值。随后展示道具商城界面。商城数据采用读写分离结构,基础道具的标价、持续效果与回收折损率配置在服务器的静态配置表中供客户端拉取。玩家的购买请求需经服务器校验当前宝石余额是否充足,扣除成功后方可向玩家的装备槽组件注入对应道具。
2. 一键链接房间调度模块
玩家创建房间时,业务服生成一串包含房间全局唯一标识符的哈希短链接。
其他用户点击短链接跳转网页后,前端路由提取标识符并向匹配服务器请求直连该房间。匹配服务器验证房间当前人数是否达到八人上限。若未满,则将新用户加入房间广播列表并同步所有已有玩家的大厅形象。
十、 初步的工作排期
为了高效产出最小可玩版本,项目排期划分为四个敏捷冲刺阶段,总计耗时八周。
第一阶段:基础设施建设耗时一周
目标:跑通整个技术管线与底层网络框架。
完成前后端工程初始化与云服务器基础部署。
实现玩家匹配进入房间功能。
实装状态同步核心主循环,完成客户端在空旷地图上的移动输入、服务器坐标同步与前端画面平滑渲染。此阶段角色使用简单的方块占位符代替。
第二阶段:核心战斗验证耗时一周
目标是实现极简格子战斗机制。
导入两名基础测试职业例如刺客与战士的基础像素模型与动作切片。
服务器实装二维物理碰撞校验机制。
完成普通攻击与基础技能的施放逻辑、格子血量的扣除计算以及角色死亡与重生的状态切换。
实装地图中心的骷髅怪物守卫及其人工智能巡逻索敌逻辑。
引入场景草丛的视野遮蔽逻辑验证。
第三阶段:经济与撤离闭环耗时一周
目标是完成三局两胜制的核心玩法骨架。
实装地图宝箱资源的随机生成算法与开启读条逻辑。
搭建局间黑市系统,完成宝石拾取、余额计算以及背包道具的购买与售出逻辑。
实装撤离点倒计时激活逻辑、丢包撤离机制的判断规则以及单局结束后的最终资产结算与排名公示。
第四阶段:美术细节打磨与测试耗时五周
目标是提升美术视听体验。
完善大厅界面、商店交互的用户界面。
引入第三方音频库,补充脚步声、挥砍音效与开启宝箱的反馈音。
邀请外部真实玩家进行压力测试,重点监测服务器并发性能与各职业的胜率数据,基于数据反馈进行第一轮数值平衡微调。
十一、技术可行性验证
课上评审时的主要问题主要围绕多人游戏的技术实现难度以及同步问题。
目前已完成了第一基础设施和核心战斗机制的验证,多人联机已验证可行,延迟几乎无感,约100ms。
以下展示 git 提交记录以及目前跑通的初版 demo






浙公网安备 33010602011771号