Soar and StarCraft By Alex Turner. What is StarCraft: Brood War? A Real-Time Strategy (RTS) computer game released in 1998. A sci-fi war simulation Continually.

Slides:



Advertisements
Similar presentations
Artificial Intelligence in Game Design
Advertisements

A New World Or People Keep Telling Me This is Ambitious By Jeremiah Lewis.
AI Pathfinding Representing the Search Space
Martin Boyd Christopher Hirunthanakorn
A NOVEL APPROACH TO SOLVING LARGE-SCALE LINEAR SYSTEMS Ken Habgood, Itamar Arel Department of Electrical Engineering & Computer Science GABRIEL CRAMER.
Tetris – Genetic Algorithm Presented by, Jeethan & Jun.
A Survey of Real-Time Strategy Game AI Research and Competition in StarCraft Santiago Ontanon, Gabriel Synnaeve, Alberto Uriarte, Florian Richoux, David.
Artificial Intelligence in Real Time Strategy Games Dan Li.
1 videos for before swarm.flv (art. intelligence swarmites 1:20) endorphin2.5.flv (2:38) antfarmsimulator.flv (3:30) for very early – swarmflocking.mp4.
Playing Dice with Soar Soar Workshop June 2011 John E. Laird Nate Derbinsky, Miller Tinkerhess University of Michigan 1.
Collaborative Warrior Tutoring Tom Livak Neil Heffernan 8/24/06.
Best-First Search: Agendas
 By Ashwinkumar Ganesan CMSC 601.  Reinforcement Learning  Problem Statement  Proposed Method  Conclusions.
CS 452 – Software Engineering Workshop Acquire-Playing Agent System Group 1: Lisa Anthony Mike Czajkowski Luiza da Silva Winter 2001, Department of Mathematics.
Virtual Dart: An Augmented Reality Game on Mobile Device Supervisor: Professor Michael R. Lyu Prepared by: Lai Chung Sum Siu Ho Tung.
Chapter 4 DECISION SUPPORT AND ARTIFICIAL INTELLIGENCE
Reference: Message Passing Fundamentals.
1 Learning from Behavior Performances vs Abstract Behavior Descriptions Tolga Konik University of Michigan.
Effective Agent Participation in Rescue Operations Brent Dutson CS7100 Fall 2009.
ART: Augmented Reality Table for Interactive Trading Card Game Albert H.T. Lam, Kevin C. H. Chow, Edward H. H. Yau and Michael R. Lyu Department of Computer.
Algorithmic Problems in Algebraic Structures Undecidability Paul Bell Supervisor: Dr. Igor Potapov Department of Computer Science
CS 370 Computer Game Design Introduction Ken Forbus Spring 2003
Tactical AI in Real Time Supervisor: Aleks Jakulin Crew: Damir Arh, Matija Jekovec, Mitja Luštrek Gregor Leban, Martin Žnidaršič, Uroš Čibej Translation:
Optimizing the Placement of Chemical and Biological Agent Sensors Daniel L. Schafer Thomas Jefferson High School for Science and Technology Defense Threat.
Managing Large RDF Graphs (Infinite Graph) Vaibhav Khadilkar Department of Computer Science, The University of Texas at Dallas FEARLESS engineering.
Self-Organizing Agents for Grid Load Balancing Junwei Cao Fifth IEEE/ACM International Workshop on Grid Computing (GRID'04)
Introduction to Parallel Programming MapReduce Except where otherwise noted all portions of this work are Copyright (c) 2007 Google and are licensed under.
Called as the Interval Scheduling Problem. A simpler version of a class of scheduling problems. – Can add weights. – Can add multiple resources – Can ask.
Artificial Intelligence in Game Design Problems and Goals.
Chapter 14: Artificial Intelligence Invitation to Computer Science, C++ Version, Third Edition.

Poster Design & Printing by Genigraphics ® The Scientific Community Game Education and Innovation Through Survival in a Virtual World of.
Civ89 Instructions for PowerPoint. Getting Started Civ89 is a game of military, technological, and economic conquest played with two people, identified.
Town Defenders Strategy Game prepared by: Osama N
New SVS Implementation Joseph Xu Soar Workshop 31 June 2011.
Introduction to AI Engine & Common Used AI Techniques Created by: Abdelrahman Al-Ogail Under Supervision of: Dr. Ibrahim Fathy.
Starcraft Opponent Modeling CSE 391: Intro to AI Luciano Cheng.
How to Use SVS Joseph Xu Soar Workshop History Soar Visual Interface (SVI) – Scott Lathrop Spatial Reasoning System (SRS) – Sam Wintermute Soar.
Section 3.1: Proof Strategy Now that we have a fair amount of experience with proofs, we will start to prove more difficult theorems. Our experience so.
Design of a real time strategy game with a genetic AI By Bharat Ponnaluri.
Random Terrain Generation By Cliff DeKoker. About my project ● Incremental development ● Focus on creating height maps that mimic real terrain ● Allow.
TEMPLATE DESIGN © Last Resort Animation, Modeling, AI, Networking, and Backend Alex Bunch, Nick Hunter, Austin Lohr, Robert.
StarCraft Learning Algorithms By Logan Yarnell, Steven Raines, and Dean Antel.
2009/11/14GPW20091 Analysis of the Behavior of People Solving Sudoku Puzzles Reijer Grimbergen School of Computer Science, Tokyo University of Technology.
Created By: Kevin Jiang, Cullen Wong, Stephen Halter.
There’s no such thing as a FreeCiv Marc Friedman Ed Hong Jon Nowitz Steve Wolfman.
Motion Planning in Games Mark Overmars Utrecht University.
05/2007ORNL Presentation Distributed Denial of Service Games by Chinar Dingankar, Student Dr. R. R. Brooks, Associate Professor Holcombe Department of.
Jumping, Climbing, and Tactical Reasoning Section 2.5 Tom Schaible CSE 497 – AI & Game Programming.
Random Map Generation and Transport Unit AI for Strategy Games By Russell Kuchar.
Coaching Pack 9 – 11 Years. What Am I Coaching Today? What Might the Players Learn or Get Better at? TechnicalPsychological example PhysicalSocial example.
Creating a Simple Game in Scratch Barb Ericson Georgia Tech June 2008.
1Computer Sciences Department. Book: INTRODUCTION TO THE THEORY OF COMPUTATION, SECOND EDITION, by: MICHAEL SIPSER Reference 3Computer Sciences Department.
F.E.A.R. Game AI Evaluation by Robert Rak. What is F.E.A.R. ? FEAR is a First Person Shooter game Player takes on the role of an elite strike force team.
Our project main purpose is to develop a tool for a combinatorial game researcher. Given a version of combinatorial puzzle game and few more parameters,
UNIVERSITY of WISCONSIN-MADISON Computer Sciences Department
Multiples and Factors. Multiples A multiple is a number that is in the times tables. A multiple is a number that is in the times tables. Multiples of.
Lecture 4 Mechanisms & Kernel for NOSs. Mechanisms for Network Operating Systems  Network operating systems provide three basic mechanisms that support.
Artificial Intelligence in Game Design Influence Maps and Decision Making.
Fast SLAM Simultaneous Localization And Mapping using Particle Filter A geometric approach (as opposed to discretization approach)‏ Subhrajit Bhattacharya.
AGI-09 Scott Lathrop John Laird 1. 2  Cognitive Architectures Amodal, symbolic representations & computations No general reasoning with perceptual-based.
Design of a real time strategy game with a genetic AI By Bharat Ponnaluri.
3/14/20161 SOAR CIS 479/579 Bruce R. Maxim UM-Dearborn.
Algorithmic Problems in Algebraic Structures Undecidability Paul Bell Supervisor: Dr. Igor Potapov Department of Computer Science
Creating a Simple Game in Scratch Barb Ericson Georgia Tech May 2009.
Maestro AI Vision and Design Overview Definitions Maestro: A naïve Sensorimotor Engine prototype. Sensorimotor Engine: Combining sensory and motor functions.
Evolutionary Computing Systems Lab (ECSL), University of Nevada, Reno 1 Authors : Siming Liu, Christopher Ballinger, Sushil Louis
CIS 488/588 Bruce R. Maxim UM-Dearborn
Symbolic cognitive architectures
Automated Software Integration
Presentation transcript:

Soar and StarCraft By Alex Turner

What is StarCraft: Brood War? A Real-Time Strategy (RTS) computer game released in A sci-fi war simulation Continually improved upon after its release Improved to be very balanced Balanced: There are always multiple strategies to win Provides an ideal environment for an AI research A player plays as one of three races Each has distinct advantages and disadvantages

What is Soar-SC? AI has challenges with some areas of RTS games Soar-SC designed to help solve these challenges Challenges Spatial Reasoning Interacting and reasoning about the world around the AI Large amounts of Perceptual Information Terrain Information Unit Position Information Imperfect and Inaccurate Information Fog of War Strategy and Tactics Attacking/Defending When and What to build

Soar-SC Design Uses the Brood War Application Programming Interface (BWAPI) Provides an interface for software to interact with StarCraft: Brood War Interface is identical in functionality to what a human experiences Heavily relies on SVS

Soar-SC Overview

Soar-SC Design Middleware Handles communication between StarCraft (BWAPI) and Soar Sends game information to Soar Unit types and counts Unit positions and Terrain Information to SVS Takes output from Soar-SC and performs actions in StarCraft Attack a unit Build a building Agent Takes input from middleware and SVS Potentially reacts to the information May output an action to the middleware

Soar-SC Design - Perception StarCraft Environment as seen from Soar-SC Violet: Fog of War Tiles Blue: Terrain Green: Resources Magenta: Soar-SCs units Red: Enemy Units

What can Soar-SC do? Soar-SC can Parse the terrain and send it to SVS Gather resources Scout in semi-complicated ways Build units of arbitrary type Build buildings of arbitrary type at arbitrary locations Attack the enemy without rushing

Terrain StarCraft 64x64 map has 256x256 walk tiles walk tile: Tile StarCraft uses to determine whether a unit can walk there 256x256 map has 1024x1024 walk tiles Too many for SVS to handle Algorithm Flood Fill Fills all open sections of the map with water Marks sections with no water as inaccessible Groups each filled section Sections with less than 5 walk tiles in them are marked as inaccessible Starting at the upper left tries to generate largest possible continuous rectangles to put into SVS.

Gathering Resources Soar-SC can gather resources Uses SVS to do this Method If Soar-SC has a worker which can gather resources and is idle Then it will propose an operator to gather resources with that worker Asks SVS to give it the closest resource to that worker Use the result to place the resource location on the operator Tell the middleware to move the worker to that resource

Scouting RTS games Advantageous to see what your enemy is up to Need for scouting Creates a scout Can be either a worker or a marine Prefers marines over workers

Scouting Method – Fog of War Tiles If there is an idle scout and there is at least one potentially accessible fog of war tile, propose to scout a fog of war tile Asks SVS for which is the closest fog of war tile to the scout Places the tile on the scout as its location Tells the middleware to move the scout to the fog of war tile location

Scouting Method – Key Location If there is an idle scout, and there are no fog of war tiles a scout can reach, and there is at least one key-location, propose to scout a key location Key-location: either enemy building or map corner Places the key-location on the scout as its location Tells the middleware to move the scout to the key-locations location

Building Units Soar-SC can build units of any type Instead of specific rules per unit and building combination Uses general rules In order to add the building of a new type of unit, just have to add a proposal rule for that unit type Example: Marine Proposes a build-unit operator with a unit type of marine and a location of a barracks Applies the build-unit operator Tells the middleware to build a unit of type marine at the barracks Apply rule can build any unit type at any location as long as it is capable of building that type of unit

Building Buildings – Virtual Objects Soar-SC can build buildings at arbitrary locations and of arbitrary type Can build any type of building Does not use a human to predetermine locations for buildings Virtual Objects StarCraft is the real world and objects Soar-SC reasons about and wants to place are virtual to the StarCraft world. Similar to Building Units In order to build a building of a new type, all you need to do is add a proposal rule for that building The generic build operators will take care all of the virtual objects

Building Buildings – Virtual Objects Method Proposes to build a building of a certain type No-Change Impasse Tells SVS to return a location for the new building Passes the buildings size to SVS Passes the buildings type to SVS Returns an upper-left location in (x,y) Puts location on the operator Resolves impasse Outputs to the middleware to build at that location

Building Buildings – Virtual Objects Filter Algorithm Takes an x-size, y-size, and building type Gets all the buildings, resources, and terrain objects from the SVS scene graph Generates a grid around each building Eliminates all the conflicts Buildings Resources Path to resources from resource collectors Terrain If there is a building of the same type, eliminates all grids not within 1 build tile + the shapes size From all the remaining, randomly chooses one Returns that grid

Attacking the Enemy Soar-SC can attack an enemy Can Counter Attack Can Attack Enemy Units Can Attack Enemy Buildings Attack is generalized Can attack with any unit that there is a proposal rule for attacking with Could be more generalized to attacking with any unit which can attack

Attacking the Enemy Method Proposes to attack a specific enemy building or unit with a specific marine If there is a counter attack operator, reject other types of attack If there is a unit attack operator, reject other types of attack Applies the attack Outputs a move command to the middleware with a specific ID to attack

Soar-SC Good Very Flexible Platform that uses SVS Without SVS a lot of this would be difficult to do Reached some of the limits of the current version of SVS Middleware provides a solid base and platform Would allow for Agents for other races Would allow for Agents of many different types Agent can be extended Bad Middleware and Agent have some speed issues Runs at only decisions per second Occasionally drops to decisions per second under heavy SVS load Middleware is not architecture independent yet Cannot use JSoar instead of CSoar for instance

Future Work Better Attack Strategies Grouping Unit Attacks Concaves Concaves are surrounding of enemy units to attack Better Base Building More reasoning about how to plan out and build a base Reinforcement Learning Take advantage of the other memories Soar has

Acknowledgements Jon Voigt Soar Tech Professor John Laird Joseph Xu – SVS Mitchel Bloch - Programming advice University of Michigan Department of Electrical Engineering and Computer Science

Questions?