How do we turn mere data into information or knowledge? Firstly, the influence map can be very cheap to calculate. These can all be considered geographical queries, because we’re asking a question about the shape and form of the environment and the position of entities within it. Or in an RTS game, we might want to have our troops attack a weak point in the opponent’s defences – what is a convenient way to determine where the weakest point is? Let’s start with a very simple game like Pong. One might say it has become quite the buzzword. The idea of choosing actions based on a scoring system is quite straightforward, so it is obviously possible – and common – to use utility-based decision making as a part of other AI decision-making processes, rather than as a full replacement for them. We can add Inns for rest and food. But there is a very generic system here, where each decision has precisely 1 condition and 2 possible outcomes, which allows a developer to build up the AI from data that represents the decisions in the tree, avoiding hardcoding it. It’s easy to see that this algorithm can be a bit wasteful, as it explores just as many squares in the ‘wrong’ direction as the ‘right’ direction. This allows the agent to cut corners on sharp turns which can make for more realistic-looking movement.
Players of all levels have extensively examined these moves ever since. Will Chris Paul get the same on-court respect if he never wins a ring? A great example of this mix is a side quest in the game Red Dead Redemption 2, where the player finds secret notes on walls, eventually leading her to a place where a “vampire” of sorts is encountered and must be dealt with. “Play The Swamp” would be a short plan yielding 1 point, but “Play The Forest → Tap The Forest → Summon Elvish Mystic” is a plan yielding 4 points, 1 for the land and 3 for the creature. Short for ‘navigation mesh’ it is a (typically) 2D mesh of triangles that roughly overlays the world geometry, anywhere that the game allows an agent to walk. Our game is likely to have all that data to hand, but making sense of it is tricky. Sometimes there are just too many possible actions at each step for it to be reasonable for us to consider every permutation. Just like each position along a path had a set of neighbors which were potential choices for the next step along the path, each action in a plan has neighbors, or ‘successors’, which are candidates for the next step in the plan. For example, a utility system might want to take both the distance to the nearest enemy and the character’s current health when deciding whether to flee or not.