da ich vermutlich bei meiner weiteren Arbeit das Forum öfters beanspruchen werde, eine Beschreibung was ich mache:
Eine Renderengine mit ausschliesslich programmiertem Inhalt, ein paar kleine Spiele damit und vielleicht irgendwann ein großes :-)
Normalerweise bastel ich schlecht oder nicht dokumentierte Programme, in diesem Fall ist die Dokumentation wesentlich weiter als der Code, der bisher nur einige Prinzipien testet. Der (tw. pseudo)wissenschaftlicher Doku-Text dazu findet sich hier: http://www.hirnsohle.de/mathe/weltenmotor.pdf
Das ganze ist seit einigen Jahren sporadisch in Arbeit. Die Testsoftware implementiert schon etliche Prinzipien, sieht aber grausam aus. Sobald man sie Demo nennen kann lad ich sie hoch.
Im Prinzip sind die Einzelteile nicht neu (zb. Elite II - Frontier) aber eine konsequente Umsetzung habe ich noch nicht gesehen. Auch hier im Forum findet man einige ähnliche Ansätze :)
Zur Zeit ist das ein Einzelarbeits-, Hobbyprojekt, aber langsam brauch ich mehr Wissen wie man Echtzeitdinge so macht. Insbesondere mit der Performance habe ich Probleme, da die Bücher immer predigen möglichst viel Kram in die Graka zu laden und ihn nicht wieder anzufassen, was ich nicht hinbekomme da permanent einzigartige, neue Dinge den Sichtbereich oder LOD erreichen.
Ich vermute dass wohl ein Teil der Geometriegestaltung in die GPU wandern muss, habe aber keinen Plan den ganzen Welt-Erfindungscode dann doppelt für CPU und GPU zu pflegen.
Ich freue mich natürlich über Anregungen, Beileidsbekundungen
alles Gute euch!
Merkmale:
- Rein Code-generierter Inhalt
- Möglichst konsistent mit bekannten Naturgesetzen
- Möglichst konsistent in Raum und Zeit
- Große Ausmaße der Welt
- Lange Zeitskala
- Ort und Zeit frei wählbar
- Details entsprechend der alltäglichen Wahrnehmung (Milchstraße, Monduntergang, Europäische Unionen und Bleistifte...)
- Maximaler Formenreichtum
- Theoretische Möglichkeit, irgendwo ein Abbild der Erde zu finden wie wir sie kennen
- Landschaften die erodieren
- Städte die entstehen und vergehen
- Kleines Krabbelgetier unter einer Straßenlaterne
- Scenegraph mit bidirektionalem Rendering, damit kann der Root in jedes Objekt verlegt werden.
- Große Tiefe des Scenegraphs (~50 Level)
- Realtime Erzeugung und Bereinigung des Scenegraphs
- Wahlfreies Renderig von Objekten zu jedem Ort und jeder Zeit
- Suchmechanismen, um Szenerien zu finden (da ohne gespeicherten Content ja keine gestaltet werden können)
- Überlagertes Simulationssystem um die "View-Only"-Welt interaktiv zu ergänzen.
- Überlagertes "Frontend", das ein Spiel daraus macht (Spielziele / GUI)
- Environment z.Z. Java, OpenGL
- Platformen Windows, Linux, MacOS X
- Z.z. Größtenteils Fixed Function Grafikcode
- Z.z. Niedrigerer Detailgrad als klassische Engines
- einfach pur als Kunstwerk
- Autorennen in den Straßen einer Alienstadt