- Prozedurale Generierung
-
Prozedurale Synthese oder Prozedurale Generierung bezeichnet in der Informatik Methoden zur Erzeugung von Programminhalten wie Texturen, virtuellen Welten, 3D-Objekten und sogar Musik in Echtzeit und während der Laufzeit des Computerprogrammes, ohne dass diese Inhalte vor der Benutzung vom Entwickler fest angelegt und in ihrer endgültigen Form an den Nutzer weitergegeben werden. Dabei werden die Inhalte keineswegs zufällig erzeugt, sondern die Generierung folgt deterministischen Algorithmen, um bei gleichen Ausgangsbedingungen immer wieder dieselben Inhalte erzeugen zu können. Dadurch eröffnet sich dem Entwickler die Möglichkeit, äußerst umfangreiche und komplexe Inhalte zeit- und platzsparend zu entwickeln und weiterzugeben.
Prozedurale Synthese beziehungsweise Prozedurale Generierung ist nicht mit Prozeduraler Programmierung zu verwechseln.
Inhaltsverzeichnis
Anwendungsbeispiele
Besonders in Computerspielen findet die prozedurale Synthese Anwendung, um weitläufige und komplexe Welten und Landschaften zu erzeugen, die bei jedem Start des Spiels gleich aussehen, sich jedoch auch leicht über die Parameter der Synthese verändern und erweitern lassen.
Es seien im Folgenden einige exemplarische Beispiele genannt:
- Frühe Beispiele für die Verwendung prozeduraler Synthese sind Elite (1984) und The Sentinel (1986). Die acht Spielgalaxien in Elite werden aus sechs Bytes prozedural generiert, inklusive Koordinaten, Planetenname, Größe, etc. [1]. In der Fortsetzung von Elite: Frontier (1993) wurde eine virtuelle Milchstraße mit 100.000.000.000 (100 Milliarden) Sonnensystemen prozedural generiert.
- In The Elder Scrolls IV: Oblivion wird die Vegetation der Spielwelt prozedural generiert. Dies ist ein Beispiel für eine hybride Verwendung der prozeduralen Synthese: Position und Eigenschaften der Vegetation werden durch die Synthese bestimmt, die Texturen der Stämme und Blätter werden dann jedoch aus von Künstlern während der Entwicklung des Spiels entworfenen Bilddateien geladen, anstatt ebenfalls synthetisiert zu werden.[2]
- Das zukünftige MMORPG Infinity: The Quest For Earth basiert auf einer realistisch dimensionierten, prozedural generierten Galaxie mit Milliarden von Planetensystemen, die jeweils unzählige astronomische Objekte wie Planeten und Asteroiden umfassen. Die gewaltigen Ausmaße und Anzahlen von möglichst einzigartigen Objekten (im Entwicklungsstand von Juli 2007 wurde allein für die Identifikation der Asteroiden pro Sonnensystem ein sogenannter Octree (ein Baum mit acht Kindknoten pro Knoten) mit 14 Ebenen verwendet, der pro Knoten viele Hundert bis einige Tausend Asteroiden verwalten konnte, was insgesamt eine Objektzahl in der Größenordnung von 1015 pro Octree ermöglicht [3]) macht es buchstäblich unmöglich, für jede Entität Position und Aussehen zu bestimmen. Das Spiel wird von einem einzigen Programmierer, Flavien Brebion, (und einigen zuarbeitenden Künstlern und Modellierern) entwickelt.[4]
- Besondere Bedeutung hat die prozedurale Synthese in der Demoszene, in der möglichst komplexe Programme mit möglichst wenig Speicherbedarf das Entwicklungsziel darstellen. So hat der komplett auf prozeduraler Generierung basierende Ego-Shooter .kkrieger der deutschen Demogruppe Farbrausch trotz überraschend guter grafischer Qualität und Spielumfang einen Speicherbedarf von lediglich knapp 96 Kilobyte, was grob einem Fünfzigtausendstel des Speicherbedarfs eines modernen kommerziellen Shooters entspricht (Rechengrundlage: eine DVD-5). Die Entwickler gehen davon aus, dass das Spiel bei Verzicht auf die prozedurale Synthese etwa 200 bis 300 Megabyte beansprucht hätte.[5] .kkrieger gewann im Jahr 2006 den Innovationspreis der Jury des Deutschen Entwicklerpreises.[6]
- Gegen Ende 2008 soll ein neuer Shooter namens "Borderlands" erscheinen, welcher dem Nutzer ca. 500.000 prozedural erstellte Schusswaffen zur Verfügung stellen soll, die alle unterschiedliche Eigenschaften haben. Ebenso sollen auch andere Gegenstände, wie etwa Rüstungen, prozedural erstellt werden und so eine Kombination aus MMORPG und Ego-Shooter geschaffen werden. [7]
Siehe auch
- Referenzielle Transparenz
- Streaming von der Festplatte als Hilfsmittel für die hybride prozedurale Synthese ohne unterbrechenden Ladebildschirm
Quellen
- ↑ http://www.frontier.co.uk/games/elite/faq.html (Englisch)
- ↑ http://www.mxac.com.au/drt/OblivionProcedural.htm (Englisch)
- ↑ http://www.infinity-universe.com/InfinityForums/viewtopic.php?t=5198 (Entwickler-Logbuch, Englisch)
- ↑ http://fl-tw.com/Infinity/infinity_overview.php (Englisch)
- ↑ http://www.theprodukkt.com/kkrieger
- ↑ http://www.deutscher-entwicklerpreis.de/ -> Hall of Fame -> Preisträger (Seite benötigt Adobe Flash)
- ↑ http://www.heise.de/newsticker/meldung/94730
Weblinks
Wikimedia Foundation.