先把丑话说在前面:这不是一个周末就能抄完的小仓库,体量是十年量级的。但它好玩的部分、能抄的部分,恰恰都是小而美——核心玩法一句话讲得完,核心系统拆出来几百行就能跑。这篇要讲的就是怎么把它拆小了带走。
一句话:一整个服务器是一块持续运转的共享世界,你随机出生成某个玩家的新生儿,一条命只给你六十分钟——游戏里一分钟长一岁,六十岁必老死——从吃奶、生火一路活到打铁造机器;死了立刻投胎,世界继续转。
具体开局是这样的。你出生时是个婴儿,头几分钟连东西都拿不了,只会哭。附近谁把你捡起来、喂你吃东西,你才能活下来。运气好,你生在几十代人的老村庄里,出门就是麦田和水井;运气差,生在荒野,母亲自顾不暇,你几分钟就饿死重来。成年之后,饥饿条永远在掉,一分钟等于一岁,时间从头到尾在跑。你能做的无非是采食、耕种、驯养、打铁、制药,和村里人一起把科技从钻木取火往前推——后期甚至能拼出带发动机的家伙。
然后你老了,死了。世界不跟你存档,你造的水井还在冒水,你的姓还挂在族谱上。下一秒,你重新投胎,再抽一次出身。
整个游戏的核心循环,画出来就是这一张图:
flowchart TD
A["随机投胎<br>出生在陌生玩家手里"] --> B["婴儿期<br>自己不会吃奶 不喂就死"]
B --> C["成年劳作<br>吃饭 穿衣 造物 爬科技树"]
C --> D["寿命倒计时<br>一分钟长一岁 六十岁必死"]
D --> E["死亡结算<br>世界不随你存档"]
E --> F["传承反馈<br>你造的水井铁炉还在冒烟"]
F --> G["立即重投<br>再抽一次出身"]
G --> A
注意那个闭环最关键的一环:反馈不在"你变强了",而在"世界因为你变样了"。这就是它和所有生存游戏分道扬镳的地方。
把它的机制一个个拆开看,每一条都是一个可以直接搬走的开关。
1. 寿命倒计时,给每一秒标了价。 一般生存游戏里,死亡是惩罚;在 OneLife 里,死亡是必然,而且是便宜的。稀缺的东西不是血条,是时间。一分钟一岁意味着你做的每一件事都要过一遍机会成本:这一分钟是去打铁还是去陪孩子?玩家嘴上骂时间不够用,身体却很诚实——正因为命短,每一分钟才有重量。
2. 开局即抽卡。 你这一世的命运,出生那一分钟就抽了大半:生在铁匠世家还是荒野,母亲管不管你,村里是石器时代还是铁器时代。这个"出身抽卡"自带赌性,死了不是结束,是"再来一抽"。很多 roguelike 靠随机地牢做到的事,它用一次投胎就做到了。
3. 传承型进度感。 普通 roguelike 死了归零,OneLife 死了归孩子。你打的铁、修的路、驯的羊全在,进度条挂在"村庄科技"上而不是个人等级上,攀比的对象是族谱而不是战力榜。玩家会为"我死之后村子还能不能进下一个时代"熬夜——这是把放置游戏的长线成就,缝进了即时生存里。
4. 强制陌生人协作。 婴儿期你完全无能为力,必须被喂。一个陌生人弯腰把你抱起来那一下,建立的社交黏性比任何好友系统都结实。被救过的人,长大后更愿意去救别人家的孩子——这条"善意循环"是玩家社区自己长出来的,不是策划写的任务。
5. 死亡零成本重开。 一条命六十分钟,一个午休能打完完整的一世;死了秒投胎,没有结算画面,没有 loading。整个"投入—收获—重来"的循环被压进一个小时里,一小时就是一整个多巴胺周期。"再来一局"这四个字,在这里没有心理负担。
顺带一提,它还有个隐藏的戏剧性:每一世都是一段陌生的亲子关系。被生下来、被遗弃、被陌生人捡走、临终前把家业交到侄子手里——这些故事天然适合做直播和短视频切片,作者没花一分钱营销,玩家替他把游戏讲成了连续剧。
对想动手的人来说,这个仓库比游戏本身更值钱,因为它把"一个人怎么做联机游戏"的每道工序都摊开了。
技术栈:C++ 自研引擎,客户端与服务器同仓库,没有依赖任何重型第三方框架。美术是低分辨率像素图,渲染和网络的复杂度都被刻意压到个人能维护的水平。
数据驱动的一切。 仓库里最有学习价值的部分,是物件和配方系统:每个物件是一个数据文件,每条"用 A 对 B 会得到 C"的转换规则一行一条,全是文本。改一个配方不用重编译,加一批内容不用碰引擎代码。作者这些年持续更新的内容,大多就是往数据目录里堆文件。这套东西拆出来,就是任何合成/crafting 游戏的现成骨架。
权威服务器 + 持久世界。 世界状态全部在服务器上,玩家本地没有任何存档——你死了档案就没了,世界就是存档。这个反直觉的设计省掉了整套装档系统,还顺带把作弊面压到最小。
服务器成本转嫁给玩家。 服务器程序免费开源,任何人都能架私服,官方维护一个服务器列表。对个人开发者来说这是最值得抄的财务结构:联机游戏最贵的不是开发,是带宽和运维,这一招直接把账单外包了。
联机的省带宽套路。 慢节奏、格子世界、同步的是"拿、放、吃、造"这类离散事件,不是每帧坐标。想给网页游戏加联机的人,照这个思路做,一台小服务器就能扛住一个村子。
可直接复用的组件清单:转换表配方系统、寿命时钟(一分钟一岁)、族谱/血缘系统、"死亡不清世界"的持久层。
它的商业模式是:Steam 一次买断,无内购、无广告,代码全开源,服务器免费自架。
第一眼看是反常识的——联机游戏开源,不怕被抄跑?其实恰恰成立:联机游戏卖的不是代码,是"有人陪你玩"。官方服务器的活跃人口、多年积累的社区和内容更新,这些抄不走。代码白送反而降低了私服和模组的门槛,帮他把服务器成本和内容生态都外包给了玩家。这和本栏目之前写过的 Mindustry 是同一个家族:"代码不设防,赚的是想方便地玩的人的钱。"
作者个人的打法也值得看:他所有的游戏都在自己网站 DRM-free 直售,Steam 只是渠道之一;定价一贯走"让人不用犹豫"的路线,靠买断量吃饭,从不碰广告变现。对一个要养家的独立开发者,这是很清醒的选择——他的用户画像是成年玩家,广告值不了几个钱,口碑和买断才是长线。
给个人开发者的三笔账:
这个仓库最值钱的不是 C++ 代码,是三条可以直接落地的设计公式。按 MVP 工作量从小到大排:
1. 血脉 Roguelike(简化复刻,约两周)。 砍掉联机,把"别人家的孩子"换成 AI 模拟家人:一世 15 分钟,死了从三个后代里挑一个接着玩,继承两个天赋、半张地图和一件传家宝,地图不清空只衰减。本质是 roguelike × 育成的杂交,网页端一个前端加一个状态机就够。变现走 itch.io 付费下载或 Steam 小体量买断,宣传语都是现成的:"你死了,但你没死透。"
2. 修仙转世版(换题材融合,约三到四周)。 "一小时一生"和中文语境是天生一对:出生抽灵根(散修或宗门世家),寿命六十分钟就是修炼时间,死亡叫兵解,传承叫道统——宗门建筑、功法图谱留给下一位玩家,后台用世界快照做异步接力。做网页版挂小游戏平台,变现靠激励视频:看一条广告,保留一件遗物转世。"转世重修"这个叙事,玩家不需要教学就懂。
3. 配方引擎卖水(拆组件变现,约一周)。 把那套"转换表"数据驱动合成系统抽成通用模板或者写成一本书的课程章节,挂 Gumroad、爱发电卖给同样想做 crafting 游戏的开发者。游戏不好卖的时代,卖铲子永远是副业里确定性最高的那条路——前提是你真的把那个仓库的数据目录翻熟了。
外加一个零成本的动作:这个游戏每一世都是天然的短视频剧本(弃婴反转、临终托孤、荒野逆袭),如果你手上有游戏类账号,光是"一小时人生名场面"这个选题就够剪一个月。
最后说一句。这个仓库对本栏目读者的意义,不在"照着做一个 OneLife"——那是个十年工程——而在于它证明了:一个认真设计过的"短命循环",比堆一百个小时的内容更能让人一本接一本地投胎。把六十分钟的生死循环抄走,世界多大,随你定。
[!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 等场景全覆盖。
