Prozedurale Synthese
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 Ausführung des Computerprogramms, 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 ist nicht mit prozeduraler Programmierung zu verwechseln.
Anwendungsbeispiele
BearbeitenBesonders 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, Planetennamen, Größe usw.[1] In der Fortsetzung von Frontier: Elite 2 (1993) wurde eine virtuelle Milchstraße mit 100.000.000.000 (100 Milliarden) Sonnensystemen prozedural generiert.
- In der Weltraum-Simulation Space Engine werden unkartografierte Regionen des Universums prozedural generiert. So ist es möglich, dass Space Engine Galaxien mit je mehreren Milliarden Sternen und Planeten füllt und deren Oberflächen ebenfalls prozedural berechnet, dabei aber der Speicherplatzverbrauch nur 500 MB beträgt.
- 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 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]
- Das Spiel Minecraft arbeitet ebenfalls mit prozeduraler Synthese, wobei noch weitere Prozeduren wie die Perlin-Noise-Funktion angewandt werden, um die theoretisch unbegrenzte Landschaft zu erzeugen. Die prozedurale Synthese wird hier nur durch einen Zufallswert, der auf der Uhrzeit basiert, sowie von verschiedenen Variablen begrenzt. Ebenfalls kann durch die prozedurale Synthese zum einen wiederum sehr viel Speicherplatz gespart und zum anderen erst die Individualität des Spiels durch die unvorhersehbaren Welten gegeben werden.
- 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]
- Der im Oktober 2009 erschienene Shooter Borderlands stellt dem Nutzer etwa 17 Millionen prozedural erstellte Schusswaffen zur Verfügung, die auch unterschiedliche Eigenschaften haben.[7]
- Das auf der E3 2014 vorgestellte Spiel No Man’s Sky erstellt anhand weniger Prototypen Modelle für Bäume, Dinosaurier oder Raumschiffe.[8] Ebenfalls werden einzelne Planeten sowie das gesamte Sonnensystem durch prozedurale Synthese erzeugt.[9] Dadurch ist es möglich, über eine Trillion (= 1018) Planeten zu erstellen.[10]
- In Star Citizen (2015) werden ganze Planeten prozedural erstellt[11].[12]
Siehe auch
Bearbeiten- Referenzielle Transparenz
- Streaming von der Festplatte als Hilfsmittel für die hybride prozedurale Synthese ohne unterbrechenden Ladebildschirm
- Bildsynthese
- Textursynthese
Einzelnachweise
Bearbeiten- ↑ www.frontier.co.uk Elite. Archiviert vom (nicht mehr online verfügbar) am 27. September 2011; abgerufen am 16. Oktober 2011 (englisch). Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis.
- ↑ Oblivion: Full spectrum content, from hand-generated to procedural. Archiviert vom (nicht mehr online verfügbar) am 9. Juli 2011; abgerufen am 16. Oktober 2011 (englisch). Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis.
- ↑ Entwickler-Logbuch. Ehemals im ; abgerufen am 16. Oktober 2011 (englisch). (Seite nicht mehr abrufbar. Suche in Webarchiven) Info: Der Link wurde automatisch als defekt markiert. Bitte prüfe den Link gemäß Anleitung und entferne dann diesen Hinweis. (nicht mehr online verfügbar)
- ↑ Infinity Overview. Archiviert vom (nicht mehr online verfügbar) am 3. Juli 2008; abgerufen am 16. Oktober 2011 (englisch). Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis.
- ↑ kkrieger. Archiviert vom (nicht mehr online verfügbar) am 17. Juli 2011; abgerufen am 16. Oktober 2011. Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis.
- ↑ → Hall of Fame → Preisträger. (Seite benötigt Adobe Flash). Abgerufen am 16. Oktober 2011.
- ↑ Gearbox interview: Randy Pitchford on Borderlands' 17 million guns. In: Computer and Video Games. 28. Juli 2009, archiviert vom am 3. August 2009; abgerufen am 16. Oktober 2010 (englisch).
- ↑ No Man's Sky - Entwickler erklären die prozedurale Engine. In: Computer and Video Games. 23. Juni 2014, abgerufen am 3. September 2015.
- ↑ World Without End. In: Computer and Video Games. 18. Mai 2015, abgerufen am 3. September 2015 (englisch).
- ↑ 18 quintillion planets: The video game that imagines an entire galaxy. In: Computer and Video Games. 18. Juni 2015, abgerufen am 3. September 2015 (englisch).
- ↑ Star Citizen: Star Citizen: Procedural Planets v2 auf YouTube, 11. Oktober 2016, abgerufen am 25. Februar 2024 (Laufzeit: 30:10 min).
- ↑ Star Citizen: STAR CITIZEN: CitizenCon 2947 - The Art and Tech of Stanton auf YouTube, 27. Oktober 2017, abgerufen am 25. Februar 2024 (Laufzeit: 52:54 min).