<!-- title: 《Untrusted》想通关，先改他的代码 -->
<!-- domain: games -->
<!-- repo: AlexNisnevich/untrusted -->

## 仓库档案

| 项目 | 内容 |
|---|---|
| 仓库 | [AlexNisnevich/untrusted](https://github.com/AlexNisnevich/untrusted) |
| Star | 数千量级（据仓库页面，实时数以仓库为准） |
| 语言 | JavaScript |
| 作者 | Alex Nisnevich、Greg Shuflin，两个人的业余项目 |
| 形态 | 纯浏览器游戏，代码全部开源 |
| 在线试玩 | https://alexnisnevich.github.io/untrusted/ |

这是一对程序员朋友在 2013 年前后鼓捣出来的作品（据仓库页面），没有公司背景，没有团队作战，作者列表翻来覆去就是两个 GitHub 个人账号。十多年过去，仓库还在被翻牌，模仿者一批接一批。它证明了一件事：**“游戏性”三个字，跟美术预算没有必然关系**。

## 这游戏是什么

一句话：**一款“你得亲手改游戏源码才能通关”的浏览器解谜游戏。**

你扮演 Dr. Eval，一个被困在机器迷宫里的教授。每一关，屏幕左边是游戏画面（迷宫、机器人、道具），右边是一个代码编辑器，里面躺着一段能跑的 JavaScript——那就是你这台“机器人”的全部行为逻辑。想让机器人动起来，你有两个选择：

1. 原样运行，看它按编剧写好的“蠢办法”送死；
2. 改几行代码，让它按你的思路活着走到出口。

每关都有过关校验：位置、物品、状态，条件不满足就不放行。全部二十来个关卡（据仓库页面），从“给机器人换个移动方向”一路加码到“用代码动态生成新的可执行逻辑”，最后一关的所有谜底，都藏在你前面积累的那些 API 里。

核心循环画出来长这样：

```mermaid
flowchart LR
    A[读关卡目标] --> B[读右边那段初始代码]
    B --> C[改几行机器人行为]
    C --> D[执行·看它跑]
    D --> E{过关校验通过?}
    E -- 不通过 --> F[观察机器人怎么死的]
    F --> B
    E -- 通过 --> G[解锁下一关与新API]
    G --> A
```

注意这个循环里最妙的一环：**“死亡回放”就是“调试过程”**。普通游戏你死了是重新来，这游戏你“死了”是去读日志、找 Bug、改代码——把程序员每天干的事，原封不动做成了游戏循环。

## 为什么上头

把它的钩子拆开看，每一条都能搬到你自己 project 里：

**1. 即时反馈短到可怕。** 改一行代码，点一下执行，一两秒内机器人当场给你表演。这种“改动→见效”的延迟，比绝大多数解谜游戏都短。上头的本质就是“我的行为立刻改变世界”，它把这条压到了极限。

**2. 报错被做成了演出。** 走进机枪扫射线、被无人机追杀、掉进陷阱——这些“失败”全都有画面、有动画、有戏剧感。普通编程是“异常栈一片红”，这里是“你的机器人刚被激光切成两段”。同一件事，情绪反馈天差地别，这就是它敢让你失败一二十次的原因。

**3. 权力感：你在改游戏规则，不是在玩游戏。** 玩家拿到的不是手柄，是源码。这种“我比设计者多知道一层”的快感，是编程解谜品类独有的多巴胺。而且它明着鼓励你越界——不少关卡存在“歪解”，用设计者没想到的写法溜过去（据仓库页面），社区里晒花式解法是保留节目。

**4. 心流阶梯铺得极稳。** 每关只教一到两个新 API，游戏内自带 API 文档面板，随进度逐渐解锁。你永远知道“手上有哪几张牌”，也知道“下一关可能要用新牌”。进度感、收集欲、目标感，一个面板全齐了。

**5. 难度是“合理地死”。** 每一次失败都能定位到具体哪行代码、哪个条件没满足，玩家不会把锅甩给“游戏恶心我”。失败的归因清晰， retry 的意愿就高——这跟跑团游戏“死了怪网络”完全是两个留存世界。

**6. 再来一关的钩子是“好奇心”，不是“体力值”。** 没有每日任务，没有体力条，钩住你的是“下一关我能拿到什么新 API、能写出什么新骚操作”。这种钩子不过期，所以一个 2013 年的仓库到今天还有人通关打卡。

## 技术拆解

整套东西朴素得让人感动，也正因为朴素，才极具抄的价值：

- **一页 HTML 就是全部。** 纯前端 JavaScript，界面是“游戏画布 + 代码编辑器”的左右分栏，编辑器用的是现成组件（据仓库页面），没有构建系统、没有框架炫技。你周末看完源码，下周就能改出自己的版本。
- **关卡即数据。** 每个关卡就是一个对象：初始代码字符串 + 过关校验函数 + 地图布局。加一关 = 加一个对象，不碰引擎。这是最值得抄的架构——**关卡内容与运行时彻底解耦**，后续想做关卡编辑器、UGC、每日一题，都是在“数据层”动手脚。
- **玩家代码就是主循环。** 运行时把玩家的代码当回调执行，只暴露 `map`、`player`、各类物体对象这一层白名单 API。本质上是个“没做严格沙箱的沙箱”——它敢这么裸奔，因为玩家改的就是本地自己的页面。**你复刻时千万别照抄这点**：用 Web Worker 或 iframe 做执行环境，API 走消息代理白名单，防注入是必修课。
- **校验器模式可直接搬走。** “条件检查 + 不通过时的文案反馈”写成了统一的关卡校验接口，这个模式放到任何解谜/教育类产品里都成立。
- **可直接复用的组件清单**：嵌入式代码编辑器方案、游戏内 API 文档面板、关卡校验器、回合制网格地图、以及“用动画包装失败”的那套反馈文案。这五件东西拼一拼，就是任何“编程×游戏”产品的地基。

技术栈门槛：会 JavaScript 就能读懂全部源码，没有三 行 bootstrap 命令，clone 下来开个静态服务器就能跑。

## 变现观察

仓库本身是纯开源、无广告、无内购，作者没放赞助链接——它属于“作品即名片”路线：两个作者靠它收获了行业里的知名度。但**它所在的品类，恰恰是被反复验证过能收钱的**：

- **Steam 买断制**：Zachtronics 系的 TIS-100、SHENZHEN I/O、EXAPUNKS，全是“写代码解谜”玩法，长卖十年，养活了一个小工作室；Screeps 把这个玩法做成持续运营的 MMO，同样是小团队。
- **移动端付费**：Human Resource Machine / 7 Billion Humans，视觉极简的编程解谜，PC + 手机双端付费，卖的是“聪明感”。
- ** Steam 榜单常客**：While True: learn() 这种把编程题材包装成休闲解谜的，靠题材红利吃到了更大众的盘。
- **itch.io 捐赠 + 游戏Jam**：这个体量的作品首发 itch.io 收捐赠是标准动作，Untrusted 这种完成度放今天首发出手，前排位置不难拿。
- **B 端授权**：编程启蒙、少儿编程机构一直缺“好玩的教学载体”，这个品类被机构拿去二改当教材的案例一抓一把。

一句话：**玩法有人付费验证过，仓库免费送你地基，差的只是你把皮和钩子装上去。**

## 给我的灵感

**点子一：每日一题 + 代码高尔夫排行榜（工作量：2~3 周）**
把 Untrusted 的关卡校验器原样搬走，改成“每天一关”，结算时不只看通关，还看**代码最短/最快**，做全球排行榜。每日制制造回归钩子，排行榜制造攀比传播（Hello Wordl 那套分享裂变逻辑在这里同样成立）。变现：网页广告 + 高级题库订阅。这是最省力的起步版。

**点子二：祖传屎山模拟器（工作量：3~4 周）**
玩法框架不变，把皮全部换掉：你不是教授，是接手祖传代码的新员工；每关的目标不是“走出去”，而是“把这个 Bug 改成 Feature，还不许动测试”。题材自带梗、自带传播点，程序员社群转发意愿极强。变现：itch.io 付费下载（定价 5~10 美元档）+ Steam 抢先体验。同类玩法在 Steam 被验证过，题材新皮是差异化主卖点。

**点子三：AI 判题的编程闯关学堂（工作量：4~6 周）**
在点子一的基础上，把“过关校验函数”换成/加上 LLM 判题：不止判对错，还能对玩家的解法给出毒舌点评、对优雅度打分。教学价值直接上一个量级，这是原版 2013 年做不到的。变现：面向 C 端订阅 + 面向少儿编程机构的 B 端授权，两条腿走路。

三个点子共用同一个地基——这个仓库里那套“关卡即数据 + 校验器 + 白名单 API”的架构。先抄地基，再挑皮。

## 上手

- 仓库：https://github.com/AlexNisnevich/untrusted
- 在线试玩：https://alexnisnevich.github.io/untrusted/ （浏览器直接玩，先过三关再决定抄不抄）

建议路径：先白嫖式通关找“上头点”，再翻 `levels/` 目录看关卡是怎么定义的，最后照着点子一搭你的最小版本——校验器接口它已经替你写好了。

> [!tip] 51学通信知识星球
> **星主：爱卫生**（微信：gprshome201101）——公众号「51学通信」创办者，19 年通信行业运维与讲师经验，著有《GPRS网络信令实例详解》《EPC原理与实践》《5G核心网原理与实践》三本纸质书（各大电商平台有售）。
> **星球定位**：深耕 5G 核心网、IMS、NFV/AI、云原生等 ICT 领域，主打运维岗位与信令分析。
> **当前规模**：5200 篇主题 / 990 个回答，198 元/年。
> **加入福利**：加入星球后请加爱卫生微信，拉您进知识星球年度陪伴与答疑群——不限量回复您的各种问题，另有群内分享。
> **AI 加持**：51学通信知识星球已作为 skill 接入 WorkBuddy，使用 deepseek-4-flash 在海量星球帖子中精准找贴、找视频、找 FAQ 和案例，做总结、找文档和 PPT 等场景全覆盖。

![51学通信知识星球海报-扫码加入](https://wiki.500nian.com/images/zhixingqiu_qrcode.png)
