por Valgarv » 06 Mar Ene, 2009 03:22 Mar 
			
			Creo que a veces según cómo se traten los datos (de manera local o de manera remota, local-side/server-side en inglesico) cada cliente puede ver una cosa u otra, si los datos de algo (movimiento de algún otro jugador, comportamientos de la IA, cifras como el daño o la curación, acontecimientos como montarse en un vehículo, etc). Un cliente (jugador) puede tener una conexión lenta y tener datos que a otro jugador con otro tipo de conexión más molona ya le hayan llegado hace tiempo. De ahí surge el lag y que a veces haya cosas que se desincronizan, esto pasa mucho en emuladores que usan kaillera, que al transmitir sólamente las órdenes que se dan (o sea, las pulsaciones de botones), puede pasar que para uno la acción del personaje se vea antes que otra y viceversa, por ejemplo, pongamos una partida a Streets of Rage en kaillera, tu personaje se mueve bien, pero los movimientos del compañero pueden llegar tarde y para el compañero pasa lo contrario, ve tus movimientos después. Esto crea asincronía: puedes despachar a un macarra que tu compañero creía haber despachado ya y ver cómo el otro da puñetazos al aire.
En aplicaciones netamente online, como MMORPG's, la diferencia de velocidad de conexiones se soluciona resolviendo todas las peticiones de los clientes recibidas en un tiempo (mínimo, debe tender a cero) en el server (server-side) y mandando una respuesta exacta a todos los clientes, para que no se desajuste nada. Por ejemplo, en PSU, golpeas y tras un tiempo sale la cifra de tu golpe, esa cifra sale para todos o para ninguno, pero para todos igual.
Otra solución conjunta con la de arriba es echar al jugador cuya conexión empieza a presentar inestabilidad pudiendo desencadenar errores de sincronía en el servidor (en el PSU el conocido error 057, sufrido por mí varias veces jugando desde aquí).