Ich arbeite an einer Weltraumkampfsimulation, die sich über relativ große Gebiete erstreckt (ein Raumwürfel mit einer Seitenlänge von 20 Lichtminuten) und (meistens) realistische Physik verwendet. Eines der wichtigsten Elemente, die ich modellieren möchte, ist die Ausbreitungsgeschwindigkeit von Informationen über das Schlachtfeld - das heißt, wenn Spieler A sein Hauptlaufwerk auf einer Seite des Schlachtfelds einschaltet, gibt es eine Verzögerung von 20 Minuten, bevor Spieler B es sieht und kann darauf reagieren
Dies ist auch für relativ kleine Schlachtfelder ein wichtiger Faktor angesichts der damit verbundenen Geschwindigkeiten. Ein 500 m langes Schiff mit 30 km / s wird sich in 1/60 Sekunde um seine volle Länge verdrängen, sodass selbst das Zielen auf einen Gegner, der nur wenige Zehntelsekunden entfernt ist, von einer leichten Verzögerung betroffen ist.
Ich habe dies noch nie gesehen und frage mich, ob es einige bewährte Methoden gibt, um dies zu modellieren. Im Moment stempele ich jedes Ereignis mit einem Zeitstempel und markiere es mit einem Ort, stelle es in eine Warteschlange und prüfe dann bei jedem Häkchen, ob sich eines der Objekte in der Spielwelt am Rand des Lichtkegels befindet, und füge das Ereignis hinzu zu ihrer Sensorwarteschlange. Ich werde es (aber noch nicht) optimieren, indem ich alle Ereignisse entferne, die bereits von allen Objekten erfasst wurden, die es möglicherweise erfassen können, aber dennoch denke ich, dass dies verdammt schnell umständlich wird und viel auffrisst von Zyklen, wenn Hunderte von Abtastobjekten im Spiel sind (was ziemlich routinemäßig ist).
Gibt es Datenmodelle, die dafür besser geeignet wären, die ich auschecken sollte?