Command and Conquer Generals ported natively to iPhone, iPad and Apple Silicon

A 2003 real-time strategy game now runs unmodified on an iPhone, its DirectX 8 calls translated through four graphics layers before reaching Apple's Metal. No emulation, no streaming.

In brief

Ammaar Reshi took EA's GPL v3 Generals source, built on the GeneralsX macOS/Linux port, and shipped native ARM64 iOS and iPadOS builds of Zero Hour with RTS touch controls.

The engine is unmodified; rendering runs DirectX 8 to DXVK to Vulkan to MoltenVK to Metal, five layers deep. No assets ship; you supply your own Steam copy.

The 'using Fable' credit drew fire: one game dev counted just 19 of 2000 commits from the model and called the headline clickbait.

Five graphics layers to run a 2003 RTS on a phone

Command & Conquer: Generals shipped in 2003 for Windows. EA later released its engine under GPL v3, fbraz3's GeneralsX got it building on macOS and Linux, and this fork carries it onto Apple's phones and tablets. Ammaar Reshi, working through Claude Code with the Fable model, added native ARM64 builds of Zero Hour for iOS, iPadOS and Apple Silicon, then playtested on real hardware.

What runs: the full campaign, skirmish and Generals Challenge, saves, every audio track and EVA announcement, and touch controls purpose-built for an RTS. Nothing about the simulation changed. The developer who posted it stressed that point:

"It's the real engine: unmodified game logic compiled for ARM64 … Not emulation, not streaming." — the porter, in the thread

Getting a DirectX 8 game onto Metal takes a relay: DirectX 8 to DXVK to Vulkan to MoltenVK to Metal. The engineering log reads like archaeology; the black-minimap bug traced to a 2003 texture-format fallback that ate the alpha channel. No game assets ship in the bundle, so you install from your own Steam copy of Zero Hour.

Who did the work: Fable, or the fork it forked

The headline credited "Fable," and a game developer who read the commit history called that a stretch:

"Title is click bait. This started back in February … Fable did only a small part of the latest commits. 19 commits out of 2000" — a self-described game developer

The project's own notes point upstream:

"Built on … fbraz3/GeneralsX (which did the heavy lifting of the macOS/Linux port — this fork adds the iOS/iPadOS port and a set of engine fixes)." — a commenter surfacing the credit line

The five-stage render path drew disbelief that it works at all:

"It makes API calls that go through 5 different layers before actually getting rendered? That's kind of crazy. I'm surprised it works" — one reader tracing the pipeline

And a hardware caveat from someone who ships Apple software:

"One big caveat with iPad and mobile, though, is battery usage." — a longtime Apple-platform developer

The disagreement over who deserves the byline is the actual story. A veteran engineer summed up the shift: "In the old days this would have required a proper team." Now it's one person, a fork, and a model splitting credit no one can cleanly assign.

Get breakdowns like this every day

The top Hacker News stories, unpacked — by email, Telegram, or RSS.

Next story · 18 of 22 Read more
🚀Tech

A 512-byte boot sector that dumps your RAM to a USB stick

Freeze a laptop's memory chips to -60°C, reboot from a USB stick, and a 512-byte bootloader copies the RAM to disk before the bits fade. That is the cold-boot workflow BareMetal-RAM-Dumper is built to test.

★ 57 · 💬 39 · github.com · 2 min