首页 › games › 《Rebuild》末日收地,收了十年

Flash 已经死了,但有一个用 Flash 写的游戏,喂了作者整整十年——从网页赞助费,到双端付费下载,再到 Steam 上的收费续作。更妙的是,初代源码她一直挂在 GitHub 上,任何人都能翻开看:一个人怎么用一个城市网格、几个幸存者、一副事件卡池,做出让人“就再玩一天”停不下来的循环。它就是 Sarah Northway 的《Rebuild》,一个末日收地的回合制策略游戏。

仓库档案

对个人开发者来说,这个仓库的价值不在“跑起来”,而在“看得懂”:逻辑规模小到一个人一周能读穿,又完整走过了网页→移动→Steam 的完整变现链路,样本比代码更值钱。

这游戏是什么

一句话说清:一座被丧尸占满的城市网格,你带着寥寥几个幸存者,一天夺一块地,把灰色的死城一格一格涂回彩色——涂满全城,或者研究出解药,就赢了。

每个回合就是一天。白天你把幸存者钉到格子上:扫图、夺地、搜刮、修工事、种田;夺下的楼各有用途——农场出粮、公寓住人、学校医院涨能力、酒吧教堂稳士气。入夜,丧尸按城防和城市规模扑墙,守住就开盘新的一天,破了就死人丢楼。幸存者死了不复活,粮尽、士气崩、重要人手损失,都可能让局面向死里滑。

核心循环长这样:

graph TD
    A["清晨:把幸存者钉到格子上"] --> B["白天:夺地/搜刮/修墙/种田"]
    B --> C["废墟开箱:随机事件卡"]
    C --> D["有人? 有粮? 有枪? 还是咬人的东西"]
    D --> E["入夜:丧尸按城市规模扑墙"]
    E --> F{"守住没有"}
    F -->|"守住了"| G["城市变大,队伍有进有出"]
    G --> H["城越大,夜袭越凶:自动加压"]
    H --> A
    F -->|"破了"| I["死人、丢楼、士气崩"]
    I --> J["扛住就重整旗鼓,扛不住推倒重开"]
    J --> A

为什么上头

拆开看,这个循环里埋了六七种成瘾机制,每种都落在具体的玩法细节上。

第一,回合=一天,薯片节奏。 玩家永远不需要“腾出两小时”,只需要“再玩一天”。一天的操作量被压得极小:分配几个人、点几下确认。节奏设计者最懂的事——把“再来一次”的成本降到一次点击,成瘾就从这里开始。

第二,收复失地的“涂色爽感”。 地图开局一片灰,每夺一块地,颜色就漫开一格。这是最原始的进度可视化:进度感不靠数字面板,靠肉眼可见的地图变色。Antiyoy、OpenFront 都用过这招——占领类玩法的爽点,一半在“看得见的扩张”。

第三,幸存者会死,死了永远不回来。 损失厌恶是最强力的情绪钩子。队员有名有姓有特长,跟了你三十天,死在第31天的夜里——这一下比捡到十把枪都让人心跳。损失带来的谨慎,又反过来让每次夺地决策变得郑重,投入感随之上涨。

第四,每块废墟是盲盒。 没夺下的格子信息有限,夺地之后才开箱:可能出幸存者、出物资、出关键建筑,也可能开出一屋子丧尸。随机奖励+好奇心驱动,和 BreakLock 的“冷热猜点”是同一根神经。

第五,城越大,夜袭越凶。 自动难度曲线做得极巧:扩张本身是奖励,扩张又制造压力。玩家全程在“想要更多”和“怕守不住”之间走钢丝,压力-释放循环不用任何脚本就自己转起来了。

第六,多条胜利路线。 收复全城是一条路,研究解药是另一条,难度分档还叠了层肉鸽式的重开价值——这一局打完,高难度、新路线、更快通关,都是“再来一局”的理由。文字事件池随机刷新,又添了一层收集欲:这一局遇到的怪事,下一局未必遇到,逢人就有的聊。

技术拆解

Flash 时代的 AS3 代码,今天直接跑要靠 Ruffle 这类模拟器,但代码本身读起来毫无年代感——因为它小。

模型四件套。 网格(每块地的归属、类型、丧尸量)、幸存者(技能、状态、生死)、事件卡池(权重+冷却)、日结算器(白天行动、夜间攻防)。这四样在任何引擎里都是几百行的事,Total 就是这么小:没有物理、没有寻路、没有联机,纯回合制把实时同步的复杂度全部砍掉。想入局的人最该看清这一点:上头和工程量不成正比。

存档就是序列化。 整城状态是一个可序列化的对象树,Flash 时代落 SharedObject,今天换 localStorage 一行不改逻辑。存档难点从来不在技术,在于你敢不敢把“任意时刻可退出”定为设计目标——回合制天然满足。

事件系统是卡池不是随机数。 随机事件用“权重卡池+冷却+条件触发”实现:好事件坏事件分池,刚触发过的进冷却,城市状态解锁高级卡。这套模式可直接抄到任何文字量大的游戏里,比裸掷骰子体感好得多。

UI 是状态机。 格子+面板+确认按钮,没有自由画布。这正是一个人能做完的根本原因:UI 复杂度是独立游戏最常见的死亡原因,Rebuild 从设计源头就绕开了它。

移植路径。 AS3 与 TypeScript 语法相近,逐行翻译的成本很低;网格渲染用 Canvas/Phaser 或 Godot TileMap 都行。可复用组件清单:日结算循环、权重事件池、幸存者永死存档、难度乘数表——四件都是能直接搬走的资产。

变现观察

这个仓库最完整的一课,其实是作者自己走出来的变现链路:

第一步,Flash 赞助。 初代网页版由 Armor Games 赞助发行,靠门户流量赚下第一桶金——那是 Flash 时代的“平台预付+流量分成”。这条路的今天版本是:itch.io 免费发布攒口碑,或微信小游戏先跑数据。

第二步,双端付费下载。 同一套玩法打包上 iOS/Android,付费下载制,细水长流卖了多年。末日经营这个题材证明了它有跨平台付费意愿。

第三步,收费续作。 Rebuild 3: Gangs of Deadsville 上 Steam 收费,加了阵营谈判、更深的人物系统,至今仍在售卖。续作收钱、初代开源引流,这个结构对个人开发者极具参考价值:开源老作品是你的广告位,商业新作是你的现金流。

放到今天的工具箱里,等效路径是:HTML5 版免费+网页广告铺量 → 小游戏版挂激励视频(“再撑一天”看个广告复活,和玩法严丝合缝)→ 内容量够了打包上 Steam 卖断制。同类“末日/经营/策略”在 Steam 长尾里一直有稳定买单人群,Rebuild 3 自己就是活证据。

给我的灵感

点子一:周末复刻“收地循环”,换个皮。 网格+幸存者+事件池+日结算,一两周能出 MVP。换题材的两个方向:《城中村收租》——把丧尸换成租客纠纷,格子换成农民房,夺地变收楼;《备考上岸》——格子换成知识盲区,“丧尸”换成遗忘曲线,每晚“遗忘袭击”,图书馆格子涨守护值。前者贴小程序广告和内购加速,后者贴学生流量,社群自传播。

点子二:每日一城+存活天数榜。 给复刻版加一个当日种子:全世界同一天打同一座城,比谁活得久、谁收得快。排行+分享卡片是零成本的社交攀比钩子,特别适合小游戏平台拉留存;再叠一层肉鸽 meta——死了带出一个永久技能进下一局,重开价值直接翻倍。

点子三:Flash 公地移植生意。 Flash 淘汰留下一批“玩法已验证、代码已开源、_nowhere可玩”的老游戏,Rebuild 只是其中之一。挑许可证宽松的,移植到 Godot/Phaser,上 itch.io 收打赏、上移动端做付费下载——注意两件事:逐个核对 LICENSE,别碰原商标名。这是一条被验证过的玩法+空白发行渠道的组合,门槛低到一个人就够了。

上手

一个 Flash 仓库,跑完网页、移动、Steam 三段路,源码还摊开给你抄——对想用业余时间试水游戏变现的开发者,这就是教科书级别的样本:别从引擎学起,从一个转了十年的循环学起。

[!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学通信知识星球海报-扫码加入