Sto provando a fare un enorme sistema di intelligenza artificiale solo per il divertimento e sono arrivato a questo problema. Come posso far conoscere le entità AI senza far funzionare la CPU in modo ridondante e costoso? Ogni entità ha una zona di consapevolezza spaziale e deve sapere cosa c'è dentro quando deve decidere cosa fare.
Prime riflessioni, per ogni entità testare se le altre entità sono all'interno della prima portata. Ok, quindi è stato il primo tentativo e sì, è ridondante e costoso. Stiamo lavorando con AI in tempo reale su oltre 10000 entità, quindi questa non è una soluzione.
Secondo tentativo, calcola una griglia sulla zona di consapevolezza di ogni entità e verifica se in queste zone ci sono entità (stiamo lavorando con entità 3D con coordinate di posizione float x, y, z) testando ogni punto della griglia con l'indice -by-coordinate entità. Beh, non mi piace perché è anche costoso, ma non come il primo.
In terzo luogo, crea alcuni elenchi multi collegati sulle posizioni indicizzate delle x e delle entità così quando cerchiamo un intervallo tra le posizioni x, y e z, w (questo intervallo definisce il quadrato sopra la zona di consapevolezza spaziale) sopra elenco multi-link, non avremo 'vuoti'. Questo ha il problema di trovare il valore di prossimità più vicino se non ce n'è uno nella posizione in cui iniziamo la ricerca.
Non sono convinto di nessuna delle idee, quindi cerco qualche illuminante. Qualcuno ha idee migliori?