赛道 生活娱乐
有了 TRAE 之后,一个不会写游戏的人,能不能把别人的人生做成一段可以亲自体验的故事?《罗的十字路口》从一个真实人物的公开经历出发,让玩家在十分钟里替他走过几个人生路口,也重新想一想自己的选择。
先看作品
TRAE 创造力大赛的主题是"AI 改变生活"。参加这次比赛之前,这个问题对我来说只是一个概念。做完这个项目之后,我有了一个具体的答案:有了 TRAE 之后,一个不会写游戏的人能做出一款 4 万行代码的互动叙事游戏,一个不懂测试的人能跑通 431 项单测,一个从没碰过 Phaser 的人能交付 214 个剧情节点的完整作品。**改变生活
**的不是 AI 本身,而是 AI 让普通人拥有了去做以前做不到的事的能力。
这是我一个人用 TRAE 从零做出来的大型互动叙事游戏。
214 个剧情节点 | 35 种结局定义 | 约 44,791 行核心源码 | 约 15.7 万个非空白文案字符
初赛时,我证明了这个想法可以做成游戏。复赛这一轮,我继续把它做成别人能真实上手、稳定重玩、数据口径清楚的成品。下文主要讲我这一轮具体做了什么。
我有一个更大的情怀:我希望能撬动人们了解人物、读人物传记的传统方式,甚至传统的学习方式。从读到体验,从旁观到代入,从被动接受到亲手选择。这不只是一款游戏,而是一种新的交互范式。所以我把两个月的心血和努力进行了开源,更希望能借助 TRAE 这次大赛的渠道,把这个想法扩散出去,让更多人看到"人生路口类"的可能。
关于我
一个罗永浩的狂热粉丝,平时的工作与游戏开发毫无关系。做这个游戏之前我从没写过游戏,连 Phaser 是什么都是 TRAE 告诉我的。整个项目,从剧情、代码到测试,基本是我一个人 + TRAE 完成的。 我负责主题、叙事方向、关键选择设计与每轮验收;TRAE 负责剧情共创、工程搭建、系统实现、问题定位与迭代收口。TRAE 陪我跑完了从念头到成品的一整条链路,生成代码只是其中很小的一步。
初赛帖里我讲的是"我想做什么、我有多大潜力";这篇复赛帖,我只讲这轮我实际做成了什么。
1. 复赛这一轮,我到底干了什么
这是全贴核心。复赛这轮,我自己作为第一个用户,从打开页面到通关复盘,把每个体验问题找出来,再逐个解决。七项工作全部保留,其中前三项最能说明这次复赛和初赛的区别。
1.1 我重新画了整套 UI,也重做了开场
初赛已经能玩,但画面还没有形成自己的记忆点。复赛中,我重画了标题页、天赋翻牌、章节转场、选择反馈、结局页和分享卡,统一为暗金像素风,并重新设计开场星轨动画。老罗的关键语录也增加了视觉标记,让金句从普通对白中跳出来。
现在玩家进入游戏就能感受到完整的视觉气质。"欠 6 亿"节点还加入了巨额数字砸地、画面震动、压力变化和 AI 点评,成为整局最强的画面记忆点。
1.2 我把故事线重新从头走了一遍
部分初赛节点衔接生硬,分支关系和远期后果也不够清楚。我重新梳理 214 个剧情节点,补全衔接,理顺分支的进入与回收,收紧远离主线、体验割裂的捷径。
修改后,玩家在前面做出的选择,会在几章后留下更清楚的回响。故事推进也更像一段连续的人生,而不是一组相邻事件。
配图 02 六阶段故事路径图或局部剧情分支图
1.3 我只有一个人,所以给自己做了一套全路径验证方法
214 个剧情节点、35 种结局定义和 13 条策略路径,靠一个人手动点击无法完整验证。我把复赛中的工作方法整理成**“正循环迭代机制”**,由我制定退出条件和验收判断,TRAE 协助执行自动化脚本、浏览器实机走查与问题复核。
最终完成 214/214 节点可达验证、26/26 个独立结局节点可达验证,35 种结局定义均纳入判定测试,13 条策略路径通过,431 项单测和 61 项产品 E2E 检查全部通过。第 2.3 节会展开这套方法。
1.4 首屏从约 9 秒压进 1 秒以内
初赛展示页加载约 9 秒。我把 base64 资源改为 WebP,index.html 从约 1340KB 缩到约 105KB,又补上资源预热和分享预览。现在评委打开页面后可以直接进入游戏,不必先面对长时间白屏。
1.5 我把偶发黑屏和场景复用问题继续追到底
复赛阶段根治了线上 GameScene 永久黑屏,修复渲染竞态以及 Scene 复用与常驻 DOM 同时存在时产生的问题。PWA 离线资源也做了完整复核。连续操作时不黑屏、不串场、不卡死,已经加载的本局在断网后仍可继续。
1.6 通关以后还有下一周目
初赛以单局体验为主。复赛加入 NG+ 二周目、多周目保底机制,以及 4 棵技能树共 20 级跨周目成长。玩家通关后会留下经验和永久增益,也会为了未解锁的结局重新选择。
1.7 我还补了数值、公平性和无障碍细节
部分结局原先难以触发,还有过短捷径和压力数值失衡。我调整了结局条件、压力经济,并把关键结局判定改为玩家看得见的名声、财富、压力等属性。
核心对话与操作补充了读屏语义,焦点管理、打字机动画降级、跨端跳过和 TTS 语音面板也完成专项检查。手机和桌面操作保持一致,动画敏感用户可以使用降级效果。
2. 复赛过程中,我后来想明白的几件事
这一节写的是我在复赛过程中遇到问题后形成的判断,以及这些判断最后怎样落到了作品里。
2.1 我先处理了结局为什么让人摸不着头脑
- 问题:早期结局依赖隐藏的信任属性判定,玩家根本不知道为什么是这个结局,公平感差。
- 想法:结局触发改用玩家可感知的属性(名声、财富、压力等),让"你是谁"由玩家看得见的每一次选择堆出来。
- 结果:35 种结局不再像"抽签",而是像*“你的人生走到这一步”*。这条是 TRAE 在 review 时主动提出的,我认可后落地。
2.2 通关以后,我还想给玩家留下继续玩的理由
- 问题:纯单局叙事游戏,通关后没有留下的理由。
- 想法:引入跨周目 Meta 成长。本局结束后,获得的经验会转化为永久技能,下一局的起点更高。
- 结果:玩家有动力为不同结局、不同身份再开新局,重玩变成"成长"——这正是 NPC 类养成与叙事类游戏缺的粘性。
2.3 一个人怎样把大型游戏的整条路测完
-
问题:214 个剧情节点、35 种结局、13 条策略路径,整条路测本来需要团队反复走查。我只有一个人,靠手动无法把每条路都点一遍,也无法保证每个结局都被真实触达。
-
想法:我把自己在复赛中形成的工作方法整理成一套**“正循环迭代机制”**。每一轮先写清退出条件,再让 TRAE 协助跑自动化脚本和浏览器实机走查,最后把发现的问题固化成下一轮的检查项。
-
结果:214/214 节点可达,35 种结局定义全部纳入测试,13 条策略路径通过,431 项单测和 61 项产品 E2E 检查全部通过,用户体验高标准达成。 这个结果来自我定方法、做判断,TRAE 协助执行和复核。对我来说,这套方法是复赛阶段最重要的收获之一。
2.4 中文清晰度最终靠混合渲染解决
- 问题:纯 Canvas 渲染中文文字发虚、按钮交互手感差。
- 想法:场景、角色、粒子走 Canvas 2D,文字、按钮走 DOM overlay,各取所长。
- 结果:像素画面完整保留,中文文字清晰锐利,交互符合 Web 习惯。这是个细但实用的技术决策。
3. 产品是什么(30 秒给你全景)
- 是什么:一款基于浏览器运行的像素风互动叙事游戏。玩家扮演从延边少年起步的罗远(老罗),通过天赋、选择、属性变化与长期后果,走向属于自己的结局。纯前端 PWA,打开即玩,无需注册、下载或付费。
- 面向谁:18–35 岁正站在职业 / 创业 / 人生十字路口的年轻人;玩过《人生重开模拟器》《中国式家长》《隐形守护者》的叙事玩家;喜欢像素风独立剧情的用户;对"真还传"有认知、天然有代入感的人群。
- 一句话路径:天赋抽取 → 剧情选择 → 属性变化 → 随机事件 → 远期后果 → 结局判定 → 跨周目成长。
核心体验约 10 分钟,想把更多结局和故事线走完,通常需要 10–15 分钟。
4. 产品完成度
| 项目 | 当前规模与验收结果 |
|---|---|
| 内容 | 6 个生命阶段、214 个剧情节点、35 种结局定义、130 个随机事件、49 个天赋、4 棵技能树共 20 级跨周目成长 |
| 文案 | 约 15.7 万个非空白文案字符;展区归档 35 个剧情与系统数据文件,合计约 45 万字符,包含文案与代码结构 |
| 美术 | 64 张项目美术资源,含 31 张场景背景、19 张角色立绘、9 张结局插画、5 张图标及分享图 |
| 代码 | 约 44,791 行核心源码,共 75 个文件,不含测试与依赖 |
| 路径 | 214/214 剧情节点可达、26/26 独立结局节点可达;35 种结局定义全部纳入判定测试;13 条策略路径通过 |
| 测试 | 431 项单测 + 61 项产品 E2E 检查全部通过;剧情数据校验 0 错误、0 警告 |
5. TRAE 实践与开发证据
TRAE 参与了从剧情共创、功能实现到质量验证的完整链路:
| 开发环节 | TRAE 的实际参与 | 对应产出 |
|---|---|---|
| 剧情共创 | 讨论人物经历、历史节点、分支关系与远期后果 | 214 个剧情节点与完整故事图 |
| 功能实现 | 搭建 Phaser 场景、选择系统、天赋系统与结局系统 | 可运行的 Phaser + Vite 框架 |
| 系统平衡 | 数值平衡、结局触发条件、跨周目成长设计 | 26 个结局节点可达、13 条策略路径通过 |
| 体验打磨 | 从评委、竞品与目标玩家视角检查问题 | UI、文案、路径与新手引导优化 |
| 质量验证 | 检查节点可达性、按钮可用性与结局后的重玩链路 | 全路径验证、控件烟测与回归测试 |
TRAE 开发证据截图
- 剧情共创 TRAE 参与设计剧情分支、历史节点或远期后果的对话。
- 功能实现 TRAE 协助搭建场景、选择系统或结局系统的过程。
- 测试与修复 TRAE 协助检查路径、定位问题或完成稳定性验证的过程。
零基础单人开发的结果 214 个剧情节点全部可达,35 种结局定义全部纳入测试,431 项单测与 61 项产品 E2E 检查全部通过。完整规模数据见第 4 节。
6. 技术方案(对应技术实现)
| 层 | 技术 | 选型理由 |
|---|---|---|
| 引擎 | Phaser 3.80 | Canvas 2D + pixelArt 模式,像素风友好 |
| 构建 | Vite 5.4 | 快速开发与构建 |
| 渲染 | Canvas 2D + DOM overlay | 画面走 Canvas、文字按钮走 DOM,解决中文清晰度 |
| 画布 | 800×500 | Phaser.Scale.FIT 自适应,多端一致 |
| 音频 | Web Audio API | 程序化合成 BGM,无音频文件依赖 |
| 语音 | speechSynthesis | 朗读与剧情推进同步解锁 |
| 存储 | localStorage | 存档 / 成就 / Meta 进度 |
| PWA | manifest + service worker | 离线缓存 + 桌面安装 |
| 部署 | 静态托管 | 全球 CDN,手机即玩 |
关键实现思路:混合渲染架构(Canvas 画面 + DOM 交互)、资源三层预加载(首屏/节点级/结局级)、跨周目 Meta 成长、_choiceLock 防重复触发、env(safe-area-inset-*) 移动端适配、prefers-reduced-motion 无障碍降级。这些实现均有自动化验证脚本与 431 项单测 + 61 项产品 E2E 检查守护。
7. 演示视频
视频中所有操作均为真实游戏实机录制,旁白由我自己配音。背景音乐选用左小祖咒、罗永浩与左罗乐团合唱的《凡人有光》——老罗自己唱的歌,配老罗自己的故事,没有比这更贴切的选曲了。BGM 已压低至不喧宾夺主的音量,与旁白解说并行:
整条视频围绕一个核心特点展开:玩家不是旁观一段名人传记,而是在每个十字路口亲自替他选择;选择会改变属性,解锁或关闭后续路径,并最终走向不同结局。
- 八秒冷开场:巨额债务、法院选择与深夜办公室连续出现,先抛出"如果是你,会怎么选";
- 产品揭示:从作品名称、新手引导、天赋五选二快速进入真实玩法;
- 内容规模:6 个生命阶段、214 个剧情节点、35 种结局定义、130 个随机事件、49 项天赋,以及文案与源码规模;
- 人生路径:用多个真实节点展示阶段变化、属性反馈与分支选择;
- 复赛打磨:集中说明画面与 UI、文案与路径、节奏与重玩三层升级;
- 完整高潮:从鸟巢演示、资金链断裂推进到供应商压力与"欠下 6 亿"抉择;
- 成品验收:214/214 剧情节点、26/26 个独立结局节点可达,431 项单测与 61 项产品 E2E 检查通过;
- 结局复盘:展示本局属性、人生轨迹、动态点评与跨周目成长;
- TRAE 证据:叙事共创、系统实现、体验打磨、测试验收的完整协作链路。
B 站演示视频: 点击观看《罗的十字路口》(2K,约 4 分 33 秒)
8. Session ID 核验
以下记录覆盖复赛阶段的全面优化、开场动画、用户体验、形象重绘、故事线、代码检查与 Loop 深度优化。复赛对话较多,这里按工作类别抽样保留 19 个 Session ID。
| 类别 | 抽样数量 |
|---|---|
| 全面优化与核验 | 2 |
| 开场动画 | 1 |
| 用户体验 | 2 |
| 自测、形象与故事线 | 4 |
| 代码检查 | 2 |
| Loop 深度优化 | 8 |
展开查看完整 Session ID
[全面优化与核验]
.3587023050126672:0f2bd82e2705846b880bfedd71681050_6a63f56fce0dccf3aaaf6de8.6a63f5c4ce0dccf3aaaf6e14.6a63f5c472fcc667fd70d7ea:Trae CN.T(2026/7/25 07:31:16)
.3587023050126672:6c9c6f65830560bdfb71ebf671c13471_6a63f56fce0dccf3aaaf6de8.6a66edb88a6c4fd578e3d068.6a66edb57443fe7b9069f84e:Trae CN.T(2026/7/27 13:33:44)
[开场动画]
.3587023050126672:3493be1764b92006c22a364bf855cd9e_6a4c5c911621e063390ac1ac.6a63f568ce0dccf3aaaf6ddb.6a63f56772fcc667fd70d7e9:Trae CN.T(2026/7/25 07:29:44)
[用户体验]
.3587023050126672:93eade78dfe70f478ccaf70cd6f03ff9_6a63f683ce0dccf3aaaf6eb3.6a63f964ce0dccf3aaaf72fb.6a63f96472fcc667fd70d7ec:Trae CN.T(2026/7/25 07:46:44)
.3587023050126672:5c1bf5c29226a35f418d81075c7a342f_6a63f683ce0dccf3aaaf6eb3.6a66a8d78a6c4fd578e38423.6a66a8d67443fe7b9069f849:Trae CN.T(2026/7/27 08:39:51)
[自测与形象重绘]
.3587023050126672:a166ac9e10533de820e614b07a80a2ba_6a63fda2ce0dccf3aaaf7c6f.6a63fdb9ce0dccf3aaaf7cb8.6a63fdb872fcc667fd70d7ee:Trae CN.T(2026/7/25 08:05:13)
.3587023050126672:8cc0688ba10575863dd5f4b75911001a_6a63fda2ce0dccf3aaaf7c6f.6a647474ce0dccf3aaab00f8f.6a64746272fcc667fd70d7f2:Trae CN.T(2026/7/25 16:31:48)
.3587023050126672:b76da01b27b46ff328def0ca49f27dc9_6a63fda2ce0dccf3aaaf7c6f.6a64e123ce0dccf3aab08fb0.6a64e12172fcc667fd70d7f6:Trae CN.T(2026/7/26 00:15:31)
[故事线优化]
.3587023050126672:481135fa19aa2b4c7308752dd344e998_6a63fd55ce0dccf3aaaf7b88.6a6412d1ce0dccf3aaafa725.6a6412cf72fcc667fd70d7f0:Trae CN.T(2026/7/25 09:35:13)
[代码检查]
.3587023050126672:a67fe6aebb1950344c5ffc13995eb3de_6a66aac08a6c4fd578e386d3.6a66d07f8a6c4fd578e3c15a.6a66d07f7443fe7b9069f84d:Trae CN.T(2026/7/27 11:29:03)
.3587023050126672:6205798364754cd0b36492f5b26c24bf_6a662b4c8a6c4fd578e33fa7.6a66edf18a6c4fd578e3d099.6a66edf07443fe7b9069f850:Trae CN.T(2026/7/27 14:31:33)
[Loop 深度优化]
.3587023050126672:5091eed2a1a1394ad85116e3c8d9fee5_6a686d52c4a3907010c4dba5.6a6c487c07b507c998e99803.6a6c487c07b507c998e99801:Trae CN.T(2026/7/31 15:02:20)
.3587023050126672:5091eed2a1a1394ad85116e3c8d9fee5_6a686d52c4a3907010c4dba5.6a6c41d407b507c998e99075.6a6c41d359facf7b73a9a38a:Trae CN.T(2026/7/31 14:33:56)
.3587023050126672:6a0ad05220410646cc4980205595e590_6a686d52c4a3907010c4dba5.6a6bf1c47b443233243f5b5e.6a6bf1c1694b0a5cd92a5c6a:Trae CN.T(2026/7/31 08:52:20)
.3587023050126672:533373548d9c63b2fa61b97d43826cbb_6a686d52c4a3907010c4dba5.6a6b4058c10dd8221814dd55.6a6b4053cee53316b70cebaf:Trae CN.T(2026/7/30 20:15:20)
.3587023050126672:d7a9327c38721a26395ba8d17f8bcb98_6a63f683ce0dccf3aaaf6eb3.6a6c502207b507c998e99faf.6a6c502207b507c998e99fad:Trae CN.T(2026/7/31 15:34:58)
.3587023050126672:01375d183b6e9cd28459a2857680baa2_6a63f683ce0dccf3aaaf6eb3.6a6ca85f07b507c998e9cee4.6a6ca85f59facf7b73a9a39b:Trae CN.T(2026/7/31 21:51:27)
.3587023050126672:390e0172d7764541b98aba80a2ea8ac4_6a63f56fce0dccf3aaaf6de8.6a6cb91007b507c998e9e05b.6a6cb91059facf7b73a9a39f:Trae CN.T(2026/7/31 23:02:40)
.3587023050126672:4417507617561d977153f2b404d8fc98_6a68be23a1851056e960cfb7.6a68be2da1851056e960cfcb.6a68be2d67c6f0c76a805e0d:Trae CN.T(2026/7/28 22:35:25)
9. 提交与体验说明
- 技术形态:Phaser 3.80 + Vite 5.4,Canvas 2D,纯前端 PWA。
- 使用方式:推荐使用电脑浏览器横屏体验,效果最佳。已做手机端适配,但受限于设备条件,未能在所有机型上完成兼容性测试,手机体验可能有差异。无需注册、下载或付费。
- 依照复赛"双轨提交"规则,作品的体验入口、演示视频等交付材料通过官方飞书问卷私密提交,仅供评审后台查看;本社区帖仅作公开展示,故不在帖内公开体验链接。
10. 声明
本作品为虚构叙事,部分情节经过艺术加工,不代表任何真实人物或事件。"老罗 / 罗远"形象为艺术化演绎,作品旨在探讨人生选择的主题,不构成人物传记或事实评价。评审时请以复赛版实际体验、演示视频与可核验的 TRAE 开发证据为准。
写在最后
除了 TRAE 之外,这个项目还有两个启发点,也是特别鸣谢。
第一个是《流浪地球》里的数字生命卡片。电影里,一个人的意识被压缩进一张卡,别人可以走进去体验他的人生。我当时就想,能不能把传奇人物也做成这样的体验——不是看一部纪录片,读一本传记,而是真正走进他的人生,在关键节点替他做一次选择,带入他的视角去面对那些两难。
第二个是罗永浩的**"十字路口"访谈**。罗老师是我的偶像,他采访了很多不同的人,每个人在人生的十字路口做了不同的选择,选择的理由也不同,包括他自己。每看完一期,我都会想,如果是我,我会怎么做。
所以就有了这个项目:一个普通人,用 TRAE,把一个名人的人生做成可以亲自走一遍的互动叙事游戏。玩家可以替老罗走过不同阶段,在关键节点做出选择,再通过成就、结局和故事线,慢慢把这个人看得更完整。为了收集成就、解锁不同结局,玩家会主动把一条条故事线走完。这个过程和读完一本自传不太一样——读者跟着作者的笔走,玩家则会带着自己的问题走进去。
这就是我眼中 AI 改变生活的方式——不是 AI 替你做好一切,而是 AI 让一个普通人有能力去做以前做不到的事。我没写过游戏,不懂 Phaser,不会写测试脚本,但 TRAE 陪我从一个念头走到了 214 个节点、35 种结局、431 项单测全部通过的成品。
我特别特别想走到决赛,不是因为需要一个名次,而是因为需要更大的曝光。如果更多人看到这个范本,就可能有人愿意投入人力物力,把它做得更远。企业家的十字路口、科学家的十字路口、普通人的十字路口——这不只是一款游戏的想法,而是一个品类:人生路口类互动叙事。我一个人的能力有限,TRAE 帮我把第一扇门推开了一条缝,但要让这条缝变成一扇门,需要更多人一起做。
我先把这个范本做出来,再把代码、方法和踩过的坑交给更多人。也许以后会有人用它,讲出另一个人的一生。
初赛帖我写的是"我想做什么"。这篇复赛帖,我终于可以把做出来的东西交给大家看。首屏从 9 秒到 1 秒,结局从看运气到看得见自己的选择,游戏也从单局体验走到了跨周目成长。
这些,就是复赛这一轮,我和 TRAE 一起亲手做出来的东西。
10 分钟,走完一生。选你所选,无怨无悔。
谢谢评审花时间看到这里。
ps:初赛帖: 《罗的十字路口》初赛作品












