Wolfenstein 3D (SF 128)

Heute ist Stay Forever Sonntag. Starte gerade voller Vorfreude die Folge zu Wolfenstein 3D. Zum Thema Indizierung / Beschlagnahmung: 2003 war ich im Urlaub in den USA und dort habe ich das GBA-Modul in einem Laden (kann Gamestop gewesen sein) gesehen und gekauft. Ich hatte eine riesige Angst, dass ich am Flughafen in eine Kontrolle komme :see_no_evil: Das Modul lag im Koffer zwischen dreckigen Socken und T-Shirts. Letztlich hat sich niemand für mein Gepäck interessiert. Heute kann man das Modul ja auch zeigen. :sweat_smile:

edit: Jahreszahl korrigiert

8 „Gefällt mir“

Total unbegründet. Als Erwachsener durftest Du es im Ausland kaufen, mit einführen und hier besitzen.
Außer, Du hattest hier ein Spielegewerbe und man hätte dir die Weiterverbreitung vorwerfen können.
Das Bestellen im Ausland und per Post bekommen war nicht zulässig.
Und das Ausstellen hier war auch nicht zulässig, also wenn mal Minderjährige bei dir waren und es hätten sehen können wäre das auch strafbar gewesen.

1 „Gefällt mir“

Und wie war die GBA Version denn?

1 „Gefällt mir“

War die GBA-Version denn in Deutschland beschlagnahmt?
Erschienen ist sie hier ja wohl nicht.

Meine die war nur indiziert:
Indizierung GBA-Version:
BAnz. Nr. 224 vom 29.11.2003 Nr. 224 (Liste A); Listenstreichung in Nr. B4 vom 28.10.2019

2 „Gefällt mir“

Soweit ich mich erinnere sehr gut und der PC-Version relativ treu, allerdings hat aus welchem Grund auch immer die Musik gefehlt

1 „Gefällt mir“

Nice. Falls mein analogue pocket tatsächlich mal kommt, schaue ich auch mal bei ebay, ob ich wolfenstein da gebraucht finde.

Die Folge hat mir sehr gut gefallen. Besonders gut haben mir die Kapitel "Die Entstehung: Es beginnt mit John Romero, „id Software wird gegründet“ und „Technische Herausforderungen am PC“ gefallen. :nerd_face: :headphones:

Vor wenigen Tagen hatte ich die Gelegenheit Wolfenstein 3d (Game Boy Advance) auf einem Analogue Pocket (von @Chris_R76) anzuspielen und ich muss sagen, auch wenn ich das Spiel nur ein paar Minuten lang gespielt habe, es bereitet mir immer noch viel Spaß. :smile:

Ich fühlte mich sofort wieder in die 90’er Jahre versetzt. Ich musste beim Anhören der Folge unweigerlich an die Filmszene aus dem Film „Das Netz“ mit Sandra Bullock denken, welchen ich ~ 1995 im Kino gesehen habe.

Der Retro Gaming Podcast „Grobe Pixel“ hat Wolfenstein 3d ebenfalls in einer Folge Erinnerungen an 1992 gewürdigt. Reinhören lohnt sich. :+1:t2:

3 „Gefällt mir“

Da muss man nicht drüber streiten… :wink:
Die Quellen sind offen, man kann reinschauen und nach Raycasting suchen. Man wird keines finden. Doom benutzt BSP-Trees zum Rendern. Vereinfacht ausgedrückt berechnet es die aktuell sichtbaren, aus dem BSP-Tree bestimmten Flächen von vorne nach hinten. Da ist keine Spur von Raycasting. Der Boden wird über eine Floodfiller gezeichnet (sehr vereinfacht gesagt), auch da findet sich kein Raycasting.
Du hast aber Recht, dass es viele Quellen gibt, die was von Raycasting fabulieren (sogar die Wikipedia). Das macht es aber nicht richtiger.
Hier ist eine gute Zusammenfassung: Doom Engine Rendering

4 „Gefällt mir“

Ich sagte zwar, keine Meinung zu haben, aber ich hab jetzt mal tatsächlich ins DOOM Game Engine Black Book (das ich sogar im Regal hab), und sogar direkt in den Source Code geschaut. Dann kann ich mir ja mal eine Meinung bilden.

Das Argument war, dass dadurch dass beim Traversieren des BSPs die Wände von vorne nach hinten gerendert werden, für jede jeweils hinten stehende Wände/Segmente ja doch eine Art Occlusion Check stattfinden muss, um zu wissen, welche Teile der Wand beim Rendern ausgelassen werden sollen. Sonst würden die schon gerenderten vorne stehenden Wände ja ggf. überschrieben. Da komme dann Raycasting ins Spiel.

Ich hab’s jetzt nicht ganz im Detail angeschaut, aber genug um mir die Frage zu beantworten, denke ich.

Es gibt zwei Clipping Passes, einen „groben“ fürs horizontale Clipping, und einen vertikalen „feinen“ Pass. Der grobe hat mit Raycasting ganz eindeutig nix zu tun: Die verwendete Datenstruktur ist quasi eine reine Liste von horizontalen Segmenten, die direkt sagt, welche Spalten überhaupt gezeichnet werden sollen.

Beim feinen Pass fürs vertikale Clipping schaut’s schon interessanter aus: Hier gibt’s zwei Arrays die jeweils tatsächlich einen Wert für jeden Pixel in der Breite beinhalten, und die aussagen wie viel „Höhe“ pro Spalte noch „unbelegt“ ist, eine neue Wand weiter hinten dort also gerendert werden soll. (Am Schluss soll dann jede Spalte voll belegt sein, sonst sieht man den berühmten psychedelischen Effekt des Nachzeichnens, wenn in einem Bildausschnitt keine Wand mehr war.)

Aber wenn ich das richtig verstehe, dann werden durch diese zwei Passes die Wände/Segmente direkt geclippt, und am Ende steht für jede Spalte eines Segments von vornherein fest mit welcher Höhe und welchem Offset sie gezeichnet werden soll. Da wird nix „gecastet“, in dem Sinne dass man sich von einem Pixel ausgehend ertastet worauf er treffen wird.

Von daher hast du, soweit ich das in meinem kurzen Exkurs sehen konnte, völlig Recht. Wer das „Raycasting“ nennt, dem ist die Bedeutung von Wörtern wohl ziemlich egal…

3 „Gefällt mir“

Ich wollte erst gar nicht darauf eingehen, weil das Thema ein bisschen von W3D weg geht, aber jetzt diskutiert ihr eh schon :smiley:

Es stimmt, dass Doom keine Strahlen verfolgt, aber das macht zum Beispiel schon die SNES Version von Wolfenstein 3D nicht mehr. Es ist schlicht nicht nötig, wenn sich die Zeichenreihenfolge anders schneller ermitteln lässt, wie z. B. durch BSP-Trees.
Wesentliche Grundideen, warum Raycasting in dieser schnellen Form überhaupt funktioniert, liegen allerdings darin, dass die Geometrie zweidimensional definiert wird und immer senkrechte Wände angenommen werden, die sich dann relativ einfach durch spaltenweise Skalieren der Wandtexturen rendern lassen. Das stimmt so meines Wissens auch für Doom und die Build-Spiele. Insofern finde ich es schon legitim, die Ansätze gemeinsam zu betrachten. Ob dabei algorithmisch tatsächlich noch Strahlen verfolgt werden, oder ob sich dieser Schritt durch bessere Datenstrukturen wegoptimieren lässt, ändert für sich allein erstmal nichts am Grafikstil. Ich denke daher wird der Begriff häufig eher als Abgrenzung zu den späteren „echten“ 3D-Engines genutzt, auch wenn es inhaltlich nicht wirklich korrekt ist.

Ich bin aber bei euch, dass man das dann nicht „Raycasting“ nennen sollte (ich werde mich in Zukunft hüten), sondern vlt. einfach von „2,5D-Engines“ sprechen sollte.

2 „Gefällt mir“

Das ist eigentlich auch ein guter Punkt. Wenn ich nicht ganz daneben liege, hatte ich beim Erkunden gestern den Eindruck, dass der Occlusion Check (irgendwas in der Art braucht man wie gesagt, weil man ja die Wände von vorne nach hinten durchgeht) auch naiv Raycasting hätte sein können, wenn John Carmack sich dafür nicht schlauere Datenstrukturen ausgedacht hätte. Durch den BSP Tree weiß man welche Wände zu zeichnen sind, und beim Zeichnen jedes Pixels für jede Wand castet man einen Ray um zu checken, ob der Pixel nicht schon durch eine vorherige Wand gezeichnet wurde.

Man kann’s mit viel gutem Willen also vielleicht als „Raycasting, aber wegoptimiert“ bezeichnen. Wobei ich da glaube ich auch schon eher sagen würde, dass der BSP Tree einen grundsätzlich anderen Algorithmus darstellt, bevor man auf dieses Detail stößt.

Also insgesamt bin ich jetzt immer noch der frischen Meinung, dass das absolut kein Raycasting ist. Ein Raycasting-Nachfolger, gerne. Ähnlicher Grafikstil und ähnliche Beschränkungen, da geh ich auch voll mit dir mit.

Den 2,5D-Begriff fand ich da auch immer enorm gut. Da steckt einfach so einiges drin, was diese Art von Spielen ausmacht, Raycasting oder nicht.

2 „Gefällt mir“

Das wäre wohl ein ziemlich langsames Clipping-Verfahren ^^ aber ja, würde gehen.
Ich meinte eher, dass Raycasting generell die gleiche Grafikausgabe erzeugen könnte wie das BSP-Rendering bei Doom. Das Raycasting bei W3D läuft ja zweidimensional - wenn man es sich bildlich vorstellen möchte, „nur auf einer Bildschirmzeile“. Und das würde bei Doom genauso funktionieren. Das vertikale Clipping, was du beschreibst, ist deshalb nötig, weil Doom unterschiedliche Höhenstufen unterstützt. Dadurch entstehen bis zu drei vertikale Segmente in den Wänden und eines kann quasi ein transparentes „Fenster“ in einen dahinter liegenden Raum sein. Das hatte W3D noch nicht, aber für den Raum dahinter könnte natürlich genauso mit Raycasting weiter gemacht werden (Clipping bräuchte man dann trotzdem).

Aber es ist wie es ist, Carmack hat es anders gemacht und mutmaßlich deutlich schneller, was sicher der geometrischen Komplexität der Levels und anderen grafischen Effekten zugute kam.

2 „Gefällt mir“

Deine Ausführungen sind sehr interessant. Ich glaube genau deswegen haben mich damals Alien Trilogy und Disruptor auf der PS1 auch so umgehauen, weil da die Wände diagonal waren, und nicht wie bei Doom immer nur gerade.

image

Kann es sein, das selbst bei Quake alle Wände immer noch vertikal waren, und nie schräg?

2 „Gefällt mir“

Extrem, ja, wäre totaler Mist. Bei jedem Wandpixel nochmal checken, ob man nicht doch auf eine andere Wand fällt, „lol“. Und je weiter hinten die Wand ist, desto mehr Wände checkt man pro Pixel. Schon eklig, das überhaupt vorzuschlagen. :sweat_smile:

Aber halt ein naiver Algorithmus von dem man ausgehen kann um was vernünftiges zu stricken…

Aber ja, worauf du hinaus willst hab’ ich denke ich verstanden: Das Grundkonzept des (jeweils ursprünglichen) W3D und DOOM ist das selbe, bei DOOM halt noch mit ein paar Sachen extra. Nur die Implementierung des Konzepts ist der wirkliche Unterschied: Bei W3D durch Raycasting, bei DOOM durch die BSP Trees. Man hat bei DOOM nicht „die Welt neu erfunden“, sondern ein schnelleres Verfahren entwickelt sie auf den Bildschirm zu bringen, und das packt die beiden auf jeden Fall auf mehrere Arten in die selbe Familie.

Deswegen bin ich da ganz bei dir, dass 2,5D eine sehr schöne Bezeichnung dafür ist.

1 „Gefällt mir“

Nein, Quake hatte doch überall Schrägen. Torbögen, Türrahmen, Rampen, alles mögliche. Schön direkt am Start:

E4fK_eGX0AITRKd

4 „Gefällt mir“

Hatte meine erste „Berührung“, wie wohl viele leicht jüngere Leute auch, mit den „secret levels“ in Doom 2, welche man ggf auch per Cheat erreichen konnte. Wenn ich das richtig in Erinnerung habe sind da die Sounds leicht anders, v.A. das „mein Leben“ konnte ich nie als solches identifizieren, sondern eher als eben englisches gebrabbel.

Finde es ja auch echt etwas selbstironisch, auch wenn die ID Jungs daran nicht mehr so beteiligt waren, dass im recht jungen Wolfenstein 2 the new colossus ja die „paralleluniverse deutsche Version“ ja genauso trashig gemacht haben, nur halt diesmal in Englisch mit deutschem Anstrich. Mich würde es echt brennend interessieren, ob die amerikanische Spielerschaft denkt „haha, die doofen Nazis haben es halt nicht drauf“ oer ob sie die Anspielung tatsächlich verstehen.

2 „Gefällt mir“

Genau so habe ich es gemeint, danke :slight_smile:

Die PS1 musste mit ihrer Hardwarebeschleunigung für Polygone natürlich weniger herum tricksen als die frühen PC-Titel. Interessanterweise kam sie aber aber auch mit dem Doom-Algorithmus besser klar als z. B. der für 2,5D Grafik konzipierte Saturn… Anderes Thema. Aber ja, schon faszinierend wie schnell sich das damals entwickelt hatte.

Nee Quake hat dann auf all diese Einschränkungen und Vereinfachungen verzichtet und war wirklich richtiges 3D. Man kann sagen, wenn Doom die Formel für First-Person-Shooter inhaltlich komplettiert hat, war es Quake technisch. Das hat für Jahre den Standard gesetzt wie FPS technisch funktionieren mit BSP, Lightmaps und sektorweise Sichtbarkeiten (vielleicht mit Ausnahme der Animationen, die waren bei Quake noch sehr rumpelig).

2 „Gefällt mir“

Das alte GLQuake ist übrigens in vieler Hinsicht schlechter als das originale Quake mit Software Renderer.

Der Software Renderer hatte Fullbrights (rote Lampen an Teleportern, rote Pfeile, und weiß leuchtende Lampen selbst auf dunklen Wänden) und Overbrights (Lichtquellen die heller sein können als 100% und damit tolle Lichteffekte auf den Boden zauberten).

GLQuake hatte diese Features nicht. Das macht einen riesigen Unterschied.

Die Unterschiede werden hier schön beschrieben:
https://www.quaddicted.com/engines/software_vs_glquake

Der Software Renderer von Quake war schon super.

Beispiel mit Fullbrights:

Beispiel ohne Fullbrights:

Umso enttäuschender, dass bei der GOG Version das schlechte GLQuake und nicht das originale Quake mit Software Renderer gestartet wird, wenn man Classic auswählt.

3 „Gefällt mir“

Meine erste Erinnerung an so etwas ist System Shock 1 von 1994. Sie waren sich wohl auch bewusst, dass die diagonalen Wände was ganz tolles sind, dementsprechend bestehen die ersten Räume fast ausschliesslich aus diagonalen Wänden, Decken und Böden :wink:

2 „Gefällt mir“