将我 1993 年的 Amiga 游戏移植到 Godot,借助 LLM 读取 68000 汇编

一款 1993 年的 Amiga 游戏借助 LLM 读取 68000 汇编并移植到 Godot 引擎,成为现代模型如何从二进制和 ROM 中逆向并重建经典游戏的一个典型案例。评论者描述了类似的成功移植,覆盖 MSX、NES、DOS 和 PC 等平台,强调模型能够提取素材、重建游戏逻辑,并以出人意料地少的手工编码目标对接现代框架。除了技术热情之外,讨论也涉及 AI 生成文案、真实性,以及这种移植除了模拟器之外是否还有价值;但许多人认为,这为那些原本可能失传的游戏开启了“软件考古”和保存的新纪元。

LLM 辅助的复古游戏移植

  • 许多评论者对现代 LLM 能读取 68k 汇编或旧二进制,并在 Godot 或现代 WebGL/WebGPU 技术栈中重建游戏感到兴奋。
  • 人们报告称在 Amiga、MSX、ZX81、NES/SNES、Genesis、PC DOS 等平台上都取得了成功——有时只需一次长时间运行就能完成 80–90% 的移植,然后再迭代修复素材和行为。
  • 还有人描述了并行的努力:通用的“重编译”框架、面向主机的生态系统(NES/SNES/Genesis/PlayStation/DS),以及用于逆向工程和现代化老游戏的系统化流水线。

工作流程、工具与局限

  • Claude Code 被用来让模型直接访问包含二进制、旧源码树和目标引擎项目的目录。
  • 典型工作流程:识别文件格式、提取素材、解包压缩可执行文件、反汇编(IDA 或自定义工具)、分割代码/数据,然后让模型在现代语言/引擎中重建游戏逻辑。
  • LLM 往往需要多轮处理和人工引导;素材故障和细微的行为不匹配很常见。

关于 AI 撰写文字的争论

  • 一些读者觉得博客里的“AI 语气”令人不适,希望这篇文章完全用作者自己的话来写。
  • 另一些人认为,如果没有 AI 帮助,这个故事可能根本不会被讲出来,尤其是对于非英语母语者;编辑 AI 草稿被视为一种务实的折中。
  • 还有人担心翻译和辅助工具会留下“LLM 痕迹”,让真实帖子在读者和分类器看来显得像合成内容。

原版与移植版,以及真实性

  • 有人认为如果原版在模拟器里运行良好,那么移植就“没有意义”,更偏好用 UAE/FPGAs 来保证保真度。
  • 也有人反驳说,移植并不会削弱原作,而 AI 辅助使得制作一个忠实且可玩的现代版本成为可能;如果完全手工移植,成本会过高。
  • 原游戏的 Amiga ADF 版本被提到可供原教旨主义者使用。

技术保真度与性能

  • 旧版与新组装版本之间仅 108 字节的二进制差异引发讨论;合理原因可能包括汇编器规范化和编码差异,而真正的检验应是行为级测试。
  • Godot 移植刻意避免使用 Godot 的物理系统,以保持原始游戏手感;只做了少量调整(例如蹦床跳跃)。
  • 讨论还涉及 PAL 50 Hz 与 NTSC 60 Hz 的计时、基于 Copper 的性能调试,以及 512 KB 的汇编游戏与现代高层引擎在效率上的比较好奇。

怀旧、历史与成本

  • 评论者对 1990 年代仅靠汇编、在制裁和文档匮乏条件下开发游戏表示惊叹,并把 AI 描述为早期个人计算的“考古学”。
  • 多位用户分享了自己重启的学生时代或 DOS 项目,有的甚至移植到了移动端或 3D。
  • 成本也被简短讨论:据说一次大型“单次”移植大约用了某个高级模型每周额度的一半;一些用户也在有意识地使用更便宜的模型进行优化。