Bueno, estoy haciendo una pequeña prueba a ver si soy capaz de implementar el asunto.
Mas o menos ya lo entiendo y empieza a funcionar.
Básciamente, lo que no entiendo es como implementar el "client side prediction". Entiendo el concepto y por que se hace. Como el imput del usuario tiene que ir al servidor, aquel realiza el movimiento, y envia de nuevo la posicion al cliente, existe un tiempo de espera (latencia) desde que el usuario pulsa la tecla hasta que puede ver que su muñequito empieza a moverse. Y entiendo que ese prediccion se basará en en el input del usuario. Pero no se como hacerlo :(
Me explico...
El link que ha puesto vicho, muestra como realiza la prediccion mediante la funcion clientCorrection. Pero no explica (o al menos yo no lo cogo) que es una correccion y cuando la envia el servidor al cliente. Ademas, no tengo claro si la prediccion se debe de realizar solo con el objeto que mueve el usuario o con todos los objetos que se mueven (de otros usuarios o del server). Imagino que no.... pero en ese caso como hago que el movimiento de los otros objetos sea suave. Para no pasarme con el ancho de banda, envio las posiciones de los objetos cada 100 msec o cada vez que el servidor recibe un cambio en el input de dicho objeto. Por lo que los objetos se me mueven un poco a trompicones...
En fins... que si pruebo lo que he hecho en LAN y con envios cada 10msec la cosa va bien... pero con lag debe de dar miedo. :(
Mas o menos ya lo entiendo y empieza a funcionar.
Básciamente, lo que no entiendo es como implementar el "client side prediction". Entiendo el concepto y por que se hace. Como el imput del usuario tiene que ir al servidor, aquel realiza el movimiento, y envia de nuevo la posicion al cliente, existe un tiempo de espera (latencia) desde que el usuario pulsa la tecla hasta que puede ver que su muñequito empieza a moverse. Y entiendo que ese prediccion se basará en en el input del usuario. Pero no se como hacerlo :(
Me explico...
El link que ha puesto vicho, muestra como realiza la prediccion mediante la funcion clientCorrection. Pero no explica (o al menos yo no lo cogo) que es una correccion y cuando la envia el servidor al cliente. Ademas, no tengo claro si la prediccion se debe de realizar solo con el objeto que mueve el usuario o con todos los objetos que se mueven (de otros usuarios o del server). Imagino que no.... pero en ese caso como hago que el movimiento de los otros objetos sea suave. Para no pasarme con el ancho de banda, envio las posiciones de los objetos cada 100 msec o cada vez que el servidor recibe un cambio en el input de dicho objeto. Por lo que los objetos se me mueven un poco a trompicones...
En fins... que si pruebo lo que he hecho en LAN y con envios cada 10msec la cosa va bien... pero con lag debe de dar miedo. :(