Spielewelten mit Raycasting: Vorwort
Aus Wikibooks
Herzlich Willkommen zu Spielewelten mit Raycasting.
In den 1990er war Raycasting sehr populär. Die dahinterstehende Technik machte es möglich, mit einfachen Computern dreidimensionale Landschaften und Welten darzustellen.
Heute redet kaum noch jemand vom Raycasting, sind Computer längst so leistungsfähig, dass sie kompliziertere und realistischere Darstellungen ermöglichen.
Zur Zeit gibt es kaum noch Literatur über das Thema, selbst im Internet findet man nicht mehr viele Quellen, die das Verfahren umfassend beschreiben. Grund genug, das Thema einmal bei Wikibooks anzugehen.
Inhaltsverzeichnis |
[Bearbeiten] Worum geht es?
Raycasting ist ein mathematisches Verfahren, um eine möglichst schnelle 3D-Ausgabe einer Computerspielewelt zu bekommen[1]. Eine Spielewelt fassen wir auf als eine kariertes Blatt Papier. Auf diesem Papier malen wir in die Mitte eine Spielefigur und den Rand malen wir bunt aus. Schon befindet sich die Figur zum Beispiel in einem Zimmer. So einfach, wie wir es hier hingeschrieben haben, ist es tatsächlich.
Wenn wir nun diese kleine Kästchenwelt räumlich darstellen wollen, also in 3D, dann bauen wir alle Wände gleich hoch. Steht man direkt mit der Nase vor einer Wand (probieren Sie das ruhig einmal aus) scheint die Wand viel höher zu sein, als wenn man 100 m von ihr entfernt steht. Das werden wir uns zu Nutze machen, wenn wir die Mauern der Spielewelt darstellen.
Eine solche Szene der Kästchenwelt schauen wir uns wie auf einer Leinwand oder wie mit einer Digitalkamera an. Wir betrachten also nicht die Welt an sich, sondern sehen sie wie durch einen Bilderrahmen. Jetzt ist ihre Aufgabe, sich einen leeren Bilderrahmen zu nehmen und einmal alles in der Wohnung dadurch anzuschauen. Auf diese Geschichte mit dem Bilderrahmen kommen wir später noch einmal zurück.
Wenn Sie nun ein Blatt Papier vor sich, die Nase an der Wand plattgedrückt und einen Bilderrahmen in der Hand haben, sind Sie für alles in diesem Buch ausgezeichnet bewaffnet. Ach ja, einen Computer brauchen Sie auch noch. Mit dessen Hilfe stellen wir die Kästchenwelt ja dar.
[Bearbeiten] Wo gibt es das?
Raycasting findet man hauptsächlich in Egoshootern, die zwischen 1990 und 2000 entwickelt wurden. Beispiele dafür sind Spiele wie Doom und Wolfenstein. Nichts würde einen aber daran hindern, Pacman mit dieser Technik zu programmiere, hat man doch die zweidimensionale Ansicht eines Pacman-Spielfeldes schon vor Augen.
[Bearbeiten] Wie geht das?
Bei Raycasting "lebt" eine Spielfigur in einer zweidimensionalen Welt einer bestimmten Größe. Es geht darum, diese Welt dreidimensional darzustellen. Die Spielfigur hat eine Blickrichtung und schaut in jede Richtung auf eine Wand, ein Fenster oder ein anderes Objekt in ihrer Welt, vielleicht ein Monster. Die Spielfigur kann sich in ihrer Welt bewegen. Um nun die Welt dreidimensional darzustellen, benötigen wir etwas Mathematik. Jedes Kästchen, auf dem sich die Spielfigur bewegen kann, hat eine bestimmte Größe. Im Idealfall, den wir hier betrachten, sind alle Felder Würfel. Steht eine Spielfigur sehr nahe vor einer Wand, dann wirkt diese sehr groß. Wir müssen also berechnen können, wie weit die Spielfigur von einem Objekt entfernt steht um dann die Höhe dieser Wand, wie die Spielfigur sie sehen würde, berechnen zu können. Diese Höhe wird auf einen Bilderrahmen projiziert, in dem Fall ist das unser Computerfenster, in dem wir die ganze Welt abbilden wollen. Aus der Entfernung der Spielfigur zum Objekt berechnen wir also die Höhe der Zeichnung auf dem Computerbildschirm.
Nun blickt eine Spielfigur nicht nur in eine Richtung, sondern in einen ganzen Bereich. Wenn sie mal versuchen, einen Punkt im Zimmer anzustarren fällt ihnen auf, dass sie noch weitere Dinge rings um diesen Punkt wahrnehmen. Sie haben also ein gewisses Blickfeld. Dieses Blickfeld drücken wir durch einen Winkel aus. Unsere Spielfigur sendet eine bestimmte Anzahl an "Sehstrahlen[2]" aus, es wird die Entfernung zu einem Objekt ermittelt und dann bestimmt, wie hoch dieses Objekt ist, und das für jeden Sehstrahl innerhalb unseres Blickfeldes. Das ist schon alles.
Wir benötigen also Mathematik, Kenntnisse darüber, wie man Objekte findet, die in einem gewissen Winkel vom Spieler entfernt stehen, Programmierkenntnisse und einige wenige weitere Eigenschaften der Spielewelt. Davon werden die Kapitel in diese Buch handeln.
Wir wünschen Ihnen viel Spaß mit dem Buch und mit Raycasting.
Das Autorenteam
[Bearbeiten] Anmerkungen
- ↑ Wir weichen hierbei von der offiziellen Definition von Raycasting ab und verschweigen, dass es noch andere Anwendungsgebiete gibt. Was gibt es wohl für schönere Anwendungsgebiete als Computerspiele? :-)
- ↑ Etwa so wie Superman es mit seinem Hitzeblick kann.