2.5.1 – Target Selection Overall
I thought about two ways to do target selection. One way is to use a hierarchy system to select targets, and another way is to calculate the scores for all targets simultaneously. Mike Lewis suggested that the hierarchical approach is more “designer” intuitive, and has a much smaller search space. While it has the drawbacks of targets locking each other. The simultaneous approach takes M * N space, which would potentially have a significant impact on performance in large-scale cases. But can provide more reasonable and organic results.
In my implementation, I used the simultaneous approach.
2.5.2 – Add Targets
I used an approach similar to storing blackboard data to store the target information. Such information will be maintained by the AI actors, and then be passed to the utility system for update. Action scores are calculated based not only on the current world states, but also the targets. Instead of
Action::getScore(Blackboard*) , it is now
Updated library is now on GitHub.