soar and video games
Download
Skip this Video
Download Presentation
SOAR and Video Games

Loading in 2 Seconds...

play fullscreen
1 / 25

Rex Oleson II SOAR and Video Games - PowerPoint PPT Presentation


  • 644 Views
  • 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

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
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

SOAR and Video Games

By Rex Oleson II

Rex Oleson II

video game industry
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
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
Traditional Game Logic
  • Patterned Tile Movement
    • Zelda
  • Flocking
  • Potential Functions
  • Basic Probablity

Rex Oleson II

ai techniques become involved
AI techniques become involved
  • Fuzzy Logic
    • Threat Assessment
  • Neural Networks
  • Finite State Machines

Rex Oleson II

intro to soar and gaming
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
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

research fields
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
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

sgio classes
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
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
SGIO Framework

Rex Oleson II

soar game cycle interaction
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
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
//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("my-agent"); //agent name
  • agent->LoadProductions("my-agent.soar"); //file name
  • sgio::WorkingMemory* mem = new sgio::WorkingMemory(agent);

Rex Oleson II

slide17
//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
//Args for Elements: parent, attribute name, attribute value
  • sgio::IntElement* distance = mem->CreateIntWME(tankId,"distance",5);
  • sgio::StringElement* position = mem->CreateStringWME(tankId,"position","left");

Rex Oleson II

slide19
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
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
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
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
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
Future Work
  • SGIO is being abandoned for a new technique
  • Details where not given

Rex Oleson II

references
References
  • U.S. video game industry sales dip in 2004, http://yahoo.reuters.com/financeQuoteCompanyNewsArticle.jhtml?duid=mtfh70002_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

Rex Oleson II

ad