【生活娱乐赛道·复赛成品】罗的十字路口:10 分钟走完一生的互动叙事游戏

赛道 生活娱乐

有了 TRAE 之后,一个不会写游戏的人,能不能把别人的人生做成一段可以亲自体验的故事?《罗的十字路口》从一个真实人物的公开经历出发,让玩家在十分钟里替他走过几个人生路口,也重新想一想自己的选择。


先看作品

TRAE 创造力大赛的主题是"AI 改变生活"。参加这次比赛之前,这个问题对我来说只是一个概念。做完这个项目之后,我有了一个具体的答案:有了 TRAE 之后,一个不会写游戏的人能做出一款 4 万行代码的互动叙事游戏,一个不懂测试的人能跑通 431 项单测,一个从没碰过 Phaser 的人能交付 214 个剧情节点的完整作品。**改变生活 :flexed_biceps:**的不是 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 开发证据截图

  1. 剧情共创 TRAE 参与设计剧情分支、历史节点或远期后果的对话。
  2. 功能实现 TRAE 协助搭建场景、选择系统或结局系统的过程。
  3. 测试与修复 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 已压低至不喧宾夺主的音量,与旁白解说并行:

整条视频围绕一个核心特点展开:玩家不是旁观一段名人传记,而是在每个十字路口亲自替他选择;选择会改变属性,解锁或关闭后续路径,并最终走向不同结局。

  1. 八秒冷开场:巨额债务、法院选择与深夜办公室连续出现,先抛出"如果是你,会怎么选";
  2. 产品揭示:从作品名称、新手引导、天赋五选二快速进入真实玩法;
  3. 内容规模:6 个生命阶段、214 个剧情节点、35 种结局定义、130 个随机事件、49 项天赋,以及文案与源码规模;
  4. 人生路径:用多个真实节点展示阶段变化、属性反馈与分支选择;
  5. 复赛打磨:集中说明画面与 UI、文案与路径、节奏与重玩三层升级;
  6. 完整高潮:从鸟巢演示、资金链断裂推进到供应商压力与"欠下 6 亿"抉择;
  7. 成品验收:214/214 剧情节点、26/26 个独立结局节点可达,431 项单测与 61 项产品 E2E 检查通过;
  8. 结局复盘:展示本局属性、人生轨迹、动态点评与跨周目成长;
  9. 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:初赛帖: 《罗的十字路口》初赛作品