PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Gibts irgendwo ein Projekt mit einer realistischeren Engine als üblich?



Seiten : [1] 2

stefan-tiger
30.08.05, 14:27
Hallo,

gibts irgendwo ein Projekt zu einer Engine, die man z.B. für ein Spiel oder eine Simulation verwenden kann, die etwas genauer als üblich funktioniert.

Quasi so: Jeder Gegenstand ist aus Kleinsten Teilchen aufgebaut die miteinander interagieren (PSE läßt grüßen).
Es soll wegführen von exakten Flächen auf die irgendwelche Texturen gezogen werden, wie es heute jede Grafikarte macht
Jedes Teilchen hat einen eigene Kollision, im Verbund mit anderen hat der Verbund eine Kollsion mit "korrekter" Deformation.
Wasser z.B. soll "richtig" fließen.
Sonneneinstrahlung soll weißes Papier gelblich färben.
Holz soll "richtig" Brennen und zu Asche werden.

Es muss nicht so sein, daß ein Gegenstand (z.b. Stuhl) aus 1E30 Teilechen o.ä. besteht, 100 oder 1000 reichen ja schon.

Gruß

Asmodis
30.08.05, 15:33
Im kleinen masse (scharfes s) havoc, fuer mehr duerfte die aktuelle hardware nicht ausgelegt sein. Aber das (http://www.nickles.de/static_cache/537862697.html) koennte das ganze etwas anders aussehen lassen...

LaNcom
30.08.05, 17:09
Kann man alles machen, der Aufwand währe enorm und das ganze würde sich wohl selbst auf einer voll-bestückten sgi Altix einen Wolf ruckeln, aber machbar ist Alles (außer in einem runden Raum in die Ecke zu pinkeln).

Du wärst dann wohl teilweise schon wieder weg von Polygonen, und bei Partikeln/ Voxeln - besonders für die Simulation von Viskosität (Wasser) oder der Zerfall von Objekten (brennendes Holz zu Asche)...

Die Verfärbung abhängig von der Beleuchtung hingegen ist gar kein Problem, problematisch wird's erst, wenn Spielchen wie Irideszenz (Lichtreflektion tieferer Schichten eines Objekts, zB menschlicher Haut - die ist transluzent und an sich weitestgehend farblos) oder Inkandeszenz (Glühen - problematisch, weil die Umgebung dadurch nicht-gleichförmig erhellt wird), da kann mit Shadern bestenfalls tricksen.

Asmodis
30.08.05, 17:39
Ist halt wieder die Frage wie weit das Sinn macht. Wenn man dann an einem Level ankommt, wo man die doppelte Rechenleistung fuer minimal bessere Physik braucht (Berechnung von 100.000 Einheiten, statt 10.000 damit Wasser NOCH ECHTER fliesst), obwohl man es eh schon nicht mehr merkt, dann ist mein Verstaendnis schon wieder weg. Havoc ist zum Beispiel schon sehr real. Ich brauch keinen Wald, wo jedes Blatt korrekt im Winde weht...

LaNcom
30.08.05, 18:03
Da kann ich Dir nur zum Teil recht geben. Glaubhafte Simulation von Flüssigkeiten oder Gasen kann Havok zum Beispiel überhaupt nicht, und das könnte einem Spiel sehr viel geben. Natürlich muss man das Ganze nicht auf molekularer Ebene simulieren. Korrekte Verbrennung oder Zerstörung von Objekten könnte sogar direkt Teil des Spiels werden - man stelle sich einen FPS vor, bei dem man geziehlt eine Holzbrücke anzündet, bevor man darüberläuft. Je stärker Teile der Brücke durchgeglüht sind, umso wahrscheinlicher brechen sie, sobald man darüberläuft. Welche Teile wie passierbar sind, hängt davon ab, an welcher Stelle man das Feuer gelegt hat. Selbiges gilt für nach einem Brand einstürzende Dachstühle, auch hier kann ein glaubwürdiges und bedingt vorhersehbares Verhalten des Feuers eine interessante strategische Komponente darstellen.

Russel-Athletic
30.08.05, 19:05
Das was du hier andenkst kommt in die Nähe von dem was Doom 3 mit Licht macht. Auch da wird alles Licht dynamisch berechnet, also auch wenn das Licht statisch ist.

Naja vielleicht, erleben wir das wenn wir uns die neue nvidia p(hysik)x400 einbauen dürfen.

Physik sorgt auf jedenfall für viel Spielspaß und ein neues Spielerlebnis.
Zum Beispiel ist denkbar, das ein Neuling an einer Stelle im Spiel weiterkommt, weil er es in der natürlichen Welt gesehen hat und ein erfahrener Spieler nicht auf die Idee kommt jenes Objekt zu benutzen. Spieler sind eigentlich recht festgefahren und wissen immer, dass eben das wenigste im Spiel geht.

The_Maegges
01.10.05, 23:19
Leider wird Physik in Spielen in diesem Maße absolut nicht genutzt.
Eigentlich verwenden die aktuellen Spiele eigentlich nur Physik, um irgendwelche Dinge eindrucksvoll einstürzen oder umfallen zu lassen.

Jetzt stell ich mir mal folgendes vor:

Ein Spieler betritt einen Raum mit etwa 50 Kisten, die bei einer Explosion korrekt zerbersten und deren Teile korrekt durch die Luft fliegen und auch miteinander interagieren.

Das läuft noch ohne Physikkarte wunderbar.

Nun kauft ein anderer Spieler eine Physikkarte und statt den 50 Kisten sind es nun 500, die aber auch nix anderes machen.

Was wird der Spieler bei dem "nur" 50 Kisten genauso zerspringen, wie die 500 des anderen jetzt sagen? Natürlich, er wird es wahnsinnig geil finden.
Aber ansonsten hat die Physikkarte nicht viel gebracht.

Ich weiss nicht, ob sowas wirklich die Extrakosten rechtfertigt.

jay-t
01.10.05, 23:50
Schöne Idee!

Ich betrete einen Raum. Die Tür auf der anderen Seite ist verschlossen.
Mist! Ich habe keinen Schlüssel.

Moment mal... Was haben wir da: ein Rohr, ein paar Metallklötze, Blech, Kabel und ne Batterie.
Mmmh... Werkzeugkasten raus und losgebastelt.

Das Kabel steht unter Strom und erzeugt im Rohr ein starkes Magnetfeld.
So jetzt noch die Antimaterie, die ich vom Alien bekam, rein!.

Rummms! Dort wo die Tür war, ist jetzt nichts mehr... :eek: :ugly:

stefan-tiger
02.10.05, 10:26
Die meisten verstehen nicht was mich an heutigen Engines stört:

Irgendwelche Effekte werden durch die Grafikarte berechnet und sind rein optisch. D.h. diese Effekte können auf das Spiel keinen Einfluss nehmen.
Die Grafikkarte ist ja nur zur Ausgabe, man frägt keine Ergebnisse der Grafikarte ab um die Spielwelt darauf reagieren zu lassen.

(Deshalb kann man ein Spiel auch super mit einem geeigeneten Grafikkartentreiber verändern, so daß man z.B. durch Nebel schauen kann.)

Ihr könnt euch net vorstellen wie enttäuscht ich war, als ich festgestellt habe daß (früher) bei 3D spielen z.B. es einen unsichtbaren Kollissionsblock gibt und die kollision garnicht direkt am 3D Model stattfindet.

Früher wars mit auch schleierhaft, warum ein Raketenwerfer keine Holzkisten zerstört.

Man hat in solchen spielen sehr eingeschänkte Handlungsfreiheit.

Stellt euch ein Speil vor, wie Monkey Island 2, nur eben als Simultaion wie ich es gern hätte, so daß man phyikalisch halbwegskorrekt an einer beliebigen Stelle in der Erde mit dem Spaten ein Loch graben kann.

Weg mit den statischen Spielwelten und vorgegebenen Stellen die man zerstören/benutzen kann, lasst Kollission da stattfinden wo Sie in wirklichkeit stattfindet.

Auch wenn etwas verbrennt, dann soll z.B. Asche entstehen die durch Wind weggeweht werden kann, oder irgendwas soll chemisch reagieren, so daß das man Resultat aktiv in der Spielwelt einsetzen kann. (Um Rätsel zu lösen etc.)

HEMIcuda
02.10.05, 10:45
Vielleicht ist Dir nicht so ganz klar, welche Rechenleistung dazu benoetigt wird. Du kannst Dich ja gerne mit den Entwicklern einiger Engines kurzschliessen und *die* mal fragen, warum diese Features (noch) nicht implementiert sind. Hier wirst Du, denke ich, kaum jemanden finden, der wirklich tief in der Materie drinsteckt.

'cuda

stefan-tiger
02.10.05, 11:09
Vielleicht ist Dir nicht so ganz klar, welche Rechenleistung dazu benoetigt wird. Du kannst Dich ja gerne mit den Entwicklern einiger Engines kurzschliessen und *die* mal fragen, warum diese Features (noch) nicht implementiert sind. Hier wirst Du, denke ich, kaum jemanden finden, der wirklich tief in der Materie drinsteckt.

'cuda

Natürlich ist mir klar, daß es viel Rechenleitung brauch.

Man muss ja nicht gleich anfangen und ein mol aus 6,xy * 10^23 Teilchen bestehen zu lassen.

Die kleinsten Teilchen in einem Spiel können für den Anfang ja sehr groß sein, und mit steigender Rechenleitung über die Jahre hinweg kann man sie immer kleiner werden lassen.

Und man muss ja nicht gleich nen Shooter mit sehr großen Aussenlevels machen, sondern etwas ala Monkey Island (2) bei dem die Landschaft "steht", aber man innerhalb der Szene alle Handlungsmöglichkeiten hat. Dadurch würde das Spiel viel idüllischer. (Z.B. Holz am Lagerfeuer nachlegen weil es "korrekt" abbrennt").

Die Idee soll nicht zwingend dafür geeignet sein, daß eine Firma innherhalb 2 bis 3 Jahre ein fertiges Spiel damit präsentieren kann, sondern ich könnt mir vorstellen, daß es als Community-Projekt über viele Jahre und Hardwaregenerationen hinweg aufgebaut wird, sowie bei Linux.

Schliesslich müssten in so eine Engine wissenschaftliche Daten und Erkenntnisse aus ALLEN Gebieten eingebracht werden (also auch Chemie und Biologie).

Heute: Ein Kiste besteht aus einem Würfel mit Texturen und hat Hitpoints.

Besser: Eine Kiste besteht aus x (verschiedenen) Brettern und y verschiedenen Schreuben die mit abc Nm angezogen sind (und somit die Stabilität der Kiste ausmachen).
Nun werden alle Bestandteile in kleinere Zerlegt:
Bretter -> Fasern -> organiusche Zellen -> Molöekühle -> Atome
Schrauben -> Legierung aus A und B -> A Atome, B Atome

Im Umkehrschluss: Man kann aus A und B Atomen nicht nur Schrauben erstellen sondern auch eine Säge.
Achja: die Säge kann die Holzfasern durchtrennen und in kleine Partikel (klumpen organischer Zellen -> Spähne) auftrennen.

PS: sorry für Tippfehler, auf der Tastatur fehlt hier die Beschriftung der Tasten.

Russel-Athletic
02.10.05, 11:46
Irgendjemand hat hier was über Physikkarten und 500 Kisten erzählt.
Wenn es Physikkarten gibt, werden die Spiele entweder bei nicht vorhanden einer Karte die CPU arbeiten lassen oder es wird ne weniger aufwändige Engine verwendet.
Das einfache erhöhen der Objekte ist quatsch und würde niemand machen.


Zum Community Projekt:
Das wird nichts, aus dem einfachen Grund weil die Comm größtenteils aus Hacker besteht. Nicht aus Grafikern (deswegen die blöd aussehenden Spiele), nicht aus Biologen, nicht aus Physikern.

Julius
02.10.05, 14:30
ich kann mich leider nicht mehr an den Ort erinnern, aber ich habe neulich einen Artikel über Effekte wie in RedFaction (da konnte man Wände kaputt schießen etc) gelesen und ich schätze mal das das in die Richtung geht die dir vorschwebt.

Fazit war jedenfalls, das abgesehen von der Rechenleistung (die aber nicht das hauptproblem ist solange man es relativ einfach lässt), vor allem die Spiellogik das Problem ist.
Solche Effekte sind eine menge Arbeit zu programmieren, aber im Endeffekt zerstören sie den Spielablauf (da dadurch jede art von Handlung umgangen werden kann, und daher ein Handlungbasierende Abläufe unmöglich fehlerfrei dastellbar sind) oder aber sie sind nur bei Dingen einsetztbar die nicht Handlungsrelevant sind (so gesehen bei Redfaction). Dann sind sie aber eigendlich überflüssig, und ausserdem ehr störend für den Realismus, da sich der user dauernt ärgert warum er die eine Wand zerstören kann die andere aber nicht.

Ergo müsste für diese art von 'physik' auch das Gameplay komplett neu überdacht werden und der letztendliche Erfolg ist auch in Anbetracht der limitierten Rechenleistung mehr als fragwürdig.

The_Maegges
02.10.05, 15:56
Auch Red Faction hatte Grenzen.
Du konntest dich zwar mit nem Raketenwerfer soweit in den Boden reinbuddeln, dass du aus dem Loch nie wieder rausgekommen bist, aber irgendwann ging es auch nicht mehr tiefer.
Anderes Beispiel: Ein Wachturm stand auf 4 Pfeilern, die man schön wegballern konnte. Was war dann? Die Plattform schwebte in der Luft.

Wie bereits schon angesprochen, könnte so ein Gameplay auch das Gameplay völlig durcheinanderbringen.

Stell dir vor, du stehst vor einer verschlossenen Tür.
Anstatt den Schlüssel z.B. durch eine Quest zu bekommen, sprengst du einfach die Tür, aber in der Quest hättest du einen Hinweis bekommen, was du dann hinter der Tür machen musst.
Dumm gelaufen, du weisst nicht wie es weitergeht - Dead End.

Nebenbei stellt sich mir die Frage, inwiefern Physikkarten überhaupt Sinn machen, da die Entwicklung aktuell ja auf Multicore-CPU's ausgeht.
Warum also eine Karte, die Formeln ausrechnet, wenn das genausogut ein ungenutzter CPU-Core machen kann?

Nebenbei gemerkt macht es wenig Sinn, ein Lagerfeuer, dass der Spieler eh nur am Rande bemerkt, physikalisch und chemisch korrekt abfackeln zu lassen.
Dafür dümpelt aber die KI am Rande der völligen Sinnlosigkeit rum, weil zuviel Rechenleistung für irgendwelche Lagerfeuer oder Holzkisten ver(sch)wendet wurde...

Wenn wir in der Spieleentwicklung die Multicore-CPU's besser einbeziehen, sollte eine Physikkarte der Kategorie "sinnlose Hardware der Geldverschwendung" zugeordnet werden können.

Desweiteren haben wir sowieso noch genug Reserven auf der CPU liegen, da diese in der ganzen Zeit, in der die Grafikkarte den Frame rendert, so gut wie gar nichts macht.

Und zu guter Letzt wird der Durchschnittsspieler eine Physikkarte nicht kaufen und das Spiel muss auf auf dessen Rechner problemlos durchspielbar sein, was darin resultiert, dass man keine Spielrelevante Physik auf die Karte auslagern darf.
Ende vom Lied: Die Physikkarte wird nur "Effekthaschereien" berechnen.

Beispiel Half-Life 2:
Hier gab es ja einige Physikrätsel, die meistens darauf ausgingen, irgendwelche Wippen mit Gewichten zu beladen, so dass man darüber laufen / fahren kann.
Würde sowas auf die Physikkarte ausgelagert werden, hätte der Spieler keine Chance das Spiel zu beenden.

Aus diesen Gründen ist es sehr fragwürdig, ob diese Karten jemals Gameplayrelevante Daten durchrechnen dürfen werden.

Batosai
02.10.05, 16:21
Aus diesen Gründen ist es sehr fragwürdig, ob diese Karten jemals Gameplayrelevante Daten durchrechnen dürfen werden.
Früher oder später sicherlich!
Denn nach der Logik, sollten Spiele auch von Spieler spielbar sein, die kein Internet haben - und das ist bei HL2 nunmal nicht der Fall.

Früher wäre das undenkbar gewesen, aber heute wird einfach stillschweigend vorrausgesetzt, das man Internet hat.

So wird das sicher auch mal bei den Physikkarten kommen.

@jay-t: Das wäre cool - dann könnte man in einem Spiel endlich mal das umsetzen, was man bei MacGyver gelernt hat :D


Batosai

Child_of_Sun
02.10.05, 16:49
Hi @all
Muss auch mal meinen Senf dazu geben.

Weiter oben wurde der Punkt schon angeschnitten, es geht eben darum das die Spiele innerhalb von mindestens 2-3 Jahren (Die wirklich guten jedenfalls) fertig sein müssen, der Programmieraufwand für solch eine "Reale" Welt wäre enorm, man müsste soviel berücksichtigen, dann verhält sich alles irgendwie komsich...
Wenn sie einmal fertig wäre wäre sie natürlich gigantisch, aber in dieser Zeit haben mindestens 20 Verschiedene Spielehersteller die jetzt alle Pleite sind die Entwicklung übernommen, weil sie alle dachten es gänge mal eben so. Das ganze ist nicht Ökonomisch genug, nur weil es für den Spiele wunderbar wäre heißt das nicht das das für die Spielehersteller auch so wunderbar ist, was meinst du warum sich viele lieber eine Lizenz von z.B. ID Soft für die Doom3 Engine holen als selber eine zu entwickeln.

Es geht um schnelles Geld und nicht um Träumereien.

CoS

stefan-tiger
02.10.05, 17:32
...
Zum Community Projekt:
Das wird nichts, aus dem einfachen Grund weil die Comm größtenteils aus Hacker besteht. Nicht aus Grafikern (deswegen die blöd aussehenden Spiele), nicht aus Biologen, nicht aus Physikern.

Warum funktioniert dann Wikipedia?

Und zu den Grafikern: die würden eigentlich überflüssig werden, da das Aussehen eines Gegenstandes sich aus dem reflektierten Licht vom mikroskopischen ins makroskopische ergibt.
Nicht aus irgendwelchen Folien oder Poster (Texturen) die auf den Gegenständen kleben.

@Julius: Ja, ich finde man sollte mal langsam von diesen linearen Konzepten abkommen. Kennt denn keiner echte Rollenspiele?

@The_Maegges: natürlich darf keine KI oder sonst was darunter Leiden. Deswegen sagte ich schon: lasst die kleinsten Teilechen recht groß sein, und wenn mehr Hadrwarepower im Laufe der Jahre üblich wird, lässt man die größe der kleinsten teilchen kleiner werden.
Wegen dem Quest: man kann doch zurück durch die Türe gehen.
Also wenn du etwas einkaufen willst was hast du für Möglichkeiten im ruchtigen Leben? Zu fuß, mit dem Auto, Bus, Zug, Hubschrauber... egal. Quest hast du erfüllt wenn du die Milch gekauft hast ;)

@all: also das mit der extra Physikkarte finde ich ein Wenig übertrieben. Grafikkarte sollten zur reinen ausgabeeinheit umfunktioniert werden und das ganze Spiel incl . ALLEn berechnungen sollte auf Multi-Core CPUs laufen.

@Child_of_Sun: du hast es genau falsch verstanden. Ich hab schon gesagt: es ist nichts für eine Firma die in 2-3 Jahren ein fertiges Spiel haben will.

Firmen tun siuch schwer mit sowas. Siehe Vorschau zur nächten CryEngine von Crytek. Blätter biegen sich nun weg wenn man durch Büsche läuft. Das ist ein guter Anfang. Aber: Ist die Kollision Blatt <-> Spieler wirklich 3D-Model Blatt <-> 3D Modell Spieler, oder nur irgendwelche quaderförmigen unsichtbaren Kollisionsboxen? Kann man das Blatt mit einem Messer zerschneiden weil es aus Zellen besteht?

Jetzt kommt bei vielen gleich wieder der einwand: Spielerisch uninteressant. Falsch. Wer nicht nur auf heutige 3D-Shooter steht und richtig flair und Atmosphäre erzeugen will muss auf jedes Detail achten.
Korrektes Lagerfeuer, Schnee der richtig liegen bleibt und etwas verdeckt (und schmelzen kann), Wasser das richtig fließt etc. wäre für mich so etwas.

Gruß

Child_of_Sun
02.10.05, 17:44
@stefan-tiger

Darum sagte ich ja auch das es schon angeschnitten wurde, wollte es noch etwas ausführlicher gestalten.

Ich finde deine Idee absolut faszinierend, jeder Spieler würde das Spiel anders wahrnehmen, z.B. wenn ein Blatt zerschnitten wird dann würde der Schnitt bei jedem anders aussehen, es käme auf die Stelle an wo man das Messer ansetzt, auf den Winkel und die Richtung in die/dem man schneidet, auf die Kraft die man aufwendet, usw.
Wäre es ein Community Projekt fände ich es als sehr wichtig das wenn es soweit ist das wirklich alles weitestgehend läuft es sehr einfache tools gibt um an dem Spiel zu arbeiten, damit z.B. auch der kleine 5 Jährige Tim der dieses Spiel über alles liebt etwas dazu beitragen kann, ich z.B. könnte anfangs nichts dazu beitragen, wahrscheinlich auch erst mit diesen Tools.

CoS

*EDIT* dem durch den ersetzt

The_Maegges
10.10.05, 14:06
Und zu den Grafikern: die würden eigentlich überflüssig werden, da das Aussehen eines Gegenstandes sich aus dem reflektierten Licht vom mikroskopischen ins makroskopische ergibt.
Nicht aus irgendwelchen Folien oder Poster (Texturen) die auf den Gegenständen kleben.

Sorry, das bezweifle ich stark.
Irgendjemand muss immer noch das 3D-Model bauen, es sei denn, du willst das hardcoden.
Dann brauchst du allein für z.B. ein Auto über ein Jahr.

Batosai
10.10.05, 14:12
Sorry, das bezweifle ich stark.
Irgendjemand muss immer noch das 3D-Model bauen, es sei denn, du willst das hardcoden.
Dann brauchst du allein für z.B. ein Auto über ein Jahr.

Warum? Es geht doch nicht um das 3D-Model, sondern um das Material.
Statt Texturen (die eben normalerweise von Grafikern erstellt werden) zu zu weisen, würde man einfach angeben, aus welchem Material das (Teil)Objekt besteht.


just my 2 cent
Batosai

stefan-tiger
10.10.05, 14:20
Sorry, das bezweifle ich stark.
Irgendjemand muss immer noch das 3D-Model bauen, es sei denn, du willst das hardcoden.
Dann brauchst du allein für z.B. ein Auto über ein Jahr.

Nicht hardcoden. Du verstehst das falsch.

Wenn man einen Baumstamm durchsägt und die Jahresringe sieht, dann ist das in heutigen Spielen allenfalls eine Textur mit Ringen.

Was ich meine: Das Aussehen der Gegenstände ergibt sich aus der Enginge. Sägt man einen Baumstamm durch soll man Jahresringe sehen weil sie einfach da sind (sich tatsächlich im Holz befinden).

Ein Anderes Bespiel: Der Lack eines Autos. Wenn man den abschmirgelt wird heutzutage eine andere Textur an diese Stelle des Fahrzeugs geladen.

Was ich meine: Die Engine hält wirklich übereinanderliegende Lackschichten parat die man beliebig abschleifen kann.

Daß man auf herkömmliche Textur-Grafiken verzichten kann man soweit ich weiß hier schon sehen: http://www.theprodukkt.com/kkrieger.html

langobarde
11.10.05, 06:26
Was ich meine: Die Engine hält wirklich übereinanderliegende Lackschichten parat die man beliebig abschleifen kann.

Was bedeuten würde, dass alle Texturschichten des Autos, des Baumes usw permanent nachgeladen werden müssten, der Speicherverbrauch wächst ins unermessliche ohne einen sichtbaren Erfolg. Wenn die Natur Texturen dynamisch nachladen könnte, ich glaube sie würde es tun :)
Ich finde die Idee aber Interessant, dass das Aussehen eines Körpers weniger von den Texturen, als von der Reflexion abhängig sein sollte. Ein Ansatz wäre, dem Licht auch im Computer unterschiedliche Wellenlängen zu geben, welche von Objekten beeinflusst werden könnten.

The_Maegges
11.10.05, 07:27
Daß man auf herkömmliche Textur-Grafiken verzichten kann man soweit ich weiß hier schon sehen: http://www.theprodukkt.com/kkrieger.html

Wo wird da auf herkömmliche Texturgrafiken verzichtet?
Ich seh da nen Haufen an Texturen drin.
Sogar Bump Maps...

Nur weil du die Textur als Datei nicht siehst, heisst es nicht, dass sie nicht da ist.
Das ist ein typisches "Demo-Szene"-Programm.
Die Textur ist da in der exe-Datei miteinkompiliert.

Ich ha mir mal Gedanken gemacht, wie z.B. das realistisch verbrennbare Holz realisiert werden müsste:

Du bräuchtest in der Mitte des Holzstücks eine doppelt verkettete Liste von "Holzteilchen", von denen jedes Teilchen mit seinen 4 Umgebenden Holzteilchen verbunden ist, wiederum doppelt verketten und auch von diesen Teilchen ist wieder jedes mit seinen nächsten 4 verkettet und so weiter...

Dann müsstest du Randommässig (Damit der Holzscheit nicht konstant kleiner wird) um die Flamme herum pro Tick ein Teilchen vom Rand entfernen.

Damit der Scheit eine Stunde brennt, bräuchtest du damit 3600x3600x3600 Teilchen, wenn wir von einem Würfel ausgehen.
Jedes Teilchen bräuchte noch zusätzlich folgende Informationen:
- Farbe 3 Byte
- Für eine realistische Verbrennung brauchst du Informationen zur Feuchtigkeit und zur Temperatur, weitere 4 Byte
Mir fallen grad keine weiteren Informationen ein, die man noch benötigen würde, aber allein damit braucht DER EINE HOLZSCHEIT schon 559.872.000.000 Byte, anders ausgedrückt knapp 600 Gigabyte an Speicher.
Und da ist der Speicher, den die verkettete Liste braucht nicht mal inbegriffen.
Dann kommen noch die entsprechenden Behandlungen, die jedes dieser Teilchen erfährt, will heissen, dass pro Tick 46656000000 Teilchen durchgegangen werden müssen und entsprechend bearbeitet werden müssen.
Der Knaller: Diese Teilchen verschwinden ja nicht, sondern bleiben als "Asche" im Speicher liegen.
Zugegebenermassen eine positive Sache hat diese Lösung: Durch die verkettete Liste kannst du die Umwandlung eines Teilchens recht einfach machen:
Ein oder mehrere Teilchen kann/können wieder eine neue Liste beginnen, indem du einfach den Zeiger umlegst.
Somit wäre auch z.B ein Durchbrennen eines Holzteils in zwei Teile machbar.
...Vorausgesetzt du hast entweder nen Cluster oder ne Cray.

Ich weiss, du hast an weniger "Moleküle" gedacht, aber selbst bei nur 100 Teilchen pro Holzseite kommst du auf 100x100x100 Teilchen, nach Adam Riese auch 1.000.000, macht schonmal ~7 MB Speicherbedarf nur für ein dämliches Stück Holz, das irgendwo abkohlt.

Zu den Grafikern:
Wenn ihr meint Grafiker = 2D Texturen und Modeler = 3D Models, ja dann braucht ihr keine Grafiker. Aber ohne Modeler wirds nix, denn du brauchst schon irgendwelche Vorgaben, nach denen die Teilchen aneinandergesetzt werden und dafür könnte man ein 3D-Model benutzen.
Ansonsten könnt ihr zwar wunderbare Materialien darstellen, aber um eben aus ner Holzoberfläche nen Baum zu machen, braucht ihr doch wieder Models.

The_Maegges
11.10.05, 07:38
Ach, bevor ichs vergesse:
Aus dem Grund haben sich auch Voxelengines nie durchsetzen können, da der Speicherbedarf einfach zu immens war.

Ausserdem: Das was du vorhast, ist kein Computerspiel mehr, sondern vielmehr eine interaktive Computersimulation.

Ein Computerspiel imitiert die Realität, während eine Simulation selbige berechnet.

drummermonkey
11.10.05, 08:24
Warum? Es geht doch nicht um das 3D-Model, sondern um das Material.
Statt Texturen (die eben normalerweise von Grafikern erstellt werden) zu zu weisen, würde man einfach angeben, aus welchem Material das (Teil)Objekt besteht.


just my 2 cent
Batosai
Genau das ist das Problem, wie willst du Mehrschichtige Hautschichten+allem was darunter liegt (die anderen organge z.b.) erstellen?

Das Komplette Thema ist IMHO sehr interessant, aber seeeeehr extreme Zukunftsmusik.
Wer will denn bitte die ganzen Objekte erstellen? ein haus mit tapete auszustatten bringt schliesslich nichts wenn sich unter der tapete nichts befindet...

Gruß

Roman

stefan-tiger
11.10.05, 14:25
...

Ich weiss, du hast an weniger "Moleküle" gedacht, aber selbst bei nur 100 Teilchen pro Holzseite kommst du auf 100x100x100 Teilchen, nach Adam Riese auch 1.000.000, macht schonmal ~7 MB Speicherbedarf nur für ein dämliches Stück Holz, das irgendwo abkohlt.....

Lass 1mm real (oder 1 cm) im Spiel 1 Teilchen sein. Das scheint auf den ersten Blick etwas grob, aber:

- Monitorauflösungen sind eh niedriger, so daß 1 Teilchen imermnoch kleiner als 1 Pixel wäre
- niemand wird in einem Spiel ein Holzscheit bildschirmfüllend betrachten (schon garnicht bis er abgebrannt wäre)

Das Spiel soll dadurch besser wirken und mehr Spaß machen weil die Interaktion erhöht wird.

Bei der 1 Teilchen/realem cm Auflösung würde nach deiner Berechnung eine ideale homogene Mauer von 2m Dicke, 30 m Länge und 5 m Höhe um die 36 MB Speicher belegen. (36 GB bei 1 Teilchen/realem mm)

Natürlich wäre sowas für das Gestalten eines Gesichtes o.ä. zu grob.
Aber die Rechenleistung steigt ja auch ständig.

Das Problem ist doch eher: wer will heutzutage schon Abstriche bei der Optik eines Spiel machen um die Interaktionsmöglichkeiten zu erhöhen? Niemand, zumindest keine Firma.

Mein Gedanke bringt aber erstmal ein optischen Einschnitt mitsich wenn die Rechenleitung nicht ausreicht die "Welt" so hoch aufzulösen wie man bei modernen 3D-Shootern den Eindruck hat.

Zudem würden viele Funktionen heutiger Grafikkarten brach liegen, denn diese haben etliche Funktionen etwas optisch vorzugaukeln.
Ein wölbung, die garnicht da ist z.B. (bumb mapping, wenn ichs richtig vertsanden hab was man damit macht)

Gruß

stefan-tiger
11.10.05, 14:44
Natürlich ist gedacht daß die Welt komplett aus Teilchen besteht, also auch Luft usw.

Bei 1cm Auflösung und einer Szene von 1km * 1km * 200 m wären das also 2,4 Petabyte Daten. Das ist natürlich gewaltig aus heutiger Sicht.

Für den Anfang würde aber reichen wenn man erstmal nur Objekte wie Fussboden, Wände usw. so kreieren würde. Ich denke das könnte mit heutigen Rechnern gehen.

Eine Modifikation der Idee wäre, wenn die Engine Objekte erstmal als ein einziges Teilchen (dessen Form durch mehrere Funktion beschrieben wird, also ähnlich heutiger 3D Gittermodelle) verwaltet, aber bei Deformation, Bruch oder chemischer Reaktion an den Stellen die betroffen sind das Objekt erst dann in kleinere Teile zerlegt damit diese etwas tun können.
(Umgekehrt sollte die Engine dannauch einen Klumpen von Teilchen wieder in ein einziges verwaltbares Objekt umwandeln können, sonst wird das Spiel umso rechenintensiver umso länger es läuft).
Teilchen könnten also (in Echtzeit ;) ) dort auftreten wo sie "gebraucht werden".


Achja, mir fällt grad ein, daß die 1 cm Auflösung für Wasser etwas grob wäre. Hier könnte man dann Optische Tricks auf die 1 cm Teilchen anwenden, damit es nicht aussieht wie Kies was da aus dem Wasserhahn kommt ;)
Aber man könnte endlich mal einen Fluß machen imdem das Wasser "wirklich" fließt.

revak
13.10.05, 18:02
Zum Community Projekt:
Das wird nichts, aus dem einfachen Grund weil die Comm größtenteils aus Hacker besteht. Nicht aus Grafikern (deswegen die blöd aussehenden Spiele), nicht aus Biologen, nicht aus Physikern.

Wozu gibt es Bioinformatiker? *ggg*

Nun aber im Ernst, ich denke kaum, dass diese Idee im Rahmen eines Computerspiels machbar ist, da das ganze wirklich in Richtung perfekte Nachbildung der realen Welt läuft.
Anders würde es aussehen, wenn es militärisches oder wissenschaftliches Projekt wäre, dort sind etwas mehr Ressourcen verfügbar. :-)
Das eine auf diesem Wege entwickelte Engine später auch für Spiele genutzt werden könnte ist jedoch nicht ausgeschlossen.

Es wäre zwar riesig, wenn man mit Atomen als Grundbausteinen arbeiten könnte um so chemische Reaktionen und später komplette Organismen zu simulieren, aber ich gehe nicht davon aus, dass ich einen solchen Entwicklungsstand noch erlebe. ;-)
Wobei das natürlich nochmal einen Schritt weiter ist, als die großteils unbelebte Welt.
Als weiterer Schritt dann eine komplett computersimulierte Evolution... *träum*
Aber ich schweife ab. ;-)

Molaf
13.10.05, 23:35
Als ehemaliger zwanghafter RedFaction-Spieler möchte ich auch meinen Senf dazugeben.

Wenn man sich die Spielwelten mit dem mitgelieferten Editor ansieht, kann man schön sehen wie alles zusammengesetzt ist. Neben einem unsichtbaren Käfig, der die maximale Bewegungsfreiheit festsetzt kann man die Spielwelten nur durch unzerstörbare Stahlbetonkörper begrenzen.

Im Gegensatz zum Unrealeditor beispielsweise bekommt nämlich jeder Körper sein Material, unabhängig von der Tapete. Sprengt man später ein Loch in 'kaputbares' Material, entsteht ein neues Objekt, ein Loch. Zusätzlich entstehen auch noch einige Brocken aus dem alten Material, die beispielsweise weiter gesprengt werden können. Es gibt aber eine Differenz zwischen Loch und Geröllmenge. Ausserdem verschwindet der Aushub nach einiger Zeit.

Was das Umwerfen von Türmen angeht, wenn die Pfeiler weggeschossen sind: Der Turm fällt durchaus um, wenn wirklich alles weg ist, d.h. keine hauchdünnen Reste der Pfeiler noch den Turm stützen. Ebenso fallen riesige Felsbrücken herunter wenn wirklich keine Verbindung mehr besteht. Andererseits bleibt die Brücke stehen, wenn nur ein fingerdicker Rest sie 'hält'. In der Realen Welt hätte das Drehmoment die Statik in Dynamik verwandelt, aber das ist ein Manko der Engine.

Wenn man grosse Objekte seiner Stützen beraubt, oder mit grosser Sprengkraft viele neue Lochobjekte in der Karte erstellt, dann bricht der Server kurz ein, ein Zeichen für sehr hohe Rechnerlast, je stärker, desto mehr sich ändert. Schiessen mehrere Leute auf poröses Material kann die Pause durchaus mal eine Sekunde in Anspruch nehmen.

Eine Verbesserung wäre, wenn regelmässig mit niedriger Priorität die Map nach statischen Gesichtspunkten abgegrast würde. Etwa dass vorstehende Felsnasen unter ihrem eigenen Gewicht wegbrechen.

Was mich an der RF-Engine gestört hat, war, dass der Flmmenwerfer keine stehenden Flammenfelder erzeugen konnte (Postal2 hat das später mit den selbstvergiessbaren Benzinpfützen teilweise geleistet), ausserdem konnte man sich nicht an den herabfallenden Glasscherben der vielen Dachfenster verletzen, auch konnte man aus grosser Höhe auf Glasflächen springen ohne diese zu zerstören. Auch dass der Aushub verschwindet mindert den physikalischen Effekt.

Vermutlich hält die Engine ihren einzigartigen Vorsprung noch lange Jahre durch diverse kleine Trivialpatente. Seit dem kam jedenfalls nichts Vergleichbares mehr heraus.


Aso, was die brennbaren Türen angeht: Man muss ja nicht jedes Molekül nachbilden, und cm-Würfel sind auch eher was für FEM-Durchläufe, wo der Effekt von allem auf alles errechnet wird. Geschickte Trickserei könnte alle Forderungen schon mit jetziger Technik machen.
Wenn eine Holztür also brennt, könnte man das doch durch ein paar zusätzliche Parameter regeln. Tritt ein Vandale nun eine brennende Tür in zwei Hälften, halbiert man einfach das bishere Türobjekt und gibt ein zusätzliches neues mit den kopierten Werten der alten Tür dazu. Ob sich eine Tür eintreten lässt, oder ob man schon mit einem Vorschlaghammer etwas ausrichten kann oder noch nicht, kann man über einen Festigkeitsparameter regeln, der durch den Brand herabgesetzt wird.

Ein brennender Holzscheit könnte ebenfalls über Parameter regeln wieviel Brennwert er noch hat, wieviel Festigkeit, wie gross die feste Ascheschicht aussen rum noch ist (und daraus, wie dick der innere Kern noch ist). Tritt nun jemand auf den Scheit, könnte man nach altem Trick einfach neue Objekte einfügen, um daraus das bisherige zu ersetzen. die Ascheschicht könnte als Partikelsystem als Staub aufwirbeln.

Achso, eine letzte Beobachtung noch: Beim alten UT (von 1999) kann es passieren, dass Körper ineinandergleiten, durch Klippingeffekte. Steht beispielsweise eine Spielfigur auf einer Rampe, so kann man aus nächster Nähe sehen, dass die Hacken in die Rampe eingesunken sind, die Zehen stehen über der Rampe.
Zerplatzt eine Spielfigur durch äussere Einwirkung, so entstehen mehrere Fleischbrocken und herumfliegenden Beine plus ein Schädel, die sich physikalisch verhalten und herumfliegen. Diese Körperteile können ebenfalls Kollisionen mit Raketen oder anderen Waffen haben, offenbar wurde also der einzelne Körper durch viele kleinere Objekte ersetzt.
Beim Nachfolger UT2003 stehen Spielerfüsse absolut korrekt auf einer Rampe, in genau der richtigen Neigung. Offenbar hat jedes Körperglied ein eigenes Objekt bekommen. Das führt auch zu den erstaunlichen Abrolleffekten, wenn eine tote Spielerfigur auf einem Hang ins Rollen kommt, und jedes Körperteil sich einzeln korrekt bewegt. Auch auf Schrägen sinken keine Körperteile in die umgebenden Flächen ein.

Tut mir leid dass der Beitrag so lang geraten ist.

BSM
15.10.05, 16:29
Also ihr mischt hier zwei Prinzipien.

Einmal die Simulation, wo man wirklich jedes Atom simulieren würde. Dann müsste man nurnoch ein paar Naturgesetzte einprogrammieren und fertig wäre das Spiel, weil sich über diese Simulation die Spielmechanik und weiteres Ergeben würde.
Habt ihr mal darüber nachgedacht, wie weit wir davon entfernt sind ein Gehirn zu "emulieren"? (WINBE - Wine is No Brain Emulator :ugly: )

Weiteres ein konventionelles Spiel, dass anders aufgebaut ist, durch eure "Klötze".
Das ist nicht mehr als ein aktuelles Spiel, dass durch Physik und andere Rasterung aufgewertet wurde. Hier braucht man immernoch Texturen (für jeden Klotz), die komplette Klotzphysik und eine Spielmechanik/logik. Was hier gesagt wurde von Klötzchen und Molekühlen führt IMO nicht zum Ziel weil unreadlistisch. Ausserdem braucht man hier wieder eine KI und so weiter, also alles beim alten.

Der unterschied zwischen beiden ist, dass das eine utopisch und das andere demnächst kommen kann wenn der Markt es wünscht.
Soviel dazu,

Gruss Robert