Command and Conquer: Generals Zero Hour on käännetty toimimaan natiivisti Applen laitteilla

Command and Conquer: Generals Zero Hour on saatu toimimaan natiivisti Apple Silicon -Maceilla, iPhonella ja iPadilla. Porttaus käyttää vuoden 2003 pelimoottoria ARM64-ympäristössä ilman emulointia, ja mukana ovat kampanja, skirmish-pelitila sekä Generals Challenge. Projekti on julkaistu GitHubissa, ja sitä on käsitelty Hacker Newsissä 255 pisteen ja 112 kommentin verran.
Vanha moottori uudessa ympäristössä
Porttaus perustuu EA:n GPL v3 -lisenssillä julkaistuun lähdekoodiin ja fbraz3/GeneralsX-projektiin, joka teki pohjatyön macOS- ja Linux-portille. Tämä haara lisää iOS- ja iPadOS-tuen sekä joukon moottorikorjauksia. Alkuperäisen GeneralsX-projektin README-tiedosto on lähdeaineiston mukaan upstream-main-haarassa.
Teknisesti kokonaisuus kuljettaa alkuperäisen DirectX 8 -renderöinnin DXVK:n, Vulkanin ja MoltenVK:n kautta Metalille. Kyse ei siis ole Windows-version ajamisesta emulaattorissa, vaan pelimoottorin kääntämisestä Applen ARM64-laitteille.
Kosketusohjaus ja rakentaminen
Kosketusohjausta on sovitettu reaaliaikastrategiaan. Valinta onnistuu napauttamalla, aluevalinta vetämällä, valinnan poisto pitkällä painalluksella, kartan liikuttaminen kahdella sormella ja zoomaus nipistyseleellä.
Projektissa ei jaella alkuperäisiä pelisisältöjä eikä niihin myönnetä lisenssiä. Käyttäjä tarvitsee oman kopionsa pelistä. Pelin tiedostot voidaan pakata sovelluspaketin sisään, jolloin asennus on itsenäinen, mutta kehityskäytössä erillinen –dev-valinta voi ohittaa noin 2,7 gigatavun kopioinnin nopeampaa koodin testaamista varten.
Rakentaminen Applen laitteille edellyttää macOS-vaatimusten lisäksi täyttä Xcode-asennusta Apple ID:llä, xcodegen-työkalua Homebrew’n kautta sekä ilmaista tai maksullista Apple Developer -tiimiä. Tiimin tunniste haetaan Xcoden tiliasetuksista.
Tekijät ja lähdekoodin tausta
Projektissa mainitaan tekijöiksi alkuperäisen pelin Westwood ja EA Pacific, EA:n lähdekoodijulkaisu, GeneralsX-perusportti, TheSuperHackersin GeneralsGameCode-yhteisöprojekti sekä muun muassa DXVK, MoltenVK, SDL, OpenAL Soft, FFmpeg ja Liberation Fonts. Porttaus kuvataan ihmisen ja tekoälyn yhteistyöksi: Ammaar Reshi ohjasi ja testasi työtä oikeilla laitteilla, ja tekninen toteutus tehtiin Claude Coden Fable-mallilla. Projektin docs/port/-hakemistossa oleva tekninen loki kuvataan muokkaamattomaksi tallenteeksi työn etenemisestä.
Jatka aiheesta Teknologia.
Artikkeli on laadittu tekoälyavusteisesti. Lue toimitusperiaatteemme.
