Inspired by Battlezone, BZFlag was first written in C by Chris Schoeneman in 1992, as a part of his studies at Cornell University.
BZFlag was initially called "bz" and despite its similarity to the SGI game of the same title by Chris Fouts, both games were completely independent of each other.

In 1993, BZFlag was released to the public for the first time.
This release took a new turn compared to older versions after a cheater, who edited the source code of his client to give himself powers that do not come from official releases, inspired Schoeneman and Pasetto to add "super-flags."
Super flags affect a tank's performance by adding abilities or weapons to its arsenal.
The first four flags were High Speed (boosted tank speed), Quick Turn (tank turned faster), Rapid Fire (shots moved faster), and Oscillation Overthruster (tank could go through objects).
There was only one of each flag, and all flags had a marker on them so tanks knew what type it was.
Soon after, bad and good flags were added, and the idea remains part of game play today; however, flags do not have markers and the flag type is unknown to the player until it is picked up (unless the player's tank is carrying an identify flag).

In 1997, the release of version 1.7d came with a groundbreaking new feature: an in-game public server list.
Previously, players had to either set up their own servers, know of servers, or read a list published and maintained by a third-party.
Now the server list is hosted on the official BZFlag website and allows anybody to play games on servers that choose to be public.

Schoeneman eventually re-wrote BZFlag in C++ for SGI's third IndiZone competition, which won in the "Reality Engine" category.
 Tim Riker was later given the project prior to version 1.7e to maintain and evolve.
BZFlag is written in C++ and uses OpenGL for rendering.
Its audio and several other sub-systems have been written using OS specific methods, although newer releases use SDL to perform low-level operations on all platforms.
Textures for in-game objects are loaded from PNG files; audio, from WAVs.
Zlib is used to decompress data files, which is written in C.
Inspired by Battlezone, BZFlag was first written in C by Chris Schoeneman in 1992, as a part of his studies at Cornell University. BZFlag was initially called "bz" and despite its similarity to the SGI game of the same title by Chris Fouts, both games were completely independent of each other. 
In 1993, BZFlag was released to the public for the first time. This release took a new turn compared to older versions after a cheater, who edited the source code of his client to give himself powers that do not come from official releases, inspired Schoeneman and Pasetto to add "super-flags." Super flags affect a tank's performance by adding abilities or weapons to its arsenal. The first four flags were High Speed (boosted tank speed), Quick Turn (tank turned faster), Rapid Fire (shots moved faster), and Oscillation Overthruster (tank could go through objects). There was only one of each flag, and all flags had a marker on them so tanks knew what type it was. Soon after, bad and good flags were added, and the idea remains part of game play today; however, flags do not have markers and the flag type is unknown to the player until it is picked up (unless the player's tank is carrying an identify flag).
In 1997, the release of version 1.7d came with a groundbreaking new feature: an in-game public server list. Previously, players had to either set up their own servers, know of servers, or read a list published and maintained by a third-party. Now the server list is hosted on the official BZFlag website and allows anybody to play games on servers that choose to be public.
Schoeneman eventually re-wrote BZFlag in C++ for SGI's third IndiZone competition, which won in the "Reality Engine" category.  Tim Riker was later given the project prior to version 1.7e to maintain and evolve. BZFlag is written in C++ and uses OpenGL for rendering. Its audio and several other sub-systems have been written using OS specific methods, although newer releases use SDL to perform low-level operations on all platforms. Textures for in-game objects are loaded from PNG files; audio, from WAVs. Zlib is used to decompress data files, which is written in C.
BZFlag