Das Projekt Ghostship aus dem Hause HarbourMasters hat mit Nautilus – Alpha 3.0.0 ein besonders umfangreiches Update erhalten. Die neue Version entwickelt das Projekt deutlich über einen klassischen Port hinaus und baut Ghostship zunehmend zu einer modernen Plattform rund um Super Mario 64 aus.
Neben zahlreichen technischen Verbesserungen stehen vor allem Vulkan, HD-Texturen, Android, iOS und Web-Support sowie eine deutlich leistungsfähigere Modding-Schnittstelle im Mittelpunkt.
Android, iOS und Web werden unterstützt
Eine der größten Neuerungen von Ghostship 3.0.0 ist die Erweiterung auf zusätzliche Plattformen.
Offiziell werden nun folgende Systeme unterstützt:
- Windows
- Linux
- Steam Deck
- macOS
- Android
- iOS
- Web über Emscripten
Auf Android wurde zudem die Datenextraktion verbessert. Die benötigten Spieldaten können dadurch direkt auf dem Gerät verarbeitet werden.
Auch eine Web-Version steht zur Verfügung. Mithilfe von IDBFS können Daten lokal im Browser gespeichert werden. Die Web-Version wird außerdem automatisch über GitHub Pages bereitgestellt und kann direkt im Browser ausprobiert werden.
Vulkan als neuer Grafik-Backend
Technisch besonders interessant ist die Integration eines neuen Vulkan-Backends.
Damit erhält Ghostship einen modernen Rendering-Weg für kompatible Plattformen. Gleichzeitig wurde das Post-Processing-System erweitert.
Mehrere Verarbeitungsschritte können nun miteinander kombiniert werden und lassen sich über benutzerdefinierte Shader erweitern.
Dafür wurde im Menü ein eigener Bereich Shaders integriert.
Besonders interessant für Modder: Interne Variablen der Engine können als Uniforms an eigene Shader übergeben werden. Dadurch eröffnen sich wesentlich umfangreichere Möglichkeiten für grafische Anpassungen.
HD-Texturen und verbessertes Rendering
Auch die Texturverwaltung wurde umfassend überarbeitet.
Ghostship 3.0.0 unterstützt jetzt hochauflösende Texturen und bringt dafür unter anderem folgende Verbesserungen:
- automatische Generierung von Mipmaps
- asynchrones Laden von Texturen
- verzögerte Freigabe nicht mehr benötigter Ressourcen
- neues PNG-Ladesystem
Zusätzlich wurden zahlreiche Fehler im Grafiksystem behoben.
Dazu gehören unter anderem Verbesserungen bei Metal unter macOS, Post-Processing, Viewport und Depth Clamp.
Auch LOD und Dithering wurden weiter optimiert.
Modding wird immer mächtiger
Eine der vielleicht spannendsten Entwicklungen von Ghostship ist die kontinuierlich ausgebaute Modding-API.
Mit Version 3.0.0 stehen Moddern zahlreiche neue Möglichkeiten zur Verfügung, direkt auf verschiedene Bereiche der Engine zuzugreifen.
Erweitert wurden unter anderem Events für:
- Engine-Lifecycle
- Rendering
- HUD
- Kamera
- Level
- Entities
- Speicherstände
- Dateiauswahl
- Pause-Menü
Auch eine eigene Keyboard-API wurde hinzugefügt.
Für C-Mods stehen zudem ImGui-Callbacks zur Verfügung, mit denen eigene Benutzeroberflächen direkt in das Spiel integriert werden können.
Ein neues Persistenzsystem erlaubt es Mods außerdem, Daten dauerhaft zu speichern – beispielsweise Informationen über den Spieler, Channels oder die eigene Identität.
Zusätzlich wurden zahlreiche zuvor statische Symbole exportiert, sodass sie nun von Mods verwendet werden können.
Ghostship entwickelt sich damit immer stärker von einem einfachen Super-Mario-64-Port zu einer offenen Entwicklungsplattform für umfangreiche Mods.
Netzwerk und Multiplayer verbessert
Auch die Netzwerkfunktionen wurden überarbeitet.
Die WebSocket-Kommunikation verwendet nun mbedTLS, während unter Linux TLS aktiviert wurde.
Das Relay-System verfügt außerdem über eine Versionsverwaltung. Dadurch sollen Konflikte zwischen unterschiedlichen Versionen des Spiels vermieden werden.
Auch Satella kann nun über eine entsprechende Entwickleroption aktiviert werden.
Darüber hinaus wurden mehrere Verbindungsprobleme unter macOS behoben.
Ghostship stellt damit eine Infrastruktur bereit, über die auch Online-Spielmöglichkeiten realisiert werden können.
Zahlreiche Gameplay-Fehler behoben
Neben den großen technischen Neuerungen wurden zahlreiche Fehler im eigentlichen Spiel korrigiert.
Unter anderem wurden Probleme mit folgenden Bereichen behoben:
- Goombas, die Mario unter bestimmten Umständen sofort töten konnten
- Abstürze beim Laden von Spielständen
- Konvertierung älterer Spielstände
- Löschen des Spielstands nach einem Game Over
- falscher Hintergrund des Titelbildschirms nach einem Game Over
- fehlerhaftes Verhalten von Bowsers Schlüssel
- Anzeige und Verarbeitung von Erfolgen
- verschiedene Probleme mit der Textinterpolation
- Mario-Handcursor
- Skybox
- Absturz der Audiosynthese beim Neustart eines Levels
- Absturz beim Beenden des Spiels
Die Achievements sind nun standardmäßig aktiviert.
Verbesserte Datenextraktion
Auch die Extraktion der benötigten Spieldaten wurde verbessert.
Ghostship bietet unter anderem eine zusätzliche Bestätigung bei einer erneuten Extraktion, erzeugt sm64.o2r nun eindeutig und stellt Fehler im Zusammenhang mit Torch übersichtlicher dar.
Bereits vorhandene ältere sm64.o2r-Dateien bleiben kompatibel, obwohl sich die Byte-Reihenfolge des CRC in Torch geändert hat.
Außerdem wurde die Verarbeitung von Sonderzeichen in Dateipfaden verbessert.
Ghostship wird zur umfassenden Super-Mario-64-Plattform
Mit Nautilus Alpha 3.0.0 macht Ghostship einen deutlichen Schritt nach vorne.
Vulkan, HD-Texturen und Shader-Unterstützung verbessern die technische Basis, während Android, iOS und Web das Projekt auf zahlreiche weitere Plattformen bringen.
Noch interessanter ist allerdings die Entwicklung der Modding-API. Durch die vielen neuen Schnittstellen können Entwickler wesentlich tiefer in das Spiel eingreifen und eigene Funktionen, Benutzeroberflächen und Gameplay-Erweiterungen realisieren.
Damit wird Ghostship zunehmend zu einer modernen und plattformübergreifenden Basis für Super Mario 64.
Natürlich gilt weiterhin: Nautilus 3.0.0 ist eine Alpha-Version. Entsprechend können noch Fehler und Kompatibilitätsprobleme auftreten.
Für die Datenextraktion werden außerdem die entsprechenden Spieldaten benötigt, die der Nutzer rechtmäßig besitzen muss.
Download
Ghostship – Nautilus Alpha 3.0.0:
https://github.com/HarbourMasters/Ghostship/releases/
