Merge branch 'vendor/GCC47'
[dragonfly.git] / games / hunt / hunt / hunt.6
1 .\"     $NetBSD: hunt.6,v 1.3 1997/10/10 16:32:30 lukem Exp $
2 .\"     $OpenBSD: hunt.6,v 1.19 2007/05/31 19:19:17 jmc Exp $
3 .\"
4 .\" Copyright (c) 1985 Conrad C. Huang, Gregory S. Couch, Kenneth C.R.C. Arnold
5 .\" San Francisco, California
6 .\"
7 .\" Copyright (c) 1985 Regents of the University of California.
8 .\" All rights reserved.
9 .\"
10 .\" Redistribution and use in source and binary forms, with or without
11 .\" modification, are permitted provided that the following conditions
12 .\" are met:
13 .\" 1. Redistributions of source code must retain the above copyright
14 .\"    notice, this list of conditions and the following disclaimer.
15 .\" 2. Redistributions in binary form must reproduce the above copyright
16 .\"    notice, this list of conditions and the following disclaimer in the
17 .\"    documentation and/or other materials provided with the distribution.
18 .\" 3. Neither the name of the University nor the names of its contributors
19 .\"    may be used to endorse or promote products derived from this software
20 .\"    without specific prior written permission.
21 .\"
22 .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
23 .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
24 .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
25 .\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
26 .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
27 .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
28 .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
29 .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
30 .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
31 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
32 .\" SUCH DAMAGE.
33 .\"
34 .Dd September 2, 2008
35 .Dt HUNT 6
36 .Os
37 .Sh NAME
38 .Nm hunt
39 .Nd a multi-player multi-terminal game
40 .Sh SYNOPSIS
41 .Nm
42 .Op Fl bcfmqSs
43 .Op Fl n Ar name
44 .Op Fl p Ar port
45 .Op Fl t Ar team
46 .Op Fl w Ar message
47 .Oo
48 .Op Fl h
49 .Ar host
50 .Oc
51 .Sh DESCRIPTION
52 The object of the game
53 .Nm
54 is to kill off the other players.
55 There are no rooms, no treasures, and no monsters.
56 Instead, you wander around a maze, find grenades, trip mines, and shoot down
57 walls and players.
58 The more players you kill before you die, the better your score is.
59 If the
60 .Fl m
61 flag is given,
62 you enter the game as a monitor
63 .Po
64 you can see the action but you cannot play
65 .Pc .
66 .Pp
67 .Nm
68 looks for an active game on the local network.
69 The location of the game may be specified by giving the
70 .Ar host
71 argument.
72 This presupposes that a hunt game is already running on that host:  see
73 .Xr huntd 6
74 for details on how to set up a game on a specific host.
75 If more than one game is found, you may pick which game to play in.
76 If no games are found,
77 .Nm
78 will exit.
79 .Pp
80 If the
81 .Fl q
82 flag is given,
83 .Nm
84 queries the local network
85 .Pq or specific host
86 and reports on all active games found.
87 This is useful for shell startup scripts, e.g., csh's
88 .Pa .login .
89 .Pp
90 The player name may be specified on the command line by using the
91 .Fl n
92 option.
93 .Pp
94 The
95 .Fl c ,
96 .Fl s ,
97 and
98 .Fl f
99 options are for entering the game cloaked, scanning, or flying, respectively.
100 .Pp
101 The
102 .Fl b
103 option turns off beeping when you reach the typeahead limit.
104 .Pp
105 The
106 .Fl t
107 option aids team play by making everyone else on your team
108 appear as the team name.
109 A team name is a single digit to avoid conflicting with other characters
110 used in the game.
111 Use a team name consisting of a single space
112 .Pq Sq \
113 to remain on your own.
114 .Pp
115 The
116 .Fl p
117 .Ar port
118 option allows the rendezvous port number to be set.
119 .Pp
120 The
121 .Fl w
122 .Ar message
123 option is the only way to send a message to everyone else's screen when
124 you start up.
125 It is most often used to say
126 .Dq eat slime death - NickD's coming in .
127 .Pp
128 When you die and are asked if you wish to re-enter the game,
129 there are other answers than just yes or no.
130 You can also reply with a
131 .Ic w
132 to write a message before continuing or
133 .Ic o
134 to change how you enter the game
135 .Pq cloaked, scanning, or flying .
136 .Sh "PLAYING HINTS"
137 .Nm
138 only works on terminals with at least 24 lines, 80 columns, and
139 cursor addressing.
140 The screen is divided into 3 areas.
141 On the right hand side is the status area.
142 It shows damage sustained,
143 charges remaining,
144 who's in the game,
145 who's scanning
146 .Po
147 the
148 .Ql \&*
149 in front of the name
150 .Pc ,
151 who's cloaked
152 .Po
153 the
154 .Ql \&+
155 in front of the name
156 .Pc ,
157 and other players' scores.
158 The rest of the screen is taken up by your map of the maze.
159 The 24th line
160 is used for longer messages that don't fit in the status area.
161 .Pp
162 .Nm
163 uses the same keys to move as
164 .Xr vi 1
165 does, i.e.,
166 .Ic h ,
167 .Ic j ,
168 .Ic k ,
169 and
170 .Ic l
171 for left, down, up, right, respectively.
172 To change which direction you're facing in the maze,
173 use the upper case version of the movement key
174 .Po
175 i.e.,
176 .Ic HJKL
177 .Pc .
178 You can only fire or throw things in the direction you're facing.
179 .Pp
180 Other commands are:
181 .Bl -tag -width Ic -compact
182 .It Ic f No or Ic 1
183 Fire a bullet
184 .Pq Takes 1 charge
185 .It Ic g No or Ic 2
186 Throw grenade
187 .Pq Takes 9 charges
188 .It Ic F No or Ic 3
189 Throw satchel charge
190 .Pq Takes 25 charges
191 .It Ic G No or Ic 4
192 Throw bomb
193 .Pq Takes 49 charges
194 .It Ic 5
195 Throw big bomb
196 .Pq Takes 81 charges
197 .It Ic 6
198 Throw even bigger bomb
199 .Pq Takes 121 charges
200 .It Ic 7
201 Throw even more big bomb
202 .Pq Takes 169 charges
203 .It Ic 8
204 Throw even more bigger bomb
205 .Pq Takes 225 charges
206 .It Ic 9
207 Throw very big bomb
208 .Pq Takes 289 charges
209 .It Ic 0
210 Throw very, very big bomb
211 .Pq Takes 361 charges
212 .It Ic @
213 Throw biggest bomb
214 .Pq Takes 441 charges
215 .It Ic o
216 Throw small slime
217 .Pq Takes 5 charges
218 .It Ic O
219 Throw big slime
220 .Pq Takes 10 charges
221 .It Ic p
222 Throw bigger slime
223 .Pq Takes 15 charges
224 .It Ic P
225 Throw biggest slime
226 .Pq Takes 20 charges
227 .It Ic s
228 Scan
229 .Pq show where other players are
230 .Pq Takes 1 charge
231 .It Ic c
232 Cloak
233 .Pq hide from scanners
234 .Pq Takes 1 charge
235 .It Ic ^L
236 Redraw screen
237 .It Ic q
238 Quit
239 .El
240 .Pp
241 The symbols on the screen are:
242 .Bl -tag -width Ic -compact
243 .It Li \&- \&| \&+
244 walls
245 .It Li \&/ \e
246 diagonal
247 .Pq deflecting
248 walls
249 .It Li #
250 doors
251 .Pq dispersion walls
252 .It Li ;
253 small mine
254 .It Li g
255 large mine
256 .It Li :
257 bullet
258 .It Li o
259 grenade
260 .It Li O
261 satchel charge
262 .It Li @
263 bomb
264 .It Li s
265 small slime
266 .It Li $
267 big slime
268 .It Li > < ^ v
269 you, facing right, left, up, or down
270 .It Li } { i \&!
271 other players facing right, left, up, or down
272 .It \&*
273 explosion
274 .It Li \&\e|/
275 .It Li \&-*-
276 grenade and large mine explosion
277 .It Li \&/|\e
278 .El
279 .Pp
280 Other helpful hints:
281 .Bl -bullet -compact
282 .It
283 You can only fire in the direction you are facing.
284 .It
285 You can only fire three shots in a row before the gun must cool off.
286 .It
287 Shots move 5 times faster than you do.
288 .It
289 To stab someone,
290 you face that player and move at them.
291 .It
292 Stabbing does 2 points worth of damage and shooting does 5 points.
293 .It
294 Slime does 5 points of damage each time it hits.
295 .It
296 You start with 15 charges and get 5 more every time a player enters
297 or re-enters.
298 .It
299 Grenade explosions cover a 3 by 3 area, each larger bomb cover a
300 correspondingly larger area
301 .Po
302 ranging from 5 by 5 to 21 by 21
303 .Pc .
304 All explosions are centered around the square the shot hits and
305 do the most damage in the center.
306 .It
307 Slime affects all squares it oozes over.
308 The number of squares is equal to the number of charges used,
309 multiplied by
310 .Va slimefactor
311 as set by
312 .Xr huntd 6
313 .Pq default 3 .
314 .It
315 One small mine and one large mine are placed in the maze for every new player.
316 A mine has a 2% probability of tripping when you walk forward on to it;
317 50% when going sideways;
318 95% when backing up.
319 Tripping a mine costs you 5 points or 10 points, respectively.
320 Defusing a mine is worth 1 charge or 9 charges, respectively.
321 .It
322 You cannot see behind you.
323 .It
324 Cloaking consumes 1 ammo charge per 20 of your moves.
325 .It
326 Scanning consumes 1 ammo charge per (20 \(mu the number of players)
327 of other player moves.
328 .It
329 Turning on cloaking turns off scanning \(em turning on scanning turns off
330 cloaking.
331 .It
332 When you kill someone,
333 you get 2 more damage capacity points and 2 damage points get taken away.
334 .It
335 Maximum typeahead is 5 characters.
336 .It
337 A shot destroys normal
338 .Pq i.e., non-diagonal, non-door
339 walls.
340 .It
341 Diagonal walls deflect shots and change orientation.
342 .It
343 Doors disperse shots in random directions
344 .Pq up, down, left, right .
345 .It
346 Diagonal walls and doors cannot be destroyed by direct shots but may
347 be destroyed by an adjacent grenade explosion.
348 .It
349 Slime goes around walls, not through them.
350 .It
351 Walls regenerate, reappearing in the order they were destroyed.
352 One percent of the regenerated walls will be diagonal walls or doors.
353 When a wall is generated directly beneath a player, he is thrown in
354 a random direction for a random period of time.
355 When he lands, he
356 sustains damage
357 .Po
358 up to 20 percent of the amount of damage already sustained
359 .Pc ;
360 i.e.,
361 the less damage he had, the more nimble he is and
362 therefore less likely to hurt himself on landing.
363 .\"It
364 .\"There is a volcano close to the center of the maze which goes off
365 .\"close to every 30 deaths.
366 .It
367 Every 30 deaths or so, a
368 .Ql \&?
369 will appear.
370 It is a wandering bomb which will explode when it hits someone, or
371 when it is slimed.
372 .It
373 If no one moves, everything stands still.
374 But see the
375 .Va simstep
376 configuration variable in
377 .Xr huntd 6
378 .It
379 The environment variable
380 .Ev HUNT
381 is checked to get the player name.
382 If you don't have this variable set,
383 .Nm
384 will ask you what name you want to play under.
385 If you wish to set other options than just your name,
386 you can enumerate the options as follows:
387 .Dl setenv HUNT "name=Sneaky,team=1,cloak,mapkey=zoFfGg1f2g3F4G"
388 sets the player name to Sneaky,
389 sets the team to one,
390 sets the enter game attribute to cloaked,
391 and the maps
392 .Ic z No to Ic o ,
393 .Ic F No to Ic f ,
394 .Ic G No to Ic g ,
395 .Ic 1 No to Ic f ,
396 .Ic 2 No to Ic g ,
397 .Ic 3 No to Ic F ,
398 and
399 .Ic 4 No to Ic G .
400 The
401 .Ic mapkey
402 option must be last.
403 Other options are:
404 .Ic scan , fly , nobeep ,
405 .Ic port= Ns Ar string ,
406 .Ic host= Ns Ar string ,
407 and
408 .Ic message= Ns Ar string
409 \(em which correspond to the command line options.
410 String options cannot contain commas since commas
411 are used to separate options.
412 .It
413 It's a boring game if you're the only one playing.
414 .El
415 .Pp
416 Your score is the decayed average of the ratio of number of kills to number
417 of times you entered the game and is only kept for the duration
418 of a single session of
419 .Nm .
420 .\" .Pp
421 .\" .Nm
422 .\" normally drives up the load average to be approximately
423 .\" (number_of_players + 0.5) greater than it would be without a
424 .\" .Nm
425 .\" game executing.
426 .Sh STATISTICS
427 The
428 .Fl S
429 option fetches the current game statistics.
430 .Pp
431 Two groups of statistics are presented: the first group of statistics is
432 that of the clients currently connected to the game, and is reset each
433 time the client rejoins, while the second group of statistics is on all
434 players
435 .Pq dead or alive
436 by name, and collected over the lifetime of the
437 game daemon.
438 .Pp
439 The meaning of the column headings are as follows:
440 .Bl -tag -width No -compact
441 .It Score
442 the player's last score
443 .It Ducked
444 how many shots a player ducked
445 .It Absorb
446 how many shots a player absorbed
447 .It Faced
448 how many shots were fired at player's face
449 .It Shot
450 how many shots were fired at player
451 .It Robbed
452 how many of player's shots were absorbed
453 .It Missed
454 how many of player's shots were ducked
455 .It SlimeK
456 how many slime kills player had
457 .It Enemy
458 how many enemies were killed
459 .It Friend
460 how many friends were killed
461 .Pq self and same team
462 .It Deaths
463 how many times player died
464 .It Still
465 how many times player died without typing in any commands
466 .It Saved
467 how many times a shot/bomb would have killed player if he hadn't
468 ducked or absorbed it
469 .It Connect
470 current connection state(s) of player:
471 .Sq p
472 for playing,
473 .Sq m
474 for monitoring
475 .El
476 .Sh FILES
477 .Bl -tag -width Pa -compact
478 .It Pa /usr/games/huntd
479 game coordinator
480 .El
481 .Sh SEE ALSO
482 .Xr huntd 6
483 .Sh AUTHORS
484 Conrad Huang, Ken Arnold, and Greg Couch;
485 .br
486 University of California, San Francisco, Computer Graphics Lab
487 .Sh BUGS
488 To keep up the pace, not everything is as realistic as possible.
489 .Pp
490 The historic behaviour of
491 .Nm
492 automatically starting
493 .Xr huntd 6
494 is no longer supported.
495 .Sh ACKNOWLEDGEMENTS
496 We thank Don Kneller,
497 John Thomason, Eric Pettersen, Mark Day,
498 and Scott Weiner for providing
499 endless hours of play-testing to improve the character of the game.
500 We hope their significant others will forgive them;
501 we certainly don't.