| advertise add site services publishers database health videos | ![]() | about toolbar stats live show health store more stuff JOIN/LOGIN |
BZFlag (an abbreviation for Battle Zone capture the Flag) is an online, multiplayer video game. It is a first-person tank shooting game, similar to Battlezone. It was originally written by Chris Schoeneman for SGI computers running IRIX, and has been ported to other platforms including Windows, Linux, Mac OS X, BSD and Solaris. Current open source development is maintained by Tim Riker and a team of project administrators. The project is hosted on SourceForge.net. It is currently distributed under the LGPL license. BZFlag was selected as the SourceForge.net Project of the Month for April 2004.[1]
[edit] GameplayIn a game of BZFlag, players drive around tanks, viewed from a first-person view, in a server-defined world (also known as a "map"), which can be modified. Tanks have the ability to drive through other tanks, but cannot travel through buildings or other world objects. The basic objective is to destroy opponents' tanks, which are tanks of another team's color. There are styles of game play that modify the objective. Styles are server-based, as the server operator chooses what style to host. If there is no special style indicated by the server owner, the only objective is the above (to simply kill opponent tanks), it is called a "free for all", or "FFA" for short. There are three other objectives and corresponding styles (four in total): a style called "capture-the-flag" (or "CTF" for short) in which tanks try to pick up an opponent's flag and bring to its own home base (a small area marked with the team's color that simply is the home of a team), a style called "rabbit chase" in which the objective is to have every hunter (colored red and yellow)tank try to destroy a particular white tank, called the "rabbit," and a style called "King of the Hill," in which the tanks attempt to stay in a certain area for 30 seconds without being killed. If they succeed, they're "The King of the Hill." Servers can change the game mode and have custom maps made to fit the properties of the game. Certain thresholds are used to catch malicious players and kick them off the server, as well as message filters, and an entire collection of other anti-cheating features. There are around 250 servers active at any given time (although only about 10-20% have active players most of the time).[2] [edit] TeamsTanks can join as one of the four team colors, as a rogue, or as an observer. The observer cannot play, but can move anywhere in the world and watch what the tank they are linked to is doing. Observers do not have a tank and are therefore not visible to players, but are shown in the scoreboard. The colored teams are Red, Green, Blue and Purple. Rogue players are teamless players: they are allowed to kill colored team players and other rogues. Rogue tanks are colored dark grey out the window, and yellow on the radar. Most of the time teams are not very useful in free-for-all games. Somebody with a Genocide flag can kill a team as a whole with one shot. For that person it is only a matter of targeting the weakest member to score. The cooperation itself is difficult as well. Attacking the same target easily results in unwanted teamkills due to friendly bullets accidentally striking a teammate on the opposite side of the enemy. In addition, although rare, it is not unheard of to be attacked by a teammate due to a teammate being unaware of the team they are on, or more commonly in the case of new players, the concept of teams in the game. In rabbit-hunt games there is a white tank, known as the "rabbit", against the orange-brown "hunters", or every other player. The hunters are considered a team, so rabbits with genocide are dangerous, and often team kills occur due to a group assault on the "rabbit." Teams are necessary in capture-the-flag games, in which they have to protect their team flag from capture. Because rogues are occasionally allowed (as chosen by the server administrator), a rogue tank does not have any flag to defend, and in turn cannot capture flags. However, rogues usually tend to aid other teams of choice, or merely enjoy adding a distraction to all teams. Unfortunately, people will often abuse teams and join a team intending to kill teammates. Many servers try to discourage this behavior, other than verbally, by having tanks blow up when they shoot teammates, whether intentional or accidental. If intentionally, this behaviour usually results in an autokick or even in a ban. [edit] DistributionBZFlag is currently distributed under the GNU Lesser General Public License through the official website on SourceForge, or by other means such as the GNUWin II CD-ROM (which usually contains an older version of the game due to the active development of the game by its current maintainer, Tim Riker, and other people who decide to contribute to the project) or other CD-ROMs/distributions. [edit] History A daytime, but rather dark, shot from version 1.7d9 while a chat message is being typed. Note the non-transparent "HUD" (console), as well as the font, both contrasting with newer versions. BZFlag was originally written as a project in C by Chris Schoeneman in 1992, based on the chart-topping, smash hit arcade game Battlezone. At first, BZFlag was called "bz" and despite its similarity to the game of the same title by Chris Fouts, both games were completely independent of each other. Originally, BZFlag was simply a shoot 'em up game with no other modes. However, after Schoeneman and his friend Rick Pasetto (who helped Schoeneman develop BZFlag from the beginning) became bored with the concept, they invented the capture-the-flag mode. This new mode added a requirement of strategy and skill, which was sufficient to keep interest. In 1993, BZFlag was released to the public for the first time. This release took a new turn compared to older versions as 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", or flags that affect a tank's performance. 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. Bad and good flags were added, and the idea remains part of game play today, however, flags do not have markers and are completely unknown of their types until they are picked up by a tank (unless a 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, but the new server list (hosted on the official BZFlag website, even today) allowed anybody to play games on servers that chose to become 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. [edit] DevelopmentBZFlag is written in C++ and uses OpenGL for rendering. Its audio and several other sub-systems (such as window management and file access) have been written using OS specific methods. Newer releases use SDL to perform low-level operations on all platforms except for Microsoft Windows. 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. [edit] DevelopersThe number of developers grows constantly. Any programmer can become a developer as long as they have demonstrated quality coding and sound judgment (by submitting code patches, being professionally known by a developer, or other significant contributions). Though there are currently[update] 64 listed developers, a much smaller number of those are active contributors. Developers are able to edit any of the project's files to make changes at any time. However, when a developer has made an edit that other developers do not approve, or is inappropriate for the game, they are requested to revert to the previous version of the file. Most developers monitor source edits using the mailing list available on SourceForge.net.[3] The project is maintained by Tim Riker, with help from David Trowbridge, and Sean Morrison. The game's original author, Chris Schoeneman, is no longer involved in development. [edit] Server environmentServers have environments that simulate the real world. A server's environment is three things:
BZFlag takes the local time from where the server is located and creates a nighttime or daytime atmosphere in the background. Servers may synchronize the local server time, or servers may allow players to change the time to any time they may desire. Starting in version 2.0, servers are able to set weather conditions. Servers can be rainy, snowy, icy, have a reflective ground that is "slippery", have modified friction, and foggy. Little frogs can also take the place of rain or snow droplets. Contrary to other environment variables, weather conditions cannot be changed by players, and are rather controlled by server operators. [edit] MapsA BZFlag server can be configured to create a basic, random map for play, or users can load custom map files. BZFlag uses a customized text based map format to define the placement of objects. While writing a map is fairly simple in this format, most people use the official map editor, BZEdit, iBZEdit, Wings 3D, or blender for most complex maps. BZEdit is not distributed with the game, and no longer under active development. Versions of it are available at the BZFlag SourceForge.net site. Using blender in combination with a BZFlag format plug-in is the currently preferred mapping method. As to the simplicity of maps, there are a number of basic objects in a map: boxes, pyramids, teleporter, team bases and meshes. Teleporters are rectangular, yellow-bordered objects that teleport a tank to another teleporter. A mapmaker may choose to not have a teleporter teleport tanks by leaving out links, or simple definitions of two points for teleporters to link between. Team Bases are used for CTF style games. Full three dimensional meshes have been available in maps since the 2.0 release. [edit] FlagsBZFlag has three types of flags: team flags, bad flags and super flags. Team flags are only placed in a world during a capture-the-flag game, and represent the team it is colored to. Super flags are flags that can be in both free-for-all games and capture-the-flag games, but are strongly controlled by a server operator. The amount, types of super flags, as well as where they are placed can all be controlled by the operator. Super flags come in both bad and good form, and affect a tank accordingly. A bad flag may take away a certain sense of the tank: its sight, speed, or related things, while a good flag does the opposite and actually helps a tank. Good super flags are usually held until the tank is killed and explodes, or until the player driving the tank chooses to drop the flag. Bad flags are dropped after a certain amount of time (usually a few seconds), after a certain amount of "wins" (kills of other tanks that the bad flag carrier caused), or until the tank dies (which is rare). The rules for dropping bad flags are set by the operator. All super flags have a one or two letter code that is displayed next to a player's name on the scoreboard when that player has that flag. Once in a while, a new flag is introduced, which anyone can contribute to via developer contact or the wiki. [edit] References
[edit] Notes
[edit] Maps
[edit] History
[edit] Flags
[edit] External links
| |||||||||||||||||||||||||||
| ↑ top of page ↑ | about thumbshots |