WARP(6) UNIX Programmer's Manual WARP(6) NAME warp - a real-time space war game SYNOPSIS warp [options] DESCRIPTION _W_a_r_p is a real-time space war game that requires skill and quick thinking. "Real-time" in this context means that the enemies keep moving (and shooting) even if you don't. A unique feature of _w_a_r_p is that blast propagates; it is unhealthy to remain near things that are in the process of blowing up. If a given universe is above a critical density it may chain react. Scoring is like many popular arcade games--there are multiple waves which get harder and harder as you go along. Nobody has ever maxed out the scoreboard without cheating. Unlike many space-war games, _w_a_r_p is not simply a shooting gallery. Along with phasers and photon torpedoes, you have tractor beams and a cloaking device. Skill in navigation is important. It helps to be schizophrenic, because you must manage an Enterprise and a Base simultaneously. And enemies do not simply shoot back. You can get tailed, absorbed, snuck up upon, hemmed in, rammed, loved to death, repri- manded for destroying civilized life, dragged around, robbed, damaged and eaten. And if you should happen to get bored by the enemies (a trifle unlikely), you can always watch the interesting star patterns. In fact, you'll have to, since your tactics will depend upon what kind of universe you find yourself in. _W_a_r_p is played in a double wraparound universe, i.e. the bottom is connected to the top, and the right is connected to the left. You need a crt with random cursor addressing and at least 24 lines by 80 columns. For more information about about how to play, simply run _w_a_r_p and say "y" when it asks if you want to see the instructions. There is also a single-page command summary that you can get while playing by typing a "?". Command line options include: -b Put _w_a_r_p into beginner mode. Makes the difficulty increase more slowly, but penalizes you for it. -d Sets the initial difficulty to n. -l Play a low-speed game. Changes the basic cycle time from 1 second to 2 seconds. This switch is automati- cally set at baud rates below 2400. You may want to Printed 11/26/99 1 WARP(6) UNIX Programmer's Manual WARP(6) set it at higher speeds if your terminal cannot keep up with the output. (This should never happen on BSD sys- tems, which have an IOCTL call to determine output queue length.) Because this makes the game easier, a separate scoreboard is kept for low-speed games. -m Terminal has a meta key which turns on the eighth bit. Ordinarily the eighth bit is stripped in order to ignore parity. Metacharacters will appear to the key- map as prefixed with a ^A, and will subsequently have the same effect as a control character, unless other- wise mapped. -s Just prints out the scoreboards and saved games and then exits. -v Prints out the version number. -x Play an experimental game. This causes _w_a_r_p to ignore any saved game, and disables the ability to save the current game. Thus you can play around with something or show _w_a_r_p to someone without jeopardizing a currently saved game. ENVIRONMENT WARPMACRO If defined, names a file containing keyboard mappings and macros. If not defined, the value %X/Kbmap.%{TERM} is assumed. The macro file contains lines of the fol- lowing form: You may use certain % interpolations and ^ con- trol characters. For possible % interpolations see warp.h. Sequences in the canonical-keystroke-sequence bounded by ^(...^) are subject to reinterpretation via the keymap. This file has two major uses. First, you can set up your commands to use any kind of prefix key your terminal might have, or change the key bindings in any other way you choose. Second, you can define arbi- trary macros, such as this: # define Corbamite maneuver = DDllllll AUTHOR Larry Wall FILES ~/.fullname, if full names aren't in /etc/passwd Printed 11/26/99 2 WARP(6) UNIX Programmer's Manual WARP(6) DIAGNOSTICS Generally self-documenting, as they say. BUGS Addicting. At the end of a wave, all you have to do to keep going is hit a space. You see the message "Hit space to continue" and automatically hit space. About 2 seconds later you remember you wanted to go home, but by then it's too late to escape without penalty. You can't kill a backgrounded _w_a_r_p process directly, because it is running setuid. You have to use the killer built in to _w_a_r_p. Now that there is a space amoeba, there ought to be trib- bles. But it might be too much trouble... Printed 11/26/99 3