Why ‘hierarchical tasks’ are a bad thing for realism
To get the behavior of the inhabitants in the life simulation part of my game right, meant hours of searching for just the right logical elements at first.
I started off with my beloved tool Behavior Designer, which is a behavior tree addon for Unity. It already offers a lot of the features that are needed to make the AI reason about its surroundings, such as tasks to let it see, hear or even navigate using a* or other means.
This was a great starting point since you can literally implement a basic, walking AI within seconds.
However, all the functionality of actually interacting with the game world did not help me at all, if the AI couldn’t actually decide on what to do in a realistic manner.