Hi,
I'm looking for information about commonly used AI frameworks in simulation games such as Rimworld, Prison Architect, Oxygen Not Included, etc - for deciding what each character does.
On the one hand, there are the different characters that have various priorities of which tasks they want done, and on the other hand there are the different tasks/goals and what's best for them (someone that is nearby, someone that is good at that specific job). This is complicated a bit more by having tasks that require some preparation (like carrying items).
A simple utility AI can help a specific character choose the best task for them, but when there are multiple characters that want to do the same task, it gets more complicated since some may be closer, have higher skill, etc. It won't make sense if a character from the other side of the map will start walking to chop a tree that another idle character is standing right next to.
I've implemented a similar system in the past, but it had a hard time handling a large amount of tasks & characters, especially with large maps (despite pathfinding optimizations). I was wondering if anyone knew what kind of system was used in other games like those I mentioned, and if there is any literature or modern methods for dealing with these things.
Thanks!