原文概要

2003 年的即时战略游戏《Command & Conquer Generals: Zero Hour》被完整移植到了 macOS(Apple Silicon)、iPhone 和 iPad。项目基于 EA 在 GPL v3 下开源的源代码,以及 fbraz3/GeneralsX 项目(已完成 macOS/Linux 移植的大部分工作)。本次移植由 Claude Code(Claude Fable 模型)生成 iOS/iPadOS 平台的适配代码,开发者 Ammaar Reshi 负责方向指导和真机测试。

技术路线是:DirectX 8 → DXVK → Vulkan → MoltenVK → Metal——真正的引擎编译为 ARM64,不是模拟器或串流。游戏所有模式(战役、遭遇战、将军挑战)全部可玩,包括完整过场动画、音乐和单位语音。触控操作专为 RTS 设计:点选、框选、长按取消、双指平移、捏合缩放。

项目仓库包含完整的移植工程日志(PORTING_PLAYBOOK.md),记录了每个 bug 和修复过程。已知问题包括 iPad 长时间运行的 OOM 崩溃和偶尔的切后台闪退。

讨论焦点

关于”Fable 完成了移植”的争议

“This needs a backport to Winx64 since this game runs like crap on modern windows” — hypercube33 (”这个需要反向移植到 Win x64——这游戏在现代 Windows 上跑得一塌糊涂。”)

“Right? All Fable did was ported an already cross platform project to ios. Does not look like any sort of heavy lifting there, opus 4.6 would do just fine” — risyachka (“Fable 只是把一个已经跨平台的项目移植到了 iOS。看不出有什么重活,Opus 4.6 也能干。”)

多位评论者指出,项目标题有误导性:GeneralsX 已经完成了 macOS/Linux 移植的绝大部分工作(包括让代码跨平台、适配 Vulkan/DXVK 等),Fable 只添加了 iOS 目标和触控映射。

“It is cool that a LLM was able to create a iOS port? Yes, but saying like if it was something that was hard or that it would take too much time to do before LLMs is a bit disingenuous in my opinion, especially because the GeneralsX had already done the bulk of the effort of making the code portable in the first place” — MrPowerGamerBR (“LLM 能做 iOS 移植很酷……但把它说得好像以前很难、要花很多时间一样,有点不诚实。GeneralsX 已经把代码可移植化的绝大部分工作做完了。”)

MrPowerGamerBR 进一步量化:iOS 移植只添加了 2,179 行代码(含注释和 iOS 专属 Info.plist),Fable 爱写大段注释也是出了名的。

AI 生成的”复合名词”现象

“This is another ‘AI-ism’ I noticed, mostly in coding agents - they seem to be very fond of making up new ‘compound nouns’ (and occasionally verbs) to sum up relatively complex and specific concepts into single noun phrases.” — xg15 (“这是我又一个注意到的 AI 习惯——编码 Agent 特别喜欢造复合名词,把复杂的特定概念塞进一个名词短语里。”)

“Maybe LLMs are just Germans.” — trentor (“也许 LLM 只是德国人。” 指德语喜欢把多个名词拼成一个长词)

“That’s the G in AGI.” — Rexxar (“那就是 AGI 里的那个 G。” 双关:German)

这条讨论衍生出对 AI 输出风格的有趣观察:复合名词(如 “tap-select”、”drag-box”)、em dash 结尾、超长逗号列表等。”LLMs are just Germans” 成了热评。

“I’ve tried prohibiting them in my AGENTS.md but it’s not 100% effective.” — f3408fh (“我在 AGENTS.md 里禁止过,但效果不是 100%。”)

源代码丢失现象

“Everything will be lost unless it’s somebody’s job to preserve it. It’s pretty common to close game studios or lay off the entire development team while simultaneously scolding them about ‘stealing’ IP so the predictable result is the code being lost.” — wmf (“除非有人专门负责,否则一切都会丢失。关停工作室、裁掉整个开发团队的同时又骂他们’偷’IP——结果就是代码丢了。”)

关于 Red Alert 2 和 Tiberian Sun 源代码失传的讨论引发共鸣。评论者指出在 CVS 时代(1998-1999 年),源代码可能只有几个人硬盘上的副本,工作室关闭后就被遗忘了。

AI 辅助软件考古

“These LLMs are remarkable. I used Opus to revive for myself abandoned software and bring it up to date with the latest versions of the frameworks so I could add some features.” — arjie (“LLM 太厉害了。我用 Opus 复活了被我抛弃的软件,更新到最新框架版本,还加了新功能。”)

“Given the game is stable and the changes would be at the integration points, and Fable was able to do the direct integration, why would the answer not be ‘it’ll maintain itself’ at some abstract level.” — fnordpiglet (“游戏本身稳定,改动在集成层面。Fable 能做直接集成,为什么答案不能是’它会自己维护自己’?”)

多位评论者认为,AI 特别适合”把为平台 X 写的软件移植到平台 Y”这类任务——原软件是”已完成”的,不需要战略决策,只需要机械的适配。

合法性问题

“But the ‘byte for byte’ claim has me worried. Isn’t simply decompiling the sourcecode from the binary and releasing that problematic?” — skerit (“‘逐字节’的说法让我担心。从二进制反编译源码然后发布,这不是有问题吗?”)

“Decompilation is legally protected in the US, and you can do a reimplementation based on a decompilation. Sony v connectix is aiui the precedent.” — kevinmchugh (“在美国,反编译受法律保护,你可以基于反编译结果做重新实现。Sony v Connectix 是判例。”)

关于用 AI 反编译旧游戏源码的合法性问题被简短讨论,但评论者普遍认为这类诉讼成本过高,实际风险有限。

典型观点一览

立场 用户 一句话
赞赏 asronline 真正的引擎编译到 ARM64,完整触控,所有模式可玩
质疑 risyachka Fable 只是加了 iOS 配置和手势映射,硬活都是 GeneralsX 做的
量化 MrPowerGamerBR iOS 移植只加了 2,179 行代码,标题有误导
怀旧 farseer Emperor: Battle for Dune 是那个时代最好的 RTS 之一
遗憾 wmf 公司关闭 = 代码丢失,Red Alert 2 的源码可能再也找不回来了
前瞻 arjie 用 AI 复活废弃软件是现在就能做到的实事
争议 risyachka 能上首页全靠误导性标题,功劳应该给上游项目

总体情绪

讨论呈现出明显的两极化:一边是对”Fable 移植老游戏到 iPhone”这件事本身的兴奋,另一边是对标题和功劳分配的质疑。前者看到的是 AI 能力的展示和游戏怀旧的满足,后者看到的是对上游开源项目(GeneralsX)贡献的淡化。

最有价值的讨论其实不在 Fable 本身,而在”源代码丢失”和”AI 辅助软件考古”这两个延伸话题。Westwood 时代的 RTS 源码因公司关闭、版本管理落后而失传的故事,比”Fable 写了 2000 行 iOS 代码”更能触动人心。而 AI 真正有潜力的应用方向——不是写新代码,而是让已完成的旧软件在新的硬件和操作系统上继续运行——也在评论中被多次提及。

不过,双方其实没有根本矛盾:GeneralsX 完成了 95% 的工作,Fable 完成了最后 5%——但正是这 5% 让游戏从”能在 macOS 上跑”变成了”能在口袋里玩”。这种分工本身就是 AI 时代开源协作的新模式。

引用帖子

# 标题 URL
1 Command & Conquer Generals 移植到 macOS/iPhone/iPad https://news.ycombinator.com/item?id=48788283

免责声明

本文是对 Hacker News 用户讨论的编译与提炼,原文链接:https://news.ycombinator.com/item?id=48788283。文中所有观点均来自 HN 评论者,不代表本人立场。

本摘要由 AI 模型辅助生成:deepseek/deepseek-v4-flash