一款22年前的即时战略游戏,最近被人真机搬上了iPad。开发者ammaarreshi在GitHub放出的项目里,《命令与征服:将军 绝命时刻》不是靠模拟器跑起来的,而是把2003年的原版引擎直接编译成了ARM64代码,在苹果芯片上原生运行。这事本身在老游戏移植圈不算新闻,真正让人多看一眼的是项目署名页那句话:引擎工程由AI编程工具Claude Code完成,人类只负责指挥方向和在真机上试玩。
发生了什么
2003年的引擎,跑在2024年的芯片上——这是这次移植最硬的一句话。项目基于EA当年以GPL v3协议开源的《将军》源码,在fbraz3/GeneralsX完成macOS/Linux基础移植的基础上,这个新项目补上了iOS/iPadOS的部分,加了一批引擎修复,还专门做了一套给RTS用的触屏操作:点选、拖框、长按取消选择、双指滚动缩放。
游戏本体不含在项目里,也不分发。想玩得自己在Steam上买正版(打折时约5美元),iOS端把资源文件(约2.7GB)打进app包,--dev模式可以跳过这部分拷贝,方便快速调代码。目前已知的坑:iPad长时间玩会因为内存占用(约3GB以上)被系统直接杀掉,退回主屏没有任何提示;后台切换回来偶尔崩溃。这些都写在了公开的工程日志里,没藏着掖着。
DirectX 8穿三层壳到Metal,这活不轻松
渲染这块的路径是:DirectX 8 → DXVK → Vulkan → MoltenVK → Metal。四层转译,缺一不可——这不是简单重新编译就能过关的工程。
这套DXVK/MoltenVK的技术谱系,本来是Valve做Proton、CrossOver做兼容层这条线上的产物,服务的是“让Windows游戏在非Windows系统上跑”。现在这条路被拿来复活苹果自家芯片上的一款老RTS,算是同一套遗产换了个用途。老游戏开源移植这件事也不新鲜——id Software当年把Doom、Quake引擎开源,社区靠这份遗产做了二十年移植,“Doom能在冰箱上跑”早就是梗。RTS比FPS难搬的地方在于操作密度:框选、编队、快捷键这些鼠标键盘习惯,搬到触屏上天生别扭,这也是项目专门重做一套触屏手势的原因。
真正的看点:署名栏写的是谁
项目的License & Credits页明确写着:引擎工程由Claude Code(Anthropic的Claude,Fable模型)完成,方向把控和真机试玩由开发者Ammaar Reshi负责。工程日志docs/port/里留的是这个过程未经编辑的原始记录。
需要说清楚的是,macOS/Linux这一层最重的底子是fbraz3/GeneralsX打的,这个新项目做的是iOS/iPadOS这层增量:构建工具链、给移动GPU驱动打的DXVK补丁、触屏交互层、以及那份记录了黑色小地图、EVA语音丢失之类问题的排查日志。把这个增量说成“AI独立移植了一整个游戏”是拔高了;但把它压缩成“AI帮忙写了几行代码”同样不诚实。构建脚本、跨平台补丁、内存崩溃排查,这些是系统工程里最琐碎也最容易出错的部分,过去默认需要经验丰富的团队盯着,这次公开写着是AI在盯。
移植的是引擎,松动的是“复杂系统工程必须靠资深团队”这条默认预设
- 风险.iPad上约3GB内存就可能被系统杀进程,后台切换偶发崩溃,说明这仍是一个粗糙、未定型的产品,不是可以放心长时间连玩的成品。
不分发游戏资源、要求玩家自备正版拷贝,这是模拟器和老游戏移植社区惯用的版权规避套路,跟Dolphin这类模拟器要求用户自己转储光盘是一回事。这个模式能不能规避法律风险,取决于EA是否愿意较真——目前看不出EA有任何表态,既没有支持也没有反对。
这件事真正值得记的,不是又一款老游戏被搬上了新设备,而是复杂系统级工程第一次这么坦然地把AI写进了署名栏,还留了一份可查的原始工程日志。样本量是一个人、一个项目、一份公开记录,还谈不上普遍结论,但这条门缝已经被推开了一条缝。
