Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!
Werbeanzeige
Mastermind
unregistriert
Blue Cobold redet diesbezüglich leider von einer Idealwelt ohne numerische Probleme.
Nein, ganz und gar nicht. Ich habe von Anfang an gesagt, dass iterative System numerisch instabil sind. Ich verwende daher keine iterativen Systeme, sofern das möglich ist.
[...]
Generell vermutlich bei fast jedem Arcade/Puzzle/Knobel/Jump'n'Run/Adventure/Casual.
Zitat
x = start_x + passed_time * ( velocity + 0.5 * passed_time * acceleration )
Quellcode |
|
1 2 3 4 5 6 7 |
x = start_x; for(i...) { x+=passed_time[i] * (0.5 * passed_time[i] * acceleration[i]) } |
Community-Fossil
Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer
Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von »BlueCobold« (16.02.2011, 08:51)
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »DerMark« (16.02.2011, 11:34)
Mastermind
unregistriert
Zitat
passed_time in meinem Beispiel ist übrigens *nicht* die Frametime, sondern die Zeit, die seit dem Start der Bewegung vergangen ist. Ich dachte die physikalische Formel für die abgelegte Strecke eines geradlinig beschleunigten Objekts sei so weit bekannt, dass sie jeder gleich erkennt.
Zitat
Die Notwendigkeit der Verwendung von Timeframe-basierten Simulationen ist hier bei uns im Hobbybereich zu 95% nicht gegeben
[...]
Und in welchem Fall gibt es denn veränderliche Beschleunigungen? Bei einer Auto-Simulation vielleicht. Habe ich hier noch keine gesehen, sorry.
Übrigens ist bei all den Physik-Engines sowie auch bei eigentlich allen mir bekannten Onlinespielen die Spielmechanik-Update Rate einstellbar. Damit ist die unterliegende Logik eben doch zeitflexibel.
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Mastermind« (16.02.2011, 14:52)
Übrigens ist bei all den Physik-Engines sowie auch bei eigentlich allen mir bekannten Onlinespielen die Spielmechanik-Update Rate einstellbar. Damit ist die unterliegende Logik eben doch zeitflexibel.
Zwischen "beliebig aber konstant" und variabel ist ein unterschied wie Tag und Nacht.
Die Schrittlänge ist bei diesem Ansatz irrelevant und das Ergebnis immer deterministisch und sogar numerisch stabil, ganz im Gegensatz zu den numerischen instabilen Varianten, die nur deshalb nicht aus dem Ruder laufen, weil große fixe Schrittlängen gewählt und die Fehler klein gehalten werden.
Community-Fossil
Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer
Die ganze Diskussion wegen numerisch stabil: Solange es Singleplayer ist, interessiert es doch keine sau, ob der Gegner jetzt nach ner Minute n Meter weiter Links und rechts steht. Der Spieler merkt den unterschied überhaupt nicht, also ist es egal.
Werbeanzeige