Si el momento en que un personaje se registra en la cuadrícula de visibilidad coincide con el momento en que un NPC cambia de celda, el mensaje de aparición de ese NPC puede perderse.
Por qué El procesamiento de una entrada, un cambio de canal o una teletransportación coincide en el mismo instante con el movimiento de un NPC → Efecto Ese NPC queda fuera del cálculo de “entidades que ahora son visibles” → En pantalla Solo unos pocos NPC concretos no se ven, o sigue ahí un NPC que ya se fue
Al moverse o cambiar de zona, De vez en cuando, al azar
Responsable
Responsable principal Desarrollo de servidor (Equipo de desarrollo)
Tareas (Equipo de desarrollo)
Procesar las actualizaciones de visibilidad en un solo hilo y en un orden fijo, volver a sincronizar periódicamente toda la “lista de visibles”.
En el gráfico
Picos aleatorios · Diferencias entre la lista de visibles del servidor y la lista de entidades del cliente
Dónde mirar
Registrar en el servidor, con el número de tick, el registro en la cuadrícula de visibilidad, los cambios de celda de las entidades y el envío de mensajes de aparición y desaparición, y comparar periódicamente la “lista de visibles” del servidor con la lista que tiene el cliente
Se confirma si
El NPC que falta cambió de celda en el mismo tick en que se procesó la entrada o la teletransportación de ese personaje, y no hay registro de envío de su mensaje de aparición
Se descarta si
Si el mensaje de aparición se envió pero el cliente no lo recibió o lo descartó, el problema está en la entrega (“Pérdida de la ráfaga de mensajes de aparición al entrar”, “Mensajes de aparición descartados durante la carga”). Si siempre falta el mismo NPC, apunta a “Diferencias de canal, instancia o phasing” u “Opciones de visualización distintas”
Se verifica con
Requiere logs y métricas del servidor o el cliente del juego
Fuentes
Replication Graph in Unreal EngineEpic Games Los MMORPG, entre otros, dividen el mundo en una cuadrícula con una lista de actores por celda y envían según la celda en la que está el cliente
Actor Relevancy in Unreal EngineEpic Games La relevancia se decide por conexión, y los actores que dejan de ser relevantes se borran en el cliente