17.11.2025, 11:40
(Dieser Beitrag wurde zuletzt bearbeitet: 17.11.2025, 12:36 von siebenstreich.)
Henne hat es mal sehr treffend als "digitale Denkmalpflege" bezeichnet. Ich schreibe mal meine persönliche Interpretation davon auf.
Projekt 1.
Rekonstruktion der Schicksalsklinge ausgehend von der originalen Binärdatei als C-Code.
Die grundlegende Zielsetzung ist, dass mit dem Original-Compiler und Linker exakt dasselbe Binary rauskommt.
Dies ist nach jahrelanger Arbeit von Henne i.W. abgeschlossen. Er hat dafür meine höchste Anerkennung, zum einen für sein technisches Grundwissen uns seine Fähigkeiten (der Ansatz mit der Dosbox ist schlichtweg genial!), und zum anderen für sein Durchhaltevermögen. Nur mit dieser Kombination war es möglich, dorthin zu kommen, wo wir heute stehen. Ich vermute, dass Henne eine fünfstellige Anzahl von Stunden an diesem Projekt gearbeitet hat.
Es gibt noch eine weitere Ausbaustufe: In diesem reverse-engineering-Prozess fallen die Bezeichner (Funktionen, Variablen etc.) oft erstmal ziemlich kryptisch aus. Für einen schönen, verständlichen C-Code müssen diese Bezeichner geeignet umbenannt werden, was ein Verständnis der höheren Zusammenhänge im Programmcode erfordert (eine gute Kenntnis des Spiels ist hierfür sehr hilfreich). Hier habe ich mich ein wenig mit eingebracht. Den aktuellen Fortschritt würde ich als gut, aber noch nicht als perfekt bezeichnen.
Durch den rekonstruierten C-Code steht das Spiel gewissermaßen nackt da. Wir können prinzipiell alles im Quellcode nachlesen, womit über die Jahre viele neue Erkenntnisse über das Spiel gewonnen wurden. Aus eigener Produktion kann ich hier z.B. die Wirkweise des magischen Wurfdolchs und das Aufklären der Gerüchte um einen Praios-Tempel aufführen.
Projekt 2.
Eine moderne Version der Schicksalsklinge, die ohne Dos-Box direkt auf aktuellen Betriebssystemen lauffähig ist.
Der Startpunkt ist Projekt 1, wobei zwangsweise ein gewisser Bruch stattfindet, denn der Anspruch, dass das Spiel exakt mit dem Original identisch ist, kann hierbei nicht aufrecht erhalten werden. Den "proof of concept" hat Henne mit dem Charakter-Generator bereits erbracht. Es müssen alle Stellen ertüchtigt werden, wo eine Interaktion des Spiels mit der Hardware oder dem Betriebssystem stattfindet, u.a.
In diesem Rahmen ist auch geplant:
Aktueller Stand.
Momentan stehen wir am Scheideweg zwischen Projekt 1 und 2. Henne scharrt schon mit den Hufen, den Wechsel zu vollziehen, und ich freue mich auf sehr darauf. Aber man sollte sich den Schritt auch gut überlegen, denke ich, denn man hat dann ja zwei getrennte Code-Basen. Dinge, die man gerne in Projekt 2 drinhätte und jetzt an Projekt 1 noch machen kann, sollte man vielleicht eher jetzt gleich noch machen. Denn in Projekt 1 haben wir noch den Binäräquivalenz-Test, der uns sehr zuverlässig vor Fehlern bewahrt. Außerdem ist es natürlich schön, auch den Code von Projekt 1 möglichst aktuell zu haben.
Projekt 1.
Rekonstruktion der Schicksalsklinge ausgehend von der originalen Binärdatei als C-Code.
Die grundlegende Zielsetzung ist, dass mit dem Original-Compiler und Linker exakt dasselbe Binary rauskommt.
Dies ist nach jahrelanger Arbeit von Henne i.W. abgeschlossen. Er hat dafür meine höchste Anerkennung, zum einen für sein technisches Grundwissen uns seine Fähigkeiten (der Ansatz mit der Dosbox ist schlichtweg genial!), und zum anderen für sein Durchhaltevermögen. Nur mit dieser Kombination war es möglich, dorthin zu kommen, wo wir heute stehen. Ich vermute, dass Henne eine fünfstellige Anzahl von Stunden an diesem Projekt gearbeitet hat.
Es gibt noch eine weitere Ausbaustufe: In diesem reverse-engineering-Prozess fallen die Bezeichner (Funktionen, Variablen etc.) oft erstmal ziemlich kryptisch aus. Für einen schönen, verständlichen C-Code müssen diese Bezeichner geeignet umbenannt werden, was ein Verständnis der höheren Zusammenhänge im Programmcode erfordert (eine gute Kenntnis des Spiels ist hierfür sehr hilfreich). Hier habe ich mich ein wenig mit eingebracht. Den aktuellen Fortschritt würde ich als gut, aber noch nicht als perfekt bezeichnen.
Durch den rekonstruierten C-Code steht das Spiel gewissermaßen nackt da. Wir können prinzipiell alles im Quellcode nachlesen, womit über die Jahre viele neue Erkenntnisse über das Spiel gewonnen wurden. Aus eigener Produktion kann ich hier z.B. die Wirkweise des magischen Wurfdolchs und das Aufklären der Gerüchte um einen Praios-Tempel aufführen.
Projekt 2.
Eine moderne Version der Schicksalsklinge, die ohne Dos-Box direkt auf aktuellen Betriebssystemen lauffähig ist.
Der Startpunkt ist Projekt 1, wobei zwangsweise ein gewisser Bruch stattfindet, denn der Anspruch, dass das Spiel exakt mit dem Original identisch ist, kann hierbei nicht aufrecht erhalten werden. Den "proof of concept" hat Henne mit dem Charakter-Generator bereits erbracht. Es müssen alle Stellen ertüchtigt werden, wo eine Interaktion des Spiels mit der Hardware oder dem Betriebssystem stattfindet, u.a.
- Grafik
- Sound
- Eingabe (Tastatur, Maus)
- Dateisystem-Zugriffe
In diesem Rahmen ist auch geplant:
- Soweit möglich alle bekannten Fehler zu reparieren.
- Neue Features mit einzubauen, aber mit Augenmaß! Keine wilden Modding-Phantasien, sondern nur Dinge, die auch für das 1992er Original gut vorstellbar sind, wenn das Entwickler-Team etwas mehr Kapazitäten gehabt hätte.
Aktueller Stand.
Momentan stehen wir am Scheideweg zwischen Projekt 1 und 2. Henne scharrt schon mit den Hufen, den Wechsel zu vollziehen, und ich freue mich auf sehr darauf. Aber man sollte sich den Schritt auch gut überlegen, denke ich, denn man hat dann ja zwei getrennte Code-Basen. Dinge, die man gerne in Projekt 2 drinhätte und jetzt an Projekt 1 noch machen kann, sollte man vielleicht eher jetzt gleich noch machen. Denn in Projekt 1 haben wir noch den Binäräquivalenz-Test, der uns sehr zuverlässig vor Fehlern bewahrt. Außerdem ist es natürlich schön, auch den Code von Projekt 1 möglichst aktuell zu haben.

