Sto lavorando a una simulazione di combattimento spaziale che si svolge su aree relativamente vaste (un cubo di spazio ~ 20 minuti luce di lato) e usa (principalmente) fisica realistica. Uno degli elementi chiave che voglio modellare è la velocità di propagazione delle informazioni attraverso lo spazio di battaglia - cioè, se il Giocatore A si impegna nella sua unità principale su un lato dello spazio di battaglia, c'è un ritardo di 20 minuti prima che il Giocatore B lo veda e può reagire ad esso
Anche per spazi di battaglia relativamente piccoli questo è un fattore importante date le velocità coinvolte. Una nave lunga 500 m che fa 30kps si sposterà per tutta la sua lunghezza in 1/60 di secondo, quindi anche colpire un avversario a pochi decimi di secondo di distanza subirà un leggero ritardo.
Non l'ho mai visto prima e mi chiedo se ci sono alcune migliori pratiche per modellarlo. In questo momento sto timestamp di ogni evento e contrassegnandolo con una posizione, inserendolo in una coda, quindi ogni segno di spunta verifica se uno qualsiasi degli oggetti nel mondo di gioco è di nuovo sul bordo del cono di luce e aggiungo l'evento alla loro coda del sensore. Lo (ma non l'ho ancora) ottimizzato rimuovendo tutti gli eventi che sono già stati rilevati da tutti gli oggetti che possono eventualmente rilevarlo, ma comunque, penso che questo diventerà ingombrante e dannatamente veloce, e mangerò molto di cicli se ci sono centinaia di oggetti sensibili in gioco (il che è piuttosto normale).
Esistono modelli di dati che potrebbero essere più adatti a ciò che dovrei verificare?