7.1. O SCARS & A RTIFICIAL I NTELLIGENCE Interim awards and introduction to game AI
Mid-way awards
Submission with the most impressive/complex exploratory code Submission with the best progress to date
Most authentic rendition of a classic computer game Most original/fun game design or game play idea Game I least want to present at the Board of Examiners Most comprehensive game design including development plan and contingency planning. Team/Game with the best name Team/Game with the most inappropriate name
Category Team members Team name – Game name
Introduction to game-oriented artificial intelligence
Artificial intelligence aims to develop machines that can perform human ‘thinking’ tasks. Academic research is split into two camps: Strong AI – creating systems that model human thought processes Weak AI – creating working systems that need not be physiologically plausible Academic AI tends to focus on optimal problem solving. Game AI must work within tight computational constraints, i.e. effort vs. outcome is central.
The aims of game-oriented AI can be summarised as follows. The AI must: appear intelligent, yet purposely flawed (i.e. beatable) have no unintended weaknesses (that can be repeatable exploited) provide an entertaining or engaging experience perform within tight CPU/memory constraints be configurable not keep the game from shipping
Most people assess intelligence (or the lack thereof) on how an object behaves. Acting in a complex (human-like) manner is readily perceived as intelligence behaviour. Aside: Describe the colour of square A? What colour is B? A is exactly the same colour as B! One means of enhancing game AI is to provide visual/auditory feedback on what the game object is ‘thinking.’ Often simple or semi-random behaviour will be perceived/intepretated by the player as complex/intelligent.
“Game AI is anything that contributes to the perceived intelligence of an entity, regardless of what’s under the hood.” Aside: Searle’s Chinese Room argument
Which of the following could be classified as providing an example of AI within the context of a game? Does a single ‘if’ statement constitute intelligence? What about scripted behaviour? If an NPC selects which animation to play? (If this is done via a set of if statements?) Maybe path-finding? If game automatically generates an environment?
The forms of AI found within different types of (2D) game
AI needs within the game can include: Perception – determining what can be seen (other opponents, pick-ups, incoming projectiles, etc.) Steering – basic character movement Action – executing available actions, e.g. aiming, shooting, etc. Path-finding – movement route planning Decision making – determining what to do next (dodge, seek health, ambush, etc.). At higher levels this becomes tactical AI. Perception Strategic AI Decision Making Steering State Change Line of sight tests Influence maps FSM Kinematic movement Object update To do: Consider own game
AI needs within the game can include: Perception – detecting nearby objects, incoming projectiles, etc. Steering – opponent movement, e.g. player tracking, projectile avoidance, etc. Firing – basic control, firing towards player Perception Steering Shooting State Change Object detection Path follow, Evade Path projection Object update Aside: AI within 2D shooters may be effectively nonexistent, i.e. relying on fixed patterns of movement and opponent numbers to provide challenge
AI needs within the game can include: Perception – detecting other traffic Steering – driving line, cornering, breaking Decision making – overtaking points, collision avoidance Perception Decision Making Steering State Change Predictive collision detection FSM, Rule-based system Path following Object update Aside: GTA/Driver clones would also include AI routines to model other road traffic, etc.
AI needs within the game can include: Perception – determining actions/movement of player Steering – moving towards/away from player Shooting – basic control, e.g. aiming Perception Steering Shooting State Change Player proximity Path follow, Pursue Player proximity trigger Object update Aside: Platform games tend to have opponents which have predictable, easily understood behaviour. Challenge arises from the need to time jumps, shots, etc. to overcome such opponents.
AI needs within the game can include: Perception – determining what can be seen (other opponents, resources) Steering – group movement, etc. Path-finding – movement route planning Tactical and Strategic Analysis – determining overall strategy build, attack, etc. Perception Strategic AI Tactical AI Decision Making Path finding / Steering State Change Opponent visibility, Fog-of-war Tactical analysis, Influence maps Rule-based system/ FSM Map/local path-finding Object update Aside: AI in real-time games is mostly the same as in turn- based games. Real-time games must impose tight performance constraints on the AI.
AI needs within the game can include: Decision making – determining what to do next (block, back-up, attack, etc.). Decision Making State Change FSM / Rule-based behaviour Object update Aside: The behaviour can be adaptive, i.e. reacting to the player’s patterns of behaviour
AI needs within the game can include: Steering – basic character movement, group movement, etc. Decision making – determining what to do next, selecting plays, formations, etc. from an available ‘playbook’ Tactical Analysis – determining play objectives Tactical AI Decision Making Steering State Change Influence Maps Rule-based system Chase, Evade, etc. Object update Aside: Sport AI has the benefit of drawing upon existing expert knowledge, but must return realistic, ‘human-like’ behaviour
To do: Think about the role and needs of AI within your game Read about the Week 9 Alpha hand-in and plan what you hope to develop Today we explored: The role of AI within games and the constraints game AI must operate within The typical roles of AI within 2D game genres