GameBoy-Adventures einfach entwickeln

Heute ist das dreißigjährige Jubiläum des GameBoy. Da wird der eine oder andere sicherlich nostalgisch an die gute alte Zeit zurückdenken. Nun kann auf dem GameBoy nicht nur gespielt werden was die Hersteller damals veröffentlichten, sondern auch eigene Entwicklungen für den GameBoy erstellt werden.

Das GB Studio unter macOS

Den meisten dürfte dies allerdings zu kompliziert sein. Schließlich ist der GameBoy aufgrund seiner begrenzten Ressourcen keine sonderlich einfache Umgebung. Mit dem GB Studio soll die Entwicklung trotzdem einfach möglich sein. Mithilfe des GB Studios ist es möglich grafische Adventure schnell und unkompliziert im Stil eines Game Makers zu erzeugen. Als Export-Formate werden ROMs und ein Web-Export unterstützt.

Das Spiele-ROM läuft im Emulator

Lizenziert ist GB Studio unter der MIT Lizenz. Da es auf Electron aufbaut, existieren Versionen für macOS, Linux und Windows. Der Quelltext des Projektes ist auf GitHub gehostet. Er ist unter der MIT-Lizenz lizenziert und damit freie Software. Die offizielle Seite des Projektes, auf der unter anderem die Dokumentation zu finden ist, ist unter gbstudio.dev zu finden.

Probleme mit NativeScript und Xcode

NativeScript ist ein Framework für die Entwicklung von plattformübergreifenden Apps. Um aus dem NativeScript-Quellcode eine lauffähige iOS-App zu generieren, muss unter anderem Xcode installiert sein. Dabei kann es im Zusammenhang mit NativeScript und xcodebuild zu folgender Fehlermeldung kommen:

xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance

Gelöst werden kann dieses Problem auf dem Terminal mit dem Befehl:

sudo xcode-select -s /Applications/Xcode.app/Contents/Developer

Anschließend sollte bei der Ausführung des Befehls:

xcodebuild -version

folgende Ausgabe zu sehen sein:

Xcode 10.2
Build version 10E125

Damit ist das Problem gelöst und mit der Entwicklung mittels NativeScript kann fortgefahren werden.

Probleme mit Festplatten und macOS

Seit dem Update auf macOS 10.14.4, zeigen bestimmte Festplatten beim Hochfahren des Systems eine ungewöhnliche Eigenart. Sie werden beim Start und auch beim Anstecken während des Betriebes nicht mehr automatisch gemountet. Betroffen von dem Fehler sind augenscheinlich nur verschlüsselte Festplatten.

Nach der Aktivierung kann die Festplatte wieder genutzt werden

Es scheint sich um ein Bug in der Version 10.14.4 von macOS zu handeln, welcher wahrscheinlich mit dem nächsten Update gefixt wird. Solange dies nicht der Fall ist, können die Festplatte über das Festplattendienstprogramm manuell aktiviert werden. Dazu wird dieses gestartet und anschließend mit der rechten Maustaste auf die betreffende Festplatte geklickt. Im sich öffnenden Menü wird der Punkt Aktivieren ausgewählt. Damit ist die externe Festplatte wieder eingebunden.

Nginx unter macOS mittels Homebrew installieren und nutzen

Nginx wird für gewöhnlich unter Linux genutzt. Für Entwicklungszwecke kann es interessant sein Nginx unter macOS zu betreiben. Zur Installation von Nginx wird Homebrew benötigt. Homebrew ist ein Paketmanager für macOS, mit welchem viele Open-Source-Projekte unter macOS installiert werden können. Ist Homebrew installiert kann Nginx auf dem Terminal mittels:

brew install nginx

installiert werden. Standardmäßig läuft Nginx bei der Installation über Homebrew auf dem Port 8080. Hintergrund ist das der Webserver somit ohne root-Rechte bzw. ohne sudo genutzt werden kann. Wird der Port auf 80 oder generell auf einen Port kleiner 1024 gestellt, werden wieder entsprechende administrative Rechte benötigt. Soll der verwendete Port geändert werden, muss die Konfigurationsdatei angepasst werden:

nano /usr/local/etc/nginx/nginx.conf

In dieser findet sich folgender Block:

server {
  listen       8080;
  server_name  localhost;

Dort kann anschließend der Port geändert werden. Neben dem Port kann dort die Default-Location geändert werden. Dazu wird der server-Block bzw. dessen Unterblock, der location-Block angepasst:

location / {
  root /Users/seeseekey/Web;
  autoindex on;

Die root-Direktive gibt den Pfad an, welcher über den Webserver ausgeliefert wird. Die Option autoindex sorgt für das entsprechende Directory-Listing, was für Entwicklungszwecke nützlich sein kann. Gestartet und gestoppt werden kann der Service mittels:

brew services start nginx

bzw.

brew services stop nginx

Natürlich kann dies mittels restart in einem Rutsch erledigt werden:

brew services restart nginx

Anschließend kann Nginx mit der veränderten Konfiguration genutzt werden.

Tasten bei der Nutzung von NoMachine durchreichen

Wenn die Remote-Desktop-Lösung NoMachine genutzt wird um z.B. von einem Windows-Rechner auf einen macOS-Rechner zuzugreifen, so kann es passieren das nicht alle Tasten und Tastenkombinationen korrekt zum macOS-Rechner transferiert werden. Wird z.B. die Windows-Taste und die Taste C gedrückt, so wird das auf dem macOS-Rechner nicht als Befehl zum Kopieren verstanden. Stattdessen öffnet sich das Startmenü der Windows-Installation.

Mit der entsprechenden Einstellung werden die Tasten durchgereicht

Damit alle Tasten an den macOS-Rechner durchgereicht werden, müssen die Einstellungen von NoMachine auf dem Windows-Rechner angepasst werden. Dort findet sich unter Eingabe der Punkt Tastatureingabe erfassen. Ist dieser aktiv, wird die Tastatur an das NoMachine-Fenster gebunden, so das die gedrückten Tasten schlussendlich beim macOS-Rechner landen und nicht vom Windows-Rechner ausgewertet werden. Trotz der Einstellungen werden Tastenkombinationen leider nicht immer zuverlässig erkannt; in den meisten Fällen funktioniert das Ganze aber.