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 ] [ --roundexplosions ]  [  --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   No color, just black and white.
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  mulitplied  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 used in conjunction with the roundexplosions option.
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       --roundexplosions
113              Makes  explosions  round  rather  than  rectangular.  By default
114              spark velocities are chosen by simply assiging independent  uni‐
115              formly  distributed  random x and y velocities.  This results in
116              an explosion which is rectangular in shape.  If there aren't too
117              many  sparks,  you  don't really notice.  With larger numbers of
118              sparks, this rectangular shape can become apparent.  The  round‐
119              explosions  options  causes a uniformly distributed random angle
120              and velocity to be chosen for each  spark,  and  then  x  and  y
121              velocities are computed from those values.  In this way, x and y
122              velocities are no longer independent, and  the  explosion  takes
123              on a more natural looking round shape.
124
125       --rumbledevice d
126              Use the specified device for rumble effects (XBox 360 wired con‐
127              troller only, and linux 2.6.26 or better required.)  The default
128              is  /dev/input/event5.   Your  controller may show up elsewhere,
129              like /dev/input/event6, for example.  Also, you will have to (as
130              root) chown this device node to the user you're running the game
131              as, and do this again after each boot, and each time you hotplug
132              the  controller.  There is probably a way to get udev to do this
133              for you automatically every time, but I don't know  what  it  is
134              offhand, and it may differ from distro to distro.
135
136       --retrogreen
137              Does exactly what it sounds like.
138
139       --sounddevice n
140              Use  alternate  sound  device  n,  where  n  is  an integer.  By
141              default, wordwarvi uses the "default" sound device as  estimated
142              by  the  PortAudio  library,  which is 0.  You can specify other
143              numbers if you have other sound cards, or a  multichannel  sound
144              card.
145
146       --starmotion x
147              Controls  how  the  starfield  moves.   Possible values of x are
148              'astronomically-correct', 'wrong', 'wronger', and 'wrongest'.
149
150       --thicklines
151              Render everything with extra thick lines.
152
153       --version
154              Print the program's version number and exit.
155
156       --width w
157              Sets the window size to w pixels wide, scaling all  graphics  as
158              necessary.  The default is 800 pixels.
159
160       --xmas Runs  the program in xmas mode, if it is not near Christmas.  If
161              it is near Christmas, runs the program in non-xmas mode.
162

Controls:

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

ENEMIES AND OTHER THINGS YOU MAY ENCOUNTER

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

FILES

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

GOOD LUCK

391       You'll need it.
392

AUTHOR

394       Written by Stephen M. Cameron
395
396
397
398wordwarvi                          Jul 2008                       WORDWARVI(6)
Impressum