I love the title of this paper. Excellent prosody, it sounds like symbolic reasoning crossed with a heist movie.
The quick version is that they implemented something very like the STRIPS planner. Their AI builds a graph where vertices are states of the world and edges are verbs that would be expected to alter the state of the world in some way. It uses a path-finding algorithm to search this graph for a state in which its goal (the player’s death) is achieved.
By doing this, they’re able to have the AI deal with all kinds of obstacles (e.g. lights are broken, door is blocked, magazine is empty) by giving the AI knowledge of obstacles and methods for fixing or bypassing them, rather than having to design a state machine that encodes every possible problem and, in particular, how to deal with combinations of problems in an appropriate order.
You did leave out one of the important bits–using radio chatter and barks to let the player know what they were up to. That also went a long way towards the perceived quality of the AI.
A different approach, and one that shows how gnarly the state-machine stuff can get, would be the one taken by the original Half-Life. I don’t have a paper handy though for that ATM, sadly
there’s a clever thing in there about compactly representing world states, which I didn’t understand on first reading (maybe I’ll come back and try again in the future)
discussion of the software-engineering impact of using planning (spoiler: way less, way simpler AI code than with the FSM approach)
mechanism for making groups of actors work together as squads in simple ways and some discussion of more complicated behaviour that fortuitously happens (?) to arise from that.
probably more stuff that I haven’t thought to mention here either.
I had a conversation once with someone who worked on Red Faction Guerrilla’s AI at Volition, who said they implemented a planning system inspired by this paper. She said they noticed they got interesting/surprising emergent behaviour out of their AI by writing it as a planner. ☺
I love the title of this paper. Excellent prosody, it sounds like symbolic reasoning crossed with a heist movie.
The quick version is that they implemented something very like the STRIPS planner. Their AI builds a graph where vertices are states of the world and edges are verbs that would be expected to alter the state of the world in some way. It uses a path-finding algorithm to search this graph for a state in which its goal (the player’s death) is achieved.
By doing this, they’re able to have the AI deal with all kinds of obstacles (e.g. lights are broken, door is blocked, magazine is empty) by giving the AI knowledge of obstacles and methods for fixing or bypassing them, rather than having to design a state machine that encodes every possible problem and, in particular, how to deal with combinations of problems in an appropriate order.
Good summary!
You did leave out one of the important bits–using radio chatter and barks to let the player know what they were up to. That also went a long way towards the perceived quality of the AI.
A different approach, and one that shows how gnarly the state-machine stuff can get, would be the one taken by the original Half-Life. I don’t have a paper handy though for that ATM, sadly
Thank you. Yes, I left out a ton of stuff ☺
I had a conversation once with someone who worked on Red Faction Guerrilla’s AI at Volition, who said they implemented a planning system inspired by this paper. She said they noticed they got interesting/surprising emergent behaviour out of their AI by writing it as a planner. ☺