Artificial Intelligence Techniques
Artificial Stupidity?
Aims of session AI in Games
Is it a special case? The goal of an AI programmer for a
game is to create both entertaining a challenging opponents delivered on time (Rabin, 2005)
Five Implications (Rabin 2005) AI must be have no unintended
weaknesses: The AI must not Be defeated the same way every-
time. Fail miserably Look dumb
Five Implications (Rabin 2005) AI must be perform within the
constraints of memory and CPU If a game is real-time then so most
the AI
Five Implications (Rabin 2005) AI must be configurable by
designer or sometimes players. Able to adjust the difficult of the
game level and adjust the AI For some games, because they can
be customised by players.
Five Implications (Rabin 2005) AI must be intelligent, yet
purposely flawed. Present a challenge to the player,
keeping the game entertaining, but opponents must sometimes lose to the player in a fun way.
Five Implications (Rabin 2005) AI must not stop the game being
shipped AI techniques used should not put
game at risk. Risky, new ideas must be proved
early in the development cycle.
Game Agents Non-player characters (npcs)
Opponent Neutral
SENSE-THINK-ACT cycle
Sense Information about the current state
of the world. We need something for our npc to act
upon. What types of sense do you think can
be considered?
Think 1 Has the sensory information need
to evaluate it and then make decision based on it. Finite-State machines – most popular. Search methods – good for planning
A* star
Think 2 Machine learning
Genetic Algorithms Neural networks
Flip-flopping Sometimes a system can get stuck within
a limited number of states if over-evaluated.
FSM Based on example in Rabin 2005
Search – A* Pathfinding Finds the ‘cheapest’ path through
an environment. http://www.vision.ee.ethz.ch/~cvco
urse/astar/AStar.html
Example of A*
Flocking behaviour Examples taken from:
http://www2.trincoll.edu/~pbrown/java/
http://www.alxvy.org/ http://www.siggraph.org/education/
materials/HyperGraph/animation/art_life/video/3cr.mov
http://www.aridolan.com/ofiles/eFloys.html
Reference Rabin (2005) Introduction to Game Development Charles River
Media ISBN 1-58450-377-7
http://www2.trincoll.edu/~pbrown/java/ http://www.alxvy.org/ http://www.siggraph.org/education/
materials/HyperGraph/animation/art_life/video/3cr.mov
http://www.aridolan.com/ofiles/eFloys.html