Mid February, me and the IGGI cohort began our first Game AI module of the program. It was based on the fundamental and basic methods used to generate Game AI at this present time. This includes but is by no means limited to Procedural Content Generator(PCG), Behavioural Trees, Steering Behaviours, Finite State Machines and A*.
Being interested in the behavioural aspect of Game AI ( And quite frankly wanting to keep things clean and simple) I decided to try and develop a Finite State Machine in Unity and show some Steering behaviours of some virtual characters.
Now to begin I must say I’m in love with these two text books in particular (mainly because they got me through this module and explained a lot of the difficult concepts in a simple, brokendown manner). I would say if you are just starting out in Game AI these books are the ones to grab as references or if your looking for good examples to start off of.
One is called Game AI Pro by Steven Rabin,
and the other is Programming Game AI by Example by Mat Buckland.
I first wanted to make a snooping game based off of my submission in the Goldsmiths Global Game Jam. It was a horror type game where the player had to avoid Lady macbeth and reach the end of the building without getting caught. However after a brief visit with a friends dog, I decided to do a dog simulation.
The concept behind this application of FSM and Steering behaviours, is a group of dogs playing in alone in the house and being watched on a camera by the ‘owners’ who have installed a ‘Dog Camera.’ The dogs transition from two states; Chase and Play, where they depict the two steers; Arrive and Wonder respectively. When in the Chase state (Arrive,) the dogs move in unison towards a bone object places in the scene. When one of the dogs collide with the bone object, then the dogs switch to the Play state(Wonder). In this state the dogs wander around the room randomly, exploring and interacting with the objects in the room. Added functionality is the ability to change the perspective of the camera, therefore freedom to choose which dog to focus on.The main default camera shows all camera perspectives but by using specific key inputs, the camera can be changed to follow one dog’s movement in the scene and get a closer look at their behavior. Additionally is the ability to mute and un-mute the sound of the dogs barking in the scene.
Watch the video here: