BZFlag

Everyone was a tank, except for me. I felt more like a tank-shaped piñata, and I was having great difficulty staying alive for more than a few seconds at a time. I had a feeling that my opponents were laughing at me, but I couldn’t be quite sure because they were doing it in Finnish. At least, I think it was Finnish. Whatever it was, it added an extra dash of disorientation to the often humbling experience of playing a multiplayer game for the first time. I sputtered around the battlefield, ineffectually firing my cannon at other players whose tanks all seemed superpowered compared to mine.

This is BZFlag, a free game with perhaps the best fun-per-megabyte ratio on the planet. The latest version of BZFlag, released in January, takes up roughly one-fifth of one percent the disk space of Unreal Tournament 2004, a gargantuan first-person shooter that requires five CDs and about 45 minutes to install. Spending a little bit of time playing BZFlag is a study in how some high-budget commercial game projects have strayed from the fundamentals of good gameplay design.

Launching the game doesn’t set off the usual procession of cinematic paeans to the game’s developers and publishers. There are no movies, splash screens, or loading delays long enough to go make a sandwich. There is no introduction or tutorial. Only a modestly decorated menu screen with the most obvious option highlighted (“join game”) greets you.

This meat and potatoes approach is typical of software produced by OSS (open source software) projects. Anyone who knows how to write computer code can contribute to OSS projects, provided they’re willing to donate their work. When applied to games, this approach results in products that are clearly labors of love, conceived and developed by people whose only goal was to produce the game that they most wanted to play. BZFlag has been developed in this fashion for twelve years, and the process is ongoing.

Battlezone was a classic vector graphics game that was a fixture in early video arcades, and is where the “BZ” in BZFlag finds its roots. In Battlezone, players drove a tank (rendered with straight green lines) around a very sparse landscape (also rendered with straight green lines) and traded fire with an increasingly difficult progression of enemy tanks. Gamers who remember Battlezone will be able to feel the ghost of the old game while playing BZFlag, but they won’t have time for nostalgia. Where Battlezone was measured and deliberate, BZFlag is frenzied. Instead of a series of mano a mano battles with a computer-controlled adversary, BZFlag‘s multiplayer domains are filled with an international menagerie of expert human players who have no qualms about ruthlessly stomping on newbies in between their duels with each other.

The rudiments of the game are very simple: drive the tank, line up enemy tanks in the crosshairs, and fire the cannon. It sounds easy. In early versions of the game, it probably was easy. It’s not, anymore. Somewhere along the way, in the most obvious mutation of the old Battlezone DNA, the BZFlag folks decided it would be neat to add a Z-axis to the two-dimensional mix. They accomplished this by allowing the tanks to leap into the air like giant, mechanized jackrabbits. In the hands of an expert player, the jumping ability is a very effective way to elude hostile fire and reach safer ground. In my hands, it allowed other players on the server to practice their skeet shooting.

The “flag” part of BZFlag‘s title refers to the power-up flags that are strewn randomly across each map. The flags imbue tanks that touch them with special abilities. Among the most lethal flags are “guided missile” (which takes some of the guesswork out of targeting enemies) and “shockwave” (which permits a tank to emit a spherical energy field that destroys any other tanks in its radius). To call these flags “power-ups” is actually misleading, since many of the flags have negative effects. My favorite “gotcha” flags were “bouncy” (which causes one’s tank to jump uncontrollably around the map) and “obesity” (which triples the tank’s size with a corresponding drop in driving performance).

BZFlag has recently cracked the rotation at a regular LAN party I attend with many of my friends, sharing screen time with high profile commercial titles that often require players to spend hours troubleshooting video driver problems before they can play. No such headaches from this pint-sized game, though the spartan menus and minimal in-game guidance might turn off players who are used to having new games hold their hands.

After enjoying several years as a game of choice for Linux devotees and OSS advocates, BZFlag is slowly beginning to be discovered by the gaming mainstream (an extension of the project aims to bring BZFlag to consoles such as the PS2 and Xbox). New players who join a popular server may spend more time waiting to respawn than driving their tank, but those who take their licks and ride out the learning curve will discover a fiercely addictive shooter that doesn’t play like anything on the sales rack. Commercial game publishers, meanwhile, might rediscover the fact that entertaining gameplay doesn’t necessarily need to come in overproduced, $50 packages.