140 likes | 357 Views
Counter-Strike Agents. IST, AASM, 2006-2007 Celso Miguel de Melo. The Game. Counter-Strike is a First Person Shooter (FPS) game Counter-Strike is a mod for Half-Life (HL) Other mods: Team Fortress, Deathmatch Classic, Natural Selection, etc. Furthermore, it is a team-based FPS
E N D
Counter-Strike Agents IST, AASM, 2006-2007 Celso Miguel de Melo
The Game • Counter-Strike is a First Person Shooter (FPS) game • Counter-Strike is a mod for Half-Life (HL) • Other mods: Team Fortress, Deathmatch Classic, Natural Selection, etc. • Furthermore, it is a team-based FPS • There are two teams: terrorists and counter-terrorists • There are three kinds of maps: • Bomb defuse • Hostage rescue • VIP Assassination • In bomb defuse maps, terrorists are required to plant and detonate a bomb while counter-terrorists try to prevent them Counter-Strike Agents
The Project • The goal is to develop intelligent agents for both teams in Counter-Strike • The project focuses on bomb defuse maps • Maps with destructible obstacles, doors or elevators are avoided • The main objectives, worth 80% of the grade, include: • Develop a reactive agent • Develop a BDI agent • Develop cooperation strategies for both teams • Evaluate and compare the aforementioned architectures • A secondary objective, worth 20% of the grade, is to explore an additional topic • Be creative. What would you like to explore? • Some suggestions: emotions, interaction with humans and learning Counter-Strike Agents
The Tournament • At the end of the semester, projects will be confronted in a tournament • Submitted agents must conform to the provided interfaces • Cheating implies immediate disqualification • Score in the tournament is defined by: • Whether the goal was achieved • Number of kills • Time remaining when the goal was achieved • The best four teams get a bonus on the project’s final grade • 1st place: 2,0 points • 2nd place: 1,5 points • 3rd place: 1,0 points • 4th place: 0,5 points Counter-Strike Agents
Schedule • 1st Delivery: 21st of May, 2007 • Requires full implementation of the reactive agent • Final Delivery: 19th of June, 2007 • Laboratories: • Lab.7 – Introduction to the Project • Lab.8 – Reactive Agents (1) • Lab.9 – Reactive Agents (2) • Lab.10 – 1st Delivery • Lab.11 – BDI Agents & Cooperation • Lab.12 – Agent comparison Counter-Strike Agents
AASM CS Agents Platform • The AASM CS Agents Platform supports the creation of agents in Counter-Strike • Provides sensors and actuators agents use to interact with the world • The platform modules support: • Navigation, free navigation and waypoint navigation • Combat • Finances • Vision, Hearing and Radar • Communication • Regarding the inner workings, agents in Counter-Strike run as a HL mod • A mod is a Dynamic Link Library (DLL) file which is generated from the code Platform installation demonstration Counter-Strike Agents
Agent Lifecycle The agent’s decision cycle Counter-Strike Agents
Navigation Interfaces (1/2) • The Navigation Interface supports basic navigation actuators • Move forward, backwards and sideways, rotating, jumping, ducking • The Free Navigation Interface supports automatic navigation to world positions • Builds on the Navigation Interface • The Waypoint Navigation Interface supports graph-based navigation • Graph positions are called waypoints • Waypoints are knowledge about the world: normal, goal, camping, etc. • Pathfinding includes A* search and the F-W shortest path algorithm • Separate reactive interface considers only visible waypoints • Builds on the Free Navigation In. Counter-Strike Agents
Navigation Interfaces (2/2) • Maps with reviewed waypoint data include: de_dust, de_dust2, de_airstrip, de_inferno, de_piranesi, de_survivor • These can be used as reference throughout development • However, evaluation and tournament are not limited to them • Collision detection and handling solutions are provided with the platform • See the agents::interfaces::ICollisionHandler interface • But, these algorithms may be extended • See the agents::interfaces::ICollisionManager interface • Counter-Strike is a complex multi-agent system, collision handling is very much part of the challenge of building intelligent agents Navigation demonstration Counter-Strike Agents
Combat & Finances Interfaces • The Combat Interface supports: • Aiming • Firing • Weapon selection • Arming/defusing the bomb • The Finances Interface supports buying weapons and armory Combat & Finances demonstration Counter-Strike Agents
Vision, Hearing and Radar Interfaces • The Vision Interface supports: • A 90º field-of-view constraint • Seeing other agents • Seeing weapons on the floor • Seeing the bomb • The Hearing Interface supports: • Perceiving the direction to the bomb based on bomb ticking • Influenced by distance and time to detonation • The Radar Interface supports: • Perceiving teammates location with limited precision • Perceiving the bomb location for terrorists Counter-Strike Agents
Communication Interface • Two kinds of communication are supported: chat and radio • Chat provides flexible generic communication • Radio provides predefined communication with sound • Besides message content, the following information is available to the receiver: • Timestamp • Sender identification and radar location Counter-Strike Agents
Debugging • Step-by-step debugging in MS Visual Studio 2005 • See {SDK Home}\aasmCsAgents\docs\debugging.htm • Debug library • Print to console • Log to a file • See the util::debug namespace Counter-Strike Agents
Further Documentation • API files at {SDK Home}\aasmCsAgents\docs\api\index.html • Help on installation, debugging and waypoints at {SDK Home}\aasmCsAgents\docs\ • Resources in the ‘Projects’ section at the course’s homepage Counter-Strike Agents