AI Evaluation David Nowell CIS 588 2/14/05 Baldur’s Gate.

Slides:



Advertisements
Similar presentations
Transparent Decision-Making and AI Design Damian Isla AI Lead, Bungie Studios.
Advertisements

The Basics D&D is a role playing game Take on the persona of anyone. You are the character of the story, the DM is the author, you define your world. Use.
Heuristic Search techniques
Decision Making Making responsible decisions will help you deal with conflict and peer pressure while managing stress.
Game Mechanics and Theory STORYTELLING. Three act structure  Beginning (Act 1): Place the audience into the action or drama of the story. Introduce the.
“I can't change the laws of physics” Roll a die. On an odd result your Brain task gets +1D6, otherwise it gets -1D6. “Random chance seems to have operated.
Game Idea : Rogue-Like. Basic Idea A rogue-like game is one that is characterized by procedural level generation, tile-based graphics, and permanent death.
Black Rune For PC, Mac, and Linux For Teens to Adults.
Garrett Boren Jordan Necovski.  Set in the middle ages, your character is out on a hunt with some friends, as per his usual weekend. As a renowned hunter,
Half life 2/ Counter Strike: Source bot Charlie Cross CIS
NPC Interaction in Video Games Robert Higginbotham.
Space Rescue Chad Seippel Cory VanHooser. Story 2050 brand new International Space Station Distress call from ISS about “alien attack” No further communication.
Artificial Intelligence in Game Design Intelligent Decision Making and Decision Trees.
Artificial Intelligence in Game Design Introduction to Learning.
Write Your First Computer Game!. Coding: Programming Languages Just like you can speak Chinese to someone who understands Chinese to tell them what to.
Artificial Intelligence in Game Design Hierarchical Finite State Machines.
Team Maus Team Members Joe Malo Josh Mele Alaric Bobby Faizaan Mustafa.
Black & White To analyze and critique the AI used Amanda Yaklin.
RED DEAD REVOLVER Artificial Intelligence Critique By Mitchell C. Dodes CIS 588.
Embracing Emergent Behavior with Goal-Based AI
AI Critique: Dustin Kelley. MGS3 AI Intro Tactical espionage missions while avoiding elite Russian soldiers Development team underwent field training.
Basic Information User Interface Game Summary Game Modes Arcade Arcade Score Attack Score Attack Challenge Challenge Story Story Legion Legion Network.
Introduction to AI Role Playing Game (RPG). Agenda History Types of RPGs AI in RPGs Common AI elements AI techniques RPG Making tool: RPG Maker XP RPG.
Using a GA to Create Prey Tactics Presented by Tony Morelli on 11/29/04.
Artificial Intelligence in Game Design Probabilistic Finite State Machines.
What is AI  An attempt to imitate human reactions by scripting reactions to happen when a certain cause is brought about.
The Elements of Gameplay by Richard Rouse III Ayşegül Bakar.
AI Evaluation F.E.A.R.. How AI is used in F.E.A.R. Controls all enemy unit behaviors and actions Patrolling Attacking Ducking under cover etc. Other NPC.
Neural Networks Slides by Megan Vasta. Neural Networks Biological approach to AI Developed in 1943 Comprised of one or more layers of neurons Several.
For “Francelette’s Kindness Adventure” Game Series Card Game Proposition.
CORE MECHANICS. WHAT ARE CORE MECHANICS? Core mechanics are the heart of a game; they generate the gameplay and implement the rules. Formal definition:
Use Time wisely Let us start off with explaining our awesome game!
Xavier Otero Keil.  Animation  Control characters body  makes sure that animation fits situation  handles requests to perform actions  Combat  Possibly.
Artificial Intelligence in Game Design Event and Sense Management.
Francelette’s Kindness Adventure Card Game. I. Special Rules for different difficulties I. Beginning players to Expert Players II. Being a referee for.
Raven Robin Burke GAM 376. Soccer standings Burke, 7 Ingebristen, 6 Buer, 6 Bukk, 6 Krishnaswamy, 4 Lobes, 3 Borys, 2 Rojas, 2 Bieneman, 2.
Artificial Intelligence in Game Design Problems and Goals.
Networking Networking is done via a single component that is persistent in each machine’s game. This multiplayer manager component handles all Unity RPC.
Artificial Intelligence in Game Design
No Respect, I Tell Ya! How I’m really annoyed at game reviewers. (And how we respond to them.) Dave Mark Intrinsic Algorithm LLC.
Artificial Intelligence in Game Design
Help or Hindrance? Roll a die. On an odd result your Brain task gets +1D6, otherwise it gets -1D6. Terribly Good Luck Play when you are about to make a.
The Design Document The Design Document Introduction Game Mechanics Artificial Intelligence Characters, Items, and Objects/Mechanisms Story.
“Change the Way You Play” John P BengeGame Designer | Environment Modeler Eric FritzGame Programmer Andrew PatrasProject Manager | Technical Director |
AI in Computer Gaming: The first person shooter Tyler Hulburd.
Artificial Intelligence in Game Design
Test Environment Algorithm Program Requirements/ Enhancements Analyze the Problem and Design a Solution Programming Software Translates the Source Code.
Artificial Intelligence in Game Design N-Grams and Decision Tree Learning.
Jumping, Climbing, and Tactical Reasoning Section 2.5 Tom Schaible CSE 497 – AI & Game Programming.
Artificial Intelligence in Game Design Complex Steering Behaviors and Combining Behaviors.
CIS 588 AI Evaluation for World of Warcraft Jonathan Schmoll February 14, 2005.
What is the Best Position? Developing Positioning Skills February, R. Baker1.
Games Development Game Architecture: Entities CO2301 Games Development 1 Week 22.
Artificial intelligence IN NPCs. Early Role Playing games Npcs in early role playing games were very limited in terms of being “Intelligent”. For instance,
F.E.A.R. Game AI Evaluation by Robert Rak. What is F.E.A.R. ? FEAR is a First Person Shooter game Player takes on the role of an elite strike force team.
Sega 500 Scripted events and Sequences Jeff “Ezeikeil” Giles
Dr Nick Mitchell (Room CM 224)
Artificial Intelligence in Game Design Influence Maps and Decision Making.
Artificial Intelligence in Game Design Lecture 8: Complex Steering Behaviors and Combining Behaviors.
Designing Design Tools. What is design tools? Why do we need them?
Artificial Intelligence in Game Design Lecture 20: Hill Climbing and N-Grams.
Finite State Machines Logical and Artificial Intelligence in Games Lecture 3a.
KREATIVE KOMPUTING WITH KODU WITH SOME KROSS-KURRIKULAR OPPORTUNITIES FOR LEARNING JAN HARRISON.
11 Making Decisions in a Program Session 2.3. Session Overview  Introduce the idea of an algorithm  Show how a program can make logical decisions based.
Artificial intelligence In The Gaming Industy. For years games have used Artificial Intelligence, normally we call them bots, like for example your playing.
JavaScript Part 1 Introduction to scripting The ‘alert’ function.
Flexible and Purposeful NPC Behaviors using Real-Time Genetic Control
Application of Artificial Intelligence and Graphics to Support a Three-Dimensional Game Chris Cummings.
Enemy and Friendly AIs Richard Gesick.
CIS 488/588 Bruce R. Maxim UM-Dearborn
Presentation transcript:

AI Evaluation David Nowell CIS 588 2/14/05 Baldur’s Gate

How is AI used in the game? Three types of NPC Characters: Allies Non-Offensive Characters Enemies

Allies These start off with programmed responses. If the player has them join the party, they are then under his control. You can control their every action, or give them more general guidelines and allow them to decide how to achieve the goal, or give them no guidelines and let them decide what to do. The actions of the NPCs is determined via customizable scripts, letting the player decide how he wants the characters to act.

Non-Offensive Characters These are usually “information points.” They are programmed to stay near a certain area and respond to the player with conversation, advice, or quests. The only time AI is used by these characters is if something unexpected happens, such as a player attacking them, or a combat occurring near Guardsmen

Enemies There are two different versions of these. The first type is the “Wandering Monster.” This creature is programmed to wander around a certain area of the map, and then goes into a combat mode when the player is seen near-by. The second type is a planned encounter. The character’s actions are scripted while encountering the player. After that, the AI takes over for the actual combat. The enemy AI is generally good, geared toward teamwork, such as formations & sneak attacks.

What AI techniques are used? Pathfinding Scripted Behavior

Pathfinding All characters uses this. You can click on a location on the map where you want to move to, and the character will find a route there, going around obstacles if necessary. Similarly, characters will use this to find a route to attack an enemy, or to get into position for a ranged attack.

Scripted Behavior This is the majority of the AI. It is similar to SOAR, in that there are rules, and if they are met, then a condition will trigger. This uses weights if multiple responses could be appropriate, but that's really just a shortcut for adding a random number condition to the IF statement. Example using 100% weights:

// if I am poisoned then cure it // try potions first, they are fastest and always work // sometimes the spells fail IF HitBy([ANYONE],POISON) HasItem("POTN20",Myself) THEN RESPONSE #100 UseItem("POTN20",Myself) END IF HitBy([ANYONE],POISON) HaveSpell(INNATE_SLOW_POISON) THEN RESPONSE #100 Spell(Myself,INNATE_SLOW_POISON) END

IF HitBy([ANYONE],POISON) HaveSpell(CLERIC_NEUTRALIZE_POISON) THEN RESPONSE #100 Spell(Myself,CLERIC_NEUTRALIZE_POISON) END IF HitBy([ANYONE],POISON) HaveSpell(CLERIC_SLOW_POISON) THEN RESPONSE #100 Spell(Myself,CLERIC_SLOW_POISON) END IF HitBy([ANYONE],POISON) THEN RESPONSE #100 Shout(POISONED) Continue() END

Tools used to implement the AI Baldur's Gate comes with a AI scripting language & compiler available to players. Each of the major character types have several sets of scripts that the player can choose as the default behavior for the NPC party members. In addition, you can create your own custom scripts to get NPCs to act exactly as you would prefer.

Example Script Descriptions THIEF AGGRESSIVE: The thief will attempt to hide in shadows when an enemy is not in sight. As soon as the thief is hidden, he will attempt to backstab the closest enemy. (THIEF1) THIEF DEFENSIVE: The thief will attack any enemies he notices who are attacking party members (including himself). HE will not move far away from the party leader, so if he's pursuing an enemy he will turn back and return to the party if he has gone too far. If the thief is reduced to 50% or lower hit points then he will run away and then attempt to hide in shadows and avoid combat. (THIEF2) THIEF PASSIVE: The thief will not move to engage enemies. If he is attacked from a distance he will reciprocate with missile weapons. If an enemy engages him in melee combat, then he will draw his melee weapon and attack. (THIEF3) THIEF RANGED ATTACK: The thief will attack any enemy when he sees them with the missle weapon he is most proficient with. He will try to keep his distance from enemies, but if he's attacked in melee combat he will switch to a melee weapon. (THIEF4)

Thief 1 Code (Aggressive) IF HPPercentLT(Myself,50) See(NearestEnemyOf(Myself)) THEN RESPONSE #100 Help() Continue() END IF Delay(10) THEN RESPONSE #100 Hide() END IF See(NearestEnemyOf(Myself)) THEN RESPONSE #100 AttackReevaluate(NearestEnemyOf(Myself),30) END

Thief 3 Code (Passive) IF HPPercentLT(Myself,50) See(NearestEnemyOf(Myself)) THEN RESPONSE #100 Help() Continue() END IF Delay(10) THEN RESPONSE #100 Hide() END IF See(NearestEnemyOf(Myself)) THEN RESPONSE #100 AttackReevaluate(NearestEnemyOf(Myself),30) END

Strengths of the AI - Environment-Aware - Will react differently based on conditions such as: Health Items available Terrain types - Customizable - Two otherwise similar AIs could have different scripts, making them seem unique to the player. - Good pathfinding & moving in formations

Weaknesses of the AI - Predictable - Under the same conditions, an AI will keep attempting the same actions - Doesn't learn - If an attack is ineffective, the engine will alert you of this. However, the AI does not use this information, but will continue attacking. - Inflexible - For every possible item / spell, need to spell it out in a script: IF haveSpell(LightningBolt) THEN... - If you have a character with multiple types of skills, makes things even harder. Ie, a Fighter / Mage AI party member who has spells or weapons that do approximately equal damage. To make the character use them intelligently requires intricate scripting

Effectiveness in improving game play? Effectiveness varies based on script & style. Default script has fairly stupid AI, does not add to gameplay Custom scripts can greatly improve gameplay - NPCs smart enough to do things like heal you w/o having to pause the game and command them makes the game much more enjoyable Downside is having to understand the scripts makes player aware of limitations in the AI. - Can’t be truly surprised by behavior of the AI, as would be possible with a “black box”