Estoy pensando en implementar un HTML5 mmog donde hay un objeto de ejecución rápida involucrado. Los jugadores cambian constantemente la dirección de ese objeto al dispararle. Pensé en WebSockets etc. (socket.io) y canvas.WebSockets rendimiento
Supongo que el cálculo del cambio de dirección debe hacerse cliente-Y en el lado del servidor y luego sincronizado-con el servidor siendo maestro para evitar hacer trampa.
Mi preocupación es que, independientemente de qué tan rápido sea el servidor, la latencia causará un retraso y, por lo tanto, eliminará la sincronización.
¿Hay una buena manera de resolver este rompecabezas? Cómo lograr la sincronización en tiempo real de esta cantidad de datos donde toda la información es fundamental para no perder un cambio de dirección. Todos los jugadores deben obtener la nueva dirección del objeto en movimiento sin demora para no dañar el juego.
Supongo que este problema se ha resuelto en los mmogs existentes.
¿Alguna idea?
Puede enviar una marca de tiempo con cada acción y luego hacer que el servidor inserte la acción de manera retroactiva en el momento apropiado. (Esto no resuelve completamente su problema, ya que los jugadores pueden hacer trampa cambiando la marca de tiempo y los jugadores aún no verán el cambio hasta más tarde. Sin embargo, reducirá los problemas de retraso y no podrá transmitir los datos instantáneamente, no importa lo que haga.) – someone
las marcas de tiempo basadas en el cliente nunca serán precisas. Mi reloj está a 2 minutos cuando escribo la publicación. – Marc
La pregunta principal es si hay una manera de sincronizar una gran cantidad de datos, agregados a partir de pequeños mensajes (los disparos de un jugador/cambios de dirección) con una gran cantidad de conexiones, en tiempo real. – Marc