Artificial Intelligence Techniques Artificial Stupidity?

Post on 13-Jan-2016

246 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

Transcript

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

top related