GameBoy Emulator auf iOS (Stand 12/2019)

Obwohl es dem iOS AppStore nicht an Spielen mangelt (nach Schätzungen gibt es über 250.000 zur Auswahl), bin ich jedoch öfters in der Retro-Ecke verhaftet und erinnere mich sehnsüchtig an meine Spielstunden auf den älteren Nintendo Konsolen zurück.

Während es auf einem Android Gerät recht einfach ist sich einen Emulator aus dem PlayStore zu installieren, ein paar seiner eigenen/Homebrew ROMs herüber zu kopieren und loszulegen, sieht die Sitation in Apples Ökosystem restriktiver aus.

Apple erlaubt es Entwicklern nicht Emulatoren im AppStore zu veröffentlichen – dies gilt auch für andere Umgebungen die fremden Code ausführen könnten.
Zwar gab es hier und dort Entwickler welche Emulatoren versteckt in anderen Apps in den AppStore geschmuggelt hatten, diese Apps wurden aber innerhalb kürzester Zeit von Apple wieder entfernt.

Es gibt aber auch mehrere Wege am AppStore vorbei. Abgesehen von windigen Entwicker-Zertifikaten oder einem Jailbreak, gibt es noch zwei weitere Möglichkeiten, über welche ich in diesem Blogpost schreiben möchte:

  • WebApps (PWA)
  • Selbstsignierte Apps

PWA (Progressive Web Apps)

Damals unter iPhoneOS 1, bevor es überhaupt den AppStore gab, war es die „Sweet solution„: WebApps
Ein wenig HTML, CSS und JavaScript sollte damals die Lösung sein um dieses junge Betriebssystem mit Funktionen zu erweitern.

Und auch heute ist es noch immer ein Weg vorbei an Apples Zugangskontrolle.
Safari hat seit damals eine Funktion eingebaut um Webseiten als Pseudo-Apps zum Homescreen hinzuzufügen.

GamePlayColor

Webseite: https://gameplaycolor.com/
Unterstützt: GameBoy & GameBoy Color

Vorteile

  • Open Source (GitHub)
  • Mehrere Geschwindigkeiten
  • Verschiedene GameBoy Skins

Nachteile

  • Hoher Stromverbrauch (bedingt durch seine Bauweise als PWA)
  • Kein Export von Savegames
  • Kein Feedback/Vibration beim Knöpfe drücken (PWA bedingt)
  • Benötigt Google Konto (Google Drive)

Hinweis: iOS 13 hat einige Funktionen des Browsers überarbeitet, welche u.a. die Emulator nutzen. Dieses Projekt wird aktuell von ein paar Entwicklern aufgefrischt und ist noch wieder ganz einsatzbereit.
Es gibt aber eine funktionierende Version unter folgendem Link:
https://brandosha.github.io/gameplay/index.html

Eclipse

Webseite: http://eclipseemu.me/
Unterstützt: GameBoy, GameBoy Color, GameBoy Advance, NES, SNES*

Vorteile

  • Unterstützt viele Plattformen
  • Verschiedene Controller Skins
  • Mobil und am Desktop nutzbar
  • Konfigurierbare Tastaturbelegung (z.B. iCade Bluetooth Controller)
  • Eingebauter Homebrew Repos

Nachteile

  • Hoher Stromverbrauch (bedingt durch seine Bauweise als PWA)
    Je jünger die Plattform ist, desto mehr Rechenpower wird benötigt
  • Nicht Open Source, kann nicht selbst gehostet werden
  • Kein Feedback/Vibration beim Knöpfe drücken (PWA bedingt)
  • (Aktuell) Savegames/Settings können am iPhone nicht exportiert werden (offener Issue)
  • (Aktuell) Start/Select Knöpfe sind an aktuellen iPhones schwer zu treffen (offener Issue)

Hinweis: In meinem Test konnte ich mobil keine SNES Spiele starten, am Desktop funktionierte es

Selbstsignierte Apps

Seit ein paar Wochen gibt es das Open Source Projekt AltStore, von Riley Testut und Caroline Moore, welches die andere offizielle Möglichkeit am AppStore vorbei Apps zu installieren einfach möglich macht: Selbstsignierte Apps

Von Apple gibt es kostenlose Werkzeuge um selbst Apps zu progammieren (einen Mac vorausgesetzt). Diese Apps ihr dann auf euer iOS Gerät überspielen und nutzen. Leider gibt es hier die Einschränkung, dass diese Apps immer nur für 7 Tage gültig sind und danach nicht mehr gestartet werden können.

Hier setzt der AltStore sich dazwischen. Ihr installiert ein kleines Programm auf deinem Windows PC oder Mac und installiert durch dieses Tool den AltStore auf eurem Gerät.
Aus dem AltStore heraus könnt ihr dann Delta installieren (siehe weiter unten).
Sollten sich nun die oben erwähnten 7 Tage dem Ende neigen, könnt ihr direkt von iOS aus den AltStore (und Delta) frisch drüberbügeln (vorausgesetz wird hierzu jedoch, dass der PC auf dem ihr den AltStore auch installiert habt, angeschaltet/im selben WLAN sein muss).

Das Projekt ist noch recht jung und es gibt aktuell nur eine App im AltStore kostenlos zum Download. In Zukunft soll es aber noch viele andere geben – es sei denn, Apple legt dem Projekt größere Steine in den Weg.
In den letzten Wochen gab es bereits zwei Mal Änderungen von Apples Seite, welche den AltStore behindert haben. Diese Änderungen konnten aber vom Entwickler wieder ausgeglichen werden.
Man darf also gespannt bleiben, wie lange das Projekt bestehen bleibt.

Delta

Webseite: https://deltaemulator.com/ bzw. https://altstore.io/
Unterstütz: GameBoy, GameBoy Color, GameBoy Advance, NES, SNES, Nintendo 64 (zukünftig auch Nintendo DS)

Vorteile

  • Unterstützt sehr viele Plattformen
  • Geringer Stromverbrauch
  • Verschiedene Skins
  • iOS Controller Support
  • MultiPlayer Support
  • Haptisches Feedback beim Knöpfe drücken
  • Cloud-Savegame Sync (Dropbox oder Google Drive)
  • Open Source

Nachteile

  • Größter Aufwand um es zu Installieren und in Betrieb zu halten
  • Ungewisse Zukunft

Schlusswort

Es ist auch 13 Jahre nach Vorstellung des iPhones eine schwierige Lage bezüglich Emulation auf dem Apple Smartphone (oder Tablet). Immerhin sind die Gerät mittlerweile so schnell, dass eine Emulation über den Browser durchaus eine Alternative zu richtigen Apps sind.

Leider ist der Stromverbrauch der WebApps recht hoch und so empfiehlt es sich immer eine (mobile) Stromquelle in der Nähe zu haben.

Delta und der AltStore haben vermutlich ein Katz-und-Maus-Spiel vor sich, was aber eventuell nicht komplett nuklear wird, falls Apple einer potientieller Wettbewerbsklage kein Feuerholz reichen möchte.