Ich habe kürzlich diese beiden Edelsteine gefunden:
http://dan-ball.jp/en/javagame/dust/
Meine Frage ist: Wie wird die Physik mit so vielen Elementen effizient gehandhabt? Unterschätze ich die moderne Rechenleistung nur stark oder ist es möglich, ein "nur" zweidimensionales Array zu haben, von dem jede Zelle beschreibt, was an der entsprechenden Position platziert wird, und das jede Zelle in jedem Schritt simuliert. Oder gibt es komplexere Dinge wie das Zusammenfassen großer Bereiche derselben Art in einem einzigen Datensatz und das Trennen des genannten Satzes nach Bedarf?
Gibt es Open-Source-Spiele wie dieses, die ich mir ansehen könnte?
physics
efficiency
Marc Müller
quelle
quelle
Antworten:
Es gibt sicherlich einige; Ich habe sie modifiziert. Beachten Sie, dass sich die Links auf Forenthreads und Quelldownloads beziehen. Die beiden, an die ich mich am besten erinnere, sind:
EngimaSand von xavierenigma ( C ++ | Java ) Das Java ist neuer.
BurningSand von sieben ( C ++ ) Dieser ist physikalisch sehr schnell.
Die Seite ist leider dem Tode nahe, aber es gibt mehrere Threads hier über Physik.
EDIT: Für alle Interessierten, ich habe die Java - Quelle für EnigmaSand mediafire'd hier .
quelle
Die Physik in diesen Spielen wird unter Verwendung eines Systems simuliert, das auf einem komplexen zellularen Automaten basiert . Es ist erheblich komplizierter als das, das beispielsweise in Game of Life verwendet wird, und enthält Funktionen, die bedeuten, dass es wahrscheinlich keine ordnungsgemäße Zertifizierungsstelle ist, aber es ist immer noch relativ einfach zu berechnen und das schon seit Jahren. Nicht zu sehr ins Detail gehen, aber die Komplexität des Algorithmus wird ziemlich klein sein, vielleicht sogar O (Bereich).
Es sieht so aus, als gäbe es auch eine gewisse Schwarmintelligenz, die auch für die interessanten Effekte, die sie erzeugen kann, überraschend effizient ist.
quelle
Vor vielen Jahren begann Jos Stam , seinen Quellcode für Flüssigkeitslöser herauszubringen. Es gibt einen sehr kurzen Code, der ein Gitter erstellt und die Navier-Stokes-Gleichungen sehr schnell löst. Die vollständige Quelle finden Sie auch auf seiner Seite.
quelle