Estoy jugando con un simple juego de cueva basado en Canvas y me gustaría convertirlo en multijugador eventualmente. El plan es usar Node.js en el lado del servidor.
Los datos enviados consistirían en la posición de cada jugador, dirección, velocidad y demás. Los movimientos del jugador son simples físicas de fuerza, por lo que debería poder extrapolar los movimientos antes de la próxima actualización del servidor.
¿Algún consejo o mejores prácticas en el lado de las comunicaciones? Supongo que los sockets web son el camino a seguir. ¿Debo enviar información en cada pasada del ciclo del juego o con intervalos específicos? Además, no me importa si no funciona con navegadores antiguos.
fuente
Sugeriría mantener las cosas separadas.
En Stendhal, que es un MORPG 2D escrito en Java, hicimos lo siguiente y funciona bastante bien:
La comunicación entre el cliente y el servidor se realiza mediante acciones y percepciones:
Hicimos algunos "trucos" para obtener un rendimiento adicional:
fuente
Use socket.io , es una práctica biblioteca de abstracción de WebSockets que proporciona fallos para navegadores que no la admiten.
Además, si está buscando un modelo en línea como ese, recomendaría mover el procesamiento del juego al servidor. De esa manera, solo necesita comunicar los cambios gráficos y la entrada del mouse / teclado. También ayuda bastante para evitar las trampas.
fuente