Estoy trabajando en un simulador de combate espacial que tiene lugar en áreas relativamente vastas (un cubo de espacio ~ 20 minutos luz por lado) y utiliza (en su mayoría) física realista. Uno de los elementos clave que quiero modelar es la velocidad de propagación de la información en el espacio de batalla, es decir, si el jugador A activa su impulso principal en un lado del espacio de batalla, hay un retraso de 20 minutos antes de que el jugador B lo vea y puede reaccionar a eso
Incluso para espacios de batalla relativamente pequeños, este es un factor importante dada la velocidad involucrada. Un barco de 500 m de longitud que haga 30kps se desplazará por completo en 1/60 de segundo, por lo que incluso atacar a un oponente a solo unas décimas de segundo de luz se verá afectado por el retraso de la luz.
No he visto esto antes, y me pregunto si hay algunas mejores prácticas para modelar esto. En este momento estoy marcando la hora de cada evento y marcándolo con una ubicación, poniéndolo en una cola, y luego cada marca comprobando para ver si alguno de los objetos en el mundo del juego está nuevamente en el borde del cono de luz y agrego el evento a su cola de sensores. Lo optimizaré (pero aún no lo he hecho) eliminando cualquier evento que ya haya sido detectado por todos los objetos que posiblemente puedan sentirlo, pero aún así, creo que esto se volverá bastante engorroso y comerá mucho de ciclos si hay cientos de objetos de detección en juego (lo cual es bastante rutinario).
¿Hay modelos de datos que serían más adecuados para esto que debería consultar?