BZFlag
   HOME

TheInfoList



OR:

''BZFlag'' (an abbreviation for Battle Zone capture the Flag) is an
online multiplayer A multiplayer video game is a video game in which more than one person can play in the same game environment at the same time, either locally on the same computing system (couch co-op), on different computing systems via a local area network, or ...
free and open-source Free and open-source software (FOSS) is software available under a Software license, license that grants users the right to use, modify, and distribute the software modified or not to everyone free of charge. FOSS is an inclusive umbrella term ...
tank game. In the 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.


Development

Inspired by Battlezone, ''BZFlag'' was first written in C by Chris Schoeneman in 1992 as a part of his studies at
Cornell University Cornell University is a Private university, private Ivy League research university based in Ithaca, New York, United States. The university was co-founded by American philanthropist Ezra Cornell and historian and educator Andrew Dickson W ...
. BZFlag was initially called "BZ" and despite its similarity to the SGI game of the same title by Chris Fouts, the games are 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 each flag was marked with its type. Soon after, bad and good flags were added and remain part of gameplay today, only without markers, so that the flag type is unknown to the player until it is picked up (unless the player 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 OpenGL (Open Graphics Library) is a Language-independent specification, cross-language, cross-platform application programming interface (API) for rendering 2D computer graphics, 2D and 3D computer graphics, 3D vector graphics. The API is typic ...
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
WAV Waveform Audio File Format (WAVE, or WAV due to its filename extension; pronounced or ) is an audio file format standard for storing an audio bitstream on personal computers. The format was developed and published for the first time in 1991 ...
s.
Zlib zlib ( or "zeta-lib", ) is a software library used for data compression as well as a data format. zlib was written by Jean-loup Gailly and Mark Adler and is an abstraction of the DEFLATE compression algorithm used in their gzip file compre ...
, which is written in C, is used to decompress data files.


Developers

The number of contributors to the project has steadily increased over time. The project invites all sufficiently experienced developers to contribute. Though there are 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. When a developer makes an edit of which 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 on IRC or GitHub. The copyright holder for the game is Tim Riker, but maintenance is guided by Scott Wichser and Jeff Makey as project managers. The game's original author, Chris Schoeneman, is no longer involved in development.


Gameplay

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. Since all players can see the position of all the tanks on their radar, it is a game of outmaneuvering rather than sneaking. 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 their own ''home base''; a style called "rabbit chase" in which the objective is to have every hunter (orange) tank try to destroy a particular white tank, called the "rabbit," and a different way of playing free-for-all called open free-for-all (OFFA), in which tanks shoot any other tanks regardless of the color. 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 1-3% have active players).


Teams

Tanks can join as one of the four team colors, as a rogue, or as an observer. Observers cannot play, but can move anywhere in the world or 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. 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 hunters with genocide, shockwave, Guided Missile, or Laser flags are dangerous, and often teamkills 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. Rogues are occasionally allowed on servers; a rogue tank does not have any flag to defend, nor can it capture flags. Rogues tend to aid other teams of choice, or add a distraction to all teams. There is a plugin to prevent this which is used on servers with two large teams and one or two rogue players.


Maps

A BZFlag server can be configured to create a basic, random
map A map is a symbolic depiction of interrelationships, commonly spatial, between things within a space. A map may be annotated with text and graphics. Like any graphic, a map may be fixed to paper or other durable media, or may be displayed on ...
for play, or users can load their own 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 map-makers use a
3D modeling In 3D computer graphics, 3D modeling is the process of developing a mathematical coordinate-based Computer representation of surfaces, representation of a surface of an object (inanimate or living) in Three-dimensional space, three dimensions vi ...
program such as Wings 3D or
Blender A blender (sometimes called a mixer (from Latin ''mixus, the PPP of miscere eng. to Mix)'' or liquidiser in British English) is a kitchen and laboratory appliance used to mix, crush, purée or emulsify food and other substances. A stationary ...
. Graphical map editors, BZEdit or iBZEdit have also been used. Note that BZEdit is not distributed with the game, and is no longer under active development (versions of it are available at the BZFlag SourceForge.net site). Using Blender in combination with a BZFlag map plug-in is currently the most popular mapping method, though it is getting some competition from WebBZEdit. As to the simplicity of maps, there are a number of basic objects in a map: boxes, pyramids, teleporters, cones, arcs, cylinders, spheres, 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. Teleporters are also capable of teleporting to themselves, reflecting bullets and tanks that enter. Team Bases are used for CTF style games. Full three dimensional meshes have been available in maps since the 2.0 release.


Flags

BZFlag 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 number, types of super flags, as well as where they are placed can all be controlled by the operator when starting the server. The number cannot be modified while the server is running. 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 short amount of time, after a certain number of "wins" (kills), or until the tank dies. The rules for dropping bad flags are set by the operator at the start of the server. All super flags have a one or two letter code that is displayed next to a player's name on the
scoreboard A scoreboard is a large board for publicly displaying the score (sport), score in a game. Most levels of sport from high school and above use at least one scoreboard for keeping score, measuring time, and displaying statistics. Scoreboards i ...
when that player has that flag. Once in a while, a new flag is suggested, though not always added.


Server environment

Servers can have
environments Environment most often refers to: __NOTOC__ * Natural environment, referring respectively to all living and non-living things occurring naturally and the physical and biological factors along with their chemical interactions that affect an organism ...
that simulate the real world. A server's environment consists of three things: The map in play, the time of day that is being simulated, and weather conditions, introducing elements of which players have no control, like rain, snow, icy and/or slippery ground, modified friction and gravity, and fog. BZFlag takes the local time from the geographical location of the server and creates a night or day-time
atmosphere An atmosphere () is a layer of gases that envelop an astronomical object, held in place by the gravity of the object. A planet retains an atmosphere when the gravity is great and the temperature of the atmosphere is low. A stellar atmosph ...
in the background. Servers may synchronize the local server time or allow players to change the time to any time they may desire.


Critical reception

''BZFlag'' was selected in Summer 2015 as "HotPick" by
Linux Format ''Linux Format'' was the UK's first Linux-specific magazine, and as of 2013 was the best-selling Linux title in the UK. It was also exported to many countries worldwide. It was published by Future plc (which produces a number of other computer ma ...
. BZFlag was selected as the SourceForge.net Project of the Month for April 2004. Both
Free Software Magazine ''Free Software Magazine'' (also known as ''FSM'' and originally titled ''The Open Voice'') is a Web site that produces a (generally bi-monthly) mostly free-content online magazine about free software. It was started in November 2004 by Austral ...
and
Linux Magazine ''Linux Magazine'' is an international magazine for Linux software enthusiasts and professionals. It is published by Computec Media GmbH in German-speaking countries and Linux New Media USA, LLC. for English edition. The magazine was first publ ...
noted that ''BZFlag'' was fun to play and suitable for younger gamers.


References


External links


Official websiteBZFlag
on
GitHub GitHub () is a Proprietary software, proprietary developer platform that allows developers to create, store, manage, and share their code. It uses Git to provide distributed version control and GitHub itself provides access control, bug trackin ...
{{DEFAULTSORT:Bzflag 1993 video games First-person shooters Free software programmed in C++ Open-source video games IRIX games Linux games Lua (programming language)-scripted video games MacOS games Multiplayer online games Video games developed in the United States Windows games Software using the GNU Lesser General Public License Software using the Mozilla Public License Cross-platform free software Arena shooters