Imported Upstream version 0.4
[pkg/netris.git] / README
1 #
2 # Netris -- A free networked version of T*tris
3 # Copyright (C) 1994,1995,1996  Mark H. Weaver <mhw@netris.org>
4
5 # This program is free software; you can redistribute it and/or
6 # modify it under the terms of the GNU General Public License
7 # as published by the Free Software Foundation; either version 2
8 # of the License, or (at your option) any later version.
9
10 # This program is distributed in the hope that it will be useful,
11 # but WITHOUT ANY WARRANTY; without even the implied warranty of
12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13 # GNU General Public License for more details.
14
15 # You should have received a copy of the GNU General Public License
16 # along with this program; if not, write to the Free Software
17 # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
18 #
19 # $Id: README,v 1.20 1996/02/09 08:22:06 mhw Exp $
20 #
21
22 This is an unfinished developmental version of Netris, a free
23 networked version of T*tris.  It is distributed under the terms
24 of the GNU General Public License, which is described in the
25 file "COPYING" included with this distribution.
26
27 In order to compile Netris you will need gcc.  You may be able to
28 compile it with another ANSI C compiler, but if you attempt this
29 you are on your own.
30
31 It's been built and tested on at least the following systems:
32
33     NetBSD 1.0, 1.1
34     Linux
35     SunOS 4.1.1, 4.1.3
36     Solaris 2.3, 2.4
37     HP-UX
38
39 If Netris doesn't build on your favorite system "out-of-the-box",
40 I encourage you to mail me context diffs to fix the problem so I
41 can fold it into the next version.
42
43 Netris should build cleanly on 64-bit systems such as the Alpha,
44 although you might need to edit the definitions for netint{2,4},
45 hton{2,4}, and ntoh{2,4} in netris.h.  Alpha users, please let me know
46 how it goes, and send me diffs if needed!
47
48 See the FAQ in this directory if you have any problems.
49
50
51 NEW IN VERSION 0.4
52 ==================
53 - Netris now attempts to make the cursor invisible for terminals that
54   support it.  Xterm no, vt220 yes, vt100 maybe?
55 - Ctrl-L (by default) will now redraw the screen.
56 - Various cleanup and documentation changes.
57
58
59 INSTALLATION
60 ============
61 1. Run "./Configure" to create a Makefile and config.h appropriate
62    for your system.  If you have problems running Configure with
63    your /bin/sh, try "bash Configure".
64 2. Try "make"
65 3. Make sure "./netris" works properly
66 4. Copy "./netris" to the appropriate public directory
67
68 Try "./Configure -h" for more options
69
70
71 RUNNING
72 =======
73 To start a two-player game, do the following:
74  1. Player 1 types "netris -w".  This means "wait for challenge".
75  2. Player 2 types "netris -c <host>" where <host> is the hostname
76     of Player 1.  This means "challenge".
77
78 To start a one-player game, run netris with no parameters.
79 One-player mode is a tad boring at the moment, because it never
80 gets any faster, and there's no scoring.  This will be rectified
81 at some point.  For now, use the "f" key (by default) to make the
82 game go faster.  Speedups cannot be reversed for the remainder of
83 the game.
84
85 Unlike standard T*tris, Netris gives you a little extra time after
86 dropping a piece before it solidifies.  This allows you to slide the
87 piece into a notch without waiting for it to fall the whole way down.
88 In fact, if you can even slide it off a cliff and it'll start falling
89 again.  If you think it should automatically drop again in this case,
90 use the -D option.
91
92 The keys are:
93  'j'    left
94  'k'    rotate
95  'l'    right
96  Space  drop
97  'm'    down faster
98  's'    toggle spying on the other player
99  'p'    pause
100  'f'    make game faster (irreversable)
101  Ctrl-L redraw the screen
102
103 To see usage information, type "netris -h".
104 To see distribution/warranty information, type "netris -H".
105 To see the rules, type "netris -R".
106 To use a port number other than the default, use the -p option.
107
108 You can remap the keys with "-k <keys>", where <keys> is a string
109 containing the keys in the order listed above.  The default is:
110     netris -k "jkl mspf^l"
111
112 You needn't specify all of the keys, for example -k "asd" will only
113 change the main three keys.  "^x" notation can be used for control
114 characters.
115
116 The "m" key moves the falling piece down one block, in addition to the
117 usual step-down timer.  Use this in repetition when "drop" would go
118 too far but you don't want to wait for the piece of fall.
119
120
121 RUMORS
122 ======
123 At some point I may implement a server that Netris players can connect
124 to to find other players with similar skill across the globe.
125
126 This version at least partially supports robots.  A rough description
127 of the protocol is in "robot_desc", and a sample robot is in sr.c.
128
129 The source code should be viewed with tab stops set every 4 columns,
130 eg, "less -x4 game.c".
131
132 # vi: tw=70 ai