Half life 2 Counter Strike Source bot Charlie
Half life 2/ Counter Strike: Source bot Charlie Cross CIS 488 2 -14 -05
Background • Counter Strike is a multiplayer modification for Half life, released in June of 1999. • Valve software hired the counterstrike team and ported Counter Strike to their new Source engine. • Outsourced a spin off single player product. Counter Strike: Condition Zero. • Ended up being finished at Turtle Rock Studios.
Background (2) • Turtle Rock developed artificial intelligence for condition zero. • AI was ported to CS: Source last month.
AI features: • Navigates map using automated systems (waypoints) combined with human teaching (navigation meshes). • Communicates with human players, telling them where enemies are located. • Follows human instructions (e. g. “follow me”, or “team fall back”) • Selects best weapon for tactical situation. Avoids tactically disadvantageous situations. • Conveys range of emotion-driven behaviors. Rushes aggressively when winning or retreats when outnumbered.
Navigation Meshes
Navigation • Use of nav meshes allows bots to be less predictable and to use less structured behavior the way humans do. • A* pathfinding. • Uses reactive obstacle avoidance (like the quake bots) To avoid crashing into walls and other objects. • Monitor’s average velocity to detect when the bot is “stuck”, then uses a “random wiggle” to try to jerk free. (I have never seen this happen)
Using the tools to build paths. (Source: Mike Booth’s presentation at GDC)
Using and viewing the environment • Nav meshes include “hiding spots” that are labeled by the programmer. • When retreating or “camping” the bot will find a hiding spot to ambush the opponent. • Looks around smoothly and avoid jerky movements. • Looks around corners and checks openings.
Tactics
Tactics and Bot emotions • • Nav Areas hold a danger value. Increased danger means increased cost (A*) This forces bots to change routes. Danger values are increased when bad things happen (such as team mates dying) • Morale determines level of aggression. • High morale: Bot is on winning team, bot is killing enemies. • Low morale: Bot is on losing team, bot is killed, hurt.
Combat and Weapon selection • Since it is a rule based system, there an elaborate collection of rules to determine combat actions. • Examples: – Using the appropriate weapon for the range: (Sniper rifles if enemy is far, pistol if close. ) – Aiming for the head. – How to use grenades effectively (flush out enemies if attacking, slow them down if defending)
Team awareness • Follows the leader (you) • Communicates enemy locations • Uses stealth (sneaking slowly to reduce noise) when heavily outnumbered • Avoids stupid problems like shooting teammates, (will yell at you if you do).
Effects on Gameplay • Why make a bot for a multi-player game? – Some servers don’t have a lot of players on them. Bots can fill in the gaps to make a full team. – Lousy internet connection wont prevent players from enjoying game. – Bots don’t accuse you of cheating when you kick their ass.
Strengths and weaknesses • Strengths: – Bot is almost convincingly human. – Bot difficulty is scalable to match different skill levels. – Bots don’t change flow of game, they are just like other players. • Weaknesses – Bots can see perfectly in dark areas. – Bots often prioritize killing enemies over completing mission objectives. (Then again, so do most human players. )
- Slides: 14