Saltar la navegación

5.1. Sincronización entre participantes

Los dispositivos conectados a Internet pueden no estar sincronizados. Eso significa que el reloj del ordenador de un jugador tiene una hora, y el reloj de otro participante, otra. Pero incluso aunque en un instante tuvieran registrada la misma hora, con precisión de milisegundos, cada reloj podría seguir un ritmo diferente.

Además, dependiendo de la potencia del ordenador o la consola, el equipo de cada jugador podría estar ejecutando distinto número de fotogramas por segundo, e incluso calcular más eventos o acciones que otro. Esto supone un problema, si se espera que todos los jugadores experimenten las mismas acciones y conserven el mismo estado del juego.

Para mitigar este problema, se define un reloj virtual [source-sdk]. Este reloj no es más que un contador que contabiliza el turno de jugada. Así, en lugar de que el juego tenga en cuenta el tiempo transcurrido en unidades de tiempo, lo que hará es tener como referencia el turno de juego. Este turno viene acompasado con la frecuencia de actualización de información por parte de los jugadores. Así, aunque un ordenador o consola tenga una velocidad diferente a la de otro jugador, cada acción y cada actualización se harán con respecto al reloj virtual, o turno.