Soar and video games
1 / 25

Rex Oleson II SOAR and Video Games - PowerPoint PPT Presentation

  • Uploaded on

SOAR and Video Games. By Rex Oleson II. 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. Games to Application Crossover. Video Game to Simulation

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
Download Presentation

PowerPoint Slideshow about ' Rex Oleson II SOAR and Video Games' - erika

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Soar and video games l.jpg

SOAR and Video Games

By Rex Oleson II

Rex Oleson II

Video game industry l.jpg
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

Games to application crossover l.jpg
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

Traditional game logic l.jpg
Traditional Game Logic

  • Patterned Tile Movement

    • Zelda

  • Flocking

  • Potential Functions

  • Basic Probablity

Rex Oleson II

Ai techniques become involved l.jpg
AI techniques become involved

  • Fuzzy Logic

    • Threat Assessment

  • Neural Networks

  • Finite State Machines

Rex Oleson II

Intro to soar and gaming l.jpg
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

Industry l.jpg

  • 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

Research fields l.jpg
Research Fields

  • Environment for testing concepts

  • Development of new research ideas

  • Visual environment to see the implications of the AI ideas

Rex Oleson II

Soar sgio l.jpg

  • 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

Sgio classes l.jpg
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

Sgio connection types l.jpg
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

Sgio framework l.jpg
SGIO Framework

Rex Oleson II

Soar game cycle interaction l.jpg
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

Soar game cycle interaction15 l.jpg
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

Slide16 l.jpg

  • //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

Slide17 l.jpg

  • //Args for ID’s: parent, ID name

  • sgio::SoarId* radarId = mem->CreateIdWME(mem->GetILink(),"radar"); //parent,name

  • sgio::SoarId* tankId = mem->CreateIdWME(radarId,"tank"); //parent,name

Rex Oleson II

Slide18 l.jpg

Rex Oleson II

Slide19 l.jpg

  • 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

Slide20 l.jpg

  • 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

Slide21 l.jpg

  • Reading Commands from the Output-Link

    • std::auto_ptr<sgio::Command>cmd = agent->GetCommand();

    • std::string name = cmd->GetCommandName(); //name = "move"

    • std::string value = cmd->GetParameterValue("direction"); //value = "right"

Rex Oleson II

Slide22 l.jpg

  • 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

Divergence of research and game development l.jpg
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

Future work l.jpg
Future Work

  • SGIO is being abandoned for a new technique

  • Details where not given

Rex Oleson II

References l.jpg

  • U.S. video game industry sales dip in 2004,, Tue Jan 18, 2005 03:45 PM ET

  • 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. 1999

  • It Knows What You’re Going To Do : Adding Anticipation to a Quakebot, John E. Laird, Agents, 2001, pps 385-392

  • GAME AI: THE STATE OF THE INDUSTRY, PART TWO, David C. Pottinger and John E. Laird,

  • Stokes-SoarToUnreal-S22

  • SGIO tutorial

  • SGIO quick reference

Rex Oleson II