bz(6D)
bz - a tank game
As shipped in IRIX 6.5.5. Unchanged since IRIX 6.5.
NAME bz - a tank game SYNOPSIS bz [ -n player_name ] [ -i infile ] [ -o outfile ] [ -T ttl ] [ -red | -blue | -pick ] [ -noflag ] [ -public | -private key ] [ -logo logofile ] [ -vo ] [ -fast ] bz -solo [ -kids ] [ -practice level ] [ -n player_name ] [ -logo logofile ] DESCRIPTION Bz is a tank game allowing users to play against several players in a networked environment or against the computer in a solitaire mode. The view displays the cockpit and a view of the outside world. The world is made up of a playing field that contains several obstacles and a force- field boundary. In multi-player mode, four types of tanks are currently available. You can select a tank upon startup and whenever you are killed. Each tank has a different point value associated with it. You are awarded the point value of a tank when you destroy it. The point value of your tank is deducted from your score when you are destroyed. The following tank types are available: Regular Tank (50 points) has mediocre maneuverability but the most maneuverable guided missile. Super Tank (75 points) has a higher top speed and turning rate than that of the regular tank. Stealth Tank (100 points) has the same performance characteristics of the regular tank, but does not show up on the radar and has a less maneuverable guided missile. Runner Tank (125 points) has the highest maneuverability but does not have guided missiles. In solitaire mode, you are automatically assigned to a super tank. The computer will randomly select either a regular tank, a super tank, or a runner tank (no stealth tanks, yet). The probability for the computer choosing a higher capability tank increases as the game progresses. OPTIONS -blue Join the blue team. -fast Run in fast mode. All tanks and missiles will be sped up by a factor of 6. You will only be able to play with other players who specify the -fast option. -i input_file Specifies that packets will come from a file instead of from the network. -kids In solitaire mode, make the game much easier (suitable for small children). Robot tanks will wait longer to fire and have no mines. Your tank will be a runner tank with guided missiles. Robot tanks are only worth a fifth of their normal value. -logo logo_file Specifies a logo file to use as your tank's logo. Other players will see this logo on the side of your tank. -n player_name Sets your playing name. The default name is your login name. Your playing name can also be set with the BZ_ID environment variable (name length is currently 11 characters). -noflag Prevent team flags from appearing in the game. Note that this will only allow you to play with other players who have also specified the noflag option. This also lessens the restrictions on allowing players in the game. -o output_file Specifies that packets will be written to a file instead of broadcast to the network. -pick Join whichever team has the least number of players. Initially, you will be assigned to the neutral (green) team. After being destroyed the first time, you will be assigned to the understaffed team. If the teams are equal, you will be assigned to a team randomly. -practice level Run at the specified difficulty level (in solitaire mode). You are given an unlimited number of lives. The game will not advance to harder levels, and your score will not be considered for saving in the top score file. -private key Restrict the game to only players who specify the same key with the private option. Private keys are not displayed by the monitoring program, bzwho(6D). The use of this option allows multiple, private games to be played on the same network without interference. -public key Restrict the game to only players who specify the same key with the public option. Public keys are displayed by the monitoring program, bzwho(6D), and thus can be accessed by anyone. The use of this option allows multiple games to be played on the same network without interference. -red Join the red team. -solo Play the against the computer. -T ttl Specifies the maximum number of times the multicast packets can be forwarded between networks. See the TCP/IP User's Guide for details on setting up multicast routing. -vo Run view-only mode. No other players will know of your presence. You will not be able to fire missiles, drop mines, capture flags, or send mail. You will be able to move about at a greater rate of speed than the other players. You will also be able to assume the view of any other player as discussed below. CONTROLS Tanks are steered by moving the mouse within the yellow circle super- imposed on the main view. Moving the mouse outside the circle does not increase the speed. The speed of the left and right tracks are shown in the cockpit display with green and red representing forward and backward velocity, respectively. Tanks can be destroyed by either a missile or by running over a mine. Missiles are fired with the left mouse button and travel in a straight line. They have a life of about 10 seconds, which is also the amount of time it takes to reload a new missile (you have an unlimited supply). A guided missile is fired by hitting the middle mouse button. The sky background will turn red to indicate that you are in guided missile mode. The missile is steered by left and right mouse movement. While guiding the missile, your tank ceases to move and is therefore especially vulnerable to attack. You may abort control of the missile to regain control of your tank by hitting the middle mouse button again. Guided missiles are not available in the solitaire version of the game. Regular missiles travel faster than guided missiles (but have the same range). It also takes less time to reload after firing a regular missile than it does to reload after firing a guided missile. There are also two types of mines: regular and permanent. A regular mine is dropped by hitting the d key. No one will be able to see the mine but you (on your radar). The mine can be remotely detonated with the x key. The mine is also detonated when your tank is destroyed. Either type of forced detonation results in a larger kill radius for the mine. The mine shows up on your radar as two concentric yellow circles. The smaller circle represents the passive kill radius. The large circle represents the kill radius when the mine is remotely detonated. Note that the center of an enemy's tank must be within the appropriate circle before the tank is destroyed. A permanent mine can be dropped by hitting the D key. It can not be remotely destroyed and remains in place even if your tank is destroyed. A common strategy is to place a permanent mine near the center of the playing field, next to one of the obstacles. Since a permanent mine can not be remotely destroyed and therefore has only one kill radius, only one circle is displayed about the mine's location on the radar screen. Both regular and permanent mines can be picked up by running your tank over the mine (your mine will not be detonated by your tank) and hitting the p key. An enemy tank can be identified by centering the small cross in the center of the screen on the tank and pressing the right mouse button. A player can toggle a online help display by hitting the h key. Similarly, the s key is used to toggle a summary of the scores. On machines equipped with audio boards, the S key is used to toggle the sound effects. The up- and down-arrows are used to control the volume. A brief text message can be sent to other players in multi-player mode by hitting either the m or t key, typing in the message, and hitting enter. If you are a member of the red or blue team, using the t key will limit distribution of your message to your team. The color of the input text serves as a indicator of who will see the message when it is sent. (Red for red team only, blue for blue team only, and green for everyone.) Up to five messages can be specified with resources (described below). Hitting the keys 1 through 5 will recall the corresponding message for broadcast to all. Hitting the shifted keys 1 through 5 will recall the message for broadcast to your team. The string will be recalled into the message buffer where additional text can be added. Hit the enter key to send the message. Strings ending in the '&' character will automatically be sent. The a and z keys can be used to zoom and unzoom the radar view, respectively. The l key toggles the display of logos. The b key toggles on a magnified ("binocular") view of the main screen. This is useful for looking at logos of distant tanks. Press the escape key to exit. CHANGING TANKS In multi-player mode, a new tank type can be selected after your current tank has been destroyed. Press the c key followed by the number of the tank type you wish to use. TEAM PLAY (MULTI-PLAYER MODE ONLY) By default, you will be assigned to the green (neutral) team. You may decide to join either the red or blue team whenever you are destroyed. Optionally, you may specify a team to join at startup with the command line options, -red, -blue, or -pick. As a member of either team, you gain points for destroying other tank not on your team and lose points for destroying tanks on your team. Also, mines have no effect on your team members (for red or blue teams only; neutral mines can destroy anyone without penalty). If you specified a logo to use, it will be shown on the control panel in the color of your team. If you did not specifiy a logo, a small square will be displayed instead with the appropriate color. Once at least one member of each team (red and blue) have appeared, team flags will appear in opposing corners. Initially, the flags are centered in the corresponding team's "base", indicated by a square outline of the appropriate color. When a team captures the opposing team's flag and drops it in their own home base, their team is awarded 500 points, the opposing team is penalized 500 points, the tank making the capture is awarded a personal bonus of 200 points minus the value of his tank, and both flags are reset to their respective bases. If a tank is destroyed while carrying a flag, the flag's team is awarded 500 points. The f key is used to pick up the opposing team's flag when it your tank is directly beneath it. The c key can be used to drop the flag. Note that you can only pick up the opposing team's flag. You can not pick up your own. Therefore, the only way to return your flag back to your home base is by destroying an enemy tank while it has your flag, by letting the other team capture your flag, or by capturing the other team's flag. Neutral team members can not pick up flags. Neutral team members can choose to join either the red or blue team after being destroyed. VIEW-ONLY MODE While in view-only mode, you can either view the playing field from within your own imaginary tank or from within another player's tank. Use the c key to toggle between the normal and co-pilot view. When in the co-pilot viewing mode, use the n key to move to the next tank. SOLITAIRE MODE You are given three super tanks to begin with and are awarded one new tank for every 1000 points you score (500 points in kids mode). The game is over whenever your last tank is destroyed. The game can be paused at any time by hitting the P key. Hitting the P key again resumes play. The computer-controlled tanks will randomly select a logo from any logo files located in the /usr/demos/General_Demos/bz/data directory. An alternate directory of logo files can be specified by setting the BZ_LOGO_DIR environment variable to the location of the alternate files. The top ten scores are maintained in /usr/tmp/bz.top by default. An alternate directory can be specified by setting the BZ_SCORE_DIR environment variable. The scores will be maintained in the file bz.top in the specified directory. SOUND Bz will play sound effects on those machines capable of Indigo-quality sound (currently the Indigo and the 4D/3x with the audio option). Alternate sounds can be substituted by setting the BZ_AUDIO_DIR environment variable to a path which contains the following sound files. Each file should be an AIFF file with two channels, 16 bit wide data, and 16 KHz sound samples. center box ; a | a . bump.aiff collision sound effect explosion.aiff explosion sound effect fire.aiff cannon sound effect flag_grabbed.aiff other team grabbed your flag sound effect flag_lost.aiff other team captured your flag sound effect flag_won.aiff your team captured other flag sound effect mine_drop.aiff mine drop sound effect mine_pick_up.aiff mine retrieval sound effect pop.aiff tank placement sound effect pause.aiff pause reminder sound RESOURCES A small number of resources are available for modifying some of the default values. The application class name is Bz. cursorForegound (class Foreground) Sets the cursor foreground color. The default value is yellow. cursorBackgound (class Background) Sets the cursor background color (on machines so equipped). The default value is black. cursor (class Cursor) Sets the cursor shape. The default cursor is a diamond_cross. audio (class Boolean) Sets whether or not sound effects are enabled on start up. The default value is true. volume (class Integer) Sets the initial volume setting. Valid values are 0 (no sound) to 10 (maximum volume). Values outside this range are ignored. The default value is -1, which does not modify the initial setting. mvRGBmode (class Boolean) Determines whether or not the main view is displayed in RGB mode (the default) or colormap mode. showMan (class Boolean) Specifies whether or not the humanoid figure is displayed during the tank explosion. The default value is true except when the kids option is specified, when it is always false. ttl (class Int) Specifies the maximum number of times the multicast packets can be forwarded between networks. identifier (class String) Sets your player name. logoFile (class String) Specifies a logo file to use. No file is the default. useTextures (class Boolean) For VGX and VGXT machines, this flag determines whether or not textures are used on obstacles. The default is true. message1 (class String) Specifies the message to be loaded into the mail buffer whenever the 1 or shift-1 keys are hit. A string ending in '&' causes the message to be broadcast immediately without waiting for additional text. message2 (class String) Specifies the message to be loaded into the mail buffer whenever the 2 or shift-2 keys are hit. message3 (class String) Specifies the message to be loaded into the mail buffer whenever the 3 or shift-3 keys are hit. message4 (class String) Specifies the message to be loaded into the mail buffer whenever the 4 or shift-4 keys are hit. message5 (class String) Specifies the message to be loaded into the mail buffer whenever the 5 or shift-5 keys are hit. PLAYING ACROSS NETWORKS If the workstations on your network are set up to route multicast packets, it is possible to play bz across networks. However, it is also possible to create situations where not all players can see each other. Bz tries to be intelligent about this and periodically checks to make sure all players in your game can see each other. If, after a certain time period, a player does not see the same players you do, he will be invalidated and dropped from your game. This is most likely due to the fact that the multicast packets are not being routed uniformly between the networks. See the man pages for mrouted(1M) and traceroute(1M) and the TCP/IP User's Guide for details on how to route packets between the two networks. Also, if you fail to hear from a player after a certain period, he will be dropped. If packets resume arriving from that player, he will be added back to the game. A player can be dropped at most three times before being invalidated. A list of invalidated and dropped hosts will be printed to /usr/tmp/bz.log upon exit of the game. NOTES Bz requires IRIX 4.0.1 or greater. BUGS A tank is treated as a rectangle when checking for missile hits, sacrificing speed for 100% accuracy. Since z-buffering is not used, it is possible to see some strange effects occasionally. Specifically, when a tank blows up, some pieces may appear within nearby obstacles or other tanks. SEE ALSO bzwho(6D), mrouted(1M). FILES /usr/demos/General_Demos/bz/data/*.aiff, audio files. /usr/demos/General_Demos/bz/data/*.bzl, logo files. /usr/tmp/bz.top, top score list. AUTHOR Chris Fouts, Silicon Graphics.