1WORDWARVI(6)                         Games                        WORDWARVI(6)
2
3
4

NAME

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

SYNOPSIS

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

DESCRIPTION

19       wordwarvi, or "Word  War  vi",  is  an  old  school  '80's  style  side
20       scrolling space shoot'em up video game.
21
22       You  pilot  your "vi-per" craft through core memory, trying to avoid OS
23       defenses and wipe out the memory hogging  emacs  processes  and  rescue
24       lost  vi-per  pilots  (.swp  files)  stranded  from crashed vi sessions
25       before heading through the socket to the next node in the cluster to do
26       it all over again.
27

Options:

29       --bw   Render the game in black and white, as if on graph paper.
30
31       --blueprint
32              Render the game to look like a blueprint.
33
34       --brightsparks
35              Enables  a  visual  effect  for sparks to be rendered bigger and
36              brighter than usual, at the cost of some performance.  It  is  a
37              matter of personal preference whether it looks better or worse.
38
39       --difficulty easy|medium|hard|insane|batshit-insane
40              Sets  the difficulty level to one of easy, medium, hard, insane,
41              or batshit-insane.
42
43       --explosionfactor n
44              Produce explosions with the number of sparks  multiplied  by  n.
45              Default  is  1, integers up to 5 are permitted.  Performance may
46              suffer with large values of n.  This option only has  an  effect
47              when the squareexplosions option is not in effect.
48
49       --framerate f
50              Sets  the target frame rate to f frames per second.  The default
51              is 30 frames per second.   If  your  computer  is  too  slow  to
52              achieve  the  specified (or default) frame rate at the specified
53              (or default) resolution, decreasing the frame rate may make  the
54              game  respond  better.   Likewise,  at lower resolutions, higher
55              framerates may be possible, or lower resolutions  may  make  the
56              game  perform  better at a given frame rate.  It should be noted
57              that The game is designed (and tested) to be played at 30 frames
58              per second.
59
60       --fullscreen
61              Expand the window to fill the screen.  This option overrides the
62              --width and --height options, if either of those are also speci‐
63              fied,  and  scales  the graphics to the size of the screen.  You
64              can also use the F11 key to toggle between  fullscreen and  win‐
65              dowed  mode  after  the program is started.  If the --fullscreen
66              option is used, then the F11 key has no effect.
67
68       --height h
69              Sets the window size to h pixels high, scaling all  graphics  as
70              necessary.  The default is 600 pixels.
71
72       --joystick joystick-device
73              Use the specified device node joystick-device to access the joy‐
74              stick.  The default  device  if  this  option  is  not  used  is
75              /dev/input/js0.   If you have more than one joystick, or if your
76              OS presents joysticks at device nodes other than /dev/input/js0,
77              that's what this option is for.
78
79       --nomusic
80              Don't  play  music,  or even decode the music files into memory.
81              Cuts down considerably on memory usage.
82
83       --nomissilealarm
84              Don't sound an alarm when a missile locks on to your ship.  Some
85              people find the sound of the alarm incredibly annoying.  (Alarms
86              are supposed to be annoying.)  The audio alarm can also be  tog‐
87              gled on and off with the '1' key.
88
89       --norumble
90              Don't use joystick rumble effects.
91
92       --nostarfield
93              Don't draw a starfield in the background.
94
95       --nstars n
96              Controls  how  many stars are rendered.  Valid values for n must
97              be greater than or equal to zero, and less than or equal to 600.
98
99       --randomize
100              Uses the microseconds value of the clock as the random seed  for
101              generating  terrain,  enemy  placement etc.  If you get tired of
102              the regular levels, and knowing where everything is,  this  will
103              get you levels that you haven't seen before.
104
105       --randomseed n
106              Uses  the  specified value, n, as the random seed for generating
107              terrain, enemy placement etc.  This allows access to new  levels
108              which  you  may  play  again  by specifying the same random seed
109              value.  The default random seed value the game uses if  none  is
110              specified is 31415927.
111
112       --squareexplosions
113              Makes  explosions  square  rather  than round.  By default spark
114              velocities are chosen by simply assigning independent  uniformly
115              distributed  random angle and velocity (polar coordinates). This
116              results in an explosion which  is  round  in  shape.   If  there
117              aren't  too  many  sparks, you don't really notice.  With larger
118              numbers of sparks, this round shape can  become  apparent.   The
119              squareexplosions options causes a uniformly distributed random x
120              and y and velocity to be chosen for each spark.  This saves  the
121              computation  of  converting polar coordinates to cartesian.  The
122              default used to be  square  explosions,  with  round  explosions
123              available  only  through  the old --roundexplosions option.  Now
124              round explosions are  the  default,  and  the  --roundexplosions
125              option was inverted and renamed --squareexplosions.
126
127
128       --rumbledevice d
129              Use the specified device for rumble effects (XBox 360 wired con‐
130              troller only, and linux 2.6.26 or better required.)  The default
131              is  /dev/input/event5.   Your  controller may show up elsewhere,
132              like /dev/input/event6, for example.  Also, you will have to (as
133              root) chown this device node to the user you're running the game
134              as, and do this again after each boot, and each time you hotplug
135              the  controller.  There is probably a way to get udev to do this
136              for you automatically every time, but I don't know  what  it  is
137              offhand, and it may differ from distro to distro.
138
139       --retrogreen
140              Does exactly what it sounds like.
141
142       --sounddevice n
143              Use  alternate  sound  device  n,  where  n  is  an integer.  By
144              default, wordwarvi uses the "default" sound device as  estimated
145              by  the  PortAudio  library,  which is 0.  You can specify other
146              numbers if you have other sound cards, or a  multichannel  sound
147              card.
148
149       --starmotion x
150              Controls  how  the  starfield  moves.   Possible values of x are
151              'astronomically-correct', 'wrong', 'wronger', and 'wrongest'.
152
153       --thicklines
154              Render everything with extra thick lines.
155
156       --version
157              Print the program's version number and exit.
158
159       --width w
160              Sets the window size to w pixels wide, scaling all  graphics  as
161              necessary.  The default is 800 pixels.
162
163       --xmas Runs  the program in xmas mode, if it is not near Christmas.  If
164              it is near Christmas, runs the program in non-xmas mode.
165

Controls:

167       Arrow keys control movement (or  vi's  hjkl  keys  will  work  too,  of
168       course.)
169
170       Q puts in a quarter, and starts the game.
171
172       Z fires a laser
173
174       C drops chaff (to confuse heat seeking missiles).
175
176       B drops bombs.
177
178       G drops a gravity bomb, of which you start with 3.
179
180       Additionally,  a  game  pad or joystick may be used.  I have only tried
181       two controllers, the Microsoft XBox 360 wired controller,  and  a  Log‐
182       itech  Dual Action Rumble USB gamepad.  On these, the first (left) joy‐
183       stick controls your ship.  For other controls, just press all the  but‐
184       tons  to  see what they do, as it's not the same from one controller to
185       the next.  The rumble effect only works with the XBox  360  wired  con‐
186       troller,  and then only if you have linux kernel 2.6.26 or better.  See
187       also the "--rumbledevice" option.
188
189       m toggles music on/off.
190
191       s toggles sound effects on/off.
192
193       1 toggles the audio missile lock-on alarm on/off.
194

ENEMIES AND OTHER THINGS YOU MAY ENCOUNTER

196       Rockets.  Avoid hitting them.
197
198       Jets, which fire heat seeking missiles.  Avoid the missiles.
199
200       Heat seeking SAMs.  Avoid.
201
202       Octo-viruses and tentacles.  Shoot lightning.  Avoid.
203
204       Blimps (representing emacs).  Will shoot heat seeking  missiles.   Will
205       leak LISP code.
206
207       GDB  processes.   Will  attempt to ptrace you with heat seeking probes.
208       Avoid and/or kill.
209
210       Cron Jobs.  Will shoot projectiles at you.  Will attempt to collect the
211       vi  .swp  files  and  carry  them  to  caldera  of  the  volcano, Mount
212       /dev/null.
213
214       Fuel tanks.  Refuel by hovering over the fuel tanks momentarily.
215
216       Laser cannons.  They will shoot laser bolts at you (obviously).
217
218       WINE bottles.  Bill Gates's finest warship is outfitted  with  a  giant
219       WINE  bottle  to enable it to travel through the linux CORE.  Beware of
220       viruses which may be living inside.
221

FILES

223       /dev/input/js0, the joystick device node.
224
225       /dev/input/event5, the rumble effect device.
226
227       /usr/share/wordwarvi/sounds/*.ogg contain the audio data  used  by  the
228       game.
229
230       ~/.wordwarvi/.highscores Contains high score data.
231
232       ~/.wordwarvi/.exrc  This file can be used to customize default settings
233       for the game.  Each line of the file controls one aspect of  the  game.
234       The following commands are understood.
235
236
237       set bw Render in black and white.
238
239       set blueprint
240              Render in the style of a blueprint.
241
242       set brightsparks
243              Render sparks brighter than usual.
244
245       set difficulty=x
246              Sets the difficulty level.  Valid values are easy, medium, hard,
247              insane, and batshit-insane.
248
249       set explosionfactor=n
250              Produce explosions with the number of sparks  multiplied  by  n.
251              Default  is  1, integers up to 5 are permitted.  Performance may
252              suffer with large values of n.  This option only has  an  effect
253              when the squareexplosions option is not in effect.
254
255       set framerate=n
256              Attempt to render the game at n frames per second.
257
258       set fullscreen
259              Render the game in full screen mode.
260
261       set height y
262              Render the game y pixels high.
263
264       set joystick=dev
265              Use joystick input device dev.
266
267       set levelwarp=n
268              Warp ahead n levels (if compiled in).
269
270       set nomusic
271              Do not play, or even decode music data.
272
273       set nomissilealarm
274              Do not sound alarm for missile lock on.
275
276       set nostarfield
277              Do not render the background starfield.
278
279       set norumble
280              Do not use joystick rumble effects.
281
282       set nstars=n
283              Controls  how  many stars are rendered.  Valid values for n must
284              be greater than or equal to zero, and less than or equal to 600.
285
286       set retrogreen
287              Render in the manner of a vector display from the '70's.
288
289       set randomize
290              Use a clock generated random seed to initialize levels.
291
292       set randomseed=n
293              Use the specified random seed to initialize levels.
294
295       set rumbledeviced=d
296              Use the specified device for rumble effects (XBox 360 wired con‐
297              troller only, and linux 2.6.26 or better required.)  The default
298              is /dev/input/event5.  Your controller may  show  up  elsewhere,
299              like /dev/input/event6, for example.  Also, you will have to (as
300              root) chown this device node to the user you're running the game
301              as, and do this again after each boot, and each time you hotplug
302              the controller.  There is probably a way to get udev to do  this
303              for  you  automatically  every time, but I don't know what it is
304              offhand, and it may differ from distro to distro.
305
306       set squareexplosions
307              Makes  explosions  rectangular  rather  than  round.   See   the
308              description  of  the --squareexplosions option for some explana‐
309              tion of why this even exists.
310
311       set sounddevice=n
312              Use the nth sound device for audio output.
313
314       set starmotion=x
315              Controls how the starfield moves.  Possible values  are  'astro‐
316              nomically-correct', 'wrong', 'wronger', and 'wrongest'.
317
318       set thicklines
319              Render everything with extra thick lines.
320
321       set width=x
322              Render the game x pixels wide.
323
324       map key action
325              valid actions are:
326                   soundeffect  down  up       left      right
327                   missilealarm bomb  chaff    quarter   pause
328                   2x           3x    4x       5x        6x
329                   7x           8x    suicide  thrust    music
330                   fullscreen   quit  laser    none      reverse
331                   gift
332              Valid  keys  are:  a-z, A-Z, 0-9, and most printable characters.
333              Keypad numerals 0-9 may be specified as kp_0 through  kp_9,  and
334              function  keys  f1  through  f12 can be specified f1 through f12
335              (obviously).  In addition the following strings may be  used  to
336              specify the corresponding keys:
337                   space       enter         return   backspace    delete
338                   pause       scrolllock    escape   sysreq       left
339                   right       up            down     kp_home      kp_down
340                   kp_up       kp_left       kp_right kp_end       kp_delete
341                   kp_insert   home          down     end          delete
342                   insert
343
344       map button n action
345              maps  joystick  button  n  (where  0 <= n <= 9) to the specified
346              action.  Actions are the same as describe above, with the excep‐
347              tion  of left, right, up and down, which are not yet implemented
348              due to laziness on my part.  In any case, if your joystick has a
349              button  pad  you  want  to use to control the motion of the ship
350              (left/right/up/down), most likely  it  also  has  some  sort  of
351              switch to make this pad active instead of one of the sets of x/y
352              joystick axes. (e.g. my Logitech  Dual  Action  Rumble  is  like
353              that.)   If  that's  the  case, then you don't need this feature
354              anyway, as the joystick will map those button presses  onto  the
355              appropriate axes for you.
356
357       set joystick-[xy]-axis=n.  Allows specifying different axes for
358              control  of  the  players  ship  for  multi  axis joysticks.  By
359              default, the first x and first y axes are used (n = 0 for x, n=1
360              for  y)  A value of -1 disables control of an axis.  See example
361              .exrc file below to find out why you  might  want  to  do  that.
362              There   are  pictures  at  http://smcameron.github.com/wordwarvi
363              which show how the axis numbers and button numbers  map  to  the
364              physical  controls for the Microsoft XBox 360 controller and the
365              Logitech Dual Action Rumble controller
366
367
368       Example .exrc file:
369                    set fullscreen
370                    set retrogreen
371                    map z chaff
372                    map x bomb
373                    map c laser
374                    #
375                    # to set up "Defender" style joystick
376                    # controls, vertical motion controlled
377                    # by joystick axis, horizontal motion
378                    # controlled only by "reverse", and
379                    # "thrust" buttons, with x axis joystick
380                    # control disabled.
381                    #
382                    set joystick-x-axis=-1
383                    set joystick-y-axis=0
384                    map button 0 thrust
385                    map button 1 reverse
386

GOOD LUCK

388       You'll need it.
389

AUTHOR

391       Written by Stephen M. Cameron
392
393
394
395wordwarvi                          Jul 2008                       WORDWARVI(6)
Impressum