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