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