Die Quake Engine

Hier findest Du eine Übersicht darüber was die Quake - Engine leistet und was sie eben nicht leistet.

Zuersteinmal gehe ich ein wenig auf die Geschichte ein, die die Quake - Engine in den letzten Jahren durchgemacht hat: Als ca. 1993 die Firma id - software das Spiel DOOM auf den Markt brachte waren Spieler auf der ganzen Welt begeistert was ihr Computer alles konnte. Es war möglich durch unterirdische Gewölbe zu rennen, schwere Waffen mit sich herumzutragen und sogar gegen andere Spieler kleine Spielchen über das Modem zu spielen.

Der Nachfolger DOOM II verbesserte dieses Spielprinzip nocheinmal. Der nächste „große“ 3D Shooter dieser Firma war Quake, ein Spiel dessen Engine, also dem „Grundprogramm“ zum anzeigen von Grafik und verarbeiten von Benutzereingaben perfekt war für Erweiterungen und Modifikationen (Bots, Mods, Skins, Maps etc.). Es bildeten sich Clans auf der ganzen Welt.

Diese Engine wird seitdem nicht nur noch von id-Software selbst für weitere Spiele verwendet (Quake II, Quake III Arena und demnächst Quake IV) sondern auch an andere Firmen weiterlizensiert. Einer dieser Lizenznehmer ist Valvesoftware für das Spiel Half-Life. Es ist also quasi ein verbessertes Quake.

Der Vorteil den man als „Kreativer“ Spieler hat wenn man sich mit der Engine bzw. ihrem Prinzip befaßt ist, daß man das Wissen welches man sich aneignet auch für alle anderen Spiele die auf dieser Engine basieren anwenden kann. Auch Sin, Quake I, II und III und noch mehrere andere Spiele basieren auf demselben Kern und sind demnach auch so zu bedienen (Man kann also meist auch Levels, Grafiken, Models, u.ä. zwischen den Spielen austauschen)

Ich schreibe jetzt einfach mal alle Merkmale die mir einfallen auf:

  • Die Engine kann keine nach innen gekrümmten Flächen darstellen. d.h. eine Ebene darf weder Einbuchtungen und haben, noch schräg sein.
  • Alle Levels bestehen nur aus geometrischen Körpern. D.h. eine Wand ist im Prinzip nur ein „Block“in entsprechender Form. Ein Raum ist so ein aus 6 Blöcken gebildeter Hohlraum.
  • Alle Räume und Gänge, auch im Freien, müssen gegen die „Leere“ die um diese geometrischen Körper herrscht abgeschirmt sein, d.h. man darf NIE aus einem Gang oder Raum heraus ind die „Leere“ schauen können. Das Level lässt sich zwar auch so kompilieren, aber es ist sehr langsam (vis kann nicht ausgeführt werden) und es sieht nicht sehr schön aus !!
  • Wasser kann zwar angehoben und gesenkt werden, aber es fließt nicht richtig, man kann einen strömenden Abwasserkanal nur aus zwei überlagerten „Effekten“ machen: Einmal dem Wasser selber und einmal einem „trigger_push“ der einen in die entsprechende Richtung drückt. (Das mit dem Wasser finde ich persönlich äußerst interessant, aber das ist ein anderes Thema ;-)
  • Es gibt beim Levelbauen im Prinzip 4 Elemente mit denen man arbeitet:
  1. Die festen Brushes, also die geometrischen Körper wie Wand, Boden, Decke, oder auch Felsen etc.
  2. Die bewegliche Objekte, (bzw. „Solid Entities“) oder Objekte die etwas auslösen. Z.B. Glas, zerstörbare Kisten, Türen, Wasser, etc. Auch diese Objekte sind im Prinzip einfache brushes, ihnen wird jedoch eine Funktion zugeteilt.
  3. „Point Entities“. Das sind einzelne Punkt - Objekte wie z.b. Startpunkte, Waffen, Monster, Lichtquellen, Geräusche u.ä.
  4. Das letzte was zu erwähnen ist sind die Texturen, also die Tapeten die man über die Objekte legt. Über Texturen lassen sich auch noch einige Spezialitäten regeln, so z.B. der Mittelpunkt eines Ventilators oder einer drehenden Tür (mittels der „origin“ Textur) oder auch unsichtbare Wände (das man nicht an Kanten hängenbleibt). Auch von Texturen kann Licht ausgehen (sinnvoll wäre das bei einer Lampentextur)

Soweit lasse ich das ersteinmal jetzt im Raum stehen.

Die Verwendung aller Dokumente einschließlich der Abbildungen ausschließlich zu nichtkommerziellen Zwecken. Verbreitung des Dokuments auf Speichermedien, (insbesondere auf CD-ROMs als Beilage zu Zeitschriften und Magazinen oder sog. "Mission-Packs" etc.) ist untersagt.
 
half-life/tutorials/die_quake_engine.txt · Zuletzt geändert: 2007/05/26 12:43 von AlexS