Je travaille sur une simulation de combat spatial qui se déroule sur des zones relativement vastes (un cube d'espace ~ 20 minutes-lumière de côté) et utilise (principalement) une physique réaliste. L'un des éléments clés que je veux modéliser est la vitesse de propagation des informations à travers l'espace de bataille - c'est-à-dire que si le joueur A engage son entraînement principal d'un côté de l'espace de bataille, il y a un délai de 20 minutes avant que le joueur B ne le voit et peut y réagir
Même pour des espaces de combat relativement petits, c'est un facteur important étant donné les vitesses impliquées. Un navire de 500 m de long faisant 30 kps va se déplacer de toute sa longueur en 1 / 60e de seconde, donc même cibler un adversaire à seulement quelques dixièmes de seconde lumineuse sera affecté par un léger décalage.
Je n'ai jamais vu cela se faire auparavant, et je me demande s'il existe des meilleures pratiques pour modéliser cela. En ce moment, j'horodate chaque événement et le marque avec un emplacement, le place dans une file d'attente, puis chaque coche vérifie si des objets dans le monde du jeu sont nouvellement au bord du cône de lumière et ajoute l'événement à leur file d'attente des capteurs. Je vais (mais pas encore) l'optimiser en supprimant tous les événements qui ont déjà été détectés par tous les objets qui peuvent éventuellement le détecter, mais je pense que cela va devenir fastidieux et fastidieux et manger beaucoup de cycles s'il y a des centaines d'objets sensibles en jeu (ce qui est assez routinier).
Existe-t-il des modèles de données qui seraient mieux adaptés à cela que je devrais vérifier?