Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
WORDWARVI(6)			     Games			  WORDWARVI(6)

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  be-
       fore  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	speci-
	      fied,  and  scales  the graphics to the size of the screen.  You
	      can also use the F11 key to toggle between  fullscreen and  win-
	      dowed  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 joy-
	      stick.   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  tog-
	      gled 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 ve-
	      locities	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  op-
	      tion was inverted	and renamed --squareexplosions.

       --rumbledevice d
	      Use the specified	device for rumble effects (XBox	360 wired con-
	      troller 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  de-
	      fault, wordwarvi uses the	"default" sound	device as estimated by
	      the  PortAudio  library, which is	0.  You	can specify other num-
	      bers if you have other sound  cards,  or	a  multichannel	 sound
	      card.

       --starmotion x
	      Controls how the starfield moves.	 Possible values of x are 'as-
	      tronomically-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 Log-
       itech Dual Action Rumble	USB gamepad.  On these,	the first (left)  joy-
       stick  controls your ship.  For other controls, just press all the but-
       tons 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 con-
       troller,	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 con-
	      troller 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  de-
	      scription	 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  'astro-
	      nomically-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 ac-
	      tion.  Actions are the same as describe above, with  the	excep-
	      tion  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 de-
	      fault, 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://smcameron.github.com/wordwarvi
	      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

wordwarvi			   Jul 2008			  WORDWARVI(6)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=wordwarvi&sektion=6&manpath=FreeBSD+Ports+15.0>

home | help