Java-Gaming.org
Play Revenge of the Titans! The situation is critical. We need fancy commanders to defend Earth, the moon, Mars!
Featured games (78)
games approved by the League of Dukes
Games in Showcase (406)
games submitted by our members
Games in WIP (293)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
 
    Home     Help   Search   Login   Register   
Pages: [1]
  ignore  |  Print  
  Best way to sync physics between client/server?  (Read 1588 times)
0 Members and 1 Guest are viewing this topic.
Offline Jacob_

Junior Member


Projects: 3



« Posted 2010-04-12 01:49:15 »

I've been working on integrating networking into my sandbox game. Right now, the way I'm handling the physics is letting the clients do their own simulating, and having the server send 2 sync packets: linear and angular velocity every second, and position every 3 seconds. Sounds good, but lag (even when the client and server are both localhost) causes problems when more than a few bodies are in the world. Is there a better way to do this?

This is a 2D game, I'm using the JBox2D engine.

Right now I'm doing physics and drawing in the same thread, so I guess that could be part of the problem.
Offline delt0r

JGO Coder


Medals: 18


Computers can do that?


« Reply #1 - Posted 2010-04-12 16:06:00 »

My physics uses all ints/longs so that once things are "synced" they stay synced. Then I progress frame by frame, with hash checks on the state. All events are "synced" up on the same frame in all clients. The server tells them what frame events happen on. If a client gets out of sync it missed an event --it regets the events from the last correct hash check. and then "replays" as fast as it can to catch up. 

I have had no problems with 100k things, boids and simple physics.

Note that with strict match you could get the some syncing, but ints are easier on the network.

I have no special talents. I am only passionately curious.--Albert Einstein
Pages: [1]
  ignore  |  Print  
 
 
You cannot reply to this message, because it is very, very old.

Play Revenge of the Titans! The situation is critical. We need fancy commanders to defend Earth, the moon, Mars!
 
Get high quality music tracks for your game!

Add your game by posting it in the WIP section,
or publish it in Showcase.

The first screenshot will be displayed as a thumbnail.

The invasion has landed! On Mars! And you're there to beat 'em!
cubemaster21 (84 views)
2013-05-17 21:29:12

alaslipknot (92 views)
2013-05-16 21:24:48

gouessej (123 views)
2013-05-16 00:53:38

gouessej (115 views)
2013-05-16 00:17:58

theagentd (127 views)
2013-05-15 15:01:13

theagentd (114 views)
2013-05-15 15:00:54

StreetDoggy (158 views)
2013-05-14 15:56:26

kutucuk (180 views)
2013-05-12 17:10:36

kutucuk (180 views)
2013-05-12 15:36:09

UnluckyDevil (187 views)
2013-05-12 05:09:57
Complex number cookbook
by Roquen
2013-04-24 12:47:31

2D Dynamic Lighting
by Oskuro
2013-04-17 16:46:12

2D Dynamic Lighting
by Oskuro
2013-04-17 16:45:57

2D Dynamic Lighting
by Oskuro
2013-04-17 16:23:20

Noise (bandpassed white)
by Roquen
2013-04-05 17:36:01

Noise (bandpassed white)
by Roquen
2013-04-03 16:17:38

Java Data structures
by Roquen
2013-03-29 13:21:12

Topic Request
by kutucuk
2013-03-22 21:42:01
Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines | Managed by Enhanced Four Valid XHTML 1.0! Valid CSS!
Page created in 0.249 seconds with 20 queries.