dynamic difficulty adjustment for a novel board game
DESCRIPTION
Dynamic Difficulty Adjustment for a Novel Board Game. Presented by: Pier P. Guillen. EE 570 – Artificial Intelligence. December 7 th , 2010. Outline. Introduction 1 st Paper: “Game Playing: The Next Moves” 2 nd Paper: “Evolutionary Game Design” - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Dynamic Difficulty Adjustment for a Novel Board Game](https://reader035.vdocuments.net/reader035/viewer/2022062218/5681635c550346895dd422d8/html5/thumbnails/1.jpg)
Dynamic Difficulty Adjustment for a Novel Board Game
Presented by:Pier P. Guillen
EE 570 – Artificial Intelligence
December 7th, 2010
![Page 2: Dynamic Difficulty Adjustment for a Novel Board Game](https://reader035.vdocuments.net/reader035/viewer/2022062218/5681635c550346895dd422d8/html5/thumbnails/2.jpg)
2
Outline
• Introduction• 1st Paper: “Game Playing: The Next Moves”• 2nd Paper: “Evolutionary Game Design”• 3rd Paper: “AI for Dynamic Difficulty Adjustment in
Games”• Implementation: game rules• Implementation: program• Implementation: experimental results• Conclusions and future work
![Page 3: Dynamic Difficulty Adjustment for a Novel Board Game](https://reader035.vdocuments.net/reader035/viewer/2022062218/5681635c550346895dd422d8/html5/thumbnails/3.jpg)
3
Introduction
• Programs can now beat competent players, grandmasters or even solve games.
• Some games are still elusive.• The field is looking for new challenges.• Personal goal: design a novel game and
implement the AI.
![Page 4: Dynamic Difficulty Adjustment for a Novel Board Game](https://reader035.vdocuments.net/reader035/viewer/2022062218/5681635c550346895dd422d8/html5/thumbnails/4.jpg)
4
Outline
• Introduction• 1st Paper: “Game Playing: The Next Moves”• 2nd Paper: “Evolutionary Game Design”• 3rd Paper: “AI for Dynamic Difficulty Adjustment in
Games”• Implementation: game rules• Implementation: program• Implementation: experimental results• Conclusions and future work
![Page 5: Dynamic Difficulty Adjustment for a Novel Board Game](https://reader035.vdocuments.net/reader035/viewer/2022062218/5681635c550346895dd422d8/html5/thumbnails/5.jpg)
5
Game Playing: The Next Moves
• By Susan L. Epstein, The City University of New York, 1999.
• Overview: – Defines important concepts in game solving.– Reviews the state of AI in board games at the
time. – Proposes three challenges.
![Page 6: Dynamic Difficulty Adjustment for a Novel Board Game](https://reader035.vdocuments.net/reader035/viewer/2022062218/5681635c550346895dd422d8/html5/thumbnails/6.jpg)
6
Game Playing: The Next Moves
• Reasons to continue to do research:– Humans have fascination towards games.– Some games can provide insight on what current
approaches lack.
• What is a game?– Multi-agent, noise-free, discrete space with a
finite set of pieces and set of rules.
![Page 7: Dynamic Difficulty Adjustment for a Novel Board Game](https://reader035.vdocuments.net/reader035/viewer/2022062218/5681635c550346895dd422d8/html5/thumbnails/7.jpg)
7
Game Playing: The Next Moves
• Concepts:– Position, goal, game tree, contest, optimal move,
evaluation function (perfect, heuristic), minimax algorithm, reducing search, introducing knowledge.
• Games and strategies:– Checkers (Chinook) and Chess (Deep Blue): brute
force, enormous subtrees, extensive opening and closing books, evaluation functions carefully tuned.
![Page 8: Dynamic Difficulty Adjustment for a Novel Board Game](https://reader035.vdocuments.net/reader035/viewer/2022062218/5681635c550346895dd422d8/html5/thumbnails/8.jpg)
8
Game Playing: The Next Moves
• Games and strategies (cont.):– Backgammon (Logistello), Othello (TD-gammon)
and Scrabble (Maven): powerful evaluation functions, trained offline from millions of played games.
– Current targets:• Bridge and Poker: imperfect information.• Shogi and Go: branching factor is too big.
![Page 9: Dynamic Difficulty Adjustment for a Novel Board Game](https://reader035.vdocuments.net/reader035/viewer/2022062218/5681635c550346895dd422d8/html5/thumbnails/9.jpg)
9
Game Playing: The Next Moves
• Possible approaches:– Spatial cognition: value features by visualizing. – Satisfice: good enough decisions, reason from
incomplete or inconsistent information, learn from mistakes.
• Challenges:– Model a contestant .– Annotate a contest.– Expert program teaching its skill.
![Page 10: Dynamic Difficulty Adjustment for a Novel Board Game](https://reader035.vdocuments.net/reader035/viewer/2022062218/5681635c550346895dd422d8/html5/thumbnails/10.jpg)
10
Outline
• Introduction• 1st Paper: “Game Playing: The Next Moves”• 2nd Paper: “Evolutionary Game Design”• 3rd Paper: “AI for Dynamic Difficulty Adjustment in
Games”• Implementation: game rules• Implementation: program• Implementation: experimental results• Conclusions and future work
![Page 11: Dynamic Difficulty Adjustment for a Novel Board Game](https://reader035.vdocuments.net/reader035/viewer/2022062218/5681635c550346895dd422d8/html5/thumbnails/11.jpg)
11
Evolutionary Game Design
• By Cameron Browne, Imperial College London, and Frederic Maire, Queensland University of Technology, 2010.
• Overview:– How to create combinatorial games by automatic
means.– Provides empiric measurements of quality.– Uses an evolutionary search to produce new high-
quality games.
![Page 12: Dynamic Difficulty Adjustment for a Novel Board Game](https://reader035.vdocuments.net/reader035/viewer/2022062218/5681635c550346895dd422d8/html5/thumbnails/12.jpg)
12
Evolutionary Game Design
• Little attention paid to measure the quality of games themselves.
• Ludi Framework:– Uses a Game Description Language (GDL) to
define games.– General Games Players (GGP) to interpret games
and coordinates moves.– 3 modules: strategy module (planning), criticism
module (quality), synthesis (generate new games).
![Page 13: Dynamic Difficulty Adjustment for a Novel Board Game](https://reader035.vdocuments.net/reader035/viewer/2022062218/5681635c550346895dd422d8/html5/thumbnails/13.jpg)
13
Evolutionary Game Design
• How to rate games:– Use 3 aesthetic criteria.– Intrinsic (based on rules).– Viability (based on outcomes).– Quality (based on trend of play).– 57 of these criteria– Examples: completition, duration, drama and
uncertainty.
![Page 14: Dynamic Difficulty Adjustment for a Novel Board Game](https://reader035.vdocuments.net/reader035/viewer/2022062218/5681635c550346895dd422d8/html5/thumbnails/14.jpg)
14
Evolutionary Game Design
![Page 15: Dynamic Difficulty Adjustment for a Novel Board Game](https://reader035.vdocuments.net/reader035/viewer/2022062218/5681635c550346895dd422d8/html5/thumbnails/15.jpg)
15
Evolutionary Game Design
• How to create new games:– Mating other games.– Two parents, one is a template.– Mutate child.– Perform validity check.– Score game.– Insert into population.
![Page 16: Dynamic Difficulty Adjustment for a Novel Board Game](https://reader035.vdocuments.net/reader035/viewer/2022062218/5681635c550346895dd422d8/html5/thumbnails/16.jpg)
16
Evolutionary Game Design
![Page 17: Dynamic Difficulty Adjustment for a Novel Board Game](https://reader035.vdocuments.net/reader035/viewer/2022062218/5681635c550346895dd422d8/html5/thumbnails/17.jpg)
17
Evolutionary Game Design
• Experiments and results:– 79 existing games evaluated and ranked.– Results were correlated with aesthetic
measurement .– 1389 games evolved from the original set, 19
deemed viable.– New games were scored and correlated.– Top 2 games are now commercially available.
![Page 18: Dynamic Difficulty Adjustment for a Novel Board Game](https://reader035.vdocuments.net/reader035/viewer/2022062218/5681635c550346895dd422d8/html5/thumbnails/18.jpg)
18
Outline
• Introduction• 1st Paper: “Game Playing: The Next Moves”• 2nd Paper: “Evolutionary Game Design”• 3rd Paper: “AI for Dynamic Difficulty Adjustment in
Games”• Implementation: game rules• Implementation: program• Implementation: experimental results• Conclusions and future work
![Page 19: Dynamic Difficulty Adjustment for a Novel Board Game](https://reader035.vdocuments.net/reader035/viewer/2022062218/5681635c550346895dd422d8/html5/thumbnails/19.jpg)
19
AI for Dynamic Difficulty Adjustment in Games
• By Robin Hunicke and Vernell Chapman, Northwestern University, 2004.
• Overview:– Games are meant to be engaging.– Use probabilistic methods to adjust challenge on-
the-fly.– Creates more flexible and enjoyable experiences.
![Page 20: Dynamic Difficulty Adjustment for a Novel Board Game](https://reader035.vdocuments.net/reader035/viewer/2022062218/5681635c550346895dd422d8/html5/thumbnails/20.jpg)
20
AI for Dynamic Difficulty Adjustment in Games
• Approach: maintain the player on the “flow” channel.
• Use Dynamic Difficulty Adjustment (DDA).
![Page 21: Dynamic Difficulty Adjustment for a Novel Board Game](https://reader035.vdocuments.net/reader035/viewer/2022062218/5681635c550346895dd422d8/html5/thumbnails/21.jpg)
21
AI for Dynamic Difficulty Adjustment in Games
• Implementation:– Hamlet system.– Runs on Half-Life engine.– Metric chosen: damage.
• Types of adjustments:– Reactive (interacting elements).– Active (off-stage elements).
![Page 22: Dynamic Difficulty Adjustment for a Novel Board Game](https://reader035.vdocuments.net/reader035/viewer/2022062218/5681635c550346895dd422d8/html5/thumbnails/22.jpg)
22
AI for Dynamic Difficulty Adjustment in Games
• Policies regulate the supply and demand of inventory.
• Abstract simulations estimate outcome.• Changes are made based on this.
![Page 23: Dynamic Difficulty Adjustment for a Novel Board Game](https://reader035.vdocuments.net/reader035/viewer/2022062218/5681635c550346895dd422d8/html5/thumbnails/23.jpg)
23
Outline
• Introduction• 1st Paper: “Game Playing: The Next Moves”• 2nd Paper: “Evolutionary Game Design”• 3rd Paper: “AI for Dynamic Difficulty Adjustment in
Games”• Implementation: game rules• Implementation: program• Implementation: experimental results• Conclusions and future work
![Page 24: Dynamic Difficulty Adjustment for a Novel Board Game](https://reader035.vdocuments.net/reader035/viewer/2022062218/5681635c550346895dd422d8/html5/thumbnails/24.jpg)
24
Game Rules
• Game: Tlamatini.• Elements:– Turned based board game.– Two players.– Hexagonal board, with hexagonal tiling.– 4 pieces per player, 3 types of pieces.– 3 tile states: neutral, owned or owned by rival.
• Goal: Make a specific piece reach the other side.
![Page 25: Dynamic Difficulty Adjustment for a Novel Board Game](https://reader035.vdocuments.net/reader035/viewer/2022062218/5681635c550346895dd422d8/html5/thumbnails/25.jpg)
25
Game Rules
![Page 26: Dynamic Difficulty Adjustment for a Novel Board Game](https://reader035.vdocuments.net/reader035/viewer/2022062218/5681635c550346895dd422d8/html5/thumbnails/26.jpg)
26
Game Rules
![Page 27: Dynamic Difficulty Adjustment for a Novel Board Game](https://reader035.vdocuments.net/reader035/viewer/2022062218/5681635c550346895dd422d8/html5/thumbnails/27.jpg)
27
Outline
• Introduction• 1st Paper: “Game Playing: The Next Moves”• 2nd Paper: “Evolutionary Game Design”• 3rd Paper: “AI for Dynamic Difficulty Adjustment in
Games”• Implementation: game rules• Implementation: program• Implementation: experimental results• Conclusions and future work
![Page 28: Dynamic Difficulty Adjustment for a Novel Board Game](https://reader035.vdocuments.net/reader035/viewer/2022062218/5681635c550346895dd422d8/html5/thumbnails/28.jpg)
28
Program
• Implemented in:– Adobe Flash CS5.– ActionScript 3.
• Benefits:– Rapid prototyping.– Easy integration of multimedia elements.– Platform independent.– Playable online.
![Page 29: Dynamic Difficulty Adjustment for a Novel Board Game](https://reader035.vdocuments.net/reader035/viewer/2022062218/5681635c550346895dd422d8/html5/thumbnails/29.jpg)
29
Program
• AI approaches:– General Game Playing (GGP).– Minimaxing game tree.
• Tree searching:– Alpha-beta algorithm (negamax framework, fail-soft
approach).– Two functions; one for root.
• Static evaluator: considers amount of tiles and proximity of king.
![Page 30: Dynamic Difficulty Adjustment for a Novel Board Game](https://reader035.vdocuments.net/reader035/viewer/2022062218/5681635c550346895dd422d8/html5/thumbnails/30.jpg)
30
Program
• Iterative deepening: start at depth 1 and increase while times allows.
• Dynamic difficulty:– Limit amount of computation (depth searched).– Policy approach: calculate the probability of player
winning, act accordingly.• Implemented policy:– Threshold value on when to help.– Counter value to not help too often.
![Page 31: Dynamic Difficulty Adjustment for a Novel Board Game](https://reader035.vdocuments.net/reader035/viewer/2022062218/5681635c550346895dd422d8/html5/thumbnails/31.jpg)
31
Outline
• Introduction• 1st Paper: “Game Playing: The Next Moves”• 2nd Paper: “Evolutionary Game Design”• 3rd Paper: “AI for Dynamic Difficulty Adjustment in
Games”• Implementation: game rules• Implementation: program• Implementation: experimental results• Conclusions and future work
![Page 32: Dynamic Difficulty Adjustment for a Novel Board Game](https://reader035.vdocuments.net/reader035/viewer/2022062218/5681635c550346895dd422d8/html5/thumbnails/32.jpg)
32
Experimental results
• Search results:– Game has a branching factor of 20-30.– Program search up to 4 plies.– Flash has a 15 s. execution limit.
• Gameplay results:– Presented to half a dozen players.– Good concept.– Too easy to beat.
![Page 33: Dynamic Difficulty Adjustment for a Novel Board Game](https://reader035.vdocuments.net/reader035/viewer/2022062218/5681635c550346895dd422d8/html5/thumbnails/33.jpg)
33
Experimental results
• Actionscript limitations:– AS3 has speedups of 10x over AS2.– Is still 5-10 times lower than java; 100-500 than C.
• Other people results:– flashCHESSIII.– Alpha evaluated 1000 nodes per move. Final
version +10000 (~4 plies).– The Elo rating of the engine at around 1500-1800.
![Page 34: Dynamic Difficulty Adjustment for a Novel Board Game](https://reader035.vdocuments.net/reader035/viewer/2022062218/5681635c550346895dd422d8/html5/thumbnails/34.jpg)
34
Outline
• Introduction• 1st Paper: “Game Playing: The Next Moves”• 2nd Paper: “Evolutionary Game Design”• 3rd Paper: “AI for Dynamic Difficulty Adjustment in
Games”• Implementation: game rules• Implementation: program• Implementation: experimental results• Conclusions and future work
![Page 35: Dynamic Difficulty Adjustment for a Novel Board Game](https://reader035.vdocuments.net/reader035/viewer/2022062218/5681635c550346895dd422d8/html5/thumbnails/35.jpg)
35
Conclusions
• Many open options of development of AI on board games.
• Not possible to evaluate the implemented policy effectiveness.
• Speed-up opportunities:– Refactor and decouple.– Profiler based optimizations.– Fine-tune evaluation function.
![Page 36: Dynamic Difficulty Adjustment for a Novel Board Game](https://reader035.vdocuments.net/reader035/viewer/2022062218/5681635c550346895dd422d8/html5/thumbnails/36.jpg)
36
Conclusions
• Speed-up opportunities (cont.):– Implement other common tree searching
techniques:• Transposition tables.• Null move forward pruning.• MTD(f) search or negascout.• Opening and closing books.
![Page 37: Dynamic Difficulty Adjustment for a Novel Board Game](https://reader035.vdocuments.net/reader035/viewer/2022062218/5681635c550346895dd422d8/html5/thumbnails/37.jpg)
37
Questions?(Thank you!)