Also jetzt mal im Ganzen...
Ich programmiere eine Spielphysik für Billard. Das Spiel soll aber nicht auf einem System laufen, sondern via Mulitplayer auf mehreren Systemen (Smartphones). Man muss gewisse Informationen übertragen, damit ein Stoß auch beim Gegner ausgeführt werden kann.
Ignorieren wir mal sonder Sachen wie die weiße Kugel nach einem Foul neu setzen oder Spielende, so sind es lediglich X-Vektor, Y-Vektor und Energie des Stoßes der weißen Kugel. Der Rest sollte auf beiden Systemen gleich berechnet werden.
Zur Sicherheit gibt es zwar einen Abgleich aller Kugelpositionen nach Berechnung des Stoßes und der Animationen (das heißt, beide Systeme wieder auf den gleichen Stand bringen), bei falsch Berechnung würden dann aber die Kugel hüpfen. Im schlimmsten Fall führt eine falsche Berechnung sogar dazu, dass eine Kugel via Animation in einem Loch verschwindet und sie nach Abgleich der Kugelposition doch wieder auf dem Tisch erscheint. Sowas möchte ich wenn möglich umgehen.
Die Option alle Frames zu übertragen möchte mein Auftraggeber nicht. Es soll Traffic gespart werden.
Wenn Javascript immer im gleichen System Rechnet (32,64,128,"mir egal" Bit), ist für mich alles super. Dann springen die Kugeln nicht. Ob die Kugel nach dem Stoß minimal anders läuft als sie sollte ist mir dann auch ziemlich egal, solang sie garantiert auf beiden Geräten "falsch" läuft.
Sollte Javascript auf zwei Geräten zu unterschiedlichen Ergebnissen kommen, dann würde ich dies gerne mal mit eigenen Augen sehen, testen und dann mittels der decimal "Bibliothek" korrigieren - dies aber auch wieder testen bzw. sehen, dass es korrigiert wurde.
Also gibt es für mich zwei weitere Verfahrensmöglichkeiten.
- Javascript arbeitet wie du sagst immer im 64 Bit Modus - dann ist alles super!
- Javascript arbeitet in unterschiedlichen Bit Modi - dann würde ich gerne wissen, wie ich das einmal sehen kann. Gerne mit Browser Erweiterung, Smartphone App oder wie auch immer
Gruß
T-Rex, der bringt den Stein ins Rollen!