sichuan
14-08-2006 16:40:58
let same inputs occured on same timestamps,
the result will be the same?
I try to do this, but the programs have different valus on Intel and AMD
walaber
14-08-2006 21:42:59
different architecture results in different simulation results. check the "setArchitecture" command, this should make it possible to create deterministic results on different processors.
sichuan
15-08-2006 03:12:18
I try to use setSolverModel and setPlatformArchitecture to adjust.
But the floating number is drift on the same procedure.
Are there any other instructions I need to take care of?
walaber
15-08-2006 05:55:52
hmmm... those are the only instructions that I know. how big are the differences?
sichuan
15-08-2006 09:23:49
Each machines ( AMD and Intel ) have two cars.
Its value of positions drift between 0.1 to 0.000001 while the error occured at the frist time. ( and become large afterward )
Does the flow of all actions in the program need to be same in order?
i.e. create A car first, and then create B car. Although all create() in the same timestamp
i.e. set input into B car first, and then set Input into A car. Although all set() in the same timestamp
Ont only control update() and be care of timestamp, but also execute other instruments in same order?
walaber
15-08-2006 17:01:18
i don't think the order of creation should affect it...
are you trying to synchronize over a network?
sichuan
16-08-2006 03:44:59
Is it possible to synchronize over a network with Newton Game Dynamics?
walaber
16-08-2006 04:58:59
yes. you need to choose one simulation as the "authority", and update the other simulations periodically to stay in-sync.
the most common solution is to send "absolute" packets (pos, orientation, velocity, omega), and let the local simulation "fill in" until a new packet arrives. if the packets arrive frequently enough, everything looks great and stays in sync.
sichuan
16-08-2006 05:45:34
The program send packets ( pos, orientation, velocity and omega ) every frame. Is this the only method for network dynamics?
I try to send packets ( throttle, brake and steer ) every round.
The machines collect it ( include the local input ), and then play in order ( timestamp also ).
Sometimes, the results were perfect, But mostly the results were not sync.