Posts

Showing posts from April, 2019

New Engage, Wander and patrol Behaviours

Image
In addition to the patrol branch of my behaviour tree (BT) I have created another branch that handles the the control of flow once the player has been spotted. At the root node I have added another child selector which will select a behaviour based on if that current guard can see the player, or if the player has been seen by another guard.  If the player has been sighted by this guard, the tree will check the state of the player, if they are in combat (can see the player) they will update their speed and enter another selector. The Shoot or Move selector will decide if the player is within a certain range, if the player is within this range, the guard will "shoot" and kill the player, causing them to respawn back at the start location and the global blackboard will reset the guards states back to idle.  Although once the player is respawned two guards remain in the alerted state.  This is something I will look into and hope to resolve before the project deadline. If the

Adjusting Behaviours at Run Time

Image
I have been looking into way I could have improved my AI and my approach to my Final Project (Dissertation equivalent) and I have found a few methods, and tips that I could implement to make the AI feel less "rigid" to the player and become more "believable" by reacting to situations differently depending on various factors, for example if the player fires at the AI, how should they react?  Should they take cover, return fire or flee?  Should this always be the same and hand coded in?  I have found two methods from Steve Rabin's Game AI Pro 2 which look at ways to make the AI less predictable building upon the illusion of intelligence. Dual-Utility Reasoning Where there are multiple decisions an agent is able to make they will usually pick the first available option, especially in a BT which worked through its children based on positioning priority (unless a random composite node is used).  However, utility-based AI is able to make better decisions and “will

The Illusion of Intelligence - A Talk by Halo's Chris Butcher and Jaime Griesmer

Image
AI is broken down into multiple subsections, some of the responsibilities are down to the designers, such as mission objectives, scripting and object placement, while other tasks are the responsibilities of programmers such as firing patterns, path-finding etc.  However, some parts overlap, such as combat behaviours which is what this talk is mostly about. (Nanopdf.com, 2018) When designing AI the player should be taken into consideration and what they can do as "the first design goal was to make the AI intelligible to the player, so the player can understand what they're doing".   (Butcher and Griesemer, 2002) This means that when designing the AI they had to work within limited capabilities because if the player is unable to understand what or why the AI is doing a certain action, it might as well not be in the game.  So the player will assume that the AI is able to do what they can do such as; see what they can see, do what they can do and know what they can kn