Assume we have 200 AI Agents, each as an individual Entity with the same archetype. There is always a case where one Agent might need to interact with another arbitrary Agent. Now assume every agent can invoke an action on any other agent through an event. As the system gets more complex, we divide AI Agents into more sub-entities (AIEmotion, AITrait, AIProperty...etc), but it seems that communication between any two arbitrary entities is inevitable.
My questions is:
for the related entity, especially in this 1 to 1 case, should we still use SystemAPI to query this entity or just keep an Entity inside related Entities? I saw in the MegaCity and NetRacing examples, for this low-frequency job, they just store the Entity inside a component. But what if the system has a lot of low-frequency work which all need random access (take 10,000 random access lookups separated in 30 frames), https://www.youtube.com/watch?v=KuGRkC6wzMY&t=1276s, like the Write relationship in this talk, is this structural change and random access approach still the best practice in large scale?
Interaction is fundamental in games, both in how players interact with a game and receive responses, and in how parts of the game interact with one another. Unity’s Entities package provides a variety of options for writing systems where entities communicate information to one another. This talk introduces those options, and explains the pros an...