开局一个AI,23年前的老游戏复活了

如果告诉你,一个完全不会写 C++ 的设计师,仅仅花了个周末时间,就把 2003 年的 160 万行 PC 游戏代码塞进了 iPhone,你敢信吗?

最近,谷歌 DeepMind 的 AI Studio 产品和设计负责人 Ammaar Reshi 就干了这么一件离谱又疯狂的事。有趣的是,这位谷歌大佬没有用自家模型,而是转身请出了死对头 Anthropic 的最新模型 Claude Fable 5。他将 EA 曾经最辉煌的即时战略(RTS)游戏《命令与征服:将军 零点时刻》原生编译到了 iOS 平板和手机上,战役模式、遭遇战全都能流畅把玩!

要知道,Ammaar 以前可是学诗歌出身的,连他自己都说没敲过一行 C++ 代码。但在这个项目中,他就像个发号施令的“赛博将军”,靠着给 AI 疯狂输入指令不断纠错,硬是啃下了这块硬骨头。

五层套娃与“魔法触屏”

把 2003 年跑在 DirectX 8 上的游戏移植到使用 Metal 引擎的 Apple 芯片上,简直就是一场地狱级的套娃运动。中间隔着足足五层翻译链:DirectX 8 → DXVK → Vulkan → MoltenVK → Metal。可以说,这里的每一层格式转换都有可能引发崩溃或者吐出一满屏电子垃圾。更别提原版里那些 Windows 专属的音视频组件,全得逐个替换成跨平台方案。

但在 Fable 5 的强力加持下,第一次代码构建仅花了 40 分钟。不过,画面的跑通只是第一步,真正的难点在于交互:RTS 游戏的鼠标键盘逻辑跟手机触摸屏完全是两个物种。

这时候 AI 的优势彻底展现了:Fable 5 为游戏量身定制、重构了一整套原生触控代码,包括点选单位、拖拽框选、长按取消以双指捏合缩放。甚至还修复了早期版本里“第一根手指双指滚地图会误触发左键点击,导致部队排队去送死”的坑爹 Bug。

穿越 23 年的“时代错位” Bug

这套把“古董代码”跑在 2026 年最新硬件上的操作,不可避免地触发了不少让人啼笑皆非的“时代错位” Bug。

首先是硬件代沟问题。游戏引擎原本设定会根据显卡型号自动调节最高画质。结果由于引擎的“族谱”只写到了 2003 年,它查了一圈发现自己根本不认识什么“Apple A19 Pro”,直接将其等同于垃圾显卡,把纹理精度砍到了最低。修复方案也非常简单粗暴:强制写入高画质配置绕过自动检测。

其次,这次跨界移植还揪出了一个藏了二十多年的潜伏 Bug。由于 iOS 与 Windows 处理图形格式的支持不同,纹理格式的回退逻辑写死了不带 alpha 通道的限制,导致小地图的迷雾层直接变成了刺眼的纯黑色块。

由于没有针对移动端进行底层深度优化,目前的版本依然存在硬伤——由于这冗长的五层翻译链每一层都有显存开销,原版只要 128MB 内存的游戏在 iPad 上畅玩一段时间后就会狂飙到 3GB 以上,紧接着就会被 iOS 系统无情地“杀后台”。同时因为不同平台 CPU 架构浮点运算的差异,联机模式也因为无法保持帧验证被去掉了。

【编辑观察】:老游戏的新生代流水线

如果你是个情怀拉满的老玩家,现在可能已经开始准备找下载链接了。不过先别激动,这项目目前还没有 App Store 版本,想玩还得自己配好 Xcode 环境,从源码编译再签名侧载。

说起来,能够促成本次移植的一个关键契机,是 EA 终于将其旗下多款《命令与征服》游戏以开源协议公布了出来(在此要吐槽一句很离谱的事:唯独《红警2》没有开源,因为 EA 居然把它的源代码弄丢了)。

这次纯由工具生成的“硬核移植”,让我们看到了一条老游戏重获新生的全新流水线正在成型:厂商开源放出底座 + 社区跟进移植开荒 + AI 自动化编译降维打击。也许在以后,拯救和重置那些尘封在我们记忆中 PC 经典神作的,不再是高深专业的程序员团队,而是任何一个敢于在凌晨两点给大模型下指令的狂热玩家。