I have been thinking how AI is simulated in large open world games. Please note I have no idea what I’m talking about, and I just want to learn about it.
In most “simple” games AI is only relevelant when you have something to kill. AI is then only reponsible for presenting challenge to you, by means of acoiding being killed. That is simple enough to understrand.
What I’m curious about how AI is approached in games where NPCs might have indirect effect on what player can see.
For example somewhere in the world there is caravan going, and if it will go unaffected it will eventually cross path with player, who stand on it’s path. But if for example caravan will be attacked by bandits, player might never meet it, because it has been already destroyed. Instead player might only find remains of it.
What is really giving me head caches on it, is not designing AI to do it (with Behavior Trees it should be easy enough to get something basic going), but how to manage world around it.
Assuming we have more than average playing area (4km x 4km), there is going to be a lot of content. From what I understrand, to have AI really affect world around we would need to have all this content loaded at all times, which not really option, it will tank performance.
Another idea that occurred to me, that we could probably store simplified presentation of world at all times (nav meshes, AI paths, etc.) and on that is loaded at all times, and we stream world as needed for player. After all AI doesn’t really care how pretty it looks.
tl;dr I’m curious what are valid approaches of simulating AI in singleplayer game, over vast open world game (Skyrim size at minimum, and that is not even that big).