Are you looking for an AI challenge? Do you want to work on a relevant problem that’ll get the attention of the games industry? Better still, are you motivated to push the boundaries of what’s frequently done in Game AI? Or are you keen to finally get your hands on the first public release of The AI Sandbox™?
If this sounds great to you, then you’re in the right place! That’s exactly the reason we designed the Capture The Flag competition. AiGameDev.com has teamed up with Guerrilla Games, developers of the KILLZONE series and its highly acclaimed bots, who are supporting the competition with prizes — and also hiring AI programmers! Below you'll find an interview with Lead AI Programmer, Arjen Beij, to find out how this competition addresses relevant topics.
AiGD: In a development environment, from pre-production or even late on in alpha, the balancing of the gameplay and behavior of bots changes significantly. How important is it to build an AI that's capable of dealing with these changes? How does Guerrilla Games deal with this, and do you think current techniques do well for this purpose?
Arjen Beij: Developing a game is an iterative process. Game modes, weapon, character classes and abilities will be added, changed or removed throughout much of the project. It is therefore very important that our systems are flexible enough to support making these changes without requiring major rewrites. We deal with this by building our systems as components with a stable interfaces between them. For example, for the AI all weapons are addressed through the same weapon interface class. For the AI there is no difference in firing a rifle, throwing a grenade or hitting an enemy over the head; these are all just weapons. The logic and constraints of using a specific weapon are hidden behind the interface. This means adding a new weapon type, even if it is very different from existing weapons, only requires implementing a new interface class.
The CTF competition is designed to expose some of the challenges of building a production-level AI commander. You'll have to deal with new maps types, improvements to the individual bot behavior, and incremental changes to the underlying gameplay over the course of the competition. These types of changes in a game like KILLZONE 2 or 3 often require manual adjustments from the AI programmer, but can you build an AI that can deal with this more efficiently?
Layering & Responsibilities
AiGD: In games with a heavy focus on artificial intelligence, there is often a clear layering in the architecture that separates high-level strategy from the individual bot behavior. How important is this for Guerrilla Games and what benefits does it bring?
Arjen Beij: I would say flexibility, reduced complexity, performance and the potential for emergent behavior.
Dividing responsibilities up into different layers reduces the complexity of the code: the high level strategy does not concern itself with choosing positions for individual soldiers, it assigns objectives to squads and leaves the details of execution up to the lower layers. The interface between layers is stable which allows us to change the implementation of one layer without affecting other layers. Introducing a new game mode and strategy into the game will require no or few changes to the other layers.
High level strategic decisions can typically be made at a lower frequency than tactical and low level combat decisions. By making strategic decisions at a lower frequency we either free up CPU time or spread strategic calculations over multiple updates to allow for more time consuming algorithms.
Finally, more interesting behaviors will emerge because individual AI is free to interrupt strategic orders with appropriate short term combat decisions.
Our Capture The Flag competition gives you high-level orders to order your bots around such as Attack, Charge, Move and Defend. You're not encouraged to micro-manage the underlying bots (like in other RTS competitions), and in fact the game will impose cool-down timers for various orders. This will allow you to focus on the high-level AI of your commander, and assignments of bots to objectives, rather than worrying about individual behavior. It also makes the competition significantly more fun!
Cheating or Honesty
AiGD: As you've discussed in past presentations and interviews, Guerrilla Games considers not cheating very important far as individual AI is concerned. What benefits do you think this has had in your games, and do you think it's as important for high-level strategy AI?
Arjen Beij: I think it is important to give the player the opportunity to outsmart the AI in a believable manner, not just to defeat it because of the artificially limited reaction time of the AI. Outsmarting generally involves being in an unexpected location and that requires AI with imperfect knowledge of the world state. There are limits to how far you need to go with this emulation: for example our AI has perfect knowledge of the map layout. Players will also build up this knowledge as they play the game.
This approach is equally desirable at the strategic level. The strategy is aware of the map layout but has no information on enemy locations apart from the combined knowledge of its individual team members. Of course information that is available to human players such as state of capture and hold areas can be used in strategic decisions without being considered cheating.
Professional game developers have become very good at building strategic AI that uses all the information it has available, and KILLZONE 2 & 3 both make this approach shine by relying on "perceptually honest" bots. In this Capture The Flag competition, your commanders are given only the information seen by their low-level bots. We believe this will enable new and exciting emergent behaviors, which the games industry does not always have time to focus on.
Robustness and Fun
AiGD: For individual bots, the general consensus in industry is that it's important to make sure they are fun to play against — not too hard and not too easy. But as far as high-level AI, it's not as clear; many gamers enjoy competitive opponents that can out-think them. Where does Guerrilla Games stand on this debate on "optimality" and why?
Arjen Beij: It is more important that the high level AI is robust and plausible rather than optimal. I think an optimal strategy doesn’t get in the way of a fun experience, but it is not a goal for us.
Our Capture The Flag competition emphasizes robustness by throwing your commander up against a wide selection of levels, different layouts of objectives, different configurations of bots, and of course a wide variety of different opponents! The best commander will be chosen that can handle all these special cases best on average. Whether you use optimization techniques or even data-mining from the online replays, it's up to you!
If this sounds exciting, you're not alone! Since we announced the competition a few days ago, hundreds of programmers from around the world have signed-up and many more each day... Join us and make this a particularly exciting end of 2012 (the first phase, December 10th) and start of 2013 (the second phase, January 7th)!
Good luck! ;-)