AI – Week 8 2 Player Games. Lee McCluskey, room 2/09 Email [email protected] http://scom.hud.ac.uk/scomtlm/cha2555/. Games and Leisure applications. Computer games and virtual worlds tend to be more appealing if
Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.
Computer games and virtual worlds tend to be more appealing if
Eg South Park, Wallace and Grommet, Donald Duck are “believable” animations but not very realistic! People recognise and empathise with characters through the narrative … rather than through their physical characteristics
AI techniques can be embedded in opponents, other characters, or the environment to make the game more believable.
Most current games with virtual environments use programmed behaviour via reactive condition-action rules to mimic intelligence
(eg real world)
Representation of NPCs tends to be done using FSM
More sophisticated (eg SIMS) – each character represented as a Frame (object) with qualities, needs, etc
Transitions choice random to give the appearance of unexpected behaviour
Search for food
However, if the game is adversarial and tightly coupled, planning on its own would be useless!
World state = game state (eg board situation)
Action = move pieces
Goal = win game, or maximise gains
AI move generating program = search tree of possible
future board situations and look for the most
A “game tree” is a tree where
Minimax + alpha/beta pruning is an admissible heuristic:
it SAVES RESOURCE but always gives the SAME, optimal answer as mini-max
Minimax with alpha/beta
Change STEP 3:
IF continuing to evaluate nodes is useless, then stop. This happens if
Heuristic: grow the tree when boards are in a state of “flux”. Do not grow boards that are “quiet”.
Heuristic: at each ply, evaluate the boards FIRST, sort them into order, and search only the ones that are the highest/lowest value (depending on whether it is a max or min ply)