Advanced Computer Graphics

Size: px
Start display at page:

Download "Advanced Computer Graphics"

Transcription

1 Advanced Computer Graphics Lecture 14: Game AI Techniques Bernhard Jung TU-BAF, Summer 2007 Overview Components of Game AI Systems Animation Movement & Pathfinding Behaviors Decision Making Finite State Machines Decision Trees Rule-based Systems Literature Lars Lidén: Strategic and Tactical Reasoning with Waypoints. In Steve Rabin (Ed): AI Programming Wisdom, Charles River Media, pp , Alex J. Champandard. Synthetic Creatures with Learning and Reactive Behaviors. New Riders Games. Amit s Game Programming Information. Presentation based on Lars Liden. The Use of Artificial Intelligence in the Computer Game Industry 1

2 Introduction The term A.I. is used broadly in the computer game industry Games come in many genres and the techniques employed by the different genres vary widely Will be discussing A.I. for non-player characters (NPCs) in a firstperson or third-person shooter Fully rendered 3D environment Player controls a single character Won t be discussing use of AI for: Board games (Chess, Go) Strategy games (Civilization / Age of Empires) Camera control in 3D games Simulation games (The Sims, Sim City) Racing games Components of an AI System Animation Responsible for controlling NPC body Movement Responsible for controlling NPC navigation Behavior Responsible for controlling NPC decision making 2

3 AI Components: Animation NPC models built by artists Use tools such as 3D Studio Max or Maya Models are are constructed from bones Bones are connected by articulated joints The skeletal system is covered by a mesh of textured polygons AI Components: Animation Animation sequences are generated by defining how joints should articulate through time Animation sequences for a model are either: Hand generated by a computer animator Recorded from real human (or animal) movements and applied to a skeletal system ( motion capture ) Walking sequence: 3

4 AI Components: Animation Animation sequences tend to be: Motion primitives: Run, Walk, Jump, Side-step, Climb Transitions Start_Walk, Run_To_Jump, Jump_Land Some animation sequences only take control of part of the body: wave_hello hand_signal_stop swing_ice_axe AI Components: Animation Animation Selection Parameterize Animation Selected Joint Control Inverse Kinematics 4

5 AI Components: Animation First step in A.I. is to select which animation sequence or sequences should be applied to a model Many influences: Desired behavior chosen by decision system What animation is currently playing The current velocity and direction of the NPC The terrain the NPC is standing on AI Components: Animation Second step is to parameterize animations Speed up or slow down animation Slow walk, fast walk Accelerate / decelerate stop and start of run Slow run as approach sharp turn Blend between animations walk-to-run 70% normal walk + 30% limp Layer animations Mix hand_wave on top of walk animation 5

6 AI Components: Animation Next might add selected Joint Control Take control of particular joints Either: Ignore joint motion in pre-generated animation Blend with pre-generated joint motion Used for: Head Turning Looking at a particular object or location Arm aiming Point gun at a location AI Components: Animation And finally, add inverse kinematics Algorithmically determine the joint configuration required for an end-effector (hand or foot) to reach a particular location Used for: Keep the feet on the ground on uneven terrain or when walking up stairs Reaching hand out to open a door, pick up and object 6

7 Movement: Pathfinding The primary component of a movement system is pathfinding. Find a route for an NPC to travel from one location in the world to another. Route depends on: NPC s size Will NPC s body fit in a given location? NPC s navigation ability Walk, Jump, Climb, Swim Movement: Pathfinding Tools Waypoint Position in a map that is used for navigation Usually placed in world manually by a level designer Link Connection between two waypoints Often annotated with the required navigation type (Jump, Swim, Climb) For a given NPC, two waypoints are linked when: The NPC has room enough to move from one node to another without colliding with the world geometry The NPC has the required navigation ability Node Graph Data structure holding all waypoints and links Either generated manually by a level designer or automatically by the computer and annotated by a level designer 7

8 Movement: Node Graph Movement: Route Generation A* is the preferred pathfinding algorithm for quickly finding a short path between two waypoints heuristic search algorithm incorporates estimate of distance to goal guaranteed to find optimal path if link costs are never overestimated Often modified for other route types: Fastest Route Shortest route is not often the fastest as it may take an NPC longer to climb a ladder or swim between two waypoints than to run or walk Safest Route For tactical reasons an NPC may choose to prefer a longer less exposed route than a shorter or faster route with no cover see: applet: ; lokale Kopie 8

9 Movement: Obstacle Avoidance Often the character must avoid players, other characters, and vehicles that are moving rapidly through the environment. Characters must not get stuck on each other at choke points, and they must maintain enough spacing to maneuver when traveling in groups. Obstacle avoidance may be implemented using trajectory prediction and layered steering behaviors. AI Components: Behavior Responsible for deciding what behavior an NPC should express Sense Each NPC has a think cycle: Sense Environment Select Behavior Express behavior Think Act 9

10 AI Components: Behavior Sense Environment What to I see? What can I hear / smell? Includes internal states: How tired am I? What s my health? Select Behavior Finite State Machine Decision Tree Rule-based System Express Behavior Select appropriate animation sequences Quake Shambler Monster FSM 10

11 Quake Dog Monster Hierarchical FSM Quake Decision Tree Just one tree Actions: Attack, Retreat, Chase, Spawn, Wander Could add additional trees: If I m attacking, which weapon should I use? If I m wandering, which way should I go? Much like hierarchical FSMs 11

12 Production (Rule-based) Systems if-then rules if C1, C2, then A1, A2, "deductive" rule-based systems: if- and then-parts are assertions (facts); thenparts are added to working memory when the rule is fired rule-based reaction systems: thenparts are arbitrary actions; e.g. assert a fact in working memory, execute a procedure Working Memory (contains facts) P Q Rule base (contains rules) R1 R2 P Q P Psychological plausibility e.g. Newell & Simon, 1972 "cognitive architectures", e.g. SOAR, ACT-R Rules are "modular" easy modification of single rules possible Rule Interpreter Decision Making Rule Based Systems TASKS: Simple things for a NPC to do, such as: Turn to face a location or an object (TASK_FACE_FRIEND) Find a path to a location (TASK_FIND_PATH_TO_ENEMY) Move along a path (TASK_WALK_PATH) Task-1 Schedule Task-2 Task-3 SCHEDULES: Named lists of tasks Selected by logic system Performed by NPC until: All tasks have finished One task has failed Schedule has been Interrupted SCHEDULE_GET_WEAPON TASK_FIND_WEAPON TASK_FIND_PATH TASK_RUN_PATH TASK_PICKUP_WEAPON SCHEDULE_FLANK_ATTACK TASK_FIND_FLANK_POSITION TASK_FIND_PATH TASK_RUN_PATH TASK_RANGE_ATTACK 12

13 Decision Making: Rule-Based Systems Conditions Predicates that are set every time an NPC thinks Conditions serve two purposes: Schedule Selection Schedule Interruption Schedule selection is rule based: If (CONDITION_HEAR_DANGER) and not (CONDITION_HAVE_WEAPON) then select schedule (SCHEDULE_GET_WEAPON) If (CONDITION_HAVE_WEAPON) and (CONDITION_OUT_OF_AMMO) then select schedule (SCHEDULE_RELOAD_WEAPON) Decision Making: Rule-Based Systems Interrupt conditions Schedules also contain interrupt conditions Same set of predicates used for schedule selection If interrupt condition is listed in the schedule, and the condition is true, the schedule will be interrupted Example SCHEDULE_GET_WEAPON TASK_FIND_WEAPON TASK_FIND_PATH TASK_RUN_PATH TASK_PICKUP_WEAPON CONDITION_HEAVY_DAMAGE CONDITION_ENEMY_DEAD 13

14 Decision Making: Rule-Based Systems Task Failure Sometimes a task can t be completed For example: (TASK_FIND_WEAPON) when no weapon available (TASK_FIND_PATH) when no way to get to destination In such cases the schedule will exit pre-maturely Fail Schedules: Can specify a fail schedule e.g. take cover schedule chosen when any of the tasks fail SCHEDULE_GET_WEAPON TASK_SET_FAIL_SCHEDULE SCHEDULE_TAKE_COVER TASK_FIND_WEAPON TASK_FIND_PATH TASK_RUN_PATH TASK_PICKUP_WEAPON Decision Making: Rule-Based Systems NPC Think Cycle: Update predicate values (conditions) If any conditions interrupt the current schedule, select a new schedule Perform next task in schedule list If task fails, go to fail schedule (if defined) or select a new schedule If all tasks have been completed, select a new schedule 14

15 Decision Making: Rule-Based System Another Example Rules model the behavior of a dog interacting with a human. The rules are contextualized, i.e. apply only in certain states ("goals") Mike Christian: A Simple Inference Engine for a Rule-Based Architecture. In AI Game Programming Wisdom. Charles River Media BRAIN_START(Dog, NPCBrainLib) GOAL (Nap) IF (HearsNoise) GOTO (Investigate) GOAL (Investigate) IF (SeesHuman) GOTO (ConsiderAction) IF (Done) GOTO (Nap) GOAL (ConsiderAction) IF (LikesHuman) GOTO (Follow) IF (WaryOfHuman) GOTO (RunAway) IF (HateHuman) GOTO (Attack) GOAL (Follow) IF (Close) GOSUB (Beg) IF (Tired) GOSUB (Rest) IF (HumanGone) GOTO (GoHome) GOAL (Rest) IF (Done) RETURN GOAL (Beg) IF (GetFood) GOSUB (Eat) GOAL (Eat) GOAL (GoHome) BRAIN_END Decision Making: Rule-Based System Yet Another Example Rule-based System for NPC capabilities on several levels: Low-level movement behaviors such as obstacle avoidance, chasing and evading, Weapon selection based on the current spatial position and situation of the game, Attacking the enemy using prediction of movement, basic aiming and firing, Tactical reasoning and selection of the right action in the current context. 15

16 Decision Making: Rule-Based System Yet Another Example Senses (represented by symbols) Range sensors Left Obstacle, Front Obstacle, Right Obstacle Range sensors are used to determine the distance of the closest obstacles. The default parameters check the space within three steps of the animat's position, returning true if the area is clear. The sensors are placed at -45, 0 and +45. Collision Collision Presence of enemy Enemy, Close, Far Presence of Health & Armor Items Health Item, Armor Item Personal state Low Health, Full Health, Low Armor, Full Armor Decision Making: Rule-Based System Yet Another Example Actions Movement Forward Move in the direction the body is facing. Seek Head towards the enemy. Flee Move away from the enemy. Side Take a lateral step as a strafing motion. Avoid Moves away from the obstacle that was hit, in the direction of the normal of the collision.* View Control Look Right, Look Left Rotate the view by +/-30. Look Behind Turn the view sharply by over 90 left or right. Look to Enemy/Health/Armor Turn to face this entity in the field of view. Look Around Gaze around by rotating the view parametrically.* Weapon Control Use Weapon Four commands to select the most popular weapons: rocket launcher, railgun, chaingun and hyperblaster. Fire Pull the trigger on the current weapon. * avoid and look around behaviors cannot be implemented with a symbolic rulebased system; actions commands trigger respective behavior procedures 16

17 Decision Making: Rule-Based System Yet Another Example Production Rules Action Selection IF enemy AND health_low THEN retreat IF enemy AND NOT distance_close THEN pursue IF enemy THEN dodge IF true THEN NOT retreat AND NOT pursue AND NOT dodge Movement IF collision AND enemy THEN move_avoid IF retreat THEN move_flee IF pursue THEN move_seek IF dodge THEN move_side IF true THEN move_forward Weapon Selection IF enemy AND distance_far THEN use_rocketlauncher AND use_railgun IF enemy AND NOT distance_far THEN use_chaingun AND use_hyperblaster View Control IF enemy THEN look_enemy AND fire IF obstacle_front AND obstacle_left AND obstacle_right THEN look_behind IF obstacle_front AND obstacle_left THEN look_right IF obstacle_front AND obstacle_right THEN look_left IF NOT health_full AND health_item THEN look_health IF NOT armor_full AND armor_item THEN look_armor IF true THEN look around Decision Making: SOAR Quake Bot Developing an Artificial Intelligence Engine. van Lent; Laird (1999) Quake bot decision cycle Perceive: Accept sensor information from the game Think: Select and execute relevant knowledge Act: Execute actions in the game. 17

18 Decision Making: SOAR Quake Bot Developing an Artificial Intelligence Engine. van Lent; Laird (1999) QuakeBot Sensor information & actions Decision Making Rule-based System: Good and Bad Advantages Corresponds to way people often think of knowledge Very expressive and allows very complex behaviors Modular knowledge Easy to write and debug compared to decision trees More concise than FSM Disadvantages Can be memory intensive Can be computationally intensive Sometimes difficult to debug 18

CS 354R: Computer Game Technology

CS 354R: Computer Game Technology CS 354R: Computer Game Technology Introduction to Game AI Fall 2018 What does the A stand for? 2 What is AI? AI is the control of every non-human entity in a game The other cars in a car game The opponents

More information

Strategic and Tactical Reasoning with Waypoints Lars Lidén Valve Software

Strategic and Tactical Reasoning with Waypoints Lars Lidén Valve Software Strategic and Tactical Reasoning with Waypoints Lars Lidén Valve Software lars@valvesoftware.com For the behavior of computer controlled characters to become more sophisticated, efficient algorithms are

More information

Basic AI Techniques for o N P N C P C Be B h e a h v a i v ou o r u s: s FS F T S N

Basic AI Techniques for o N P N C P C Be B h e a h v a i v ou o r u s: s FS F T S N Basic AI Techniques for NPC Behaviours: FSTN Finite-State Transition Networks A 1 a 3 2 B d 3 b D Action State 1 C Percept Transition Team Buddies (SCEE) Introduction Behaviours characterise the possible

More information

Making Simple Decisions CS3523 AI for Computer Games The University of Aberdeen

Making Simple Decisions CS3523 AI for Computer Games The University of Aberdeen Making Simple Decisions CS3523 AI for Computer Games The University of Aberdeen Contents Decision making Search and Optimization Decision Trees State Machines Motivating Question How can we program rules

More information

CS 480: GAME AI TACTIC AND STRATEGY. 5/15/2012 Santiago Ontañón

CS 480: GAME AI TACTIC AND STRATEGY. 5/15/2012 Santiago Ontañón CS 480: GAME AI TACTIC AND STRATEGY 5/15/2012 Santiago Ontañón santi@cs.drexel.edu https://www.cs.drexel.edu/~santi/teaching/2012/cs480/intro.html Reminders Check BBVista site for the course regularly

More information

CS 387/680: GAME AI AI FOR FIRST-PERSON SHOOTERS

CS 387/680: GAME AI AI FOR FIRST-PERSON SHOOTERS CS 387/680: GAME AI AI FOR FIRST-PERSON SHOOTERS 4/28/2014 Instructor: Santiago Ontañón santi@cs.drexel.edu TA: Alberto Uriarte office hours: Tuesday 4-6pm, Cyber Learning Center Class website: https://www.cs.drexel.edu/~santi/teaching/2014/cs387-680/intro.html

More information

Moving Path Planning Forward

Moving Path Planning Forward Moving Path Planning Forward Nathan R. Sturtevant Department of Computer Science University of Denver Denver, CO, USA sturtevant@cs.du.edu Abstract. Path planning technologies have rapidly improved over

More information

Inaction breeds doubt and fear. Action breeds confidence and courage. If you want to conquer fear, do not sit home and think about it.

Inaction breeds doubt and fear. Action breeds confidence and courage. If you want to conquer fear, do not sit home and think about it. Inaction breeds doubt and fear. Action breeds confidence and courage. If you want to conquer fear, do not sit home and think about it. Go out and get busy. -- Dale Carnegie Announcements AIIDE 2015 https://youtu.be/ziamorsu3z0?list=plxgbbc3oumgg7ouylfv

More information

Chapter 1:Object Interaction with Blueprints. Creating a project and the first level

Chapter 1:Object Interaction with Blueprints. Creating a project and the first level Chapter 1:Object Interaction with Blueprints Creating a project and the first level Setting a template for a new project Making sense of the project settings Creating the project 2 Adding objects to our

More information

Game Artificial Intelligence ( CS 4731/7632 )

Game Artificial Intelligence ( CS 4731/7632 ) Game Artificial Intelligence ( CS 4731/7632 ) Instructor: Stephen Lee-Urban http://www.cc.gatech.edu/~surban6/2018-gameai/ (soon) Piazza T-square What s this all about? Industry standard approaches to

More information

Artificial Intelligence for Games

Artificial Intelligence for Games Artificial Intelligence for Games CSC404: Video Game Design Elias Adum Let s talk about AI Artificial Intelligence AI is the field of creating intelligent behaviour in machines. Intelligence understood

More information

the question of whether computers can think is like the question of whether submarines can swim -- Dijkstra

the question of whether computers can think is like the question of whether submarines can swim -- Dijkstra the question of whether computers can think is like the question of whether submarines can swim -- Dijkstra Game AI: The set of algorithms, representations, tools, and tricks that support the creation

More information

CS 387/680: GAME AI TACTIC AND STRATEGY

CS 387/680: GAME AI TACTIC AND STRATEGY CS 387/680: GAME AI TACTIC AND STRATEGY 5/12/2014 Instructor: Santiago Ontañón santi@cs.drexel.edu TA: Alberto Uriarte office hours: Tuesday 4-6pm, Cyber Learning Center Class website: https://www.cs.drexel.edu/~santi/teaching/2014/cs387-680/intro.html

More information

CS 387/680: GAME AI DECISION MAKING. 4/19/2016 Instructor: Santiago Ontañón

CS 387/680: GAME AI DECISION MAKING. 4/19/2016 Instructor: Santiago Ontañón CS 387/680: GAME AI DECISION MAKING 4/19/2016 Instructor: Santiago Ontañón santi@cs.drexel.edu Class website: https://www.cs.drexel.edu/~santi/teaching/2016/cs387/intro.html Reminders Check BBVista site

More information

John E. Laird. Abstract

John E. Laird. Abstract From: AAAI Technical Report SS-00-02. Compilation copyright 2000, AAAI (www.aaai.org). All rights reserved. It Knows What You re Going To Do: Adding Anticipation to a Quakebot John E. Laird University

More information

Tac Due: Sep. 26, 2012

Tac Due: Sep. 26, 2012 CS 195N 2D Game Engines Andy van Dam Tac Due: Sep. 26, 2012 Introduction This assignment involves a much more complex game than Tic-Tac-Toe, and in order to create it you ll need to add several features

More information

A Character Decision-Making System for FINAL FANTASY XV by Combining Behavior Trees and State Machines

A Character Decision-Making System for FINAL FANTASY XV by Combining Behavior Trees and State Machines 11 A haracter Decision-Making System for FINAL FANTASY XV by ombining Behavior Trees and State Machines Youichiro Miyake, Youji Shirakami, Kazuya Shimokawa, Kousuke Namiki, Tomoki Komatsu, Joudan Tatsuhiro,

More information

Raven: An Overview 12/2/14. Raven Game. New Techniques in Raven. Familiar Techniques in Raven

Raven: An Overview 12/2/14. Raven Game. New Techniques in Raven. Familiar Techniques in Raven Raven Game Raven: An Overview Artificial Intelligence for Interactive Media and Games Professor Charles Rich Computer Science Department rich@wpi.edu Quake-style death match player and opponents ( bots

More information

INTRODUCTION TO GAME AI

INTRODUCTION TO GAME AI CS 387: GAME AI INTRODUCTION TO GAME AI 3/31/2016 Instructor: Santiago Ontañón santi@cs.drexel.edu Class website: https://www.cs.drexel.edu/~santi/teaching/2016/cs387/intro.html Outline Game Engines Perception

More information

Artificial Intelligence

Artificial Intelligence Artificial Intelligence Lecture 01 - Introduction Edirlei Soares de Lima What is Artificial Intelligence? Artificial intelligence is about making computers able to perform the

More information

Principles of Computer Game Design and Implementation. Lecture 20

Principles of Computer Game Design and Implementation. Lecture 20 Principles of Computer Game Design and Implementation Lecture 20 utline for today Sense-Think-Act Cycle: Thinking Acting 2 Agents and Virtual Player Agents, no virtual player Shooters, racing, Virtual

More information

CS 680: GAME AI INTRODUCTION TO GAME AI. 1/9/2012 Santiago Ontañón

CS 680: GAME AI INTRODUCTION TO GAME AI. 1/9/2012 Santiago Ontañón CS 680: GAME AI INTRODUCTION TO GAME AI 1/9/2012 Santiago Ontañón santi@cs.drexel.edu https://www.cs.drexel.edu/~santi/teaching/2012/cs680/intro.html CS 680 Focus: advanced artificial intelligence techniques

More information

AI in Computer Games. AI in Computer Games. Goals. Game A(I?) History Game categories

AI in Computer Games. AI in Computer Games. Goals. Game A(I?) History Game categories AI in Computer Games why, where and how AI in Computer Games Goals Game categories History Common issues and methods Issues in various game categories Goals Games are entertainment! Important that things

More information

ROBOTICS ENG YOUSEF A. SHATNAWI INTRODUCTION

ROBOTICS ENG YOUSEF A. SHATNAWI INTRODUCTION ROBOTICS INTRODUCTION THIS COURSE IS TWO PARTS Mobile Robotics. Locomotion (analogous to manipulation) (Legged and wheeled robots). Navigation and obstacle avoidance algorithms. Robot Vision Sensors and

More information

the gamedesigninitiative at cornell university Lecture 23 Strategic AI

the gamedesigninitiative at cornell university Lecture 23 Strategic AI Lecture 23 Role of AI in Games Autonomous Characters (NPCs) Mimics personality of character May be opponent or support character Strategic Opponents AI at player level Closest to classical AI Character

More information

Tac 3 Feedback. Movement too sensitive/not sensitive enough Play around with it until you find something smooth

Tac 3 Feedback. Movement too sensitive/not sensitive enough Play around with it until you find something smooth Tac 3 Feedback Movement too sensitive/not sensitive enough Play around with it until you find something smooth Course Administration Things sometimes go wrong Our email script is particularly temperamental

More information

The Suffering: A Game AI Case Study

The Suffering: A Game AI Case Study The Suffering: A Game AI Case Study Greg Alt Surreal Software 701 N. 34th Street, Suite 301 Seattle, WA 98103 galt@eskimo.com Abstract This paper overviews some of the main components of the AI system

More information

Dynamic Scripting Applied to a First-Person Shooter

Dynamic Scripting Applied to a First-Person Shooter Dynamic Scripting Applied to a First-Person Shooter Daniel Policarpo, Paulo Urbano Laboratório de Modelação de Agentes FCUL Lisboa, Portugal policarpodan@gmail.com, pub@di.fc.ul.pt Tiago Loureiro vectrlab

More information

Implementation and Comparison the Dynamic Pathfinding Algorithm and Two Modified A* Pathfinding Algorithms in a Car Racing Game

Implementation and Comparison the Dynamic Pathfinding Algorithm and Two Modified A* Pathfinding Algorithms in a Car Racing Game Implementation and Comparison the Dynamic Pathfinding Algorithm and Two Modified A* Pathfinding Algorithms in a Car Racing Game Jung-Ying Wang and Yong-Bin Lin Abstract For a car racing game, the most

More information

Efficient, Realistic NPC Control Systems using Behavior-Based Techniques

Efficient, Realistic NPC Control Systems using Behavior-Based Techniques Efficient, Realistic NPC Control Systems using Behavior-Based Techniques Aaron Khoo, Greg Dunham, Nick Trienens, Sanjay Sood Computer Science Dept., Northwestern University 1890 Maple Avenue Evanston,

More information

Principles of Computer Game Design and Implementation. Lecture 29

Principles of Computer Game Design and Implementation. Lecture 29 Principles of Computer Game Design and Implementation Lecture 29 Putting It All Together Games are unimaginable without AI (Except for puzzles, casual games, ) No AI no computer adversary/companion Good

More information

In the end, the code and tips in this document could be used to create any type of camera.

In the end, the code and tips in this document could be used to create any type of camera. Overview The Adventure Camera & Rig is a multi-behavior camera built specifically for quality 3 rd Person Action/Adventure games. Use it as a basis for your custom camera system or out-of-the-box to kick

More information

Strategic Path Planning on the Basis of Risk vs. Time

Strategic Path Planning on the Basis of Risk vs. Time Strategic Path Planning on the Basis of Risk vs. Time Ashish C. Singh and Lawrence Holder School of Electrical Engineering and Computer Science Washington State University Pullman, WA 99164 ashish.singh@ignitionflorida.com,

More information

Who am I? AI in Computer Games. Goals. AI in Computer Games. History Game A(I?)

Who am I? AI in Computer Games. Goals. AI in Computer Games. History Game A(I?) Who am I? AI in Computer Games why, where and how Lecturer at Uppsala University, Dept. of information technology AI, machine learning and natural computation Gamer since 1980 Olle Gällmo AI in Computer

More information

Applying Goal-Driven Autonomy to StarCraft

Applying Goal-Driven Autonomy to StarCraft Applying Goal-Driven Autonomy to StarCraft Ben G. Weber, Michael Mateas, and Arnav Jhala Expressive Intelligence Studio UC Santa Cruz bweber,michaelm,jhala@soe.ucsc.edu Abstract One of the main challenges

More information

An Exploration into Computer Games and Computer Generated Forces

An Exploration into Computer Games and Computer Generated Forces An Exploration into Computer Games and Computer Generated Forces John E. Laird University of Michigan 1101 Beal Ave. Ann Arbor, Michigan 48109-2110 laird@umich.edu Keywords: Computer games, computer generated

More information

CRYPTOSHOOTER MULTI AGENT BASED SECRET COMMUNICATION IN AUGMENTED VIRTUALITY

CRYPTOSHOOTER MULTI AGENT BASED SECRET COMMUNICATION IN AUGMENTED VIRTUALITY CRYPTOSHOOTER MULTI AGENT BASED SECRET COMMUNICATION IN AUGMENTED VIRTUALITY Submitted By: Sahil Narang, Sarah J Andrabi PROJECT IDEA The main idea for the project is to create a pursuit and evade crowd

More information

UT^2: Human-like Behavior via Neuroevolution of Combat Behavior and Replay of Human Traces

UT^2: Human-like Behavior via Neuroevolution of Combat Behavior and Replay of Human Traces UT^2: Human-like Behavior via Neuroevolution of Combat Behavior and Replay of Human Traces Jacob Schrum, Igor Karpov, and Risto Miikkulainen {schrum2,ikarpov,risto}@cs.utexas.edu Our Approach: UT^2 Evolve

More information

the question of whether computers can think is like the question of whether submarines can swim -- Dijkstra

the question of whether computers can think is like the question of whether submarines can swim -- Dijkstra the question of whether computers can think is like the question of whether submarines can swim -- Dijkstra Game AI: The set of algorithms, representations, tools, and tricks that support the creation

More information

12 Final Projects. Steve Marschner CS5625 Spring 2016

12 Final Projects. Steve Marschner CS5625 Spring 2016 12 Final Projects Steve Marschner CS5625 Spring 2016 Final project ground rules Group size: 2 to 5 students choose your own groups expected scope is larger with more people Charter: make a simple game

More information

Applying Theta* in Modern Game

Applying Theta* in Modern Game Applying Theta* in Modern Game Phuc Tran Huu Le*, Nguyen Tam Nguyen Truong, MinSu Kim, Wonshoup So, Jae Hak Jung Yeungnam University, Gyeongsan-si, South Korea. *Corresponding author. Tel: +821030252106;

More information

New Developments in VBS3 GameTech 2014

New Developments in VBS3 GameTech 2014 New Developments in VBS3 GameTech 2014 Agenda VBS3 status VBS3 v3.4 released VBS3 v3.6 in development Key new VBS3 capabilities Paged, correlated terrain Command and control Advanced wounding Helicopter

More information

Z-Town Design Document

Z-Town Design Document Z-Town Design Document Development Team: Cameron Jett: Content Designer Ryan Southard: Systems Designer Drew Switzer:Content Designer Ben Trivett: World Designer 1 Table of Contents Introduction / Overview...3

More information

Lecture 1: Introduction and Preliminaries

Lecture 1: Introduction and Preliminaries CITS4242: Game Design and Multimedia Lecture 1: Introduction and Preliminaries Teaching Staff and Help Dr Rowan Davies (Rm 2.16, opposite the labs) rowan@csse.uwa.edu.au Help: via help4242, project groups,

More information

Artificial Intelligence (AI) Artificial Intelligence Part I. Intelligence (wikipedia) AI (wikipedia) ! What is intelligence?

Artificial Intelligence (AI) Artificial Intelligence Part I. Intelligence (wikipedia) AI (wikipedia) ! What is intelligence? (AI) Part I! What is intelligence?! What is artificial intelligence? Nathan Sturtevant UofA CMPUT 299 Winter 2007 February 15, 2006 Intelligence (wikipedia)! Intelligence is usually said to involve mental

More information

Mage Arena will be aimed at casual gamers within the demographic.

Mage Arena will be aimed at casual gamers within the demographic. Contents Introduction... 2 Game Overview... 2 Genre... 2 Audience... 2 USP s... 2 Platform... 2 Core Gameplay... 2 Visual Style... 2 The Game... 3 Game mechanics... 3 Core Gameplay... 3 Characters/NPC

More information

The Double Helix: AI for Simulation & Gaming

The Double Helix: AI for Simulation & Gaming The Double Helix: AI for Simulation & Gaming Roger Smith LLC (407) 977-3310 smithr@modelbenders.com 11November 2000 Page 1 Simulation = Games = Simulation 11November 2000 Page 2 Logical Layers of Simulations

More information

Reactive Planning for Micromanagement in RTS Games

Reactive Planning for Micromanagement in RTS Games Reactive Planning for Micromanagement in RTS Games Ben Weber University of California, Santa Cruz Department of Computer Science Santa Cruz, CA 95064 bweber@soe.ucsc.edu Abstract This paper presents an

More information

Chapter 5.3 Artificial Intelligence: Agents, Architecture, and Techniques

Chapter 5.3 Artificial Intelligence: Agents, Architecture, and Techniques Chapter 5.3 Artificial Intelligence: Agents, Architecture, and Techniques Artificial Intelligence Intelligence embodied in a man-made device Human level AI still unobtainable 2 Game Artificial Intelligence:

More information

MODELING AGENTS FOR REAL ENVIRONMENT

MODELING AGENTS FOR REAL ENVIRONMENT MODELING AGENTS FOR REAL ENVIRONMENT Gustavo Henrique Soares de Oliveira Lyrio Roberto de Beauclair Seixas Institute of Pure and Applied Mathematics IMPA Estrada Dona Castorina 110, Rio de Janeiro, RJ,

More information

Virtual Environments and Game AI

Virtual Environments and Game AI Virtual Environments and Game AI Dr Michael Papasimeon Guest Lecture Graphics and Interaction 9 August 2016 Introduction Introduction So what is this lecture all about? In general... Where Artificial Intelligence

More information

INTELLIGENT GUIDANCE IN A VIRTUAL UNIVERSITY

INTELLIGENT GUIDANCE IN A VIRTUAL UNIVERSITY INTELLIGENT GUIDANCE IN A VIRTUAL UNIVERSITY T. Panayiotopoulos,, N. Zacharis, S. Vosinakis Department of Computer Science, University of Piraeus, 80 Karaoli & Dimitriou str. 18534 Piraeus, Greece themisp@unipi.gr,

More information

Video Game Engines. Chris Pollett San Jose State University Dec. 1, 2005.

Video Game Engines. Chris Pollett San Jose State University Dec. 1, 2005. Video Game Engines Chris Pollett San Jose State University Dec. 1, 2005. Outline Introduction Managing Game Resources Game Physics Game AI Introduction A Game Engine provides the core functionalities of

More information

IMGD 1001: Programming Practices; Artificial Intelligence

IMGD 1001: Programming Practices; Artificial Intelligence IMGD 1001: Programming Practices; Artificial Intelligence Robert W. Lindeman Associate Professor Department of Computer Science Worcester Polytechnic Institute gogo@wpi.edu Outline Common Practices Artificial

More information

Behaviour-Based Control. IAR Lecture 5 Barbara Webb

Behaviour-Based Control. IAR Lecture 5 Barbara Webb Behaviour-Based Control IAR Lecture 5 Barbara Webb Traditional sense-plan-act approach suggests a vertical (serial) task decomposition Sensors Actuators perception modelling planning task execution motor

More information

the gamedesigninitiative at cornell university Lecture 10 Game Architecture

the gamedesigninitiative at cornell university Lecture 10 Game Architecture Lecture 10 2110-Level Apps are Event Driven Generates event e and n calls method(e) on listener Registers itself as a listener @105dc method(event) Listener JFrame Listener Application 2 Limitations of

More information

TJHSST Senior Research Project Evolving Motor Techniques for Artificial Life

TJHSST Senior Research Project Evolving Motor Techniques for Artificial Life TJHSST Senior Research Project Evolving Motor Techniques for Artificial Life 2007-2008 Kelley Hecker November 2, 2007 Abstract This project simulates evolving virtual creatures in a 3D environment, based

More information

Design of an AI Framework for MOUTbots

Design of an AI Framework for MOUTbots Design of an AI Framework for MOUTbots Zhuoqian Shen, Suiping Zhou, Chee Yung Chin, Linbo Luo Parallel and Distributed Computing Center School of Computer Engineering Nanyang Technological University Singapore

More information

Toon Dimension Formal Game Proposal

Toon Dimension Formal Game Proposal Toon Dimension Formal Game Proposal Peter Bucher Christian Schulz Nicola Ranieri February, 2009 Table of contents 1. Game Description...1 1.1 Idea...1 1.2 Story...1 1.3 Gameplay...2 1.4 Implementation...2

More information

Game AI Overview. What is Ar3ficial Intelligence. AI in Games. AI in Game. Scripted AI. Introduc3on

Game AI Overview. What is Ar3ficial Intelligence. AI in Games. AI in Game. Scripted AI. Introduc3on Game AI Overview Introduc3on History Overview / Categorize Agent Based Modeling Sense-> Think->Act FSM in biological simula3on (separate slides) Hybrid Controllers Simple Perceptual Schemas Discussion:

More information

IMGD 1001: Programming Practices; Artificial Intelligence

IMGD 1001: Programming Practices; Artificial Intelligence IMGD 1001: Programming Practices; Artificial Intelligence by Mark Claypool (claypool@cs.wpi.edu) Robert W. Lindeman (gogo@wpi.edu) Outline Common Practices Artificial Intelligence Claypool and Lindeman,

More information

5a. Reactive Agents. COMP3411: Artificial Intelligence. Outline. History of Reactive Agents. Reactive Agents. History of Reactive Agents

5a. Reactive Agents. COMP3411: Artificial Intelligence. Outline. History of Reactive Agents. Reactive Agents. History of Reactive Agents COMP3411 15s1 Reactive Agents 1 COMP3411: Artificial Intelligence 5a. Reactive Agents Outline History of Reactive Agents Chemotaxis Behavior-Based Robotics COMP3411 15s1 Reactive Agents 2 Reactive Agents

More information

Chapter 31. Intelligent System Architectures

Chapter 31. Intelligent System Architectures Chapter 31. Intelligent System Architectures The Quest for Artificial Intelligence, Nilsson, N. J., 2009. Lecture Notes on Artificial Intelligence, Spring 2012 Summarized by Jang, Ha-Young and Lee, Chung-Yeon

More information

Artificial Intelligence: Implications for Autonomous Weapons. Stuart Russell University of California, Berkeley

Artificial Intelligence: Implications for Autonomous Weapons. Stuart Russell University of California, Berkeley Artificial Intelligence: Implications for Autonomous Weapons Stuart Russell University of California, Berkeley Outline Remit [etc] AI in the context of autonomous weapons State of the Art Likely future

More information

Game AI CS CS 4730 Computer Game Design. Some slides courtesy Tiffany Barnes, NCSU

Game AI CS CS 4730 Computer Game Design. Some slides courtesy Tiffany Barnes, NCSU Game AI Computer Game Design Some slides courtesy Tiffany Barnes, NCSU The Loop of Life Games are driven by a game loop that performs a series of tasks every frame Some games have separate loops for the

More information

TGD3351 Game Algorithms TGP2281 Games Programming III. in my own words, better known as Game AI

TGD3351 Game Algorithms TGP2281 Games Programming III. in my own words, better known as Game AI TGD3351 Game Algorithms TGP2281 Games Programming III in my own words, better known as Game AI An Introduction to Video Game AI In a nutshell B.CS (GD Specialization) Game Design Fundamentals Game Physics

More information

SORTS: A Human-Level Approach to Real-Time Strategy AI

SORTS: A Human-Level Approach to Real-Time Strategy AI SORTS: A Human-Level Approach to Real-Time Strategy AI Sam Wintermute, Joseph Xu, and John E. Laird University of Michigan 2260 Hayward St. Ann Arbor, MI 48109-2121 {swinterm, jzxu, laird}@umich.edu Abstract

More information

the gamedesigninitiative at cornell university Lecture 5 Rules and Mechanics

the gamedesigninitiative at cornell university Lecture 5 Rules and Mechanics Lecture 5 Rules and Mechanics Today s Lecture Reading is from Unit 2 of Rules of Play Available from library as e-book Linked to from lecture page Not required, but excellent resource Important for serious

More information

the gamedesigninitiative at cornell university Lecture 20 Optimizing Behavior

the gamedesigninitiative at cornell university Lecture 20 Optimizing Behavior Lecture 20 2 Review: Sense-Think-Act Sense: Perceive world Reading game state Example: enemy near? Think: Choose an action Often merged with sense Example: fight or flee Act: Update state Simple and fast

More information

Navigating Detailed Worlds with a Complex, Physically Driven Locomotion: NPC Skateboarder AI in EA s skate

Navigating Detailed Worlds with a Complex, Physically Driven Locomotion: NPC Skateboarder AI in EA s skate Proceedings of the Fourth Artificial Intelligence and Interactive Digital Entertainment Conference Navigating Detailed Worlds with a Complex, Physically Driven Locomotion: NPC Skateboarder AI in EA s skate

More information

CS 480: GAME AI INTRODUCTION TO GAME AI. 4/3/2012 Santiago Ontañón https://www.cs.drexel.edu/~santi/teaching/2012/cs480/intro.

CS 480: GAME AI INTRODUCTION TO GAME AI. 4/3/2012 Santiago Ontañón https://www.cs.drexel.edu/~santi/teaching/2012/cs480/intro. CS 480: GAME AI INTRODUCTION TO GAME AI 4/3/2012 Santiago Ontañón santi@cs.drexel.edu https://www.cs.drexel.edu/~santi/teaching/2012/cs480/intro.html CS 480 Focus: artificial intelligence techniques for

More information

INTRODUCTION TO GAME AI

INTRODUCTION TO GAME AI CS 387: GAME AI INTRODUCTION TO GAME AI 3/31/2015 Instructor: Santiago Ontañón santi@cs.drexel.edu Class website: https://www.cs.drexel.edu/~santi/teaching/2015/cs387/intro.html CS 387 Focus: artificial

More information

the gamedesigninitiative at cornell university Lecture 3 Design Elements

the gamedesigninitiative at cornell university Lecture 3 Design Elements Lecture 3 Reminder: Aspects of a Game Players: How do humans affect game? Goals: What is player trying to do? Rules: How can player achieve goal? Challenges: What obstacles block goal? 2 Formal Players:

More information

Dipartimento di Elettronica Informazione e Bioingegneria Robotics

Dipartimento di Elettronica Informazione e Bioingegneria Robotics Dipartimento di Elettronica Informazione e Bioingegneria Robotics Behavioral robotics @ 2014 Behaviorism behave is what organisms do Behaviorism is built on this assumption, and its goal is to promote

More information

Real-time Adaptive Robot Motion Planning in Unknown and Unpredictable Environments

Real-time Adaptive Robot Motion Planning in Unknown and Unpredictable Environments Real-time Adaptive Robot Motion Planning in Unknown and Unpredictable Environments IMI Lab, Dept. of Computer Science University of North Carolina Charlotte Outline Problem and Context Basic RAMP Framework

More information

How to Zombie Guide Written by Luke Raymond Thiessen

How to Zombie Guide Written by Luke Raymond Thiessen How to Zombie Guide Written by Luke Raymond Thiessen Table of Contents 1.0 Game Terms... 3 2.0 Costumes... 3 3.0 Behavior... 3 4.0 Combat... 4 4.1 Basics... 4 4.2 Special Terms... 5 4.3 Infection... 6

More information

Abandon. 1. Everything comes to life! 1.1. Introduction Character Biography

Abandon. 1. Everything comes to life! 1.1. Introduction Character Biography Abandon 1. Everything comes to life! 1.1. Introduction You find yourself alone in an empty world, no idea who you are and why you are here. As you reach out to feel the environment, you realise that the

More information

the gamedesigninitiative at cornell university Lecture 3 Design Elements

the gamedesigninitiative at cornell university Lecture 3 Design Elements Lecture 3 Reminder: Aspects of a Game Players: How do humans affect game? Goals: What is player trying to do? Rules: How can player achieve goal? Challenges: What obstacles block goal? 2 Formal Players:

More information

Artificial Intelligence ( CS 365 ) IMPLEMENTATION OF AI SCRIPT GENERATOR USING DYNAMIC SCRIPTING FOR AOE2 GAME

Artificial Intelligence ( CS 365 ) IMPLEMENTATION OF AI SCRIPT GENERATOR USING DYNAMIC SCRIPTING FOR AOE2 GAME Artificial Intelligence ( CS 365 ) IMPLEMENTATION OF AI SCRIPT GENERATOR USING DYNAMIC SCRIPTING FOR AOE2 GAME Author: Saurabh Chatterjee Guided by: Dr. Amitabha Mukherjee Abstract: I have implemented

More information

the gamedesigninitiative at cornell university Lecture 5 Rules and Mechanics

the gamedesigninitiative at cornell university Lecture 5 Rules and Mechanics Lecture 5 Rules and Mechanics Lecture 5 Rules and Mechanics Today s Lecture Reading is from Unit 2 of Rules of Play Available from library as e-book Linked to from lecture page Not required, but excellent

More information

TGD3351 Game Algorithms TGP2281 Games Programming III. in my own words, better known as Game AI

TGD3351 Game Algorithms TGP2281 Games Programming III. in my own words, better known as Game AI TGD3351 Game Algorithms TGP2281 Games Programming III in my own words, better known as Game AI An Introduction to Video Game AI A round of introduction In a nutshell B.CS (GD Specialization) Game Design

More information

Engineering at a Games Company: What do we do?

Engineering at a Games Company: What do we do? Engineering at a Games Company: What do we do? Dan White Technical Director Pipeworks October 17, 2018 The Role of Engineering at a Games Company Empower game designers and artists to realize their visions

More information

FU-Fighters. The Soccer Robots of Freie Universität Berlin. Why RoboCup? What is RoboCup?

FU-Fighters. The Soccer Robots of Freie Universität Berlin. Why RoboCup? What is RoboCup? The Soccer Robots of Freie Universität Berlin We have been building autonomous mobile robots since 1998. Our team, composed of students and researchers from the Mathematics and Computer Science Department,

More information

Motion Control of a Three Active Wheeled Mobile Robot and Collision-Free Human Following Navigation in Outdoor Environment

Motion Control of a Three Active Wheeled Mobile Robot and Collision-Free Human Following Navigation in Outdoor Environment Proceedings of the International MultiConference of Engineers and Computer Scientists 2016 Vol I,, March 16-18, 2016, Hong Kong Motion Control of a Three Active Wheeled Mobile Robot and Collision-Free

More information

Artificial Intelligence for Games. Santa Clara University, 2012

Artificial Intelligence for Games. Santa Clara University, 2012 Artificial Intelligence for Games Santa Clara University, 2012 Introduction Class 1 Artificial Intelligence for Games What is different Gaming stresses computing resources Graphics Engine Physics Engine

More information

Saphira Robot Control Architecture

Saphira Robot Control Architecture Saphira Robot Control Architecture Saphira Version 8.1.0 Kurt Konolige SRI International April, 2002 Copyright 2002 Kurt Konolige SRI International, Menlo Park, California 1 Saphira and Aria System Overview

More information

Conversion Masters in IT (MIT) AI as Representation and Search. (Representation and Search Strategies) Lecture 002. Sandro Spina

Conversion Masters in IT (MIT) AI as Representation and Search. (Representation and Search Strategies) Lecture 002. Sandro Spina Conversion Masters in IT (MIT) AI as Representation and Search (Representation and Search Strategies) Lecture 002 Sandro Spina Physical Symbol System Hypothesis Intelligent Activity is achieved through

More information

The Archery Motion pack requires the following: Motion Controller v2.23 or higher. Mixamo s free Pro Longbow Pack (using Y Bot)

The Archery Motion pack requires the following: Motion Controller v2.23 or higher. Mixamo s free Pro Longbow Pack (using Y Bot) The Archery Motion pack requires the following: Motion Controller v2.23 or higher Mixamo s free Pro Longbow Pack (using Y Bot) Importing and running without these assets will generate errors! Demo Quick

More information

Grading Delays. We don t have permission to grade you (yet) We re working with tstaff on a solution We ll get grades back to you as soon as we can

Grading Delays. We don t have permission to grade you (yet) We re working with tstaff on a solution We ll get grades back to you as soon as we can Grading Delays We don t have permission to grade you (yet) We re working with tstaff on a solution We ll get grades back to you as soon as we can Due next week: warmup2 retries dungeon_crawler1 extra retries

More information

E190Q Lecture 15 Autonomous Robot Navigation

E190Q Lecture 15 Autonomous Robot Navigation E190Q Lecture 15 Autonomous Robot Navigation Instructor: Chris Clark Semester: Spring 2014 1 Figures courtesy of Probabilistic Robotics (Thrun et. Al.) Control Structures Planning Based Control Prior Knowledge

More information

An Approach to Maze Generation AI, and Pathfinding in a Simple Horror Game

An Approach to Maze Generation AI, and Pathfinding in a Simple Horror Game An Approach to Maze Generation AI, and Pathfinding in a Simple Horror Game Matthew Cooke and Aaron Uthayagumaran McGill University I. Introduction We set out to create a game that utilized many fundamental

More information

Towards Adaptability of Demonstration-Based Training of NPC Behavior

Towards Adaptability of Demonstration-Based Training of NPC Behavior Proceedings, The Thirteenth AAAI Conference on Artificial Intelligence and Interactive Digital Entertainment (AIIDE-17) Towards Adaptability of Demonstration-Based Training of NPC Behavior John Drake University

More information

EE631 Cooperating Autonomous Mobile Robots. Lecture 1: Introduction. Prof. Yi Guo ECE Department

EE631 Cooperating Autonomous Mobile Robots. Lecture 1: Introduction. Prof. Yi Guo ECE Department EE631 Cooperating Autonomous Mobile Robots Lecture 1: Introduction Prof. Yi Guo ECE Department Plan Overview of Syllabus Introduction to Robotics Applications of Mobile Robots Ways of Operation Single

More information

Hierarchical Controller for Robotic Soccer

Hierarchical Controller for Robotic Soccer Hierarchical Controller for Robotic Soccer Byron Knoll Cognitive Systems 402 April 13, 2008 ABSTRACT RoboCup is an initiative aimed at advancing Artificial Intelligence (AI) and robotics research. This

More information

Potential-Field Based navigation in StarCraft

Potential-Field Based navigation in StarCraft Potential-Field Based navigation in StarCraft Johan Hagelbäck, Member, IEEE Abstract Real-Time Strategy (RTS) games are a sub-genre of strategy games typically taking place in a war setting. RTS games

More information

G54GAM - Games. So.ware architecture of a game

G54GAM - Games. So.ware architecture of a game G54GAM - Games So.ware architecture of a game Coursework Coursework 2 and 3 due 18 th May Design and implement prototype game Write a game design document Make a working prototype of a game Make use of

More information

Robot Motion Planning

Robot Motion Planning Robot Motion Planning Dinesh Manocha dm@cs.unc.edu The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Robots are used everywhere HRP4C humanoid Swarm robots da vinci Big dog MEMS bugs Snake robot 2 The UNIVERSITY

More information

Human-like decision making for bots in mobile gaming

Human-like decision making for bots in mobile gaming Human-like decision making for bots in mobile gaming A case study in developing believable artificial intelligence for mobile games Viktor Lundström Viktor Lundström Fall of 2016 Masters Thesis, 30 credits

More information

INTRODUCTION TO GAME AI

INTRODUCTION TO GAME AI CS 387: GAME AI INTRODUCTION TO GAME AI 3/29/2016 Instructor: Santiago Ontañón santi@cs.drexel.edu Class website: https://www.cs.drexel.edu/~santi/teaching/2016/cs387/intro.html CS 387 Focus: artificial

More information

Nao Devils Dortmund. Team Description for RoboCup Matthias Hofmann, Ingmar Schwarz, and Oliver Urbann

Nao Devils Dortmund. Team Description for RoboCup Matthias Hofmann, Ingmar Schwarz, and Oliver Urbann Nao Devils Dortmund Team Description for RoboCup 2014 Matthias Hofmann, Ingmar Schwarz, and Oliver Urbann Robotics Research Institute Section Information Technology TU Dortmund University 44221 Dortmund,

More information