A look under the hood: part 3

Image - A look under the hood: part 3

Bot support has been a thorny issue of late. Two high-profile mods have treated it in very different ways: one switched to another engine, citing UT2003's bot code being poorly implemented as the reason; while another didn't include it at all in their major release. So what's Jailbreak's take on it?

Bot support is an important part of the design of Jailbreak 2003. Because Jailbreak is similar to standard Deathmatch from the bot point of view, we don't have the problems suffered by sports game types: we can take advantage of most of the low-level bot code that comes with UT2003 already. That includes using the GameObjective class for the release switch, and making full use of the squad system.

The main challenge is getting bots to set the right priorities at the right time. UT2003's team game types keep a bot's general orders to attack or defend fixed throughout a game; in Jailbreak players however constantly have to weigh conflicting priorities and make a smart decision about attack, defense, or even flight. Of course bots shouldn't be "cheating" and know more than human players could, so part of Jailbreak's bot code exclusively deals with making educated guesses about other players' whereabouts based on openly available information.

As for squads, we carry along bots teaming up when they're following the same objective — more or less: too many players in one place is usually not a good idea in Jailbreak. On a technical level though a squad is the instance immediately telling a bot how to behave, combining programming hooks that were previously distributed on the game type and the base bot code itself. Jailbreak constantly juggles bots between attacking and defending squads and has separate squad types for bots in jail (making them idly stroll around or take up hammer fights with other players) and in the arena.

One question remains: when are you going to get to see all this for yourself? Well, Mychaeel has this to say about progress on our Alpha versions: "I'm particularly pleased with the fact that I have had to spend only relatively little time with fixing bugs in Jailbreak despite the fact that we're close to being feature-complete. It seems that the time spent on laying out project's design beforehand is really paying off there; and anyway designing software is a lot more fun than debugging it, after all."

Sounds positive. And if you simply can't wait, you might be interested in joining the team. We're holding an IRC chat for any prospective members, on channel #utjb, this Friday 11 April at 21:30 UTC.