101
社区成员
发帖
与我相关
我的任务
分享| 项目 | 内容 |
|---|---|
| 这个作业属于哪个课程 | 202601福大-软件工程实践-W班社区 |
| 这个作业要求在哪里 | 软件工程实践团队作业——种子队选拔、团队展示及选题 |
| 这个作业的目标 | 完成团队展示与选题论证:运用 NABCD 模型说明项目价值,明确团队分工、绩效考核方案、团队愿景与风险控制办法 |
| 其他参考文献 | 《构建之法》第 17 章绩效管理;你参加团队有什么样的投入;绩效管理 |
队名:你对我不对
项目:《最后一班地铁:0017》——一款 27 分钟的本地 Web 2D 调度叙事游戏
团队规模:8 人 | 发布到班级社区的「软件工程实践团队作业」板块
拟作团队项目选题描述:
一款 27 分钟的 2D 调度叙事游戏——玩家在末班地铁的最后一刻反复重置时间,用有限次数的调度操作找出事故的真相。
One sentence (English): A 27-minute 2D dispatch narrative: replay the last train's final minutes, spend your limited dispatches, and find out what really happened.
**选题 PDF 文档链接:https://pan.baidu.com/s/1ozEpBbHgRaUxBDArJxAnjw?pwd=1111
「0017」代表 00:17,也代表这趟最后一班地铁背后的真相。
「你对我不对」是我们组在群里争论选题时冒出来的一句口头禅,后来发现它意外地贴合我们要做的游戏。每一次循环结束时,你都会觉得自己判断对了;而下一轮解锁的线索,往往会告诉你其实不对。对错与否,不取决于谁的声音大,而取决于你手里有多少信息。 我们希望这是一个靠证据说话、靠复盘推进的团队。
团队 slogan:最后一班车会到站,真相不会缺席。
按学号排序。以下各项均为成员本人填报,其中「希望的软工角色」即其在团队中希望承担的方向。
在最终确定项目之前,团队收集并讨论了多个方向,包括云笔记与知识库、拼团搭子、考研学习打卡、FitLoop 健身饮食、校园失物匹配、智能提醒管家以及叙事游戏等。每个方案都从用户需求、技术难度、团队分工、演示效果和风险控制等方面进行了初步比较。
9 月 28 日晚,团队召开约 39 分钟的线上会议,对候选方案进行集中讨论。随后在群聊中继续比较「寻物 AI 识图」「拼团搭子关键词匹配」「接入 API」等实现方式,并完成成员偏好反馈。


群聊中的讨论使团队进一步明确:
| 候选选题 | 核心设想 | 主要优势 | 主要风险或限制 |
|---|---|---|---|
| 多端协同云笔记与知识库 | 支持 Markdown、多人实时协同、双链和多端同步 | 软件工程覆盖面完整 | OT/CRDT、多端同步和权限系统难度较高,容易超出学期范围 |
| 校园/社区拼团搭子 | 按时间、地点、标签匹配吃饭、运动、自习等搭子 | 用户场景直接,交互完整 | 涉及聊天、匹配和安全治理,冷启动与运营成本较高 |
| 研途·考研学习打卡 | 任务、计时、打卡和学习统计 | 功能清晰,新手容易完成 | 功能较常见,技术深度和选题差异化不足 |
| FitLoop·吃练闭环 | 训练记录、饮食推荐、体重趋势自动调参 | 功能丰富,具备算法和 AI 亮点 | 健康与营养建议存在合规风险,推荐模型与数据准备复杂 |
| 别忘 BuWang | 自动识别班级群 DDL 并多通道提醒 | 校园需求真实,闭环清晰 | 依赖机器人、消息解析和外部通知渠道,接口与权限风险较高 |
| 寻物雷达 | 图片、文字、属性、时间地点联合匹配失物信息 | 需求真实,具有 AI 和匹配算法亮点 | 识别准确率、隐私保护和物品所有权确认需要额外设计 |
| 最后一班地铁:0017 | 时间循环、地铁调度与叙事推理 | 创意鲜明,离线可演示,范围明确,演出效果突出 | 需要稳定的核心系统,并控制剧情、美术和内容制作量 |
团队不只看「创意是否新鲜」,还重点考虑项目能否在课程周期内稳定交付。最终使用以下标准进行判断:
| 评价维度 | 权重 | 判断标准 |
|---|---|---|
| 需求与表达清晰度 | 20% | 项目是否容易被理解,核心体验是否明确 |
| 技术可分工性 | 25% | 能否合理拆给多名成员,避免关键任务集中于一人 |
| 演示稳定性 | 20% | 能否在规定时间内完整演示,是否依赖外网 |
| 差异化 | 15% | 与普通网页应用、视觉小说或现成游戏相比是否有特色 |
| 范围可控性 | 10% | 是否能冻结 MVP,避免内容无限扩张 |
| 风险控制 | 10% | 技术、版权、隐私和进度风险是否可管理 |
综合选题过程、团队兴趣、技术覆盖面和交付可行性,团队最终选择 《最后一班地铁:0017》。
主要原因有三点:
一款本地 Web 2D 调度叙事游戏。玩家扮演地铁调度员,在 23:50~00:17 之间调整列车、广播和人员安排,通过 4 轮循环拼合线索,阻止事故发生,并走向不同结局。
玩家每轮都会面对相同的时间窗口,但掌握的信息不同:
玩家通过失败和重来逐渐理解系统,而不是被直接告知答案。
首个版本必须完成:
首版明确不做:
玩家希望在较短时间内获得完整的推理体验,但很多叙事游戏需要长时间投入,很多小型学生项目又只有概念、没有真正闭环。团队也需要在时间、技术和经验有限的情况下,完成一款稳定可演示的原创作品。
因此,本项目的需求不是「做尽可能多的内容」,而是把时间循环、调度操作和事故推理压缩成一个 20~30 分钟即可体验的完整作品。
我们如何验证需求,而不是自说自话:
项目把 23:50~00:17 设置为固定时间窗口,并拆成 4 轮循环。玩家每轮通过调度列车、广播和人员来获取新线索,上一轮获得的有效信息会影响下一轮判断。
开发上采用数据驱动和离线优先的策略:
三条技术主张(也是我们和同类学生作品的主要差别):
对玩家而言,游戏把叙事、推理和时间调度结合起来,让玩家通过试错和选择理解事故真相,而不是单纯点击剧情。对团队而言,项目覆盖需求分析、系统设计、前端实现、内容创作、测试和构建等完整流程,可以形成可展示、可复用的作品集。
对课程展示而言,它体量适中、离线可运行、操作直观,便于现场演示,也便于后期扩展为校园展览或游戏设计工作坊中的体验项目。
与纯视觉小说相比,本项目的调度操作、时间循环和线索推理具有更强的互动性;与 3D 动作游戏或大型商业叙事游戏相比,它开发成本较低,普通笔记本即可运行,更适合小团队和学生展示。
| 参照对象 | 它通常怎么做 | 我们的差异 |
|---|---|---|
| 商业剧情向 / 循环叙事大作 | 20 小时以上体量,需要较高配置与长时间投入 | 我们只做 20~30 分钟的垂直切片,本地 Web、普通笔记本可跑 |
| 网页小游戏、休闲 H5 | 单局几分钟,分数驱动,基本没有叙事纵深 | 我们不做分数竞技,做叙事结构与多结局,单局即一个完整故事 |
| 视觉小说 / Galgame | 选择以对话分支为主,选错大多可以回头补 | 我们的选择带时间轴,有「来不及」的代价——错过的时间点就是真的错过,这要求玩家先做取舍 |
| 同类学生课程作品 | 剧情与界面逻辑往往写死在代码里,改内容必须改代码 | 我们采用数据驱动的事件表,剧情与程序解耦,内容可以独立迭代 |
我们的差异化不在于画面规模和内容数量,而在于「调度系统 + 时间循环 + 多结局叙事」的组合,以及 20~30 分钟即可完整体验的紧凑节奏。
项目计划用 12 周完成,每周至少产出一个可运行版本,并保留演示录屏和备用构建包。第 4 周设置硬门槛:如果「前两轮循环 + 2 名乘客 + 重开」无法完成,就立即停止扩展内容,优先保证核心闭环可运行。
演示当天使用本地构建且不联网,同时准备完整录屏作为故障回退。
| 层级 | 技术方案 |
|---|---|
| 前端 | Vue 3 + TypeScript |
| 地图与演出 | SVG / Canvas + CSS 动画 |
| 剧情与事件 | JSON / Ink 数据文件 |
| 存档 | localStorage / IndexedDB |
| 运行方式 | 本地 Web 应用 |
| 协作 | Git Flow、周版本、测试清单和调试面板 |
内容、线索和事件都放在数据文件中,不写死在页面代码里。AI 可以协助生成代码骨架、剧情初稿和概念图,但最终内容、代码和素材必须由成员理解、测试和确认。
| 角色 | 主要职责 |
|---|---|
| 制作人 / 项目经理 | 维护范围、任务板、里程碑、版本号、风险清单、PPT 和最终提交 |
| 主笔 / 叙事策划 | 完成 3 名乘客小传、4 轮剧情变化、线索表、广播、对白和两个结局 |
| 核心系统程序员 | 实现游戏时钟、事件触发、状态机、循环重置、线索管理和存档 |
| 交互 / UI 程序员 | 实现车站地图、调度台、线索板、乘客详情和完整交互流程 |
| 场景与角色美术 | 制作地图、3 名乘客头像、功能图标、事故插画和结局配图 |
| UI 动效 / 演出 | 统一字体、颜色、间距和控件规范,负责广播、预警、线索解锁和结局转场 |
| 测试 / 音频 / 构建 | 维护测试用例和 Bug 表,整理音效,构建、部署、备份和录屏 |
每个模块设置一名负责人和一名交叉评审人,所有人参与测试和代码评审。
| 周次 | 阶段目标 | 主要交付 | 主责 |
|---|---|---|---|
| 第 1 周 | 立项与原型 | 范围确认、角色认领、30 秒时间原型 | 制作人 / 核心程序 |
| 第 2 周 | 第一条循环 | 时间推进、一个广播事件、一个事故结局 | 核心程序 / UI 程序 |
| 第 3~4 周 | 垂直切片 | 前两轮循环、2 名乘客、线索板、重开 | 全体 / 核心程序 |
| 第 5~6 周 | 核心内容完成 | 3 名乘客、4 轮循环、2 个结局、存档 | 叙事 / 程序 |
| 第 7~8 周 | 美术和演出 | 地图、头像、图标、广播、转场、音效 | 美术 / 动效 / 音频 |
| 第 9~10 周 | 测试和优化 | 全流程回归、新手引导、性能与 Bug 修复 | 测试 / 全体 |
| 第 11~12 周 | 答辩交付 | 宣传视频、PPT、博客、现场演示和备用录屏 | 制作人 / 全体 |
第 4 周硬门槛:如果不能完成「前两轮循环 + 2 名乘客 + 重开」,立即停止扩展内容,优先保证核心闭环可运行。
我们想把《最后一班地铁:0017》做成一款真正可玩、可展示、可复用的完整作品,而不是停留在策划书里的创意。玩家只有 27 分钟和有限次数的调度操作——你会做错,但每一轮留下的线索都会跟着你走进下一轮。我们希望人在二三十分钟里,完整经历一次「从不知道到终于看明白」的过程。它既能在课程展示和校园开放日被现场体验,也能作为后续游戏化教学的原型继续扩展。我们希望借此证明:小团队只要守住范围、尊重流程、善用 AI 并坚持测试,同样能交付有叙事温度、有思辨空间、有工程规范的原创作品。
团队绩效考核采用「证据导向、过程公开、角色公平」的原则。所有考核都以任务板、Git 提交、构建版本、测试结果和实际演示为依据,不以「看起来是否很忙」或个人口头陈述作为主要评价标准。
| 考核维度 | 分值 | 主要判定标准 |
|---|---|---|
| 任务交付 | 35 分 | 是否完成本周承诺任务;延期是否提前说明;是否真正进入可运行版本 |
| 质量与测试 | 25 分 | 功能是否可用、是否有明显 Bug、是否完成自测和回归、是否可以稳定演示 |
| 协作与沟通 | 20 分 | 是否参加联调、及时汇报阻塞、回应他人、主动评审和协助解决问题 |
| 主动贡献 | 10 分 | 是否承担关键路径工作、帮助他人解决既定问题;不奖励擅自增加功能 |
| 规范与诚信 | 10 分 | Git 使用、文件命名、数据驱动、AI 素材授权、内容可追溯和不弄虚作假 |
不同角色的「任务交付」按各自职责验收:制作人看计划和构建版本,主笔看人物、线索和结局是否落地,核心程序员看时间循环、事件、存档是否可靠,UI 程序员看主流程是否可操作,美术和动效看资源与视觉验收,测试人员看测试报告、Bug 回归和构建包是否可复现。
个人最终绩效 = 每周过程考核平均分 × 70% + 同伴互评平均分 × 20% + 项目负责人评价 × 10%
同伴互评采用匿名方式,每名成员对其他人从「可靠性、沟通、贡献、责任感」四个方面打分,去掉一个最高分和一个最低分后取平均。互评必须附上具体事件或交付物作为依据。
考核结果每周日复盘时公布依据,成员可以在 24 小时内提出申诉。任务板、提交记录与测试结果只作为证据供复核参考,不自动处分任何成员;任何扣分结论必须由全组确认并留痕。本方案经全体成员讨论确认后执行,如需修改,必须在周会上说明理由并取得全组同意。
| 风险 | 可能影响 | 应对措施 |
|---|---|---|
| 剧情和线索拖延 | 主线无法闭环 | 第一周先确定事故主因和事件字段,先写第一轮与两个结局 |
| 核心系统不稳定 | 循环重置、事件和存档出错 | 第 1 周完成 30 秒原型,核心逻辑写测试,提供调试面板 |
| 美术工作量过大 | 延期且影响界面完成度 | 使用统一、简洁的 SVG/2D 资源,不追求大量高精度原画 |
| 项目范围膨胀 | 无法按期交付 | 冻结 3 名乘客、4 轮循环、2 个结局;新功能必须经过范围变更确认 |
| 演示依赖网络 | 现场无法演示 | 演示版本完全离线,准备备用构建包和录屏 |
| AI 内容或素材侵权 | 无法提交或答辩受影响 | 保留授权说明,AI 内容人工审核,不使用未授权音乐、图片和声音 |
| 关键任务集中于一人 | 风险放大,进度受阻 | 每个模块设置负责人和交叉评审人,关键接口提前确认 |
项目最终计划交付:
「最后一班地铁:0017」不是一个单纯的故事展示,而是一套把时间限制、调度选择、角色秘密和事故真相连接起来的互动系统。我们希望用有限的时间守住范围,用真实需求驱动设计,用测试和协作保证质量,最终交付一个能被玩家完整体验、也能完整体现软件工程流程的作品。
团队成员共同确认: 我们理解本项目的冻结范围与各自角色,知道第一周需要交付什么,愿意遵守 AI 使用规则、Git 规则与每周交付节奏;遇到延期或阻塞时会尽早提出,不拖到截止前才说。