Game Artificial Intelligence ( CS 4731/7632 )

Similar documents
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

CS 480: GAME AI INTRODUCTION TO GAME AI. 4/3/2012 Santiago Ontañón

INTRODUCTION TO GAME AI

INTRODUCTION TO GAME AI

Artificial Intelligence

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

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

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

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

Principles of Computer Game Design and Implementation. Lecture 29

Artificial Intelligence Paper Presentation

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

1.4. Artificial Stupidity: The Art of Intentional Mistakes. Lars Lidén.

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

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

arxiv: v1 [cs.cy] 24 Nov 2015

CS 354R: Computer Game Technology

Intro to Interactive Entertainment Spring 2017 Syllabus CS 1010 Instructor: Tim Fowers

IMGD Technical Game Development I: Introduction. by Robert W. Lindeman

CS 480: GAME AI DECISION MAKING AND SCRIPTING

IMGD 1001: Programming Practices; Artificial Intelligence

IMGD 1001: Programming Practices; Artificial Intelligence

Lecture 1. CMPS 146, Fall Josh McCoy

Prof. Sameer Singh CS 175: PROJECTS IN AI (IN MINECRAFT) WINTER April 6, 2017

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

Learning Artificial Intelligence in Large-Scale Video Games

CS343 Introduction to Artificial Intelligence Spring 2012

USING A FUZZY LOGIC CONTROL SYSTEM FOR AN XPILOT COMBAT AGENT ANDREW HUBLEY AND GARY PARKER

Artificial Intelligence for Games

IMGD Technical Game Development I: Introduction

Spring 19 Planning Techniques for Robotics Introduction; What is Planning for Robotics?

Procedural Content Generation

Procedural Content Generation

CS343 Introduction to Artificial Intelligence Spring 2010

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

Neural Networks for Real-time Pathfinding in Computer Games

Tac Due: Sep. 26, 2012

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

CS8678_L1. Course Introduction. CS 8678 Introduction to Robotics & AI Dr. Ken Hoganson. Start Momentarily

IMGD Technical Game Development I: Introduction. by Robert W. Lindeman

Outline. Agents and environments Rationality PEAS (Performance measure, Environment, Actuators, Sensors) Environment types Agent types

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

CS Computer Game Design. Introduction. Ken Forbus Spring 2002

FPS Assignment Call of Duty 4

Testing real-time artificial intelligence: an experience with Starcraft c

CS 680: GAME AI WEEK 4: DECISION MAKING IN RTS GAMES

INTRODUCTION TO GAME AI

Adjustable Group Behavior of Agents in Action-based Games

the gamedesigninitiative at cornell university Lecture 23 Strategic AI

Building a Better Battle The Halo 3 AI Objectives System

A Multi-Agent Potential Field-Based Bot for a Full RTS Game Scenario

Federico Forti, Erdi Izgi, Varalika Rathore, Francesco Forti

Fall 17 Planning & Decision-making in Robotics Introduction; What is Planning, Role of Planning in Robots

Introduction and History of AI

Unit 12: Artificial Intelligence CS 101, Fall 2018

Case-based Action Planning in a First Person Scenario Game

Make sure your name and FSUID are in a comment at the top of the file.

CS 387/680: GAME AI DECISION MAKING

Make sure your name and FSUID are in a comment at the top of the file.

Artificial Intelligence. Cameron Jett, William Kentris, Arthur Mo, Juan Roman

Outline. Introduction to AI. Artificial Intelligence. What is an AI? What is an AI? Agents Environments

CS494/594: Software for Intelligent Robotics

ConvNets and Forward Modeling for StarCraft AI

CS Game Programming, Fall 2014

COS 402 Machine Learning and Artificial Intelligence Fall Lecture 1: Intro

CS325 Artificial Intelligence Ch. 5, Games!

IMGD 1001: Fun and Games

CS 309: Autonomous Intelligent Robotics FRI I. Instructor: Justin Hart.

UCLA Extension Writers Program Public Syllabus. Writing for Animation

LECTURE 1: OVERVIEW. CS 4100: Foundations of AI. Instructor: Robert Platt. (some slides from Chris Amato, Magy Seif El-Nasr, and Stacy Marsella)

Robot Motion Control and Planning

Reactive Planning for Micromanagement in RTS Games

Let s Battle Taiwan No. One Game Planning Contest Proposal

Crowd-steering behaviors Using the Fame Crowd Simulation API to manage crowds Exploring ANT-Op to create more goal-directed crowds

Dynamic Scripting Applied to a First-Person Shooter

CS 387/680: GAME AI TACTIC AND STRATEGY

Asymmetric potential fields

An Analysis of Artificial Intelligence Techniques in Multiplayer Online Battle Arena Game Environments

CS 380: ARTIFICIAL INTELLIGENCE INTRODUCTION. Santiago Ontañón

10/30/2013. Game User Experience. Langxuan James Yin October 28, A History of Games. The Cathode Ray Amusement Device (1947)

ACHIEVING SEMI-AUTONOMOUS ROBOTIC BEHAVIORS USING THE SOAR COGNITIVE ARCHITECTURE

an AI for Slither.io

Multi-Agent Potential Field Based Architectures for

IMGD 1001: Fun and Games

RoboCup. Presented by Shane Murphy April 24, 2003

CS 188: Artificial Intelligence Fall AI Applications

Chapter 14 Optimization of AI Tactic in Action-RPG Game

Gameplay as On-Line Mediation Search

CSC242 Intro to AI Spring 2012 Project 2: Knowledge and Reasoning Handed out: Thu Mar 1 Due: Wed Mar 21 11:59pm

Extending the STRADA Framework to Design an AI for ORTS

Who Am I? Lecturer in Computer Science Programme Leader for the BSc in Computer Games Programming

ROGUEWOLF. SmartCities: Anticipating Agents of Change. Adam Amos-Binks Colleen Stacy Lucia Titus Kathleen Vogel Lori Wachter.

the gamedesigninitiative at cornell university Lecture 10 Game Architecture

Sport, Trading and Poker

Syllabus: Title of Course

Exam #2 CMPS 80K Foundations of Interactive Game Design

USING VALUE ITERATION TO SOLVE SEQUENTIAL DECISION PROBLEMS IN GAMES

AI for Video Games. Video Game AI: Lecture 1 Course Intro. Announcements. Course Details

Transcription:

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 employing AI in modern computer games Distinctions between Game AI as a discipline and standard AI as a discipline Go beyond industry standard Game AI to look at emerging techniques

About the rest Self + Teaching Philosophy Syllabus Course Trajectory & Structure (see webpage)

Course Topics State of the industry (standard practice) Movement and path planning Decision making Strategy Procedural Content generation Advanced topics (/Case studies) Believable characters and storytelling Game analytics Reinforcement learning; camera control

Prerequisites Intro to AI course Data structures Comfort with no right answer Python familiarity

Homework Assignments Custom game engine: http://game-ai.gatech.edu Homeworks progressively build on each other Concludes with an AI that can play a Multiplayer Online Battle Arena (MOBA) Approximately every 1-2 weeks First homework due next week (1/22)

Assignments & Grading Homework sequence (70%): 1 Grid navigation 2 Path network navigation 3 Nav mesh generation 4 A* pathfinding 5 Minion Agents 6 Hero Agents 7 SMB level generation 8 RL (7k), Squad or Camera (4k) Exams (15% each) Participation and Quizzes (-10%)

M&F Fig 1.1

Optional Textbooks Millington and Funge, Artificial Intelligence for Games 2 nd ed. Buckland, Programming Game AI by Example

Artificial Intelligence Getting a computer to do something that a reasonable person would think requires intelligence

Important Dates 1/15 Official Institute Holiday 1/22 Verification of Student Participation in Class 3/14 Grade Mode and withdrawal deadline 3/19 to 3/23 Spring break 4/23 Final instructional class days 4/26 to 5/3 Final exams 5/5 End of term 5/7 Grade submission deadline

What this class is about AI for games Ways in which AI can and is used to enhance game play experiences Set of algorithms, representations, tools, and tricks that support the creation and management of realtime digital experiences In the game development industry, AI is the set of tricks and techniques to bring about a particular game design Game AI is game design

What this class is about How a game design can be brought into existence through the application of algorithms that are often thought of as intelligent About making the entities/opponents/agents/companions/etc. in games appear intelligent Not a substitute for an Intro to AI course Not going to teach good game design

What this class is NOT about AI in games John Laird and Michael van Lent (2000): Games are perfect test-beds for human level AI AI should play games as if human Vision Decision making in real-time Handling uncertainty Learning Opponent modeling Demonstrated with an AI agent that played Quake

Goals of AI Systems that think like humans Systems that act like humans Systems that think rationally Systems that act rationally

Goals of Game AI To support the player s experience in a game Note: this might mean doing simple AI, or things that academic researchers marginally consider AI

What is a game? A system of rules A goal

Types of games?

First Person Shooter

Real Time Strategy (RTS)

Role Playing Games (RPGs)

Platformer

God Games

Sports Games

What brought you here?

General functions of Game AI? Do anything a player or game designer cannot or will not do NPC (companion or opponent) Strategy Decision making Movement Content creation & scripting Easing the cost of development Tailoring/adapting to player individual differences

Why AI in games? Automation because you need other people to do things, but don t always have those people Opponents Companions NPCs (shopkeepers, farmers, villains) Dungeon master? Plot writer? Game designer?

Goals of Game AI Kill you good Make non-player characters (NPCs) opponents, companions, etc. look convincing Believable characters Play like a human Make game more enjoyable

Why distinct from academic AI? Resource limits Complexity fallacy (G.O.L.) Fun vs. smart: goal is not always to beat the player Optimal/rational is rarely the right thing to do

Common AI Tricks Move before firing no cheap shots Be visible Have horrible aim (being Rambo is fun) Miss the first time Warn the player Attack kung fu style (Fist of Fury; BL vs School) Tell the player what you are doing (especially companions) React to own mistakes Pull back at the last minute Intentional vulnerabilities or predictable patterns

Half-life: Freemans Marine Encounter Do they attack Kung-Fu style?

Half-Life Kung-Fu Attack Actually no more than 2 marines are attacking at any time The other marines take cover, move around etc. When one of the attacking marines run out of ammo, is wounded, dies, etc., one of the others take his place Some reactions are hard-coded and scenario-dependent

Common Game AI techniques Path planning, obstacle avoidance Decision making Finite state machines Trigger systems Behavior trees Robotics architectures Scripting Command hierarchies strategic, tactical, individual combat Emergent behavior flocking, crowds Formations Smart environments Terrain analysis finding resource, ambush points Dynamic difficulty adjustment

Cheating

Intelligent vs. random