bzflag(6)bzflag(6)NAME
BZFlag - a tank battle game
SYNOPSISbzflag [-3dfx] [-no3dfx] [-anonymous] [-debug] [-directory
directory] [-echo] [-echoAnsi] [-geometry widthx-
height[{+|-}x{+|-}y]] [-latitude latitude] [-list url]
[-locale locale] [-longitude longitude] [-multisample]
[-mute] [-nolist] [-solo number-of-robots] [-team {auto-
matic | red | green | blue | purple | rogue}] [-version]
[-view {normal | stereo | three}] [-window] [-zbuffer {on
| off}] [[callsign@]server[:port]]
DESCRIPTION
BZFlag is a 3D multi-player tank battle game that allows
users to play against each other in a networked environ-
ment. There are five teams: red, green, blue, purple and
rogue (rogue tanks are black). Destroying a player on
another team scores a win, while being destroyed or
destroying a teammate scores a loss. Rogues have no team-
mates (not even other rogues), so they cannot shoot team-
mates and they do not have a team score.
There are three main styles of play: capture-the-flag,
free-for-all, and rabbit-hunt. In capture-the-flag, each
team (except rogues) has a team base and each team with at
least one player has a team flag. The object is to cap-
ture an enemy team's flag by bringing it to your team's
base. This destroys every player on the captured team,
subtracts one from that team's score, and adds one to your
team's score. In free-for-all, there are no team flags or
team bases. The object is simply to get as high a score
as possible. In rabbit-hunt, the lead player is chosen as
the target for all other players. When the rabbit(target)
is destroyed, the live player with the next highest score
becomes the rabbit. The object is to remain the rabbit for
as long as possible. The rabbit is marked as a white tank.
Options
-3dfx For Mesa users with a passthrough
3Dfx card, e.g. a Voodoo or Voodoo 2
based card. This sets the
MESA_GLX_FX environment variable to
use fullscreen passthrough mode.
Use -geometry to use a resolution
other than 640x480 on the
passthrough card. You should not
use this option with -window.
-no3dfx For Mesa users with a passthrough
3Dfx card, such as Voodoo or Voodoo
2 based cards. This unsets the
MESA_GLX_FX environment variable so
that the passthrough card isn't
used. Use this option if
MESA_GLX_FX is normally set in your
environment and you don't want
bzflag to use the passthrough card.
This option is only a convenience;
you can achieve the same effect by
unsetting MESA_GLX_FX in your envi-
ronment.
-anonymous Uses the email address anonymous
instead of username@hostname.
-directory directory
Looks for data files in directory
first. This defaults to a directory
named data in the current directory.
If not found there, the game looks
for data files in the current direc-
tory, then in the default installa-
tion location INSTALL_DATA_DIR.
-debug Increase debugging level. Use multi-
ple -debug options to obtain more
debugging info.
-echo Copies all message window output to
the shell.
-echoAnsi Copies all message window output to
the shell preserving the ANSI color
coding.
-geometry widthxheight[{+|-}x{+|-}y]
This specifies the size and, option-
ally, the position of the window. It
can be used with or without the
-window option. It may be necessary
to use this on some systems when
bzflag cannot correctly determine
the display size.
-latitude latitude
Uses latitude when computing celes-
tial object positions.
-list url Look for bzfls servers using url. A
built-in url is used by default (the
same url is the default for bzfs).
See bzfls for a description of the
format of url. If url is default
then the url is reset to the built-
in url (the url is remembered across
invocations of bzflag). Bzfls
servers keep a list of bzfs servers
accessible from the internet and are
queried when using the Find Server
menu.
-locale locale Set the locale used to display mes-
sages, menus, hud alerts, etc.
-longitude longitude
Uses longitude when computing celes-
tial object positions.
-multisample Uses a multisample buffer for ren-
dering. If multisampling isn't
available then the application will
terminate.
-mute Disables sound.
-nolist Disables bzfls server querying. See
-list.
-solo number-of-robots
When you join a game, you'll also
cause number-of-robots robots to
join too. This is an experimental
option and the robots are extremely
stupid players. Robots are added to
teams at random.
-team team-name
Chooses the player's team. If there
are no team positions available and
the team-name is set to be auto-
matic, the player will try to join
as an observer.
-version Prints the version number of the
executable.
-view {normal | stereo | three}
Chooses one of three possible dis-
play options. Normal will render a
single view to the entire screen.
Stereo will try to allocate a stereo
(in-a-window) capable buffer and
then draw a single view in stereo.
Your system must support stereo-in-
a-window buffers and stereo goggles.
Three will render the front view to
the upper right quadrant of the dis-
play, a left view to the lower left
quadrant, and a right view to the
lower right quadrant. This is
intended for systems capable of
driving multiple monitors from vari-
ous areas of the display surface,
yielding a wrap around view. Note
that setting an unsupported view
option will often lead to BZFlag not
running successfully. To correct
this, run with -view normal.
-window Runs the application in a window
instead of full screen.
-zbuffer {on | off}
When off is chosen the game will not
attempt to allocate a depth (z)
buffer and will use a different ren-
dering technique for hidden surface
removal. Some systems may be capa-
ble of using a higher screen resolu-
tion if a depth buffer isn't allo-
cated.
[callsign@]server[:port]
Specifies the callsign you want, and
the host running the bzfs server.
Multiple independent games can be
run on a single network, or even on
different ports on a single com-
puter. Which server and port you
choose decides which game you enter.
The callsign and the port is
optional. If you don't specify a
port the standard server port will
be used, and if you don't specify a
callsign the callsign used for the
previous game is used. If that can-
not be found then the callsign is
the value of the BZFLAGID environ-
ment variable. If BZFLAGID is empty
or undefined then bzflag will prompt
for a callsign when joining a game.
Controls
Tanks are controlled by moving the mouse within the
large yellow box in the main view. When the mouse
is inside the small yellow box, the tank is motion-
less. The large box is the limit of the tank's
speed.
Shots are fired by pressing the left mouse button. The
type of shot fired depends on what flag the tank has.
Normal shots last about 3.5 seconds. Reloading also takes
3.5 seconds for normal shots.
Pressing the middle mouse button drops a flag. Nothing
will happen if the tank has no flag or is not allowed to
drop the flag for some reason (e.g. it's a bad flag).
Flags are picked up by driving over them. A dropped flag
gets tossed straight up; it falls to the ground in about
3 seconds.
Pressing the right mouse button identifies the closest
player centered in the view. If your tank has the guided
missile super-flag, this will also lock the missile on
target. However, the target must be carefully centered
for the missile to lock.
When the server allows jumping or if the tank has the
jumping flag, the Tab key jumps. Tanks can jump onto
buildings, however there is no way to shoot downward (or
upward) with a regular shot. The guided missile and the
shock wave are two ways of destroying a tank on or from a
building.
The current radar range can be changed by pressing the 1,
2, or 3 keys above the alphabetic keys for low, medium,
and long range, respectively. The f key toggles the flag
help display, which describes the flag in the tank's pos-
session. Displaying help does not pause the game.
The Pause key pauses and resumes play. When paused, the
tank cannot be destroyed nor can it's shots destroy other
players. The reload countdown is suspended and the radar
and view are blanked when paused. A paused tank has a
transparent black sphere surrounding it. Since a paused
tank is invulnerable a player could cheat by pausing just
before being destroyed, so there's a brief delay before
the pause takes effect. This delay is long enough to make
pausing effectively useless for cheating. Pressing Pause
before the pause takes effect cancels the pause request.
The Delete key initiates a self destruct sequence. You
will see a countdown that can be stopped by pressing
Delete once more. Otherwise, you tank will self destruct.
This can be useful if your tank gets stuck and there is no
other tank around to shoot you.
The list of players and scores is displayed when your tank
is paused or dead. Pressing the s key toggles the score
display when alive and not paused.
The b key toggles binoculars, which gives a close up view
of distant objects. The The 9 key toggles Otto, the auto-
matic pilot, on and off. t key toggles the frame rate
display and the y key toggle the frame time display. The
time of day can be changed with the plus and minus keys,
which advance and reverse the time by 5 minutes, respec-
tively. The time of day in the game is initialized to the
system's clock. In addition, the latitude and longitude
are used to calculate the positions of celestial objects.
The Esc key shows the game menu. Use the Enter and arrow
keys to navigate the menu and the Esc key to return to the
previous menu or hide the main menu. The menus allow you
to start a new server, join a game, leave a game and enter
another, change the rendering options, change the display
resolution, change the sound volume, remap the meanings of
keys, browse online help, and quit the game.
The display resolution is not always available for chang-
ing. If it is, use the t key to test a selected resolu-
tion; it will be loaded for a few seconds and then the
previous resolution restored. Press the Enter key to per-
manently select a new resolution. When you quit the game,
the resolution is restored to what it was before the game
started.
Options are recorded between game sessions in the .bzflag
file (or .bzflag.$(HOST) if the HOST environment variable
is defined) in the user's home directory. This file has a
simple name/value pair format. This file is completely
rewritten by the game after each session.
You can send typed messages to other players by pressing
the m or n keys. The m key will send a message to your
teammates only. Rogue players cannot send these messages.
The n key will send a message to all the other players.
After pressing the key, just type your message and press
enter or Control-D. To cancel a message, you can enter a
blank message or press Delete, Escape, or Control-C. Be
careful with the Escape key; pressing Escape once will
cancel the message, pressing it again will show the main
menu. Backspace will delete the most recently typed char-
acter. The Tab key doesn't add a tab to the message but
instead causes the tank to jump (as usual). You can also
send a direct message to a single player by pressing the ,
or . keys. The , key will send your message to your
'nemesis', i.e. the last player who killed you or was
killed by you. The . key will send a private message to
another player. You can choose the recipient by using the
left and right arrow keys. o toggles the quick-admin
interface. Use the arrow keys to select a command, then
fill in the necessary parameters
Scoring
An individual's score is the difference between that
player's wins and losses. A win is scored for each enemy
tank destroyed. A loss is scored for each teammate
destroyed and for each time the player is destroyed. The
score sheet displays each player's score and the number of
wins and losses.
A team's score is calculated differently depending on the
game style. In the capture-the-flag style, the team score
is the number of enemy flags captured minus the number of
times the team's flag was captured. Capturing your own
flag (by taking it onto an enemy base) counts as a loss.
In the free-for-all style, the team score is sum of the
wins of all the players on the team minus the sum of the
losses of all the players on the team. In the rabbit-hunt
style, scoring is similar to free-for-all.
The score sheet also lists the number times you have
destroyed or been destroyed by each other player under the
Kills heading. This lets you compare your one-on-one per-
formance against other players.
Teleporters
The server can be configured to place teleporters in the
game. A teleporter is a tall black transparent object
that instantaneously moves any object (tanks and shots)
passing through it to some other teleporter. The tele-
porter connections are fixed for the entire game. In the
capture-the-flag style the connections are always the
same. In the free-for-all style the connections are ran-
dom and reversable (going back through where you come out
puts you back where you started).
Each side of a teleporter teleports independently of the
other side. However, it's possible for each side to go to
the other. This is a thru-teleporter and it's almost as
if it weren't there. It's also possible for a side to
teleport to itself. This is a reverse-teleporter. Shoot-
ing at a reverse teleporter is likely to be self-destruc-
tive. Shooting a laser at a reverse teleporter is invari-
ably fatal.
Radar
The radar is displayed on the left side of the control
panel. It provides a satellite view of the game. Build-
ings and the outer wall are light blue. Team bases are
outlined squares in the team colors. Teleporters are
short yellow lines. Tanks are dots the in the tank's team
color, except for rogues which are yellow. The size of a
tank's dot is a rough indication of the tank's altitude:
higher tanks have larger dots. Flags are small crosses.
Team flags have the team color while super-flags are
white. Shots are small white dots (except laser beams
which are line segments and shock waves which are cir-
cles).
The tank always appears in the center of the radar and the
radar display rotates with the tank so that forward is
always up. There's a small tick mark indicating forward.
The left and right extremes of the current view are repre-
sented by a yellow V who's tip is at the center of the
radar. North is indicated by the letter N.
Heads Up Display
The heads-up-display, or HUD, has several displays.
First, there are two boxes in the center of the view. As
explained above, these delimit the ranges for the mouse.
These boxes are yellow when you have no flag. Otherwise
they take the color of the flag you're holding (white for
superflags).
Above the larger box is a heading tape showing your cur-
rent heading. North is 0, east is 90, etc. If jumping is
allowed, an altitude tape appears to the right of the
larger box.
Small colored diamonds or arrows may appear on the heading
tape. An arrow pointing left means that a particular flag
is to your left, an arrow pointing right means that the
flag is to your right, and a diamond indicates the heading
to the flag by its position on the heading tape. In cap-
ture-the-flag mode a marker in your team's color is always
present, showing you the direction to your team's flag. A
yellow marker shows the way to the antidote flag (when you
have a bad flag and antidote flags are enabled).
At the top of the HUD are several text readouts. At the
very top on the left is your callsign and score, in your
team's color. At the very top on the right is the name of
the flag you're holding (or nothing if you have no flag).
In the center at the top is your current status: ready,
dead, sealed, zoned, or reloading. If you have a bad flag
and shaking time is enabled and your status is ready, the
status displays how much time is left before the bad flag
is shaken. When reloading, the time until you're reloaded
is displayed. A tank is sealed when it has the oscilla-
tion overthruster flag and any part of the tank is inside
a building. A tank is zoned when it has the phantom zone
flag and has passed through a teleporter. When there's a
time limit on the game, the time left in the game is dis-
played to the left of the status.
Flags
Team flags are supplied by the server in the capture-the-
flag style game. While at least one player is on a team,
that team's flag is in the game. When captured, the flag
is returned to the team's base. If the flag is dropped in
a Bad Place, it is moved to a safety position. Bad Places
are: on top of a building or on an enemy team base. The
flag can be dropped on a team base only by a player from a
third team; for example, when a blue player drops the red
flag on the green base.
A team flag is captured when a tank takes an enemy flag
onto its base or when a tank takes its flag onto an enemy
base (even if there's no one playing on that team). You
must be on the ground to capture a flag.
The server can be configured to supply a fixed or random
set of super-flags. These flags are white and come in
many flavors. However, you cannot tell what a super-flag
is until it's picked up. There are two broad categories
of super-flags: good and bad. Good super-flags may be
dropped and will remain for up to 4 possessions. Bad
super-flags are sticky -- in general, they cannot be
dropped. The server may provide a yellow antidote flag.
Driving over it will release the bad flag. The server may
also allow a timeout and/or a number of wins to shake the
flag. Scoring the required number of wins, surviving the
required amount of time or being destroyed will automati-
cally drop the flag. Bad flags disappear after the first
possession.
Here is a brief description of each good superflag with
the flag's code in parentheses:
High Speed (V) Boosts top speed by 50%.
Quick Turn (A) Boosts turn rate by 50%.
Oscillation Overthruster (OO)
Let's the tank go through buildings.
You cannot back up in or into a
building, nor can you shoot while
inside.
Rapid Fire (F) Increases shot speed and decreases
range and reload delay.
Machine Gun (MG)
Increases shot speed and dramati-
cally decreases range and reload
delay.
Guided Missile (GM)
Shots guide themselves when locked
on. The missile can be retargeted
at any time during its flight (with
the right mouse button). This
allows the player some control over
the missile's steering.
Laser (L) Shoots a laser, with effectively
infinite speed and range. Just
point and shoot. The binoculars are
handy for lining up distant targets.
The downside (you knew it was com-
ing) is that the reload time is dou-
bled.
Ricochet (R) Shots reflect off walls. It is
exceptionally easy to kill yourself
with this flag.
Super Bullet (SB)
Shots can go through buildings (pos-
sibly destroying a tank with the
oscillation overthruster flag) and
can also destroy (phantom) zoned
tanks.
Stealth (ST) Tank becomes invisible on radar but
is still visible out-the-window.
Cloaking (CL) Tank becomes invisible out-the-win-
dow but is still visible on radar.
Invisible Bullet (IB)
Shots are invisible on radar (except
your own). They are visible out-
the-window. Sort of stealth for
shots.
Tiny (T) Tank becomes much smaller and harder
to hit.
Narrow (N) Tank becomes paper thin. It's very
hard (but not impossible) to hit a
narrow tank from the front or back.
However, the tank is as long as
usual so hitting it from the side
has normal difficulty.
Shield (SH) Getting shot while in possession of
this flag simply drops the flag
(instead of destroying the tank).
Since the flag may not disappear you
may want to wait around for it to
fall to the ground so you can grab
it again, but, be warned, the shield
flag flies for an extra long time
(longer than the normal reload
time).
Steamroller (SR)
Tank can destroy other tanks by
driving over them (but you must get
quite close).
Shock Wave (SW)
Tank doesn't fire shells. Instead
it sends out a shock wave in all
directions. Any tank caught in the
wave is destroyed (including tanks
on or in buildings).
Phantom Zone (PZ)
Driving through a teleporter phantom
zones the tank. A zoned tank cannot
shoot, but can drive through build-
ings and cannot be destroyed except
by a Super Bullet or a Shock Wave
(or if the team's flag is captured).
Genocide (G) Destroying any tank on a team
destroys every player on that team.
Jumping (JP) Allows the tank to jump. You cannot
steer while in the air.
Identify (ID) Displays the identity of the closest
flag in the vicinity.
Masquerade (MQ)
You tank looks like a teammate when
viewed out of the window. Bullets,
radar and targeting reveal your true
identity.
Burrow {BU} You tank burrows into the ground up
to your muzzle, making you impervi-
ous to normal shots, as they sail
above you. However your tank con-
trols are sluggish, and anyone, no
matter what flag they have, can
crush you like.
Seer (SE) See Stealthed, Cloaked and Masquer-
aded tanks as normal.
Thief (TH) Tank is small and fast, when you
shoot an opponent, he is not killed,
but instead, you steal his flag.
Useless (US) It's useless!
A brief description of each bad superflag with the flag's
code in parentheses:
Colorblindness (CB)
Prevents tank from seeing any team
information about other tanks. You
have to be careful to avoid shooting
teammates.
Obesity (O) The tank becomes very large and easy
to hit. It's so big that it can't
fit through teleporters.
Left Turn Only (<-)
Prevents the tank from turning
right.
Right Turn Only (->)
Prevents the tank from turning left.
Momentum (M) Gives the tank a lot of inertia.
Blindness (B) Blanks the out-the-window view. The
radar still works. It is effec-
tively impossible to detect any tank
with Stealth; shooting a Stealth
with Blindness is the stuff legends
are made of.
Jamming (JM) Disables the radar but you can still
see.
Wide Angle (WA)
Gives the tank a fish eye lens
that's rather disorienting.
Observing
If a server is full or if you just want to watch a battle
without interfering in it, you can use the observer mode.
To join a server as an observer, select Observer as your
tank's team. The maximum number of observers can be
restricted by the server admin, so you might still not be
able to join a full server.
When in observer mode, you can freely roam the world.
Using the arrow keys you can rotate the camera in every
direction. Holding shift and using the arrow keys moves
the camera left, right, forward or back. Pressing the up
or down arrow while holding the the ALT key will change
the camera's altitude. The F9 and F10 keys change the cam-
era's focal lengths, giving a zoom effect. The F11 key
will reset the zoom. Pressing l lets you toggle the dis-
play of tank labels.
Repeatedly pressing F8 cycles through different roaming
modes: free, tracking, following, first person (driving
with) and tracking team flag. In tracking mode, the cam-
era will automatically look at a tank. You can cycle
through available tanks with the F6 and F7 keys. In follow
mode, the camera is positioned right behind the targeted
tank, whereas you actually look from within the tank when
using first person mode. The last mode, track team flag is
only available in capture-the-flag games and will track
the team flags. Again, use F6 and F7 to choose which flag
to track. One special option that can be used with follow,
tracking, and first person modes is that you can choose to
do it with the winning tank. This is selected by cycling
through the tanks until you see the winner option. In this
mode, you will always be engaged with whomever has the
best score (and is alive). The default is drive with win-
ner mode.
User Commands
The following commands can be executed by sending a
message to all and using these strings as the mes-
sage
CLIENTQUERY Requests that all users send you
there version information
SILENCE playerName
Does not display any message coming
from player with playerName name
UNSILENCE playerName
Reshow messages coming from player
with playerName name
FILES
$(HOME)/.bzflag
Stores options between game ses-
sions. Used when HOST is not
defined.
$(HOME)/.bzflag.$(HOST)
Stores options between game ses-
sions. Used when HOST is defined.
SEE ALSObzfls(6), bzfs(6)bzflag(6)