Skalierbare Spielwelt - eine Theorie

Einstiegsfragen, Mathematik, Physik, künstliche Intelligenz, Engine Design
Antworten
BlueShark
Beiträge: 79
Registriert: 28.02.2009, 18:55
Alter Benutzername: BlueShark

Skalierbare Spielwelt - eine Theorie

Beitrag von BlueShark »

Moin moin,
ich brauche mal wieder Hilfe und Rat. Ich frage mich nämlich, warum man die heutigen Spielwelten nicht skalierbar erstellt, in dem Sinne, dass man wie bei einer Vektorgrafik nur den Bauplan einer Spielwelt liefert und die tatsächliche Umsetzung und Detailgrad dieser durch Parameter bestimmt. Meine Idee war also folgendes System:
  • -Bauplan der Spielwelt
    -Editor für einzelne "detail build" Dateien
    -Anwendung, die eine "detail build" Datei lädt und abspielt
Im Prinzip wäre es dadurch möglich, Spiele zu entwickeln, die nur minimale Arbeit zur Anpassung an aktuelle Hardware benötigen. Doch ich glaube nicht, dass es so einfach sein kann. Ich habe selbst schon einige Probleme gefunden und ich glaube nicht, dass ich auch nur an einen Bruchteil gedacht habe.

Texturen
Im Prinzip müsste man hier Vektorgrafiken verwenden, die jedoch nicht so einen hohen Detailgrad besitzen wie normale Grafiken(bzw. ist der Arbeitsaufwand viel größer)

Modelle
Die Modelle müsste man aus Grundbausteinen zusammensetzen, die man wiederrum beliebig skalieren kann. Hier einige, die mir spontan eingefallen sind:
  • -Quader
    -Kugel
    -Zylinder
    -Bezier-Kurve
    -Kegel
    -Algorithmus zur Veränderung einer Fläche
Zusätzlich wären einige Sonderbausteine sinnvoll:
  • -Anker, an dem man einzelne Bausteine andocken kann
    -Rotierer, mit dem man aus einzelnen Grundbausteinen Rotationskörper erstellen kann
Animation
Hier sehe ich eigentlich keine Probleme einfache Animationen umzusetzen, jedoch ist mir noch nichts vernünftiges eingefallen, wie man komplexe Animationen, wie zum Beispiel die Mimik hinbekommen soll.

Physik, Beleuchtung, usw
Auch hier sehe ich eigentlich keine wirklichen Probleme. Die Anzahl der physikalischen Objekte kann man einfach erhöhen oder einfach komplexere Operationen zulassen. Selbiges gilt für die Beleuchtung. Hier könnte man einfach den Beleuchtungsalgo wählen und markieren, wie welches Objekt behandelt werden soll.


Nun ja, ich gebe zu, dass ich noch ziemlich an Anfang eines vernünftigen Ansatzes bin, weswegen ich hoffe, dass ihr mir mit eurer Erfahrung weiterhelfen könnt, selbst wenn es nur Spinnerei ist. Ich will einfach wissen, ob es theoretisch umsetzbar wäre. Dafür muss ich wohl eine eigene Engine schreiben, die diesen Verwaltungsaufwand übernehmen kann. Jedoch müsste es möglich sein, Physik und Grafikengines zu verwenden und sich so schon einmal eine Menge Aufwand sparen kann, vielleicht.

Also haut einfach mal raus, was ihr darüber denkt, bitte auch gerne ein wenig derbe, ich brauch einfach nee ordentliche Kritik^^.

Vielen Dank schon einmal
Mfg
BS
Benutzeravatar
Krishty
Establishment
Beiträge: 8316
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Skalierbare Spielwelt - eine Theorie

Beitrag von Krishty »

BlueShark hat geschrieben:ich brauche mal wieder Hilfe und Rat. Ich frage mich nämlich, warum man die heutigen Spielwelten nicht skalierbar erstellt, in dem Sinne, dass man wie bei einer Vektorgrafik nur den Bauplan einer Spielwelt liefert und die tatsächliche Umsetzung und Detailgrad dieser durch Parameter bestimmt.
Für Texturen ist das bereits möglich … nicht, wie du vorgeschlagen hast, durch Vektorgrafiken, sondern durch Fraktale. Irgendwo gibt es eine Firma, die dir alle deine vorgefertigten Texturen (mit ein paar Prozent Abweichung, wenn ich mich recht erinnere) auf einen Bruchteil der Größe runterrechnet und dann in jeder Auflösung und mit allen möglichen Variationen (rostig, schmutzig etc) wiederherstellen kann (oder direkt neue erzeugt). Den Namen habe ich nur gerade nicht parat. Edit: http://www.ploynt.de/articles,special,1,32.htm

Für Geometrie ist das bereits schwieriger. Ich würde hier – ebenso wie bei den Texturen – garnicht erst mit Vektoren oder Kurven anfangen, sondern es direkt komplett durch Algorithmen machen (wenn auch durch handgeschriebene, nicht durch Fraktale).

Der wirklich interessante Punkt an deiner Idee ist aber: Kann man es in jedem Detailgrad erzeugen, dann kann man es in jedem Umfang erzeugen. Du kannst also komplette Spielwelten quasi unendlicher Größe automatisch generieren lassen.

Ich habe mir auch mal Gedanken gemacht, ob es nicht lukrativ wäre, prozeduralen Content auf Lager zu erzeugen (richtig ineffizient, in Punktwolken oder so, tausende Quadratkilometer unterschiedlichster Szenarien und im Detailgrad 20 Jahre voraus) und dann, wenn jemand Content für GTA 5 braucht, einfach eine Serverfarm zu mieten die sie dann ein paar Tage lang auf den Detailgrad runterrechnet, den der Kunde will (Polygon-Count, mit oder ohne Displacement Maps, Farbtiefe und Anzahl LoDs, Format, Unterteilung in einzelne Objekte etc). Der Gedanke kommt mir eigentlich immer wieder hoch wenn ich an einem Zaun vorbeigehe, dessen Pfähle so wunderbar einfach prozedural zu programmieren wären. Denn, sehen wir es doch ein: Engines sind Überfluss, Content ist der echte Flaschenhals und wird in Zukunft immer enger.

Zu der Frage, warum man es heute nicht längst so macht? Sind wir ehrlich, Spiele werden immernoch auf dem Niveau von 1995 programmiert. Obwohl, wenn ich mir damalige Ideenvielfalt anschaue, sogar noch drunter. Bestimmte Paradigmen haben sich eben seitdem etabliert, dazu gehören eben auch das des 3D-Modellers und des Texture-Artists, die sicher nicht auf Programmierer umsatteln können und wollen … und leider sind die wenigsten Programmierer künstlerisch begabt genug, was *hübsches* Prozedurales hinzukriegen.

Gruß, Ky
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
Jonathan
Establishment
Beiträge: 2545
Registriert: 04.08.2004, 20:06
Kontaktdaten:

Re: Skalierbare Spielwelt - eine Theorie

Beitrag von Jonathan »

Naja, es werden ja nicht einfach nur mehr Details sonder es gibt auch immer neue Effekte.
Klar kann man für HL1 Levels erstellen, die viel besser aussehen, als die Originallevels, weil man viel mehr Geometrie und viel schärfere Texturen verwenden kann. Aber ohne Shader gehen viele Effekte nicht, also wird es nie so gut aussehen, wie ein aktuelles Spiel.
Und so ein Technikwechsel ist ja nicht unbedingt einfach, man müsste dann wohl eine neue Engine schreiben und könnte die alten Levels dann hochrechnen. Aber selbst das kann Probleme machen, weil die neuen Effekte vielleicht neue Daten brauchen, die man so aus den alten nicht generieren kann. Wenn man zum Beispiel Phyiskeffekte einbaut, muss man eventuell jedem Objekt in der Welt entsprechende Eigenschaften zuordnen (ganz blöd: schwimmt/schwimmt nicht).
Also ich glaube, dass der Aufwand im Vergleich zum Nutzen zu hoch wäre. Was man allerdings machen sollte ist sowas wie "Ob ich ne Textur in 1024² oder 2048² male, ist egal, also male ich sie in groß und rechne sie kurz runter, dann kann ich in 2 Jahren die Texturauflösung einfach so erhöhen". Das sind so Sachen, damit könnten alte Spiele schon um einiges besser aussehen, auch alleine sowas wie Nebel ausschalten ist simpel, aber sieht auf neuen Rechnern viel besser aus.
Lieber dumm fragen, als dumm bleiben!
https://jonathank.de/games/
Benutzeravatar
Lord Delvin
Establishment
Beiträge: 597
Registriert: 05.07.2003, 11:17

Re: Skalierbare Spielwelt - eine Theorie

Beitrag von Lord Delvin »

Wollt eigentlich gleich was zu sagen, hatte dann aber nicht so viel Zeit; da das jetzt schon ein bisschen eingeschlafen ist vielleicht etwas kürzer als ursprünglich geplant:

Prinzipiell kann man keinen unendlichen Detailgrad haben, da Menschen nur einen endlichen Detailgrad wahrnehmen können.

Dann sollte man nicht übersehen, dass bei manchen Spielen der *Mangel* an Detail eigentlich gut ins gesamtbild passt. Ich mein schaut euch einfach mal UT3 an. Das spielt NIEMAND mehr. Hab ich letztens nochmal installiert; ist ein Graus.
Ich denke auch, dass Spiele manchmal nicht besser aussehen würden, wenn man die höchstauflösenden Texturen mitliefert, die man je hatte. Um zu verstehen was ich meine sollte man sich in nem Museum vielleicht mal direkt vor ein gutes Bild stellen. Manche Dinge sehen halt einfach erst gut aus, wenn sie ein bisschen verschwimmen lässt.
Auuuußerdem haben auch Vektorgrafiken einen Detailgrad. Schau dir einfach mal Models an, das sind Vektorgrafiken.

Und ich denke man ist als Mensch eigentlich garnicht daran interessiert, dass eine Welt möglichst groß ist. Sonst wird sie auch unübersichtlich, weil du ja irgendwo doch bemüht bist dir zu merken wo du hin willst. Es sei denn es ist ne Geschichte, dann ist meist relativ egal wo du herkamst. D.h. wenn du nicht unbegrenzt zurücklaufen kannst, dann kannst du auch eine unendlich große Welt erzeugen. Wobei man das ja nicht zwingend mechanisch verhindern muss.

Ich denke dass das Problem vielmehr ist, dass man eigentlich viel mehr von Funktionen erzeugen lassen will, die konsistente glaubhafte Objekte liefern und als parameter von mir aus einen Detailgrad haben oder halt auf eine Art fraktal abbilden, aus dem man sich dann ein Objekt der Wahl erzeugen kann; das finden solcher Funktionen ist aber nicht entscheidbar, weil man i.A. dann doch Turingmächtige Generatoren bemühen wollen wird.
XML/JSON/EMF in schnell: OGSS
Keine Lust mehr auf C++? Versuche Tyr: Get & Get started
Benutzeravatar
kimmi
Moderator
Beiträge: 1405
Registriert: 26.02.2009, 09:42
Echter Name: Kim Kulling
Wohnort: Luebeck
Kontaktdaten:

Re: Skalierbare Spielwelt - eine Theorie

Beitrag von kimmi »

Zur Generation von Terrain gibt es diesen recht interessanten Artikel in der GPU-Gems-Reihe: http://http.developer.nvidia.com/GPUGem ... _ch01.html . Das wäre natürlich nur die Lösung eines Teilproblemes von dem, was du dir vorstellst.

Gruß Kimmi
knivil
Beiträge: 14
Registriert: 03.04.2008, 01:03

Re: Skalierbare Spielwelt - eine Theorie

Beitrag von knivil »

http://forums.introversion.co.uk/introv ... php?t=1837 fuer die automatische Erstellung einer ganzenzen Stadt.
http://chrishecker.com/Real-time_Motion ... rphologies Spore's procedural animation system.
Jaw
Beiträge: 54
Registriert: 14.07.2004, 01:00
Wohnort: Raum Düsseldorf

Re: Skalierbare Spielwelt - eine Theorie

Beitrag von Jaw »

Also ich versteh die Aufgabenstellung gar nicht :D Ich kann mir eine Spielwelt irgendwie nicht mit einer Vektorgrafik vergleichen. Die skaliert ja in dem Sinne, dass man sie quasi beliebig aufblasen und schrumpfen kann, aber der eigentliche "Inhalt" bleibt ja gleich. Also sag mal ein Buchstabe X bleibt ein X. Groß oder klein egal. In der Spielwelt geht es ja nicht um größer aufziehen einer festen Welt sondern um mehr Welt, mehr Land, und ggf. auch mehr Story und so.

Die zweite Frage wäre, will man das? Der ruf nach offenen, freien und weiten Welten ist ein ganz großes Problem für die Führung und Orientierung im Spiel. Eigentlich will man kaum ein echt freies Spiel. Was soll es denn, wenn man 1 Stunde in jede Himmelsrichtung laufen kann? Im Endeffekt will man doch ne Story, ein Ziel, Aufgaben, Herausforderungen, Erfolge. Das alles braucht irgendwie auch Führung. Man braucht schon n geschicktes GD um mit viel Freiheit auszukommen.

Genau genommen sind auch alle 3D Welten, deren Struktur aus Gitternetz bestehen, prinzipiell skalierbar. Nur wenn man den Spieler mit skaliert ändert man nix, und sonst spielt man quasi die Maus in der Welt der Menschen mit riesig hohen Dingen.

Vleicht steh ich auch völlig auf dem Schlauch.

-JAW
odenter
Establishment
Beiträge: 207
Registriert: 26.02.2009, 11:58

Re: Skalierbare Spielwelt - eine Theorie

Beitrag von odenter »

Ist das Problem nicht eher "Content", nicht im Sinne von Modellen und Texturen, sondern im Sinne von Features bzw. Gameplay.
Wenn man aktuelle Spiele, mit Spielen von vor 10 Jahren vergleicht, dann sind diese heute grafisch auf jeden Fall hübscher und aufwenidger.
Klar gibt es immer mal wieder Highlights die neue Techniken auch brauchbar mischen bzw. anwenden, aber der überwiegende Teil ist Schrott, in meinen Augen. Das xte Starcraft, der xte Shooter, alle nach dem gleichen Prinzip gestrickt, stark vereinfacht damit "jeder" damit klar kommt, einfach langweilig.

Natürlich kann nicht alle 5 Jahre irgendeine neue Gameplay-Nummer erscheinen, aber wo sind die Spiele, die heutige Rechenpower einsetzen nicht um noch tollere Grafik auf den Bildschirm zu zaubern, sondern Spiele mit noch mehr Features, größeren Welten, etc.?
Benutzeravatar
Krishty
Establishment
Beiträge: 8316
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Skalierbare Spielwelt - eine Theorie

Beitrag von Krishty »

odenter hat geschrieben:Ist das Problem nicht eher "Content", nicht im Sinne von Modellen und Texturen, sondern im Sinne von Features bzw. Gameplay.
Hier wäre es mal interessant zu wissen, wie groß bei einzelnen Titeln das Budget für welchen Bereich war. Ich kann mir z.B. vorstellen, dass Balancing / Gameplay und Grafik / Content bei Starcraft II (100 mio $) und Heavy Rain gleichsam überdurchschnittlich teuer waren, während bei Call of Duty Modern Warfare 2 (50 mio $) die Mannstunden für Gameplay gegenüber denen des Heers an Designern und Artists untergingen. Und auf der anderen Seite gibt es ja auch noch Spiele mit innovativem Gameplay, die mit bescheidenem Budget auskommen (Portal?). Also mal ein Vergleich von Gamplay- und Content-stark, Gamplay-arm und Content-stark, Gameplay-stark und Content-arm und Gameplay- und Content-arm, und wie viel da jeweils was gekostet hat.

Jedenfalls möchte ich mich ohne Zahlen auf nichts festlegen, würde aber sagen, dass bei den meisten Spielen der Content-Weg von Artworks bis zur Spielwelt mindestens gleich viel und im Schnitt bedeutend mehr kostet als die Benutzer-Spielwelt-Interaktion.
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Antworten