310 likes | 857 Views
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).
E N D
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
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