한국어English日本語简体中文繁體中文DeutschไทยTiếng ViệtРусскийPortuguês (Brasil)EspañolBahasa Indonesia

Libro blanco del lag en juegos › Diseño del netcode

Sin búfer de inputs para habilidades No input/spell queue

ID de la causa sy-no-queue · Responsable principal Desarrollo de cliente (Equipo de desarrollo) · También Desarrollo de servidor (Equipo de desarrollo)

Abrir la ficha interactiva con gráficos y simulaciones →

Si no se puede presionar la siguiente habilidad hasta que el servidor confirme que terminó la anterior, cada combo arrastra un tiempo de ida y vuelta.

Por qué El input de la siguiente habilidad solo se acepta “después de confirmarse la anterior” → Efecto Entre una habilidad y la siguiente queda un hueco del tamaño del ping → En pantalla Aparecen huecos en cada combo, y cuanto más ping, menos DPS

Síntomas
Input lag, Acción perdida / rollback
Factores
Latencia
A quién afecta
Solo yo, Solo una función
Cuándo
Al hacer ciertas acciones
Responsable
Responsable principal Desarrollo de cliente (Equipo de desarrollo) · También Desarrollo de servidor (Equipo de desarrollo)
Tareas (Equipo de desarrollo)
Cliente: añadir un margen de búfer de inputs que acepte también los inputs hechos cierto tiempo antes de que termine el cooldown (p. ej., 0.3–0.4 s) y los envíe de inmediato al servidor. Servidor: no rechazar los inputs que llegan un poco antes y ejecutarlos en el instante en que termina el cooldown.
Cifras de referencia
En un combo de habilidades con cooldown de 1 segundo, con 150 ms de ping queda un hueco de 0.15 s o más entre cada una, y el número de habilidades usadas en el mismo tiempo baja más de un 13%.
En el gráfico
Siempre alto · Hueco entre habilidades, RTT (ping)
Dónde mirar
Registrar en el log del servidor, por personaje, la hora en que terminó el cooldown, la hora en que llegó la solicitud de la siguiente habilidad y la hora en que se ejecutó, y comparar el hueco con el RTT del jugador
Se confirma si
Entre el fin del cooldown y la ejecución de la siguiente habilidad siempre queda un hueco de aproximadamente el RTT, y cuanto más ping tiene el jugador, más largo es el hueco y menos habilidades usa en el mismo tiempo
Se descarta si
Si el hueco es constante sin importar el ping, es una cuestión de diseño (cooldown global o duración de las animaciones). Si el hueco solo se dispara de vez en cuando, revisar jitter, pérdida de paquetes o “Tick que excede su presupuesto”
Se verifica con
Requiere logs y métricas del servidor o el cliente del juego
Para saber más
Por ejemplo, World of Warcraft tiene un margen de búfer de inputs que el jugador puede ajustar en la configuración. Si el margen es mayor que el tiempo de ida y vuelta, el ping casi no se nota entre las habilidades del combo.

Fuentes

  1. Latency and Player Actions in Online Games (Communications of the ACM, 2006) ACM
    En EverQuest 2, cuanto más sube la latencia, menos daño hace el personaje y más dura el combate (de 0 a 500 ms, unos 5 segundos más en un combate de unos 2 minutos)

Ver también

Misma capa: Diseño del netcode

Causas de otras capas con el mismo síntoma (Input lag)

Ver la ficha interactiva con gráficos y simulaciones