XEvil(6)

NAME
XEvil - a fast-action explicitly violent game for X

SYNOPSIS
xevil [-display display_name | -d display_name ] [-display<x> display_name | -d<x> display_name ] [-duel] [-extended] [-h | -help] [-humans number ] [-info] [-kill] [-keys alpha | decmips | iris | mac | ncd | rsaix | sun3 | sun4 | sun4_sparc | tektronix] [-levels] [-machines number ] [-map] [-pc] [-regenerate_machines] [-rooms ACROSSxDOWN ] [-speed time-in-ms ] [-training]

DESCRIPTION
Death, kill, maim. XEvil is a side-view, fast-action, kill everything type of game. Play is against other human or computer players. XEvil may be played on one or multiple X displays. Controls are keyboard or mouse. However, if you play with the mouse you'll get your ass kicked.

COMMAND LINE OPTIONS
XEvil accepts the following options:

-display display_name  | -d display_name
    Set all X displays to be display_name. See X(1) for details on X displays.

-display<x> display_name  | -d<x> display_name
    Sets the display for player x to be display_name. 0 <= x < 6. This option may be used multiple times to specify the displays for all players. E.g. "xevil -d0 joe.mit.edu:0 -d1 bob.mit.edu:0 -d2 fred.mit.edu:0" Any unspecified displays default to the display of the local machine.

-duel
    Set the game style to a human vs. human duel.

-extended
    Set the game style to a human vs. human extended duel.

-h | -help
    Print usage summary.

-humans number
    Set the number of human players. Default is 1.

-info
    Print information about the absence of warranty for XEvil.

-kill
    Set the game style to "Kill,Kill,Kill".

-keys keyset
    Specify the mapping between the keyboard and the controls for players. Default is decmips. The possible values for keyset are: alpha, decmips, iris, mac, ncd, rsaix, sun3, sun4, sun4_sparc, tektronix. NOTE: You can also use X Resources and the "Set Controls" button to specify the keyboard controls.

-levels
    Set the game style to "Levels".

-machines number
    Set the number of machines players. Default is 3.

-map
    Give a rough map of the world at the beginning of each game.

-pc
    Run XEvil in politically correct mode. Disables some of the more "offensive" aspects of XEvil. Useful for showing XEvil to lame-ass wussies who are easily offended.

-regenerate_machines
    New machine players are created while the game is running.

-rooms ACROSSxDOWN
    Specify the size of the XEvil world in number of rooms. Default is 4x2.

-speed time-in-ms
    The number of milliseconds between each turn of the game. Default is 40.

-scenarios
    Set the game style to "Scenarios".

-training
    Play XEvil with the game style set to "Training".

KEYBOARD CONTROLS
Each player has 15 control keys. There is a separate set of controls for the left and right sides of the keyboard. THE POINTER MUST BE IN ONE OF THE PLAYING FIELDS FOR THE KEYBOARD CONTROLS TO WORK.

9 keys for movement:
    right (move right), left (move left), up (jump up/climb up), down (duck/climb down), up_right (jump right), up_left (jump left), down_right (crawl right), down_left (crawl left), center (stop). Tap the key to move in the specified direction. Holding down a key is not as effective as tapping it rapidly.

3 keys for weapons:
    weapon_use (fire/hand-to-hand attack), weapon_change, weapon_drop. Hold down weapon_use and press a movement key to fire a weapon in a direction or to perform a hand-to-hand attack if weapon is "none".

3 keys for items:
    item_use, item_change, item_drop. The actual mapping of these functions to the keyboard can be specified with the -keys command line option, with X resources, or with the "Set Controls" button. If the -keys option is used to specify a specific machine, the default controls for that machine's keyboard are used. The -keys option overrides any keys set through X resources. Keys set through the "Set Controls" button override both the X resources and the -keys command line option. (See X RESOURCES below.)

GAME STYLES
There are six different styles of play in XEvil, "Levels", "Scenarios", "Kill,Kill,Kill", "Duel", "Extended Duel", and "Training". In "Levels", one or more human players work cooperatively to fight through increasing levels of difficulty. After killing all the machine players on one level, you advance to the next. In "Scenarios" you play through a number of different scenarios, each with a different goal to be achieved. Look in the lower right corner of the screen to see what your current goal is. In "Kill,Kill,Kill", it is every man/woman/machine for him/her/itself. Whatever survives is the victor. Use "Duel" or "Extended Duel" for battles among human players. In "Duel", each human gets 3 lives and the game is over when only one remains. An "Extended Duel" game never ends, you just keep track who has the most kills. The "Training" game style exists to give novice players a chance to learn the controls.

MULTIPLE DISPLAYS
XEvil can be played across the net by opening multiple X displays. One player runs XEvil on his machine and remotely opens windows on the machines of the other players. Up to two players can share a single display. One player uses the right side of the keyboard, while the other uses the left. The assignment of players to displays is specified at startup time with command line arguments. Use the -display<x> option to specifiy the display for player x. Remember to use xhost(1X) on all remote machines to allow access to the machine running XEvil. And, remember to add ":0" (or whatever screen number is appropriate) to the machine name for the -display<x> option.
Example: Running a game of XEvil for users on the machines bob.mit.edu, joe.mit.edu, and dave.mit.edu.
On joe.mit.edu: xhost + bob.mit.edu On dave.mit.edu: xhost + bob.mit.edu On bob.mit.edu: xevil -display1 joe.mit.edu:0 -display2 dave.mit.edu:0

SCREEN LAYOUT
The XEvil window is divided into four parts. At the top of the window is a menu with buttons for a variety of options. Under this is the playing field where all the action takes place. To the right are a number of status fields which give information about your character and the game in general while the game is running. At the bottom is a message bar which gives miscellaneous information.

MENU BAR BUTTONS
Most of the following options will not take effect until you start a new game.

New Game
    Start a new game. Abort the current game if one is in progress.

Humans
    Set the number of humans playing in the next game. There will be a separate window for each human player. If you set the number of humans to 0 you can scroll around with player 0's movement keys and watch the machine players kill each other. If the game style is "Training", this value is ignored.

Machines
    Set the number of machines players for the next game. Only meaninful if the game style is "Kill,Kill,Kill", "Duel", or "Extended Duel".

Regenerate Machines
    New machine players are created while the game is running. You generally cannot win if this option is set. Try to see how many kills you can make before you die. The total number of machine players will never exceed that specified by the Machines option. Only meaningful if the game style is "Kill,Kill,Kill", "Duel", or "Extended Duel".

Set Controls
    While XEvil is running, you can specify the keyboard controls by clicking "Set Controls". A window will appear and you will be prompted for the key for each action. You must press the desired key with the cursor in the "Set Controls" window. Note that these changes take place immediately. So, if you just want to set the controls for player 0, you can do so without bothering to set the controls for player 1. Controls set here are not saved. If you want to set controls to work over multiple sessions of XEvil, set them with X resources. (See KEYBOARD CONTROLS and X RESOURCES.)

Show Controls
    Toggle to display a window showing all the current keyboard controls. (See KEYBOARD CONTROLS and X RESOURCES.)

Game style
    Set the style of play for the next game. See GAME STYLES above.

Speed
    The number of milliseconds between each turn of the game. I.e. smaller values make the game go faster. 0 will make XEvil run as fast as possible on the underlying hardware.

STATUS FIELDS

Name
    The name of your character's intelligence. This stays constant over the course of a game even when you are soul-swapped or brought back from the dead.

Class
    The class of your character's physical body. E.g. ninja, hero, enforcer. This may change if your intelligence is put in a different body.

Health
    When your health goes negative, you are dead.

Mass
    Lighter objects get pushed around more.

Weapon
    Displays your current weapon. Hit weapon_use or weapon_drop to use or drop it, respectively. You can hold more than one weapon, but only the current one will be shown. Use weapon_change to cycle through all your weapons. The lettering will be green if the weapon is ready to be used or red if the weapon is recharging. If your character is able to perform hand-to-hand combat, set Weapon to "none" to fight hand-to-hand.

Item
    Displays your current item. Press item_use or item_drop to use or drop it, respectively. Press item_change to cycle through all your items.

Extra lives / Humans killed
    Extra lives: If you have a positive number of extra lives, when you die you will come back from the dead in a new body. Humans killed: For the "Extended Duel" game style, the number of humans you have killed (minus the number of times you have killed yourself).

Kills / Machines killed
    Kills: The number of your enemies that you have sent to the grave since the beginning of the game. I.e. your score. Machines killed: For the "Extended Duel" game style, the number of machine players killed.

Humans remaining
    The number of human players currently alive.

Machines remaining
    The number of machine players currently alive. When the game style is "Levels", this tells you how many more machines you must kill before you advance to the next level.

OBJECTS IN XEVIL
    This is not an exhaustive list of the objects in XEvil. Figure the rest out yourself.

Character Classes

    hero
        Generic pumped-up hero type character. Walks, jumps, and climbs ladders. Can fight effectively with his fists. Uses weapons and items. Has lots of health and healing powers.

    ninja
        An oriental assasin of the night. Can climb on walls and ceilings. Expert martial artist. Not completely a traditional Japanese warrior as he/she believes it's is ok to use modern weapons and items such as machine-guns and bombs.

    chopper-boy
        Some freaked out kid with a helicopter backpack. Can fly and walk on the ground. Uses weapons and items, but has no hand-to-hand attack.

Weapons

    pistol
        Single shot weapon. Wimpy, but better than nothing.

    machine-gun
        A rapid fire gun. Probably the best all-around weapon.

    lancer
        The lancer is a sniper rifle. It fires lances which travel faster and do more damage than any other shot in the game. However, it takes a significant amount of time to recharge between shots.

    flame-thrower
        Burn, baby, burn.

    soul-swapper
        If you nail someone with a soul-swapper, your souls will swap. You will end up controlling his/her/its physical body and he/she/it will end up controlling yours. This will not affect your number of kills or number of extra lives. Needless to say, be careful with this weapon.

Items

    med-kit
        When you use this item, you will return to full health. Can only be used once. Note that you must explicitly use a med-kit, just picking it up will not heal you.

    bomb
        A rather dangerous toy. If you shoot it or attack a bomb, it will explode. If your current item is bomb and you hit item_use, the bomb will be set with a fuse of approximately five seconds. It is strongly suggested that you drop the bomb and run away before this time has elapsed.

    t-shield, n-shield
        Personal body shields. I leave it up to you to figure out the difference between a t-shield and an n-shield. Hint: Think about their names.

X RESOURCES
Keyboard controls for both the left and right sides of the keyboard can be specified by adding the appropriate lines to your .Xdefaults or .Xresources file in your home directory. See the man pages on X(1) and xrdb(1) for more information on X resources. There is a separate set of controls for the right and left sides of the keyboard. Player 0 uses the right and player 1 uses the left side. For each function, up to two actual keys can be mapped to it. E.g. for a decmips keyboard, pressing either 'm' or ',' will give the command to move down left. The possible keysyms to map to each function are those listed in /usr/include/X11/keysymdef.h with the XK_ prefix stripped off. Examples:

XEvil.right_weapon_use
    The keysym to use a weapon for the controls on the right side of the keyboard.

XEvil.right_left
    The keysym for the move left command for the controls on the right side of the keyboard.

XEvil.right_left_2
    The second keysym for the move left command for the controls on the right side of the keyboard.
An example resource file is given below. Further examples are in the app-defaults directory in the XEvil distribution.

! Example resources for a sun4 SPARC station 1.
XEvil.right_center:                     F31
XEvil.right_right:                      Right
XEvil.right_down_right:                 F35
XEvil.right_down:                       Down
XEvil.right_down_left:                  F33
XEvil.right_left:                       Left
XEvil.right_up_left:                    F27
XEvil.right_up:                         Up
XEvil.right_up_right:                   F29
XEvil.right_weapon_use:                 F21
XEvil.right_weapon_change:              F22
XEvil.right_weapon_drop:                F23
XEvil.right_item_use:                   F24
XEvil.right_item_change:                F25
XEvil.right_item_drop:                  F26
XEvil.left_center:                      l
XEvil.left_right:                       semicolon
XEvil.left_down_right:                  slash
XEvil.left_down:                        period
XEvil.left_down_left:                   m
XEvil.left_down_left_2:                 comma
XEvil.left_left:                        k
XEvil.left_up_left:                     i
XEvil.left_up:                          o
XEvil.left_up_right:                    p
XEvil.left_up_right_2:                  bracketleft
XEvil.left_weapon_use:                  a
XEvil.left_weapon_change:               s
XEvil.left_weapon_drop:                 d
XEvil.left_item_use:                    z
XEvil.left_item_change:                 x
XEvil.left_item_drop:                   c

VERSION
This man page is valid for XEvil version 1.5.

UNRESTRICTIONS
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 1, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.

COPYRIGHT
Copyright 1994,1995,1996 Steve Hardt

AUTHOR
Steve Hardt hardts@mit.edu (valid until Nov. 1996) hardts@netscape.com hardts@alum.mit.edu http://graphics.lcs.mit.edu/~hardts/xevil.html