estoy desarrollando un juego de rol multijugador, (No, no es un MMORPG;).Multijugador suave movimiento
Mi configuración actual es así.
El cliente le dice al servidor "Quiero avanzar"/"Quiero ir hacia atrás", el servidor luego actualiza su entidad, e informa a todos los clientes en el área sobre el cambio. El servidor también está actualizando cada entidad cada 20 ms y enviando actualizaciones cada 100 ms a los clientes, estas actualizaciones contienen posición, velocidad, rotación, etc.
Hasta ahora todo bien, pero no tengo nada reservado para suavizar el movimiento entre los paquetes del lado del cliente, y debo decir que no puedo hacerlo funcionar. He estado leyendo sobre la predicción, la interpolación, el engaño, pero todo es un gran desastre para mí.
Así que ahora estoy haciendo algo así como "Position = Packet.Position", que causa un movimiento muy tartamudo.
Entonces, con lo que quiero ayuda es, ¿cómo obtengo un movimiento más suave? He estado mirando la muestra de predicción de XNA, pero no pude hacerlo bien.
Gracias // F
¿Necesita suavizar el movimiento del jugador u otros objetos también? ¿Conoce el cliente la velocidad actual del jugador? – ssmir
Bueno, actualmente solo tengo jugador, esa es mi principal preocupación. El cliente conoce la velocidad, está incluida en el paquete de estado del servidor. En realidad recibí una buena respuesta en el IRC, lo intentaré mañana y si es exitoso lo compartiré. –