Presentation is loading. Please wait.

Presentation is loading. Please wait.

Raven A Multi-Agent Simulation System. Who Am I? Gamer Amateur Singer Tinkerer Avid Reader Bowler Senior-level CS Student Software Developer of 5 years.

Similar presentations


Presentation on theme: "Raven A Multi-Agent Simulation System. Who Am I? Gamer Amateur Singer Tinkerer Avid Reader Bowler Senior-level CS Student Software Developer of 5 years."— Presentation transcript:

1 Raven A Multi-Agent Simulation System

2 Who Am I? Gamer Amateur Singer Tinkerer Avid Reader Bowler Senior-level CS Student Software Developer of 5 years Develop large, multi-user data synchronization and collaboration systems Big challenges include database storage and retrieval of mass amounts of information Image Analysis and Georectification

3 Raven

4 What is Raven? Raven is a simulation system that is used as: A Teaching Tool An AI test bed Large multi-contributor system

5 Where did Raven come from? Extended base model with: o Teams o OOP designs o Behavior changes o New Goals o Map Editor and persistence!

6 Design

7 Raven's Properties Multi-Agent Extensible Configurable Controllable Understandable Raven supports many bots interacting autonomously, intelligently, and coordinated Raven can model new situations Raven behavior can be change w/o compilation Raven responds to user input to change the scenario Raven is organized in easy- to-digest modules

8 Subsystems

9 Raven.Game Holds Singletons and 1-per-Bot systems. Base classes that are extended later in the system.

10 Armory Models the weapons and projectiles used by the bots and the weapon pickups on the maps. Blaster Shotgun Rocket Launcher Railgun Bolts Pellets Rockets Slugs The SensoryMemory gives the actors 'bounded rationality'

11 Interfaces and Testing Interfaces IRavenBot IRavenTargetingSystem ITeam Why Interfaces? Ease of testing Can change behavior by re-implementing Easier to understand than repeated derivation

12 Multi-agent Coordination and Communication Messaging is a basic eventing system. Why do this instead of events? Teaching experience Easy to add more messages to enum Could be redone via Typed Events with ease. The last position is an Object to allow for passing any additional information. o Damage Amount o Current position? o Next task? o and more....

13 Navigation Navigation handles both choosing where to go and how to get there. o There are two aspects to movement that humans and bots experience:  Where to go?  How do we get there? Navigation is a real-time activity We must limit the amount of time spent here numCyclesAllowed in params.js

14 Triggers Kinds of Triggers: Perpetually Respawning o Health o Weapon Limited Lifetime o Sounds o Graves Triggers are great because they allow us to: Customize the scenarios Create battlegrounds - Health and weapons inspire conflict Influence Behavior - Sounds!

15 Goals Goals are: o Tree-based o Inheritable o Can have subgoals that must be accomplished to accomplish the main goal o Can be extended by combining base behaviors in new and novel ways Two types Basic Goals Composite Goals Composite Goals use Basic Goals to accomplish some greater action.

16 Goals, cont. How do we hunt a target we can see? We get its last position and go to it. o The 'go to it' part is a basic goal. How do we follow a path? We ask the Path Manager for a path, then when it comes in make a separate goal to traverse each edge. o Traverse Edge is a basic goal

17 Fuzzy Logic How did we use it? It determines which weapons to use on a per- bot basis Is that all? We could use it to choose paths when some go through bad terrain... We could use it to make 'moral' choices? o Shades of grey Our Weapons have different behaviors because each weapon has a unique profile Range Ammo Level Range + Ammo Level = Desirability!

18 Scripting Scripting parameters for the bots and weapons lets us: Make changes to behavior without compiling Change the game on the fly Let someone else who is not a coder test balance Centrally store all variables Fix bugs! o Bots would break through walls because the weight for that wasn't set high enough.

19 Changing the WallAvoidanceWeight from 10 to 25 made likely that bots would not cross walls.

20 Map Editor during creation

21 Raven using our new map

22 Future Development Teams New obstacles o Inclement terrain New weapons New behaviors o implemented using complex goals o flanking? o using inclement terrain to trap opponents New domains o Soccer o UAV search patterns Using crafted scenarios to evaluate new tactics o DARPA - naval simulation contest Distributed System o multi-threaded o multi-machine? o networking capability

23 Related Readings 1.Milind Tambe o STEAM Project - distributed cooperative systems 2.Peter Stone o Soccer simulations 3.Risto Miikkulainen o NERO adaptive AI game system 4.John Laird o SOAR - MAchine AI development firm 5.Kenneth Stanley o RT NEAT - neural evolution in AIs

24 Questions? You may contact me anytime at chusk3@gmail.com


Download ppt "Raven A Multi-Agent Simulation System. Who Am I? Gamer Amateur Singer Tinkerer Avid Reader Bowler Senior-level CS Student Software Developer of 5 years."

Similar presentations


Ads by Google