#990 Hombre obviamente eso lo tengo en cuenta y ayuda a eliminar parte de los redundantes pero mira voy a intentar poner otro ejemplo.
Estamos 8 conectados y necesitamos mover una casilla a la derecha. Ok imagínate que enviamos 7 derecha por que la imagen que todos tienen en el stream es que se necesita mover y ademas nadie sabe lo que ha puesto el resto.
De esos 7, 4 no se tienen en cuenta por que llegan muy juntos y se consumen cuando esta en mitad de un movimiento por lo que comentas, el resto 3 se traduce en tres movimientos a la derecha, esto es así por que aunque es cierto lo que comentas también es cierto que los 7 movimientos no llegan de golpe si no que llegan con una separación (cada persona tiene un lag distinto, tarda distinto tiempo en reaccionar y escribir, etc..) y esa separación puede ser suficiente para que haya terminado de mover el primer comando a la derecha y se acepten nuevos.
Entonces si nadie manda un start habrán movimientos redundantes e innecesarios hacia la derecha. Si aparece un start cuando solo se ha procesado 1 movimiento de los 3 entonces los otros dos se consumen en el menu y ademas deja un tiempo para que empiecen a llegar comandos acorde a la nueva posicion .
Dicho de otro modo, si hay 20 segundos de retardo en la imagen, si se consumiera un comando de movimiento y luego estuviera el menu start abierto 20 segundos seria perfecto por que daria tiempo a todos tener una imagen de la posicion real