大多数编程游戏的思路是“给你一百种指令,看你怎么组合”。美国开发者 Jared Krinke 反着来了一回:他做了一台只有一条指令的计算机,然后把这台计算机本身做成了游戏。你在游戏里扮演 SIC Systems 公司的程序员,用这条指令写出加法器、循环、字符串处理,换取晋升和“含糊其辞的工作保障承诺”。
README 开篇第一句就是它的态度:“为了晋升和雇主口中的职业前景,请牺牲你的个人生活!”通关一个任务,屏幕上会飘来一句:“SIC 系统感谢你的辛勤付出!现在请回到你的工位。”——这是一款把职场黑色幽默和硬核汇编优化揉在一起的作品,而且完全免费、开源,一个人业余维护了六年。
据仓库页面(2026 年 10 月时点):
一句话:在一台只认识一条指令的计算机上,完成一份份“编程任务书”,通关晋升,再把程序优化到极限去爬全球排行榜。
这条指令叫 subleq,全称 "subtract and branch if less than or equal to zero"——减法,若结果小于等于零则跳转。整台计算机每一步只做一件事:把内存里 A 地址的数从 B 地址里减掉,如果 B 变成负数或零,就跳到 C 地址继续。没有 ADD,没有 MOV,没有 JMP,一切指令都要你自己用这一条拼出来。
输入输出也被塞进了同一条指令的框架里:README 自带的示例程序是“读两个数、输出它们的和、无限重复”,只有五行:
@loop:
subleq @tmp, @IN
subleq @tmp, @IN
subleq @OUT, @tmp
subleq @tmp, @tmp, @loop
@tmp: .data 0
@IN 和 @OUT 是两个特殊的输入输出地址,@loop 是标签。第一次看这段代码的人基本都会愣三秒:等等,这就是加法?——这种愣住的感觉,就是游戏的入场券。
仓库里那封虚拟招聘启事把玩法说得很直白:“不要调整技术去适应你的思维,要调整你的思维去适应 SIC-1 的运行方式。”每一关给一份任务书:规定输入输出格式,你用 subleq 汇编把程序写出来,跑测试,通过就晋升、解锁头衔更夸张的下一份工作;通过之后真正的游戏才开始——把指令数和执行周期往下砍,爬全球排行榜。
flowchart TD
A[接任务书:输入输出规格 + 通关条件] --> B[用 subleq 汇编敲程序]
B --> C[点运行:CPU 逐条执行 减法 + 条件跳转]
C --> D{输出和测试全对?}
D -- 不对 --> E[看哪组用例炸了,回炉]
E --> B
D -- 全对 --> F[晋升!解锁头衔 + 更难的任务]
F --> G{想上排行榜吗?}
G -- 再砍一条指令 / 再省一个周期 --> B
G -- 差不多得了 --> A
第一层:自虐式约束带来的“解环”快感。 人类对“用极少的资源做成一件事”有天然的执着,高尔夫是几杆进洞,编程游戏就是几条指令出结果。subleq 把这种约束推到了荒谬的极端——连“把一个数搬个位置”都要绕三道弯。每一关都是几十道连环锁:想循环?先造出条件跳转的组合。想乘法?先得有循环。想读字符串?先解决“怎么知道读到了结尾”。每解开一环,那种“原来还能这么玩”的爽感是即时的,比一般解谜游戏密得多,因为这里每一行代码都是你自己发明的原语。
第二层:双进度条——职位往上走,分数往下压。 晋升线给方向感:任务书一关比一关嚣张,职位头衔一路膨胀,配上“牺牲个人生活”的阴间文案,打工人看了会心一笑又后背一凉。优化线给深度:通关只是及格,排行榜上的排名才是这场游戏的真实排位。两个目标方向相反(一个向上解锁,一个向下压缩),构成了难得的“双向钩子”——想推进剧情得动脑子,想登顶得动更大的脑子。
第三层:近目标效应。 优化类游戏最毒的地方在于“感觉再砍一条指令就行了”。SIC-1 里你经常能看到自己的程序跑完,周期数停在排行榜第一名下面一点点——这种“就差一步”的反馈是重新打开游戏的全部理由。它和 2048 那种“再来一局”不同:你放不下的是那一版已经写了一半的更优解,沉没成本全是自己的智慧,弃之可惜。
第四层:全球排行榜的攀比与参考。 仓库截图里专门有一张“玩家排名”界面,每个任务都有全服榜单。看别人用什么邪道写法省掉一个周期,本身就是内容——硬核玩家会在排行榜上“卷”出完全超出关卡设计的解法,这些解法又反过来变成社区里的谈材。
第五层:叙事调味。 纯拼指令容易枯燥,SIC-1 用“反乌托邦公司”的世界观把所有任务串成打工模拟:你的每一次优化都是在为 SIC Systems 创造价值,而公司回馈你的只有头衔和那句“请回到工位”。讽刺文案不改变玩法,但让每一次通关都有情绪落点——这是很多同类游戏学不会的部分。
对想自己做点什么的开发者,这个仓库有几块很值得看:
1. 微型虚拟机 + 汇编器,教科书级的“小”。 一条指令的 CPU,解释器小到不好意思叫模拟器:取指、算减法、判零、跳转,核心循环几十行 TypeScript 就写完了。真正的工程量在周边——汇编器(标签解析、.data 数据段)、测试框架(每组任务书带输入输出用例)、浏览器内的编辑器和文档(README 明说示例和深度文档“游戏内可直接查”)。这套“VM + 汇编器 + 用例测试”的三件套结构,是所有编程游戏通用的骨架,拿来改改就能跑自己的指令集。
2. 网页技术栈直接上 Steam。 纯 TypeScript + HTML5,浏览器里就能玩(README 提供 itch.io 在线试玩入口)。而 Steam 端的成就和排行榜,作者是自己动手解决的:他另开源了一个叫 ez-steam-api 的项目,自我描述是“一套简单、同步的 C API,封装游戏内 Steam 成就、排行榜和语言选择,附带 JavaScript FFI 封装”。网页游戏接 Steam 生态最难啃的就是 Steamworks 的 C++ 接口,他用一层薄薄的 C 封装加 JS 桥就趟过去了——这套思路对任何“网页版先行、之后再上 Steam”的独立开发者都有参考价值。
3. 排行榜不是第一次做。 作者主页显示,2019 年他做过一个叫 Falling Block Game 的方块堆叠游戏,卖点就是“全球高分榜”。SIC-1 的排行榜基建相当于二次复用,说明个人开发者完全可以把“全球排行榜”做成自己的标准件,一款游戏搭一次,后面每款都白嫖。
4. 全家桶式自托管工具链。 他的 GitHub 里还有零配置博客生成器 md2blog、几百 KB 的 Lua 静态站点生成器 luasmith,个人官网、开发日志全用自己的轮子搭。甚至能看到一个给《EXAPUNKS》里 Redshift 虚构唱片做导出的小工具——作者自己就是 Zachtronics 系硬核编程游戏的深度玩家,SIC-1 算是“玩着玩着自己下场做了一个”。
先说这个仓库本身:它不挣钱,也没打算挣钱。 README 明说游戏是 free,网页版免费畅玩,代码全开。对一个在职的资深工程师来说,SIC-1 的回报是简历级的——六年维护一个编译原理含量很高的完整作品,比任何自我介绍都硬。附带的内容资产还有 2022 年发布的游戏原声带(挂在 SoundCloud 上)和宣传预告片, treats 游戏当成一个完整作品来经营,只是不收费。
但它背后的品类是能挣钱的。Zachtronics 的《TIS-100》《SHENZHEN I/O》《EXAPUNKS》用十几年时间证明:硬核编程游戏是个小而稳的 Steam 生意——受众窄,但付费意愿极强、口碑寿命极长,定价带在十几美元一档照样常年有人入坑。《Human Resource Machine》则示范了把编程概念降到“小学生能看懂”之后的移动端销量。SIC-1 免费网页版 + 排行榜的组合,事实上就是这类游戏的引流漏斗样板:先让人零成本上瘾,付费版、续作、DLC 关卡包随时可以接上。
对个人开发者,这个案例给出了一条清晰的路径:用免费+排行榜做传播,用 Steam 正价版做收入,用开源仓库做信用背书。三件事互为杠杆,一个人都转得动。
1. 换一条“唯一的指令”,做中文职场版。 SIC-1 的全部机制其实是一套模板:极端约束 + 任务书 + 测试 + 排行榜 + 打工叙事。把 subleq 换成别的单约束系统——比如只有 push/pop/add/jz 的栈机,或者只能用与非门搭电路——再配上中文职场的讽刺文案(周报、OKR、’rewarding experience‘式的黑话换成中文语境),就是一个现成的 Steam 页面。核心玩法照着“任务书驱动”抄即可,MVP 工作量约 2~4 周:VM 一百行,编辑器用现成的 CodeMirror,先做十个关卡。变现走 Steam 正价 + 免费网页 Demo。
2. 一套骨架,N 个品类。 “任务书 + 用例测试 + 排行榜”这个骨架是品类无关的:换成正则就是正则高尔夫,换成 SQL 就是查询优化谜题,换成 Excel 公式就是表格解谜。骨架搭一次,后面每换一个约束轴就是一款新游戏、一个新的商店页。对想靠游戏副业铺量的个人开发者,这比每次从零写玩法划算得多——而且这类“聪明人玩具”天然适合做合集销售或捆绑促销。
3. 加一层日更/周更钩子。 SIC-1 的排行榜是静态关卡制,留存靠玩家自驱。参考 Wordle 式的日更设计,给编程谜题加“每周一题 + 赛季榜”:周一发一道约束刁钻的任务书,全服同题竞速,周期数前二十名进荣誉墙。实现上只需要一个定时任务加一张数据库表,但“每周回来看排名”能把一次性玩家变成周活。作者自己在 2019 年的方块游戏里就玩过全球高分,说明这套东西个人完全 hold 得住。
4. 把谜题做成 B 端生意。 这类游戏还有个冷门变现口:企业定制。招聘笔试题做成排行榜小游戏、程序员节的品牌营销关卡、编程教育的付费题库,都是“任务书 + 测试 + 排行”框架的现成买家。开源仓库就是你最好的销售样稿。
如果你写过哪怕一点汇编,第一关大概十五分钟通关;然后你会盯着排行榜上那个比你少三条指令的人,重新打开编辑器。这一刻,你就懂了 SIC Systems 的良苦用心——现在,请回到你的工位。
[!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 等场景全覆盖。
