只要打开 Chrome、Edge 或 Safari,无需下载几个 G 的安装包,就能直接在浏览器里调度武装机甲,打通 1997 年即时战略神作《横扫千军》(Total Annihilation)的前三关原版战役。
这是开源引擎 Nanolathe 公开测试版给出的第一印象。它不是在网页里跑老旧的 DOSBox 模拟器,而是一个采用 MIT 协议 授权、从零通过净室逆向工程重写的原生 RTS 引擎。除了支持 WebAssembly 网页即开即玩,它还针对 Windows、macOS 与 Linux 提供了原生桌面构建,支持玩家带上自己在 Steam 或 GOG 购买的原版数据文件,体验完整战役、遭遇战与联机对战。
2万美元AI Token写出的复刻引擎
Nanolathe 并不是一个庞大开发团队的长期产物,它的诞生带着鲜明的技术实验色彩。开发者 Daniel Taylor 最初立项的由头极其简单:想在自己的 Mac 上流畅重温这款 1997 年的老游戏。原版引擎深度绑定早期的 DirectX 架构,在现代高分辨率显示器和非 Windows 系统上几乎无法正常运行。
为了解决这一问题,项目选用 Go 语言 编写,基于跨平台库 Ebitengine 2.10 开发,桌面编译要求使用 Go 1.27.1 或更高版本。而支撑单人完成这套庞大逆向工作的关键加速器是现代大模型。开发过程中,作者重度依赖 Claude、Codex 与 DeepSeek 等模型进行反编译汇编解析与逻辑生成,自述在开发期间消耗了超过 20,000 美元 等值的 API Token。
代写代码或许容易,理清三十年前的黑盒模拟却毫无捷径。
代码能够跑通,不代表细节体验毫无代价。虽然 Modern GPU 渲染器带来了 2 倍材质合成、泛光与 120 FPS 的顺滑画面,但玩家在实测中迅速发现了诸多底层短板。单位在面对残骸和水面时寻路极易卡死、维修机库频繁堵塞、小型地图上的电脑 AI 甚至会出现完全停滞。AI 模型擅长模仿标准的数据结构和语法,但在极度考验物理碰撞与状态锁步模拟的即时战略领域,调试算法的技术债仍然需要人肉偿还。
它既不是 BAR,也不是 OpenRA
很多即时战略玩家会产生疑问:既然社区已经有了基于 Spring 引擎演进、成熟且现代的 Beyond All Reason(BAR),甚至有支撑命令与征服系列的通用开源引擎 OpenRA,为什么还要费力用 Go 语言重造轮子?
答案在于对数字文物保留的定义完全不同。
BAR 虽然继承了《横扫千军》的血统,但早已演变为一款独立的美术现代化、支持海量单位同屏的衍生作品;OpenRA 则偏向通用平台,牺牲了一部分老游戏原汁原味的模型解析特性。Nanolathe 瞄准的则是对原始游戏资产、3DO 格式模型与 COB 脚本虚拟机的高保真复原。
为了满足老玩家的原教旨诉求,Nanolathe 在规则模式上切出了三个挡位:
- Strict 3.1 模式.精确模拟 1997 年原版 TotalA.exe 的执行逻辑与弹道判定。
- **Community 3.9 模式**:整合了历史上知名社区平衡补丁的兵种数值。
- Modern 模式.引入现代寻路尝试与优化后的电脑 AI 逻辑。
它不想变成另一款全新的竞技游戏,而是试图充当老骨灰玩家跨平台运行经典资产的现代化数字容器。
避风港还是法律钢丝?
在法律层面,Nanolathe 采取了复古开源社区典型的自带文件(Bring Your Own Files)防御策略。代码本身采用宽松的 MIT 协议,通过净室逆向主张互操作性抗辩,不打包分发正版游戏的商业数据。
但这种防火墙并非天衣无缝。
- 风险.网页端为了达成零门槛试玩,直接托管分发了当年的三关试玩版数据,这一行为并没有获得版权方的明确书面授权。
《横扫千军》的商标权目前掌握在商业游戏公司 Wargaming 手中(2013 年从雅达利破产拍卖中购得)。Wargaming 至今既未给过 Nanolathe 官方授权,也未表态背书。一旦法务团队选择行使 DMCA 权利,网页端免安装试玩这一最大的推广入口随时面临下架隐患。
与此同时,老玩家社区的狂欢也遭遇了生态屏障。二十多年来沉淀的经典模组(如 TA Escalation、TA Zero、ProTA),底层严重依赖对原版 TotalA.exe 二进制文件甚至特定 DLL 钩子的直接修改。一个全新用 Go 语言重写的干净引擎,天然无法执行那些面向汇编层面的黑客级补丁。
Nanolathe 证明了现代开发者借助 AI 可以用极低的时间成本重构一套商业游戏引擎。但它若想真正承接下那个二十余年的老玩家生态,光靠算力生成代码远远不够,版权与模组兼容的硬仗才刚刚开始。
