RPG AI

advertisement
RPG AI
Josh Westbrook
Ethan Harman
Elements of RPGs
•
•
•
•
•
•
Exploration
o
Dungeons, World Map
Combat
o
Select Actions from Menu
Experiences Points and Leveling
o
Become Stronger, Better Abilities
Story
Single Character/Party
Setting
Common RPG Ideas
•
Enemies
Provide XP, Gold, Items
o Endless Supply
o Scripted vs Dynamic
o
•
•
Statistical Data
o
HP, Strength, etc.
Behavior Patterns
o
o
Attack, heal, run away
Changes for singular vs group
Common RPG Elements
•
Bosses
Stronger
o Better AI
o Heavily Scripted
o Dialogue
o
Common RPG Ideas
•
Non-Player Characters (NPCs)
o
o
o
o
From zero to millions
Allows player interaction
 Reputation system
 Dialogue
Party Members
 AI Controlled
 Often can be scripted by player
Intelligence can range from nothing to incredibly
high as party member
However...
You DO get RPGs with very different elements:
•
•
Harvest Moon
o Farming Game
o Role playing a farmer's life, including crops,
animals, marriage, festivals, etc.
The Sims
o Life simulation
Early History: PC
•
•
•
Based off of Tabletop RPGs
o
Text-Based
o
Zork
Dungeon Crawlers
o
o
•
Dungeons and Dragons
o
Rogue
Ultima
The Bard's Tale
Turn-Based
NetHack
Early History: Console
•
•
•
Dragon Quest
o
Standard for JRPGs
Final Fantasy I & II
o
Story Elements, Character Development
The Legend of Zelda
o
Action-RPG
Mid-History: West/East Split
•
PC RPG -> Western RPGs:
Open-World
o Character Customization
o Dialogue Choices
o Examples:
 Baldur's Gate, Diablo
o
•
Console RPG -> Eastern RPGs;
Linear Story
o Cinematic
o Character Development
o Examples:
o
Modern RPGs
•
Massively Multiplayer Online RPG
Thousands of players together
o Persistent World
o WoW, The Old Republic, Guild Wars
o
•
Hybrid RPGs
Often contain elements of another genre
o Many games today include some RPG elements
o Action RPGs: Mass Effect, COD Multiplayer
o Sports RPGs: Single Player Modes
o Life-Simulation: The Sims
o
Scripting
•
•
Earliest games contained little to no AI
Linear Stories allowed heavy scripting
o
o
o
o
•
Set
Set
Set
Set
attack patterns
dialogue
item drops from enemies
story direction
Example from FF7 at 1:55
Casts Big Wave right before he dies
•
Scripting
•
Real-Time Party Members:
Gives AI parameters to check and how to react
o Gives NPC feel of intelligent behavior
o Sometimes can be written by player
o
•
•
NPC Scripting Example: Dragon Age at 3:00
Visible in many genres where NPCs assist
the player
Scripting
•
Great for linear RPGs, controls:
Dialogue
o NPC Behavior
o Cinematic occurrence
o
•
•
However, for open-world, dynamic RPGs
cannot be used to drive game direction
But: Elder Scrolls: Skyrim uses scripts to
control basic, unique NPCs
Combat
•
Contains multiple uses of AI
o
Damage control
o
Enemy Behavior
o
NPC Behavior
Combat
•
Damage is calculated using :
o
o
o
o
Character Level/Stats
 Strength, Magic, Agility, Luck, etc.
Enemy Stats
 Defense, Speed, etc.
Status Effects
 Poison, slow, etc.
Elements of Chance
 Based off of Table-Top Games
 Dice Rolls, Coin Flips, etc.
Combat
•
Enemy Behavior
o Personality
 Defined with specific traits used to specify how
enemy reacts to actions
o Attack Patterns
o Targeting
 Go after healer
Combat
•
•
NPC Behavior
o
Could be friend or enemy
Methods of Control
o
o
Scripted
Planning Algorithms
 Given a goal, try to reach goal
• Example: Fallout 3, Enemies who run out of ammo will pick
up weapons off of dead NPCs
o
o
State Machines
Mixture of these methods
NPC Behavior
•
Scripted
Attack same enemy as player
o Attack closest enemy
o Avoid combat, heal/support player
o
•
Can run great, but can't adjust
o
o
May not have NPC cure poison even though item is
cheap and readily available
May waste powerful abilities/weapons on weak
enemies
NPC Behavior
•
Planning Algorithm
Broader than scripting
o Example:
 Goal is to kill enemy who has 10 hp
 Use weakest spell that will still cause 10 hp
 Save stronger spell for boss
o Can adjust tactics:
 Focusing on spells, gets muted
 Can adjust plan to attack with weapon
o Can use scripts once plan is created
o
Level of Detail
•
Graphic Engine
Problems rendering large numbers of objects
o Draws too many triangles
o Slows down game
o
•
•
Solution: Reduce amount of detail in
objects that are further away
Why not do this with AI?
LOD Example
AI Issues
•
Trying to run AI for all creatures in a large
dungeon will slow down game
o
•
Multiplayer: Baldur's Gate vs Neverwinter Nights
 "You must gather your party before venturing
forth"
If an enemy is far enough away, does it
matter if it is using clever AI?
AI Level-of-Detail
•
1: PCs and Allied NPCs
o
o
•
Always on screen assisting player character
Need to have the best AI
2: Creatures fighting PC/Party
o
o
Need to have the best enemy AI
Need to be worthy foes
AI Level-of-Detail
•
3: Creatures within 30 Meters
o Visible by PC
o Need to be ready to battle quickly
o But don't need the best AI, save CPU
•
4: Creatures in same large-scale area as PC
o AKA Same Dungeon Level, Same Building, etc.
o Need to have some intelligence, but not much
AI Level-of-Detail
•
5: Creatures in areas without PC
o
o
•
Within entire dungeon, town, etc.
Only need to know they exist and to be able to
increase AI ability if necessary
By using AI Level-of-Detail, multiplayer
RPGs can allow free movement without
worry of slowing game
Reputation
•
Cause and Effect
•
NPC ESP
•
Memory Usage
Reputation System
•
Event Template
o
o
o
o
Who did what to whom?
Who cares about this action?
 NPCs are placed in groups
Magnitude
Known By?
Reputation System
•
Master Event List
Central Location vs Individualized
o All important events witnessed by any NPC
o Deletes duplicate events unless a change of
magnitude occurs
o Deletes events not referenced by any NPCs
o Larger memory usage for multi-player games
o
Reputation System
•
Long-Term Memory
o
o
o
All NPCs have one
Stores IDs from Master Event List, magnitude it
knows, and time it learned of it
 Prevents under-reacting
Can forget events
Reputation System
•
Reputation Table
o
o
List of groups with standings
Like and Hate variables
 If Like and Hate both low: ambivalent
 If Like and Hate both high: mistrust and fear
Reputation System
•
Learning
Event Announcer
 Spawns at event location (full and partial
events)
o Sharing information (depends on reputations)
o NPCs check their memories
o NPC tries to find match in Long-Term Memory.
Updates if there or adds as new event.
 Larger magnitude, know player (assumptions)
 If new, increments events "known by" counter
o
Side Quests
•
•
•
•
Open-world feeling (not just main story)
Varies gameplay, creates escalating
challenges
Adds story without complicating main story
Reward exploration
•
More work to develop all these side quests
Side Quests
•
Many side quests follow certain patterns
which make them easier to generate
automatically.
o
o
o
o
Talk Chain, Acquire Item, Deliver Item, Kill
Antagonist, Assassinate Antagonists, etc.
Combine many of these patterns to create quest
chains.
Given a list of items, locations, and NPCs, can
generate simple or complex quests.
Have to be verified to ensure they don't interfere
with the main storyline or become too repetitive.
Side Quests
•
Quest Points
o
o
o
Can be disabled, enabled, or reached.
Controls the order in which the quest is done: talk
to quest giver, perform task, return to quest giver.
Allows for optional points, and doing quests in
different orders (perform task without first talking
to quest giver)
Intelligent Story Direction
•
•
•
•
Storytelling usually comes second to
gameplay.
Players have little effect on what happens
in the story.
Games should be immersive, responsive,
and engaging.
The Next Generation holodeck: ideal
model.
Intelligent Story Direction
•
•
•
Story Representation - need language to
describe desired gameplay.
Realistic Characters: all realistic behaviour.
Important Role: player's character must be
the main focus of the story.
Intelligent Story Direction
•
Story Coordination
Everyone must be on same page.
o Adjusts NPCs and story events to player actions.
o Hard to provide a large number of choices (verbs)
 Player interaction with environment
 NPC behaviour
 Coordinating a story the player actually affects
o Boundary problems where current story and current
action don't agree (outside story space)
o
Intelligent Story Direction
•
Story Direction
o
o
o
o
Changes NPC behaviour or the environment.
Given a user action, uses a heuristic to search
through possible storylines.
Pushes player towards story points.
If player action will cause a boundary condition
 Accommodate: plan around the action
 Intervention: somehow change effects of action
Intelligent Story Direction
•
Interactive Drama Architecture (IDA)
Author writes structured story content.
o NPCs who perform
o Environment house NPCs and other objects
o Director coordinates story and NPC
o Player provides input and interacts
o
Intelligent Story Direction
•
Author creates story content and story
structure. (Who, what where, why and how
though not when)
o
•
•
Story is represented as plot points with preconditions and actions.
With a plot point selected, the director
gives NPCs new goals or changes the
environment.
NPCs have their own AI, so they aren't
completely controlled by the director.
Intelligent Story Direction
•
Director must take care of knowledge
maintenance, plot monitoring, story
direction, reactive direction, and predictive
direction.
o
o
o
Knowledge Maintenance - omniscient observer
Plot Monitoring - sees if plot pre-conditions are
fulfilled (status can change back and forth)
Story Direction - tells NPCs and environment what
to do when a plot point is being performed.
Intelligent Story Direction
•
•
•
Reactive Direction - taking the story from
where it has wound up to where it should
be, sometimes forcibly.
Predictive Direction - less obvious than
reactive direction. Examines patterns in
behaviour.
o
Needs an accurate model of the player.
Inverse relationship between immediacy
and subtleness.
Intelligent Story Direction
•
Affecting Story Content
o
o
When multiple plot points are open, the director
either waits for the player to chose or applies a
heuristic.
 Heuristic could be Brevity or Tension
Can instantiate variables for later use (the
character you befriended at the beginning of the
story).
Download