GNU.WIKI: The GNU/Linux Knowledge Base

  [HOME] [PHP Manual] [HowTo] [ABS] [MAN1] [MAN2] [MAN3] [MAN4] [MAN5] [MAN6] [MAN7] [MAN8] [MAN9]

  [0-9] [Aa] [Bb] [Cc] [Dd] [Ee] [Ff] [Gg] [Hh] [Ii] [Jj] [Kk] [Ll] [Mm] [Nn] [Oo] [Pp] [Qq] [Rr] [Ss] [Tt] [Uu] [Vv] [Ww] [Xx] [Yy] [Zz]


NAME

       wordwarvi  -  Old  school  '80's style side scrolling space shoot'em up
       game.

SYNOPSIS

       wordwarvi [ --bw ] [ --blueprint ] [ --brightsparks  ]  [  --difficulty
       easy|medium|hard|insane|batshit-insane  ]  [  --explosionfactor  n  ] [
       --fullscreen ] [ --joystick device ] [ --nomusic ] [ --nomissilealarm ]
       [  --norumble  ]  [  --nostarfield  ]  [ --nstars n ] [ --randomize ] [
       --randomseed n ] [ --squareexplosions ] [  --rumbledevice  device  ]  [
       --sounddevice  n  ]  [  --thicklines  ]  [ --width w ] [ --height h ] [
       --framerate f ] [ --retrogreen ] [ --version ] [ --xmas ]

DESCRIPTION

       wordwarvi, or "Word  War  vi",  is  an  old  school  '80's  style  side
       scrolling space shoot'em up video game.

       You  pilot  your "vi-per" craft through core memory, trying to avoid OS
       defenses and wipe out the memory hogging  emacs  processes  and  rescue
       lost  vi-per  pilots  (.swp  files)  stranded  from crashed vi sessions
       before heading through the socket to the next node in the cluster to do
       it all over again.

Options:

       --bw   Render the game in black and white, as if on graph paper.

       --blueprint
              Render the game to look like a blueprint.

       --brightsparks
              Enables  a  visual  effect  for sparks to be rendered bigger and
              brighter than usual, at the cost of some performance.  It  is  a
              matter of personal preference whether it looks better or worse.

       --difficulty easy|medium|hard|insane|batshit-insane
              Sets  the difficulty level to one of easy, medium, hard, insane,
              or batshit-insane.

       --explosionfactor n
              Produce explosions with the number of sparks  multiplied  by  n.
              Default  is  1, integers up to 5 are permitted.  Performance may
              suffer with large values of n.  This option only has  an  effect
              when the squareexplosions option is not in effect.

       --framerate f
              Sets  the target frame rate to f frames per second.  The default
              is 30 frames per second.   If  your  computer  is  too  slow  to
              achieve  the  specified (or default) frame rate at the specified
              (or default) resolution, decreasing the frame rate may make  the
              game  respond  better.   Likewise,  at lower resolutions, higher
              framerates may be possible, or lower resolutions  may  make  the
              game  perform  better at a given frame rate.  It should be noted
              that The game is designed (and tested) to be played at 30 frames
              per second.

       --fullscreen
              Expand the window to fill the screen.  This option overrides the
              --width and --height  options,  if  either  of  those  are  also
              specified,  and  scales  the graphics to the size of the screen.
              You can also use the F11 key to toggle between   fullscreen  and
              windowed mode after the program is started.  If the --fullscreen
              option is used, then the F11 key has no effect.

       --height h
              Sets the window size to h pixels high, scaling all  graphics  as
              necessary.  The default is 600 pixels.

       --joystick joystick-device
              Use  the  specified  device  node  joystick-device to access the
              joystick.  The default device if this  option  is  not  used  is
              /dev/input/js0.   If you have more than one joystick, or if your
              OS presents joysticks at device nodes other than /dev/input/js0,
              that's what this option is for.

       --nomusic
              Don't  play  music,  or even decode the music files into memory.
              Cuts down considerably on memory usage.

       --nomissilealarm
              Don't sound an alarm when a missile locks on to your ship.  Some
              people find the sound of the alarm incredibly annoying.  (Alarms
              are supposed to be annoying.)   The  audio  alarm  can  also  be
              toggled on and off with the '1' key.

       --norumble
              Don't use joystick rumble effects.

       --nostarfield
              Don't draw a starfield in the background.

       --nstars n
              Controls  how  many stars are rendered.  Valid values for n must
              be greater than or equal to zero, and less than or equal to 600.

       --randomize
              Uses the microseconds value of the clock as the random seed  for
              generating  terrain,  enemy  placement etc.  If you get tired of
              the regular levels, and knowing where everything is,  this  will
              get you levels that you haven't seen before.

       --randomseed n
              Uses  the  specified value, n, as the random seed for generating
              terrain, enemy placement etc.  This allows access to new  levels
              which  you  may  play  again  by specifying the same random seed
              value.  The default random seed value the game uses if  none  is
              specified is 31415927.

       --squareexplosions
              Makes  explosions  square  rather  than round.  By default spark
              velocities are chosen by simply assigning independent  uniformly
              distributed  random angle and velocity (polar coordinates). This
              results in an explosion which  is  round  in  shape.   If  there
              aren't  too  many  sparks, you don't really notice.  With larger
              numbers of sparks, this round shape can  become  apparent.   The
              squareexplosions options causes a uniformly distributed random x
              and y and velocity to be chosen for each spark.  This saves  the
              computation  of  converting polar coordinates to cartesian.  The
              default used to be  square  explosions,  with  round  explosions
              available  only  through  the old --roundexplosions option.  Now
              round explosions are  the  default,  and  the  --roundexplosions
              option was inverted and renamed --squareexplosions.

       --rumbledevice d
              Use  the  specified  device  for  rumble effects (XBox 360 wired
              controller only, and linux  2.6.26  or  better  required.)   The
              default  is  /dev/input/event5.   Your  controller  may  show up
              elsewhere, like /dev/input/event6, for example.  Also, you  will
              have  to  (as  root)  chown  this device node to the user you're
              running the game as, and do this again after each boot, and each
              time you hotplug the controller.  There is probably a way to get
              udev to do this for you automatically every time,  but  I  don't
              know  what  it  is  offhand,  and  it  may differ from distro to
              distro.

       --retrogreen
              Does exactly what it sounds like.

       --sounddevice n
              Use alternate sound  device  n,  where  n  is  an  integer.   By
              default,  wordwarvi uses the "default" sound device as estimated
              by the PortAudio library, which is 0.   You  can  specify  other
              numbers  if  you have other sound cards, or a multichannel sound
              card.

       --starmotion x
              Controls how the starfield moves.   Possible  values  of  x  are
              'astronomically-correct', 'wrong', 'wronger', and 'wrongest'.

       --thicklines
              Render everything with extra thick lines.

       --version
              Print the program's version number and exit.

       --width w
              Sets  the  window size to w pixels wide, scaling all graphics as
              necessary.  The default is 800 pixels.

       --xmas Runs the program in xmas mode, if it is not near Christmas.   If
              it is near Christmas, runs the program in non-xmas mode.

Controls:

       Arrow  keys  control  movement  (or  vi's  hjkl  keys will work too, of
       course.)

       Q puts in a quarter, and starts the game.

       Z fires a laser

       C drops chaff (to confuse heat seeking missiles).

       B drops bombs.

       G drops a gravity bomb, of which you start with 3.

       Additionally, a game pad or joystick may be used.  I  have  only  tried
       two  controllers,  the  Microsoft  XBox  360  wired  controller,  and a
       Logitech Dual Action Rumble USB gamepad.  On these,  the  first  (left)
       joystick  controls  your  ship.  For other controls, just press all the
       buttons to see what they do, as it's not the same from  one  controller
       to  the  next.   The  rumble  effect only works with the XBox 360 wired
       controller, and then only if you have linux kernel  2.6.26  or  better.
       See also the "--rumbledevice" option.

       m toggles music on/off.

       s toggles sound effects on/off.

       1 toggles the audio missile lock-on alarm on/off.

ENEMIES AND OTHER THINGS YOU MAY ENCOUNTER

       Rockets.  Avoid hitting them.

       Jets, which fire heat seeking missiles.  Avoid the missiles.

       Heat seeking SAMs.  Avoid.

       Octo-viruses and tentacles.  Shoot lightning.  Avoid.

       Blimps  (representing  emacs).  Will shoot heat seeking missiles.  Will
       leak LISP code.

       GDB processes.  Will attempt to ptrace you with  heat  seeking  probes.
       Avoid and/or kill.

       Cron Jobs.  Will shoot projectiles at you.  Will attempt to collect the
       vi .swp  files  and  carry  them  to  caldera  of  the  volcano,  Mount
       /dev/null.

       Fuel tanks.  Refuel by hovering over the fuel tanks momentarily.

       Laser cannons.  They will shoot laser bolts at you (obviously).

       WINE  bottles.   Bill  Gates's finest warship is outfitted with a giant
       WINE bottle to enable it to travel through the linux CORE.   Beware  of
       viruses which may be living inside.

FILES

       /dev/input/js0, the joystick device node.

       /dev/input/event5, the rumble effect device.

       /usr/share/wordwarvi/sounds/*.ogg  contain  the  audio data used by the
       game.

       ~/.wordwarvi/.highscores Contains high score data.

       ~/.wordwarvi/.exrc This file can be used to customize default  settings
       for  the  game.  Each line of the file controls one aspect of the game.
       The following commands are understood.

       set bw Render in black and white.

       set blueprint
              Render in the style of a blueprint.

       set brightsparks
              Render sparks brighter than usual.

       set difficulty=x
              Sets the difficulty level.  Valid values are easy, medium, hard,
              insane, and batshit-insane.

       set explosionfactor=n
              Produce  explosions  with  the number of sparks multiplied by n.
              Default is 1, integers up to 5 are permitted.   Performance  may
              suffer  with  large values of n.  This option only has an effect
              when the squareexplosions option is not in effect.

       set framerate=n
              Attempt to render the game at n frames per second.

       set fullscreen
              Render the game in full screen mode.

       set height y
              Render the game y pixels high.

       set joystick=dev
              Use joystick input device dev.

       set levelwarp=n
              Warp ahead n levels (if compiled in).

       set nomusic
              Do not play, or even decode music data.

       set nomissilealarm
              Do not sound alarm for missile lock on.

       set nostarfield
              Do not render the background starfield.

       set norumble
              Do not use joystick rumble effects.

       set nstars=n
              Controls how many stars are rendered.  Valid values for  n  must
              be greater than or equal to zero, and less than or equal to 600.

       set retrogreen
              Render in the manner of a vector display from the '70's.

       set randomize
              Use a clock generated random seed to initialize levels.

       set randomseed=n
              Use the specified random seed to initialize levels.

       set rumbledeviced=d
              Use  the  specified  device  for  rumble effects (XBox 360 wired
              controller only, and linux  2.6.26  or  better  required.)   The
              default  is  /dev/input/event5.   Your  controller  may  show up
              elsewhere, like /dev/input/event6, for example.  Also, you  will
              have  to  (as  root)  chown  this device node to the user you're
              running the game as, and do this again after each boot, and each
              time you hotplug the controller.  There is probably a way to get
              udev to do this for you automatically every time,  but  I  don't
              know  what  it  is  offhand,  and  it  may differ from distro to
              distro.

       set squareexplosions
              Makes  explosions  rectangular  rather  than  round.   See   the
              description   of   the   --squareexplosions   option   for  some
              explanation of why this even exists.

       set sounddevice=n
              Use the nth sound device for audio output.

       set starmotion=x
              Controls  how  the  starfield  moves.    Possible   values   are
              'astronomically-correct', 'wrong', 'wronger', and 'wrongest'.

       set thicklines
              Render everything with extra thick lines.

       set width=x
              Render the game x pixels wide.

       map key action
              valid actions are:
                   soundeffect  down  up       left      right
                   missilealarm bomb  chaff    quarter   pause
                   2x           3x    4x       5x        6x
                   7x           8x    suicide  thrust    music
                   fullscreen   quit  laser    none      reverse
                   gift
              Valid  keys  are:  a-z, A-Z, 0-9, and most printable characters.
              Keypad numerals 0-9 may be specified as kp_0 through  kp_9,  and
              function  keys  f1  through  f12 can be specified f1 through f12
              (obviously).  In addition the following strings may be  used  to
              specify the corresponding keys:
                   space       enter         return   backspace    delete
                   pause       scrolllock    escape   sysreq       left
                   right       up            down     kp_home      kp_down
                   kp_up       kp_left       kp_right kp_end       kp_delete
                   kp_insert   home          down     end          delete
                   insert

       map button n action
              maps  joystick  button  n  (where  0 <= n <= 9) to the specified
              action.  Actions are  the  same  as  describe  above,  with  the
              exception  of  left,  right,  up  and  down,  which  are not yet
              implemented due to laziness on my part.  In any  case,  if  your
              joystick  has a button pad you want to use to control the motion
              of the ship (left/right/up/down), most likely it also  has  some
              sort  of  switch  to  make this pad active instead of one of the
              sets of x/y joystick axes. (e.g. my Logitech Dual Action  Rumble
              is  like  that.)   If  that's the case, then you don't need this
              feature anyway, as the joystick will map  those  button  presses
              onto the appropriate axes for you.

       set joystick-[xy]-axis=n.  Allows specifying different axes for
              control  of  the  players  ship  for  multi  axis joysticks.  By
              default, the first x and first y axes are used (n = 0 for x, n=1
              for  y)  A value of -1 disables control of an axis.  See example
              .exrc file below to find out why you  might  want  to  do  that.
              There  are  pictures  at  http://wordwarvi.sourceforge.net which
              show how the axis numbers and button numbers map to the physical
              controls  for the Microsoft XBox 360 controller and the Logitech
              Dual Action Rumble controller

       Example .exrc file:
                    set fullscreen
                    set retrogreen
                    map z chaff
                    map x bomb
                    map c laser
                    #
                    # to set up "Defender" style joystick
                    # controls, vertical motion controlled
                    # by joystick axis, horizontal motion
                    # controlled only by "reverse", and
                    # "thrust" buttons, with x axis joystick
                    # control disabled.
                    #
                    set joystick-x-axis=-1
                    set joystick-y-axis=0
                    map button 0 thrust
                    map button 1 reverse

GOOD LUCK

       You'll need it.

AUTHOR

       Written by Stephen M. Cameron



  All copyrights belong to their respective owners. Other content (c) 2014-2018, GNU.WIKI. Please report site errors to webmaster@gnu.wiki.
Page load time: 0.122 seconds. Last modified: November 04 2018 12:49:43.