SOAR and Video Games

SOAR and Video Games By Rex Oleson II 2/6/2009 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 2/6/2009 Rex Oleson II 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 2/6/2009 Rex Oleson II Traditional Game Logic  Patterned Tile Movement  Zelda Flocking  Potential Functions  Basic Probablity  2/6/2009 Rex Oleson II AI techniques become involved  Fuzzy Logic  Threat Assessment Neural Networks  Finite State Machines  2/6/2009 Rex Oleson II 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 2/6/2009 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  2/6/2009 Rex Oleson II Research Fields Environment for testing concepts  Development of new research ideas  Visual environment to see the implications of the AI ideas  2/6/2009 Rex Oleson II 2/6/2009 Rex Oleson II 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  2/6/2009 Rex Oleson II 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 2/6/2009 SGIO connection types  There are 2 connection types to use  API  SOAR SOAR Compiled directly into the application Communicates remotely via sockets  SIO  2/6/2009 Rex Oleson II SGIO Framework 2/6/2009 Rex Oleson II 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  2/6/2009 Rex Oleson II 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  2/6/2009 Rex Oleson II        //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("127.0.0.1",6969,true); //IP,port,lockstep sgio::Agent* agent = soar->CreateAgent("myagent"); //agent name agent->LoadProductions("my-agent.soar"); //file name sgio::WorkingMemory* mem = new sgio::WorkingMemory(agent); Rex Oleson II 2/6/2009    //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 2/6/2009 Rex Oleson II    //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"); 2/6/2009 Rex Oleson II  Modifying Existing WME’s on InputLink  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(); 2/6/2009 Rex Oleson II  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(); 2/6/2009 Rex Oleson II  Reading Commands from the Output-Link  std::auto_ptrcmd = agent>GetCommand();  std::string name = cmd>GetCommandName(); //name = "move"  std::string value = cmd>GetParameterValue("directio n"); //value = "right" 2/6/2009 Rex Oleson II  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 2/6/2009 Rex Oleson II 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 2/6/2009 Rex Oleson II Future Work SGIO is being abandoned for a new technique  Details where not given  2/6/2009 Rex Oleson II References         U.S. video game industry sales dip in 2004, http://yahoo.reuters.com/financeQuoteCompanyNewsArticle.jhtml?duid=mtf h70002_2005-01-18_20-45-13_n18697880_newsml, 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., http://ai.eecs.umich.edu/people/laird/papers/AAAIDemo.pdf, 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, http://www.gamasutra.com/features/20001108/laird_01.htm Stokes-SoarToUnreal-S22 SGIO tutorial SGIO quick reference 2/6/2009 Rex Oleson II

Related docs
SOAR-INTO-A-GALAXY-FAR,-FAR-AWAY-WITH
Views: 0  |  Downloads: 0
SOAR FACT SHEET
Views: 0  |  Downloads: 0
Soar with the Eagles
Views: 0  |  Downloads: 0
SOAR Project Cover Sheet -- Summer 2008
Views: 3  |  Downloads: 0
Integrate_Fun_and_Learning_with_PC_Games
Views: 9  |  Downloads: 1
behaviour modeling in commercial games
Views: 10  |  Downloads: 0
USER S GUIDE I CAN SOAR VIDEO USER S GUIDE
Views: 5  |  Downloads: 0
You Don't Need Permission To Soar
Views: 2  |  Downloads: 0
Black Friday Sales Soar At Pullman
Views: 82  |  Downloads: 0
The-SOAR Wants You
Views: 0  |  Downloads: 0
premium docs
Other docs by Judge Njury
JOB APPLICATION
Views: 1018  |  Downloads: 40
adopt200
Views: 103  |  Downloads: 0
Strengths and weaknesses checklist
Views: 567  |  Downloads: 13
pos020
Views: 202  |  Downloads: 0
r490
Views: 339  |  Downloads: 6
Job requirements checklist
Views: 405  |  Downloads: 20
Board Resolution For Appointment of Attorneys
Views: 247  |  Downloads: 5