Hay varias cosas que puedes hacer.
Puede centralizar todos los objetos físicos en el servidor y sincronizar las coordenadas con los objetos de los jugadores en todos los clientes. Esto es lo más fácil y funciona sin muchos defectos, sin embargo, utiliza muchos recursos y requiere mucho ancho de banda. Puede optimizar el uso del ancho de banda enviando solo valores al reproductor de otros reproductores que se encuentren dentro de un determinado radio.
Puede hacer lo que mencionó Neenster y hacer que el servidor y los clientes simulen la física, de vez en cuando el servidor corregirá a los clientes. Esto significa que todos los clientes calculan su propia física para cada jugador, y usted sincronizaría los eventos de pulsación de teclas en el servidor, dando la trayectoria de cada jugador en cada cliente. Cada 5 segundos, el servidor transmite su simulación física y todos los clientes aceptan el cambio. Esto puede crear ligeras compensaciones que pasan desapercibidas la mayoría de las veces, pero durante el retraso de la red y la pérdida de paquetes (inevitable con UDP de alto tráfico) notará que su jugador y / u otros jugadores parpadean en la pantalla y cambian de posición rápidamente y entrecortada (es que ¿palabra?).
Puede hacer que cada cliente calcule su propia física y sincronice sus coordenadas. Esto hace que sea difícil simular la física en objetos compartidos entre clientes. Es un concepto bastante complejo de implementar si desea hacer algo elegante, porque cierto objeto no necesariamente pertenece a ningún cliente.
El primero es probablemente el más fácil y debería permitirte tener alrededor de 4-5 jugadores con poco retraso. Se requeriría que cada partido tenga su propio servidor. Si está haciendo coincidencias LAN, este es sin duda el camino a seguir.
El segundo es probablemente el más práctico, sin embargo, puede ser difícil de implementar. También es bastante ingenioso ejecutar simulaciones físicas en el servidor. Si tiene servidores centralizados, probablemente necesite equilibrar la carga en varias máquinas, tal vez permita 10 coincidencias por servidor, cargue nuevas coincidencias en el servidor con la menor cantidad de coincidencias.
El tercero es definitivamente el menos estresante en el servidor, y es probablemente la mejor solución si está haciendo un esquema de red de igual a igual. Como mencioné, puede ser difícil sincronizar objetos que no sean su objeto de jugador porque esos objetos también pueden ser alterados por otros clientes.
No puedo decirte cuál usar porque no sé cómo funciona tu juego. Todo lo que puedo hacer es darte los hechos. Si tiene más preguntas, no dude en comentar.