用 Claude Fable 5 把 1993 年游戏移植到 Godot:一次 Agent 复古移植

有个开发者干了一件很 geek 的事:用 Claude Fable 5 在 Claude Code 里,把一款 1993 年的 Amiga 游戏《Babylonian Twins》移植到了现代开源引擎 Godot 上。

这不是"让 AI 写个贪吃蛇"那种 demo,而是真把一套上世纪的古老代码,搬进今天的运行时。过程本身就很有看头。

为什么这事值得说

老游戏移植一直是硬骨头。Amiga 那套硬件环境(自定芯片、特殊音频、奇葩内存布局)跟今天完全是两个世界。过去这种活,只有原开发者或骨灰级逆向工程师能碰,靠的是对那台机器了如指掌。

现在一个会写代码的 agent,配上好用的编码环境,就能介入这种历史遗留项目。意义不在于"它多聪明",而在于它把"懂特定旧平台"的门槛降下来了——你不需要是 Amiga 专家,只要会描述目标,agent 就能帮你啃。

Agent 在移植里实际干了什么

按这类工作的常规流程,agent 主要承担几块:

  • 读旧代码、理解结构:把当年汇编或老 C 的逻辑梳理成可对照的模块
  • 映射 API:把 Amiga 专有调用对应到 Godot 的节点、信号、场景系统
  • 补胶水代码:老游戏里很多是直接操作硬件的,agent 要改写成引擎能接受的高层调用
  • 跑起来后修 bug:编译、报错、定位、改,这个循环以前最费人,现在能交给 agent 反复跑

关键不是它一次写对,而是它能在"出错—定位—修复"的循环里自己转,人只在关键决策点把关。

对普通开发者的启发

你手里大概率也有这种"想动但不敢动"的老项目:十年前的脚本、接手没人懂的内部系统、某个只有离职同事碰过的服务。

这次移植说明,agent 的用武之地不只是写新功能,更在"理解并改造旧东西"。几个可借鉴的点:

  • 别指望 agent 一口气搞定,把它当不知疲倦的初级工程师,你做架构和验收
  • 给它足够的上下文(原代码结构、目标平台文档),它才转得动
  • 老项目最怕"跑不起来就没法验证",先搭一个能编译/能跑的最小验证环境,再让 agent 填空

复古移植这种活,过去因为太冷门、太耗时,没人愿意接。现在 agent 把"耗时"这块吃掉了,剩下的就是你想不想做。这或许是 AI 编码最实在的价值之一:让那些被遗忘的代码,重新有机会跑起来。

返回AI编程