10/24/2015Rex Oleson II SOAR and Video Games By Rex Oleson II.

Slides:



Advertisements
Similar presentations
ADABAS to RDBMS UsingNatQuery. The following session will provide a high-level overview of NatQuerys ability to automatically extract ADABAS data from.
Advertisements

CIMCO Integration Software Products
Cognitive Systems, ICANN panel, Q1 What is machine intelligence, as beyond pattern matching, classification and prediction. What is machine intelligence,
CS0004: Introduction to Programming Visual Studio 2010 and Controls.
Online Game Security - Quake III and its Hacks - (related paper: A Systematic Classification of Cheating in Online Games, Jeff Yanand and Brian Randell.
CS 443 Advanced OS Fabián E. Bustamante, Spring 2005 Resource Containers: A new Facility for Resource Management in Server Systems G. Banga, P. Druschel,
Operating-System Structures
MotoHawk Training Model-Based Design of Embedded Systems.
Guide to Oracle10G1 Introduction To Forms Builder Chapter 5.
1 Soar as a Story Director Brian Magerko University of Michigan.
George Blank University Lecturer. CS 602 Java and the Web Object Oriented Software Development Using Java Chapter 4.
Road Map Introduction to object oriented programming. Classes
1 Performed By: Khaskin Luba Einhorn Raziel Einhorn Raziel Instructor: Rivkin Ina Spring 2004 Spring 2004 Virtex II-Pro Dynamical Test Application Part.
And Just Games etc.. EVOLUTION OF COMPUTER GAMES PongOdyssey Beginning of the use of microprocessors ATARI VCS system bit.
Matnet – Matlab Network Simulator for TinyOS Alec WooTerence Tong July 31 st, 2002.
Chapter 1 Program Design
Software Issues Derived from Dr. Fawcett’s Slides Phil Pratt-Szeliga Fall 2009.
Chapter 4.1 Interprocess Communication And Coordination By Shruti Poundarik.
Artificial Intelligence
Machine Learning Damon Waring 22 April of 15 Agenda Problem, Solution, Benefits Problem, Solution, Benefits Machine Learning Overview/Basics Machine.
Wilma Bainbridge Tencia Lee Kendra Leigh
Artificial Intelligence
CASE Tools And Their Effect On Software Quality Peter Geddis – pxg07u.
Quoridor Classic Game Manager Kevin Dickerson April 2004.
1 Integrated Development Environment Building Your First Project (A Step-By-Step Approach)
V Avon High School Tech Club Agenda Old Business –Delete Files New Business –Week 16 Topics: Intro to HTML/CSS –Questions? Tech Club Forums.
CSE 381 – Advanced Game Programming 3D Game Architecture.
CHAPTER 12 ADVANCED INTELLIGENT SYSTEMS © 2005 Prentice Hall, Decision Support Systems and Intelligent Systems, 7th Edition, Turban, Aronson, and Liang.
Jordan Maxwell ADVANCED PROGRAMMING. DEFINITIONS PHP: A server side Programming language often used in websites. API: ( Application programming interface.
Managing the development and purchase of information systems (Part 1)
CS 101: Arrays Abhiram Ranade. Computers manipulate many objects Given the position, masses, and velocities of all stars, where will they be after the.
Final Presentation – CS 425 Aaron O'Banion Todd Astroth Chris Cobb Matt Stowe Mark Williams.
Survey of AI for games. AI vs. AI for games Traditional AI: – Made to handle unseen inputs, large state space – Too many options possible to compute an.
CS 425 Game Programming I Jan M. Allbeck. Outline  Introductions  Expectations  Tools and setup  Quick introduction to C++ and Visual Studio  What.
.Net and Web Services Security CS795. Web Services A web application Does not have a user interface (as a traditional web application); instead, it exposes.
Information Systems and Network Engineering Laboratory II DR. KEN COSH WEEK 1.
TGP2281: Game Programming III also better known as Game AI.
CS 390 Unix Programming Summer Unix Programming - CS 3902 Course Details Online Information Please check.
CE Operating Systems Lecture 3 Overview of OS functions and structure.
Chapter 8 Object Design Reuse and Patterns. Object Design Object design is the process of adding details to the requirements analysis and making implementation.
A Collaborative Framework for Scientific Data Analysis and Visualization Jaliya Ekanayake, Shrideep Pallickara, and Geoffrey Fox Department of Computer.
Learning Agents MSE 2400 EaLiCaRA Spring 2015 Dr. Tom Way.
Computational theory techniques in interactive video games.
WEEK INTRODUCTION IT440 ARTIFICIAL INTELLIGENCE.
Silberschatz, Galvin and Gagne  Operating System Concepts UNIT II Operating System Services.
The Anatomy of a Computer Program Unit 3. Programs are Directions  A computer carries out the instructions in a program, line by line, exactly as they.
ClearQuest XML Server with ClearCase Integration Northwest Rational User’s Group February 22, 2007 Frank Scholz Casey Stewart
Lecture 4 Mechanisms & Kernel for NOSs. Mechanisms for Network Operating Systems  Network operating systems provide three basic mechanisms that support.
CS 351/ IT 351 Modeling and Simulation Technologies HPC Architectures Dr. Jim Holten.
An Uncoupled Interface to Soar using SML Pearson, Marinier, Stokes Dunham, Voigt.
Game AI Matthew Hsieh Meng Tran. Computer Games Many different genres  Action  Role Playing  Adventure  Strategy  Simulation  Sports  Racing Each.
Computer Science Reaching Wider Summer School 2012.
IBM Global Services © 2005 IBM Corporation SAP Legacy System Migration Workbench| March-2005 ALE (Application Link Enabling)
Working with the RAPID-CIM Software Dr. Richard A. Wysk Industrial and Manufacturing Engineering PSU.
Test Automation For Web-Based Applications Portnov Computer School Presenter: Ellie Skobel.
Sockets A popular API for client-server interaction.
Agent Vision in 3D Environments Paul Werbicki Supervisor: Dr. Rob Kremer Department of Computer Science University of Calgary.
Beginning of Xamarin for iOS development
General information Course web page:
Information Systems and Network Engineering Laboratory II
Operating Systems & System Software
Computer Organization, Eclipse Intro
Chapter 2: System Structures
Lesson 1: Buttons and Events – 12/18
Chapter 12: Automated data collection methods
Lesson Objectives Aims
Exploring the Power of EPDM Tasks - Working with and Developing Tasks in EPDM By: Marc Young XLM Solutions
Artificial Intelligence In Modern Military Games GameTech 2012
Modeling IDS using hybrid intelligent systems
Presentation transcript:

10/24/2015Rex Oleson II SOAR and Video Games By Rex Oleson II

Rex Oleson II 10/24/2015 Video Game Industry  Video games industry reached $9.9 billion in sales for 2004  Grand Theft Auto: San Andreas sold more then 5.1 Million units  Halo 2 sold more then 4.2 Million units

Rex Oleson II 10/24/2015 Games to Application Crossover Video Game to Simulation SOCOM Navy Seals  Developed along side of a military training app Call Of Duty  Considered to be a realistic simulation of military conflict

Rex Oleson II 10/24/2015 Traditional Game Logic Patterned Tile Movement  Zelda Flocking Potential Functions Basic Probablity

Rex Oleson II 10/24/2015 AI techniques become involved Fuzzy Logic  Threat Assessment Neural Networks Finite State Machines

Rex Oleson II 10/24/2015 Intro to SOAR and Gaming  John Laird and Mike van Lent develop and interface between QuakeII/Decent3 and SOAR  Both of Which are First Person Shooter Style Games(FPS)  John Laird has been presenting papers, and hosting open talks almost every year at the GDC since then

Rex Oleson II 10/24/2015 Industry Create system for developing intelligence for game character Make the games more fun Refine a reusable knowledge base Develop a common interface for games to access the knowledge base

Rex Oleson II 10/24/2015 Research Fields Environment for testing concepts Development of new research ideas Visual environment to see the implications of the AI ideas

Rex Oleson II 10/24/2015

Rex Oleson II 10/24/2015 SOAR SGIO Came out of interfacing SOAR with video games SGIO – SOAR General Input Output SOAR does not make calls to the environment, only to the output

Rex Oleson II 10/24/2015 SGIO Classes Soar  Object representing the connection to SOAR Agent  Represents an individual agent in SOAR Working Memory  Handles the bookkeeping of the agents memory

Rex Oleson II 10/24/2015 SGIO connection types There are 2 connection types to use  API SOAR Compiled directly into the application  SIO SOAR Communicates remotely via sockets

Rex Oleson II 10/24/2015 SGIO Framework

Rex Oleson II 10/24/2015 SOAR Game Cycle Interaction Unreal Bot notices entities that have changed Native DLL sends updated info to SGIO When Observing is done, commit all changed WME’s to SOAR SOAR decides the command/s to issue

Rex Oleson II 10/24/2015 SOAR Game Cycle Interaction After Decision, the command/s are retrieved by the SGIO Top Command on the queue is passed to the native code Native DLL reports the current command to UNREAL Bot performs action based on command

Rex Oleson II 10/24/2015 //For API Soar (i.e. integrated kernel) sgio::Soar* soar = new sgio::APISoar(); //For SIO Soar (i.e. TSI debug windows) sgio::Soar* soar = new sgio::SIOSoar(" ",6969,true); //IP,port,lockstep sgio::Agent* agent = soar->CreateAgent("my- agent"); //agent name agent->LoadProductions("my-agent.soar"); //file name sgio::WorkingMemory* mem = new sgio::WorkingMemory(agent);

Rex Oleson II 10/24/2015 //Args for ID’s: parent, ID name sgio::SoarId* radarId = mem- >CreateIdWME(mem- >GetILink(),"radar"); //parent,name sgio::SoarId* tankId = mem- >CreateIdWME(radarId,"ta nk"); //parent,name

Rex Oleson II 10/24/2015 //Args for Elements: parent, attribute name, attribute value sgio::IntElement* distance = mem- >CreateIntWME(tankId,"di stance",5); sgio::StringElement* position = mem- >CreateStringWME(tankId,"position","left");

Rex Oleson II 10/24/2015 Modifying Existing WME’s on Input- Link  mem->Update(distance,4); //element, new attribute value Removing WME’s on Input-Link  mem->DestroyWME(tank); //element to remove; children automatically removed Sending Changes to Soar  mem->Commit();

Rex Oleson II 10/24/2015 Running Agents  //To run all the agents on a particular connection for 15 decision cycles  soar->RunTilOutput();  //To run a single agent for 15 decision cycles  agent->RunTilOutput(); Checking Output-Link for Commands  bool waiting = agent->Commands();

Rex Oleson II 10/24/2015 Reading Commands from the Output-Link  std::auto_ptr cmd = agent- >GetCommand();  std::string name = cmd- >GetCommandName(); //name = "move"  std::string value = cmd- >GetParameterValue("directio n"); //value = "right"

Rex Oleson II 10/24/2015 Marking Command as Processed  //If everything goes well  cmd->AddStatusComplete();  //If there is an error (i.e. missing attributes)  cmd->AddStatusError();  cmd->AddErrorCode(5); //integer

Rex Oleson II 10/24/2015 Divergence of Research and Game Development Most game developers are interested in cheats, not true intelligence Researchers have migrated to problems where empirical comparisons are possible Game developers need real time algorithms Game-Playing Public is pushing for much more realistic and advanced AI’s

Rex Oleson II 10/24/2015 Future Work SGIO is being abandoned for a new technique Details where not given

Rex Oleson II 10/24/2015 References U.S. video game industry sales dip in 2004, h70002_ _ _n _newsml, Tue Jan 18, :45 PM ET h70002_ _ _n _newsml AI for Game Developers, David M. Bourg & Glenn Seemann, O’Reilly, July 2004 Intelligent Agents in Computer Games, Joe Hartford, John Laird, et al., Aug It Knows What You’re Going To Do : Adding Anticipation to a Quakebot, John E. Laird, Agents, 2001, pps GAME AI: THE STATE OF THE INDUSTRY, PART TWO, David C. Pottinger and John E. Laird, Stokes-SoarToUnreal-S22 SGIO tutorial SGIO quick reference