Command & Conquer Generals gira nativo su iPhone e iPad, con il motore originale del 2003

Command & Conquer Generals gira nativo su iPhone e iPad, con il motore originale del 2003

Un fork open source ha riportato Command & Conquer Generals: Zero Hour su macOS, iPhone e iPad con il motore originale del 2003 ricompilato per ARM64, senza alcuna emulazione e con controlli touch pensati da zero per un RTS

di pubblicata il , alle 13:11 nel canale Videogames
AppleiPadiMac
 

Un piccolo team di sviluppatori indipendenti ha riportato in vita Command & Conquer Generals: Zero Hour su hardware Apple, facendo girare il motore originale del 2003 nativamente su Mac con chip Apple Silicon, iPhone e iPad. Nessuna emulazione di mezzo: il codice C++ dell'RTS Westwood è stato ricompilato direttamente per architettura ARM64, con campagna, scaramucce e Generals Challenge giocabili a schermo intero.

Il progetto, pubblicato su GitHub con il nome Generals-Mac-iOS-iPad, ha dovuto reinventare da zero l'interazione con un genere che può essere frustrante sul touchscreen. I controlli includono selezione con tocco singolo, box di selezione tramite trascinamento, deselezione con pressione prolungata, scorrimento a due dita e zoom a pizzico, tutti pensati per restituire su iPad la stessa precisione di mouse e tastiera.

La parte più delicata riguarda la grafica. Il motore del 2003 parla ancora DirectX 8, un linguaggio che iOS e Metal non capiscono. La catena di traduzione passa attraverso DXVK, che converte le chiamate D3D8 in Vulkan, e MoltenVK, che porta Vulkan su Metal. DXVK non era mai stato compilato per iPhoneOS prima d'ora: il team ha dovuto costruire una cross-compilazione con Meson e correggere il loader Vulkan della libreria, dato che iOS confina la funzione dlopen all'interno del bundle dell'app.

Il filesystem, l'app switcher e i bug più ostinati del porting

Il motore originale presume di poter scrivere ovunque su disco, un'assunzione che va in frantumi contro il bundle di sola lettura e firmato digitalmente di iOS. Ogni percorso di configurazione, cache e salvataggio è stato rilocalizzato, con la working directory ricostruita a partire dal bundle stesso. Un altro ostacolo arriva dal multitasking: quando l'utente apre l'app switcher, iOS sottrae subito il drawable Metal senza mettere l'app in background, e disegnare anche un solo frame in più significa mandare tutto in crash al rientro.

Tra i difetti più curiosi risolti dal team c'è il minimap completamente nero, causato da un fallback per un formato texture del 2003 che scartava silenziosamente il canale alpha. Un altro riguardava la voce di EVA, l'assistente vocale del gioco, che ammutoliva a caso per colpa di uno stream audio zombie che teneva attivo un flag globale di blocco della sintesi vocale. Il registro completo di ogni bug e relativa correzione è pubblicato nel repository del progetto, insieme alla guida per applicare lo stesso metodo ad altri giochi Windows.

Vale la pena segnalarlo: la parte ingegneristica, dal codice C++ alle cross-compilazioni fino al debug su dispositivo reale, porta la firma di Claude Code, modello Fable di Anthropic, diretto da uno sviluppatore umano che ha descritto sintomi come "minimap nero" o "cinguettio nell'audio" e ha validato ogni scelta tecnica.

Il progetto non distribuisce alcun asset del gioco: serve una copia posseduta legittimamente, acquistabile su Steam a poco nei periodi di saldi. La compilazione richiede Xcode, un account sviluppatore Apple e strumenti da riga di comando come CMake, Ninja e Meson, oltre al Vulkan SDK di LunarG.

Restano due limiti aperti: su iPad le sessioni lunghe possono superare i 3 GB di memoria residente e spingere iOS a chiudere l'app senza alcun avviso, mentre il passaggio in background può occasionalmente provocare un crash raro. Il team lavora già a un porting analogo per Command & Conquer: Renegade, finora privo di una build nativa per Mac o iOS, basandosi sul lavoro della community OpenW3D.

1 Commenti
Gli autori dei commenti, e non la redazione, sono responsabili dei contenuti da loro inseriti - info
*Pegasus-DVD*06 Luglio 2026, 13:32 #1
sto aspettando generals 2

Devi effettuare il login per poter commentare
Se non sei ancora registrato, puoi farlo attraverso questo form.
Se sei già registrato e loggato nel sito, puoi inserire il tuo commento.
Si tenga presente quanto letto nel regolamento, nel rispetto del "quieto vivere".

La discussione è consultabile anche qui, sul forum.
 
^