Doom Engine

From Blood-is-Red Wiki
Jump to: navigation, search

Doom Engine

Geschichte

Grafikengine, die für das Spiel Doom von id Software programmiert wurde. Die Umgebung basiert auf Sektoren, deren Linien beliebige Längen und Winkel haben können. Unterschiedliche Sektoren können unterschiedliche Höhen und Helligkeit haben. Depth Cueing für Tiefenwirkung und Parallaxing für Himmel und Hintergrundumgebungen sind ebenfalls Bestandteil der Engine. Gegner und Dekorationen sind Sprites. Mehrstöckige Architekturen sind nicht möglich, da Sektoren sich nicht überlappen dürfen, und es in jedem Sektor nur je einen Höhenwert für den Boden und die Decke gibt. Am 23.12.1997 hat id Software den Quellcode von Doom unter einer Non-Profit Lizenz veröffentlicht, am 3.10.1993 wurde der Quellcode erneut, diesmal unter der Gnu GPL veröffentlicht. Am 11.01.1999 veröffentlichte Raven Software die Quellcodes von Heretic und HeXen unter einer Non-Profit Lizenz. Am 4.08.2008 veröffentlichte Raven Software die Quellcodes von Heretic und Hexen erneut unter der Gnu GPL.

Screenshots

Doom/Doom II: Hell On Earth

Doom2.jpg
Doom II: Hell On Earth

Heretic

Heretic.jpg
Heretic

Hexen: Beyond Heretic

Hexen.jpg
Hexen: Beyond Heretic


Strife: Trust no One

Strife.jpg
Strife: Trust no One

Hacx

Hacx.jpg
Hacx

Chex Quest

Chex.jpg
Chex Quest

Foreverhood

Foreverhood.jpg
Foreverhood


Action Doom 2: Urban Brawl

Urban.jpg
Action Doom 2: Urban Brawl


Jurassic Rift

Jurassic.jpg
Jurassic Rift


Bastards

Bastards.png
Bastards


Spiele

Source Ports

Mit der ersten Veröffentlichung des Doom Quellcodes entstanden auch die ersten Sourceports. Der Quellcode den id Software veröffentlichte war der, der Linuxversion, bereinigt von Bernd Kreimeier. Auf dessen Basis entstanden zunächst einige Rückportierungen auf DOS und Windows, die jedoch oft auf Grund der Lizenz nicht Quelloffen waren. Später, als der Quellcode noch einmal unter der GNU PGL veröffentlicht wurde änderte sich dies. Unter den ersten Portierungen waren auch schon frühe Versuche Schnittstellen wie Direct X und OpenGL zu benutzen. Die wichtigsten Ports die sich herausbildeten waren DosDoom, eine Rückportierung des Linuxquellcodes mit dem Ziel eine offene Version der Engine für DOS zu schaffen. Diese Portierung blidete später auch die Grundlage für weitere Ports, beispielsweise Doom Legacy. Die zweite Portierung stammte von Team TNT, einem Moddingteam das vor allem durch die Veröffentlichung von Final Doom bekannt wurde. Dieses Team beherrbergte eigentlich zwei Teams, die "Mapper", die Levels erstellten, und die Programmierer, die den Quellcode bearbeiteten. Ziel ihrer Portierung war es vor allem noch bestehende Bugs auszumerzen und Limitierungen - wie den berüchtigten "Visplane Overflow, einer Begrenzung der gleichzeitig darstellbaren Sektoren, der bei Überschreitung zum Absturz des Spiels führte - zu entfernen. Diese Portierung war Boom. Auch auf dieser Portierung basieren einige weitere Ports.

Die wichtigsten Ports

Folgendes sind die wichtigsten, vor allem noch aktuellen Ports.


Boom Team TNTs Portierung, bei der viele Bugs und Limitierungen entfernt sind. Es gibt mit PrBoom auch eine Windowsversion, und auch auf Linux wurde Boom portiert.


Chocolate Doom Moderne Windowsportierung mit dem Ziel soweit kompatibel mit "Vanilla Doom" (Bezeichnung der Original id Software Version) zu sein.


CSDoom CSDoom, kurz für Client Server Doom benutzte den Netzwerkcode aus QuakeWorld um eine stabile Client/Server Portierung zu schaffen, mit der erstmals auch dedizierte Server benutzt werden konnten, anstelle des ursprünglichen Peer to Peer Models, bei dem ein Client auch Server war, der wartete bis sich alle Teilnehmer verbunden hatten bis das Spiel begann. Mit CSDoom war es erstmals möglich während eines laufenden Spiels dazu zu kommen und das Spiel zu verlassen, ohne dass das Spiel dadurch beendet wurde.


Doom Legacy Erste Hardware beschleunigte Portierung mit neuen Lichteffekten und lange Zeit beliebtester Multiplayer Port.


Doomsday Hardwarebeschleunigte Portierung mit vielen neuen Features wie Skyboxen, Hi-Res Testuren, 3D Models und einem Scriptingsystem. Ausserdem kompatibel zu Heretic und HeXen: Beyond Heretic. Die Unterstützung der verschiedenen Spiele ist ausgelagert in sie Libraries jDoom, jHeretic und jHexen. Die Engine und jDoom stehen unter der GNU GPL, während die anderen beiden Libraries unter der Non Profit Lizenz von Raven Software stehen. Auf Basis dieser Engine wurde auch der Fanmod zur Portierung von Doom64, der Version für das Nintendo64, unter dem Namen "Doom 64: Absolution" realisiert.


DosDoom (nicht mehr aktiv) Erste Rückportierung des Quellcodes auf DOS und damit Basis weiterer Ports.


EDGE EDGE (Enhanced Doom Gaming Engine) bietet vor allem eine Möglichkeit "Räume über Räume" darzustellen, ein Scripting System und mit GLEDGE einen OpenGL Renderer.


Eternity Eigentlich entwickelt für eine TC von Team Eternity, nach dem diese jedoch gecancelt wurde wurde die Eternity Engine weiter entwickelt. Diese Engine hat einige Neuerungen, wie einer Konsole, ähnlch der von Quake und bietet eine Reihe von Features für Mods, z.B. Skyboxes, ein Scripting System und Eine Erweiterung des WAD Dateiformates.


GZDoom GZDoom ist eine Portierung von ZDoom mit einer Reihe von Erweiterungen, unter anderem einem OpenGL Renderer, programmiert von Graf Zahl, für das GZ in GZDoom steht.


MBF MBF (Marines Best Friend) ist eine Weiterentwicklung von Boom von einem ehemaligen Team TNT Mitglied, auf dessen Basis andere Portierungen entstanden, z.B. Eternity.


nxDoom/DoomDC Portierung der Doom Engine auf SEGAs Dreamcast. Diese Portierung erkennt eigenständig Doom, The Ultimate Doom, Doom II - Hell On Earth und Final Doom. Über eine Textdatei ist es ausserdem möglich einige Mods einzubinden.


Odamex Auf CSDoom basierender Client Server Port mit einer weiten Unterstützung unterschiedlicher Betriebssysteme. Odamex ist auch zu Boom kompatibel und bietet Unterstützung weiterer Erweiterungen.


Skulltag Sehr verbreiteter Client Server Port, basierend auf ZDoom, der neben dem namensgebenden Skulltag, vergleichbar mit dem Spielmodus "Harvester" aus Quake III Team Arena, weitere Spielmodi wie Coop, Deathmatch und CTF. Der Netzwerkcode in Skulltag wurde aus dem Quellcode von Quake II übernommen.


SvStrife Portierung für Strife: Trust no One auf der Basis von PrBoom.


ZDaemon Client Server Port, basierend auf CSDoom und ZDoom für Windows, und für Server auch Linux. Da ZDaemon auf einer äteren Version von ZDoom basiert ist dieser Port nicht zu 100% kompatibel mit aktuellen ZDoom/GZDoom Projekten.


ZDoom Portierung mit voller Unterstützung für Heretic und HeXen: Beyond Heretic, durch die Integration des aus HeXen: Beyond Heretic stammenden ACS Scriptings, das selbst noch um Features erweitert wurde.


Webverweise