C#, XNA, physics, math, optimizations and more
I did a game on farseer for WP7 (Air Soccer Tour) I am doing a multiplayer version (peer to peer basicaly with a non-authoritative server in the middle that is just relaying messages) for it and no matter how synced I try to make it, the game diverges very soon. its a 6meter x 10 meter world with just 7 objects and you can swipe player objects (circles) to kick the ball towards the goal etc. When player 1 swipes one of his strikers, I delay the actual ApplyImpulse by 15 simulations steps and make sure it reaches the other phone so they can both apply the impulse in the SAME simulation step. Still game diverges. I read your article on floating point vs fixed point but will I have to re-code portions of farseer to make it fixed point? Any otehr suggestions?
There will always be a variable delay when working with networking. This can cause a considerable lag if the clients are not synchronized properly.Have a look at this article:http://www.flipcode.com/archives/Network_Game_Programming-Issue_07_I_bent_my_Wookie.shtmlThe issue it probably not related to the use of floating point numbers, but rather the timing of the impulses. Farseer Physics Engine is deterministic, this means that given the same input in two worlds that are identical, they will behave the same way.
Will you continue working on Farseer?
Yes, I will continue to work on Farseer whenever I get some spare time.
HelloI’m working on game development magazine – Game Coder Mag Physics – aimed mostly at professionals and those who study to work in the field of game development in the future.I’m looking for authors for the next issue devoted to collision detection. But if You would like to chose other topic there won't be a problem. Please let me know if you'd be interested in writing an article for the magazine by mail email@example.comBestAdam Aleksander Robakiewicz