Seite 1 von 1

Xeen mit Raycaster

Verfasst: So 12.07.2026 - 09:42
von lutzleonhardt

Re: Xeen mit Raycaster

Verfasst: Mo 12.10.2026 - 13:55
von lutzleonhardt
Hallo zusammen,

jetzt habe ich mal Zeit gefunden, etwas ausführlicher zu beschreiben, worum es hier eigentlich geht :)

Worum geht es?

World of Xeen dreht sich in 90°-Schritten. Das war 1993 Stand der Technik, Wolfenstein 3D war damals aber schon ein Jahr alt. Mich hat interessiert, wie sich Xeen anfühlt, wenn man sich im Dungeon frei drehen kann. Also habe ich in meinem ScummVM-Fork einen Raycaster für die Xeen-Engine gebaut. Die Spiellogik bleibt grid-basiert, nur die Darstellung des 3D-Fensters ist neu.

Die Regel dabei: nur Original-Assets. Keine neu gezeichneten Texturen, kein Upscaling, weiterhin 320×200 und die originale VGA-Palette. Party-Leiste, Minimap und Menüs bleiben unangetastet. Es soll aussehen wie ein Modus, den man in den 90ern einfach übersehen hat.
xeen-drehung-stadt.gif
xeen-drehung-stadt.gif (937.79 KiB) 12 mal betrachtet
xeen-drehung-dungeon.gif
xeen-drehung-dungeon.gif (904.35 KiB) 12 mal betrachtet
Was ich unterwegs gelernt habe

Die Original-Ansicht ist keine echte Perspektive. Die Frontwände sind in den vier Distanzreihen 168, 104, 56 und 24 Pixel breit. Mathematisch korrekt wären 168, 84, 56 und 42 (mit den Original-Werten wirkt die Welt größer, als sie wirklich ist). Dazu kommt, dass Xeen dünne Wände auf den Kachelkanten hat und keine vollen Wandblöcke wie Wolfenstein. Der Raycaster muss also Kantenschnitte rechnen statt Zellen.

Man sieht also perspektivische Unterschiede zwischen dem Raycasting-Modus und der (inkorrekten) Originalansicht. Ich habe versucht, das zu kompensieren, und drei Modi eingebaut, die man per Ctrl+W durchschaltet:
  • FIT dreht sauber und sieht aus wie Xeen. Die Umrechnungen sind keine Formeln, sondern Tabellen, die an die Original-Sprites angepasst sind.
  • WARP ist Xeen pixelgenau, solange niemand die Kamera dreht. Sobald man dreht, schert das Bild.
  • PINHOLE bewegt sich richtig und sieht aus wie ein echter Raycaster. Ferne Wände bleiben aber größer, als Xeen sie zeichnet.
Am Ende habe ich mich für FIT entschieden. Pixelgleich zum Original ist es nicht, den Unterschied nehme ich in Kauf. Dafür dreht es sich ruhig. Wer genauer wissen will, wie die drei Modi rechnen, dem schreibe ich gern mehr dazu. Hier dieselbe 360°-Drehung in allen drei Modi (Zum ABspielen anklicken):
xeen-modi-360-gross.gif
Stand heute
  • Dungeons und Städte laufen. Alles, was die Engine intern als „Indoor“-Karte zeichnet, also auch die Palisaden mit Himmel auf den Bildern oben.
  • Die offene Außenwelt geht noch nicht.
  • Gegner bewegen sich im Raycast-Modus noch nicht.
  • An den Decken gibt es stellenweise Lücken, dazu ein paar kleinere Grafikfehler.
Das Video (gut 4 Minuten) zeigt den aktuellen Stand:
https://www.tella.tv/video/might-and-ma ... ngine-2pg5

Wie soll es weitergehen?

Hier brauche ich eure Meinung. Ein paar konkrete Fragen:
  1. Komplett spielbar machen? Meine Idee: Die Logik bleibt rundenbasiert. Sobald man mit dem Raycaster eine Kachel überschreitet, machen die Gegner ihren Schritt. Kampf und Timing bleiben damit wie im Original. Dazu die Decken und Bugs fixen. Es soll möglich sein, M&M komplett in dem Modi durchspielen zu können.
  2. Im Browser? ScummVM gibt es auch als WebAssembly-Build. Damit könnte man den Fork im Browser ausprobieren, mit den eigenen Spieldaten (z. B. von GOG). Interessant oder egal? (Das Original läuft schon darin ohne Anpassung, habe ich getestet)
  3. Wo wollt ihr zuerst in 3D durchlaufen? Ich teste mit Dark Side of Xeen. Welcher Dungeon, Turm oder welche Stadt ist euer Favorit?
  4. Was darf sich ändern? Der Charme soll bleiben. Gibt es trotzdem etwas, das ihr euch immer gewünscht habt? Maussteuerung, neue Level, …?
Zurück ins offizielle ScummVM soll das übrigens nicht. Der Eingriff ist dafür zu groß, es bleibt ein Spaßprojekt im eigenen Fork.

Ich freue mich über jede Rückmeldung. Auch ein „braucht keiner“ hilft mir weiter ;)

Viele Grüße
Lutz