Blockbasierte Spielewelten

Blockbasierte Spielewelten liegen dank Minecraft voll im Trend. Am Beispiel eines kleinen Spieleprototyps (Blocks) werden wir uns in den kommenden Wochen/Monaten damit befassen, wie sich derlei Welten prozedural generieren und darstellen lassen:







Unser Ziel besteht in der Erschaffung einer mittels Ray Casting dynamisch veränderbaren, blockbasierten Spielewelt mit dynamischen Tag-Nacht-Wechseln, unterschiedlichen Wetterverhältnissen sowie einer realistischen Himmelsdarstellung samt volumetrischer (dreidimensionaler) Wolken.
Bei der Generierung der Landschaften, Höhlensysteme und Vegetationszonen werden wir uns unterschiedlicher prozeduraler Techniken bedienen.
Der Spieler wird hingegen für alles Architektonische verantwortlich sein – von der Errichtung des ersten Gebäudes bis hin zur Planung und dem Bau ganzer Städte.
Damit sich eine derart komplexe Spielewelt ruckelfrei darstellen lässt, verteilen wir die hierfür erforderlichen Berechnungen (Daten-Streaming, Datenkompression, Sichtbarkeitstests, usw.) auf mehrere Worker-Threads (Stichwort: Parallelisierung).
Darüber hinaus werden wir unseren Spieleprototyp im weiteren Verlauf als eine Art Testumgebung für die Implementierung verschiedener komplexer Beleuchtungsmodelle verwenden.



Blocks Prototype
(LGPL-Licence; Visual C++ 2010):
Game Prototype