GameBoy Emulator auf iOS (Stand 12/2019)

Game Boy, SNES und Co. – wie so viele technikaffine Menschen schwärme ich bis heute von Pokémon, Mario, Zelda und Co.
Leider gibt es in Apples Appstore zwar über 250.000 mobile Games, doch keinen einzigen Emulator für Game Boy (Color)-Spiele.
Also habe ich mich selbst auf die Suche gemacht und möchte euch über den aktuellen Stand zum Thema „Gameboy auf einem iPhone/iOS Gerät“ informieren.

Während es auf einem Android Gerät reicht, sich einfach 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 anders, nämlich deutlich 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 versuchten hier und dort bereits Entwickler, Emulatoren in anderen Apps versteckt in den AppStore zu schmuggeln – diese Apps wurden aber innerhalb kürzester Zeit von Apple wieder entfernt.

Es gibt aber auch Wege am AppStore vorbei. Ich zeige euch zwei sichere Möglichkeiten in diesem Blogpost, so dass niemand sich mit windigen Entwicker-Zertifikaten oder einem Jailbreak herumärgern muss. Diese beiden Möglichkeiten sind:

  • WebApps (PWA)
  • Selbstsignierte Apps

PWA (Progressive Web Apps)

Erinnern wir uns an das Jahr 2006. Damals, unter iPhoneOS 1 – bevor es überhaupt den AppStore gab – war es die „Sweet solution„: WebApps
HTML, CSS und JavaScript sollten damals die Lösung sein, um dieses junge Betriebssystem mit Funktionen zu erweitern.

Und auch heute ist es ein Weg vorbei an Apples Zugangskontrolle.
Safari hat seit damals eine Funktion eingebaut, um Webseiten als Pseudo-Apps zum Homescreen hinzuzufügen und diese im Vollbild laufen zu lassen.

GamePlayColor

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

Vorteile

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

Nachteile

  • Hoher Stromverbrauch (bedingt durch seine Bauweise als PWA)
  • Kein Export von Savegames
  • Kein Feedback/Vibration beim drücken der Knöpfe (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
  • Closed 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 könnt ihr dann auf euer iOS Gerät überspielen und nutzen. Leider gibt es hier eine Einschränkung: Diese Apps sind immer nur für 7 Tage gültig und können danach nicht mehr gestartet werden.

Hier setzt sich der AltStore dazwischen. Ihr installiert ein kleines Programm auf dem Windows PC/Mac und installiert mit Hilfe dieses Tool den AltStore auf eurem mobilen Gerät.
Aus dem Store heraus könnt ihr dann Delta installieren (siehe weiter unten).
Wenn die oben erwähnten 7 Tage nun dem Ende zu gehen, könnt ihr das Programm direkt von iOS aus dem AltStore (und Delta) frisch drüberbügeln. Vorraussetzung ist, dass der PC/Mac, auf dem ihr das Helferprogramm für den AltStore installiert habt, angeschaltet/im selben WLAN wie das mobile Gerät sein muss.

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

Delta

Webseite: https://deltaemulator.com/ bzw. https://altstore.io/
Unterstützt: 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 bei Installation und laufendem Betrieb
  • Ungewisse Zukunft

Schlusswort / Ausblick

Auch 13 Jahre nach Vorstellung des iPhones sind Emulation auf dem Apple Smartphone (oder Tablet) ein schwieriges Feld. Immerhin sind die Geräte mittlerweile so schnell, dass eine Emulation über den Browser durchaus eine Alternative zu richtigen Apps ist.

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

Vermutlich haben Delta und der AltStore „dank“ Apples Entwicklerteam ein stetiges Katz-und-Maus-Spiel vor sich. Wenn wir Glück haben, wird es aber nicht komplett nuklear eskalieren, zumindest so lange Apple einer potientieller Wettbewerbsklage keine Munition reichen möchte.