Transcript Games
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/~cvcourse
/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/materi
als/HyperGraph/animation/art_life/video/3c
r.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/materi
als/HyperGraph/animation/art_life/video/3c
r.mov
http://www.aridolan.com/ofiles/eFloys.html