2. Previous Project
• Dynamic Level Generation
– Based on player’s “moral” behavior
• Helped NPC levels became easier to navigate and
see
• Killed NPC levels became difficult to navigate
– Had 5 different stages of levels
• Range from Light to Dark
3. Project 2 Objective
• Want to solve the problem of Quest
Generation
– Create a player model that will be used to
customize quests to the player
– Use AI with the player model to determine the
“best” quests for the player
4. Player Model
• 3 different player types
– Fighter -> prefers combat
– Adventurer -> prefers to pick up items and talk to
NPCs
– Puzzler -> prefers riddles and mazes
• Values Collected
– TBD
5. Partial Order Planning
• Used similar structure discussed in Thue07
• Quests created by finding determining what
goal best suits the player
– Weigh goals for higher models more
• Structure of Quest
– Level 1, Level 2, Goal
• Levels are selected by:
– Looking at Pre,Post conditions
– Higher models weigh more
6. POP example
• Player Model: Fighter = 3, Adventurer = 5,
Puzzler = 4
– Highest probability of having an adventure goal
• Goal selected = Give key to NPC (Pre: HaveKey Post:
Win)
– Levels with adventure are weigh higher, then
puzzle
• Level 2 selected = Maze with key (Pre: null Post:
HaveKey)
• Level 1 selected = Open Adventure area (Pre: null Post:
null)
8. Maze with key Levels
Adventure Enemies with
key
Quests Talk to NPC
with key
Give Key
Kill 10
Kill 5
Kill Gang 5
Collect Coins
Kill Gang 10
Item 4
Answer Item 2
Question Answer Given
Filler Maze
Filler Kill
Filler
Adventure
9. Maze with key Levels
Puzzle Enemies with
key
Quests Talk to NPC
with key
Catch
Chicken Kill 10
Kill 5
Kill Gang 5
Tree Maze
Kill Gang 10
Item 4
Answer Item 2
Riddle Answer Given
Filler Maze
Filler Kill
Filler
Adventure
10. Maze with key Levels
Fighter Enemies with
key
Quests Talk to NPC
with key
Special
Enemy Kill 10
Kill 5
Kill Gang 5
5 Gang
Members Kill Gang 10
Item 4
10 Gang Item 2
Members Answer Given
Filler Maze
Filler Kill
Filler
Adventure