Das legendäre Star Fox gehört zu den technisch beeindruckendsten Spielen des Super Nintendo. Ein wesentlicher Bestandteil der damaligen Technik ist der Super-FX-Chip, der die 3D-Grafik des Spiels ermöglicht. Allerdings ist die Spiel-Engine eng an die Bildrate gekoppelt. Wird der Super-FX-Chip einfach übertaktet, läuft dadurch nicht nur die Darstellung schneller – auch die Spielgeschwindigkeit steigt deutlich an.
Ein neuer Proof of Concept verfolgt deshalb einen interessanten anderen Ansatz: Star Fox soll mit bis zu 30 FPS dargestellt werden, ohne dass das eigentliche Gameplay entsprechend beschleunigt wird.
Von 20 auf 30 FPS
Die originale SNES-Version von Star Fox erreicht maximal rund 20 FPS. Durch vergleichsweise kleine Änderungen an der Engine konnte die Framerate-Grenze zunächst auf 30 FPS angehoben werden.
Anschließend wurde die Spiel-Logik so angepasst, dass sie nur mit einem entsprechenden Bruchteil der neuen Bildrate ausgeführt wird.
Das Ergebnis ist eine deutlich flüssigere Darstellung, während sich die Geschwindigkeit des Spiels weiterhin möglichst nah am Original orientiert.
Damit unterscheidet sich dieser Ansatz deutlich von einem einfachen Super-FX-Overclock. Bei einer bloßen Erhöhung der Super-FX-Geschwindigkeit wird auch die Spiel-Logik beschleunigt, wodurch Star Fox schnell unspielbar wird.
Grundlage ist UltraStarFox
Das Projekt basiert auf dem bereits bekannten UltraStarFox-Projekt auf GitHub.
Für den 30-FPS-Versuch wurden unter anderem die IRQ-Auslösungen angepasst, wodurch die ursprüngliche Framerate-Grenze von 20 auf 30 FPS angehoben werden konnte.
Zusätzlich wurden grundlegende Anpassungen an den Geschwindigkeiten von Objekten und Kamera vorgenommen.
Das Ergebnis wurde mit Mesen-S innerhalb von RetroArch getestet. Für die Demonstration kam dabei ein sehr hoher Super-FX-Overclock zum Einsatz.
Noch nicht vollständig spielbar
Bei aller beeindruckenden Technik handelt es sich momentan ausdrücklich nur um einen Proof of Concept.
Einige Objekte und Zwischensequenzen besitzen eigene Timing-Werte, die noch manuell angepasst werden müssen. Deshalb ist das Spiel in diesem Entwicklungsstand noch nicht vollständig durchspielbar.
Die grundlegende Technik funktioniert jedoch bereits und zeigt, dass eine flüssigere 30-FPS-Darstellung grundsätzlich möglich ist, ohne das gesamte Gameplay entsprechend zu beschleunigen.
Interessante Erkenntnisse zur PAL-Version
Im Zuge der Arbeiten wurde außerdem eine interessante Eigenschaft der europäischen PAL-Version von Star Fox deutlich.
Während die NTSC-Version mit ungefähr 20 FPS arbeitet, erreicht die PAL-Version bereits 25 FPS.
Der Entwickler führt dies auf ein entsprechendes IRQ-Timing zurück, das auch für den aktuellen 30-FPS-Ansatz relevant ist.
Diese Erkenntnis wurde bereits bei früheren Arbeiten am Spiel genutzt, unter anderem bei 30-/60-FPS-Patches.
Jahrzehntelanges Interesse an Star Fox
Hinter dem Projekt steckt zudem eine lange persönliche Beschäftigung mit der technischen Seite von Star Fox. Über die Jahre wurden unter anderem Informationen über die Speicherposition des Framerate-Zählers untersucht und dokumentiert.
Der aktuelle Ansatz geht nun einen Schritt weiter: Statt lediglich die Geschwindigkeit des Spiels zu erhöhen, wird versucht, Darstellung und Spiel-Logik voneinander zu entkoppeln.
Sollte es gelingen, sämtliche Objekt- und Sequenz-Timings anzupassen, könnte daraus ein vollständiger 30-FPS-Patch entstehen.
Fazit
Der aktuelle Stand ist zwar noch nicht als fertiger Patch zu betrachten, technisch ist der Ansatz jedoch ausgesprochen interessant.
20 FPS → 30 FPS, ohne Star Fox einfach schneller laufen zu lassen – genau darin liegt der entscheidende Unterschied.
Sollte die noch notwendige Anpassung der Spiel-Logik erfolgreich abgeschlossen werden, könnte Star Fox auf dem SNES deutlich flüssiger laufen und sich dabei trotzdem wesentlich näher am ursprünglichen Gameplay anfühlen als bei einem einfachen Super-FX-Overclock.
Ein spannender Proof of Concept – und möglicherweise der Beginn eines richtig interessanten 30-FPS-Patches für einen SNES-Klassiker.
