libsm64 verpackt den Bewegungs- und Rendering-Code aus Super Mario 64 als Programmbibliothek, damit die Figur mit wenigen Zeilen in eine fremde Engine wandert. Grundlage bildet das SM64-Dekompilierungsprojekt, das den originalen Maschinencode in lesbares C zurückübersetzt hat. Für Entwicklerteams liegt der Reiz weniger im Nostalgiewert als in der Frage, wie sauber sich Spiellogik aus einem geschlossenen System herauslösen lässt.

drweb.de als bevorzugte Quelle auf Google hinzufügenQualitätsgeprüfte Inhalte direkt in Google News & DiscoverJetzt hinzufügen

Eine Shared Library und ein fremdes ROM

Graue Cartridge und kleiner blauer Steckverbinder auf weißem Grund
Projekt stellt Dekompilat-basierte Bibliothek bereit. Öffentliche Schnittstelle in einer Headerdatei, Beispiel im Testverzeichnis. Texturen und Animationsdaten nicht enthalten

Das Projekt erzeugt eine gemeinsam nutzbare Bibliothek, die überwiegend aus dem Dekompilat besteht. Die vollständige öffentliche Schnittstelle steckt in einer einzigen Headerdatei, ein Beispielprojekt im Testverzeichnis zeigt die Einbindung.

Texturen und Animationsdaten liefert der Code allerdings nicht mit. Die Projektdokumentation hält fest, dass die Bibliothek zur Laufzeit ein offizielles Spiel-ROM einliest und jedes darauf aufbauende Projekt den Nutzer zur Bereitstellung einer eigenen Kopie auffordern muss.

Genau hier verläuft die juristische Kante

Diese Trennung ist kein technisches Detail, sondern die tragende Konstruktion. Der Programmcode steht unter einer Public-Domain-Widmung, die geschützten Inhalte bleiben außen vor und kommen aus dem Datenträger des Anwenders.

Rechtssicher wird die Sache dadurch nicht. Der Rechteinhaber ist für sein hartes Vorgehen gegen Fanprojekte bekannt, und eine Dekompilierung bewegt sich je nach Rechtsordnung in unterschiedlich weiten Grauzonen. Kommerzielle Nutzung scheidet damit praktisch aus, private Experimente und Lehrprojekte bleiben der realistische Rahmen.

Was Entwickler wirklich davon haben

Um die Bibliothek herum sind Anbindungen für Blender mit Fast64-Integration, ein Unity-Paket und eine Godot-4-Erweiterung entstanden. In Blender lässt sich damit eine steuerbare Figur in eine gerade gebaute Levelgeometrie setzen und das Terrain sofort ablaufen.

Der eigentliche Lerneffekt liegt im Bewegungsmodell. Beschleunigung, Trägheit und Sprungverhalten aus dem Jahr 1996 gelten bis heute als Referenz, und ein lesbarer Quellcode erklärt besser als jedes Tutorial, warum sich diese Steuerung so gut anfühlt.

Wertvoll an libsm64 ist nicht die Figur, sondern der lesbare Beweis, dass ein 30 Jahre altes Bewegungsmodell handwerklich immer noch Maßstäbe setzt. Für den produktiven Einsatz bleibt das Projekt trotzdem tabu.

— Michael Dobler, Herausgeber Dr. Web

Einordnung für die eigene Werkzeugkiste

Nutzen Sie das Projekt als Studienobjekt für Prototyping-Workflows, nicht als Baustein für ein Produkt. Welche Werkzeuge den Entwickleralltag sonst tragen, sammelt unsere Übersicht der Webdesign-Tools für den Alltag, und die Einordnung der führenden Programmiersprachen erklärt, warum C in diesem Umfeld weiterhin gesetzt ist.

Mehr Newshunger?

4,4 10 Bewertungen

Wie hat Ihnen dieser Artikel gefallen?