-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmoon-buggy.info
More file actions
283 lines (211 loc) · 10 KB
/
moon-buggy.info
File metadata and controls
283 lines (211 loc) · 10 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
This is moon-buggy.info, produced by makeinfo version 4.0 from
moon-buggy.texi.
INFO-DIR-SECTION Games
START-INFO-DIR-ENTRY
* moon-buggy: (moon-buggy). Drive some car across the moon
END-INFO-DIR-ENTRY
This file documents moon-buggy, a simple character graphics game
Copyright 1999, 2000 Jochen Voss
Permission is granted to make and distribute verbatim copies of this
manual provided the copyright notice and this permission notice are
preserved on all copies.
Permission is granted to copy and distribute modified versions of
this manual under the conditions for verbatim copying, provided that the
entire resulting derived work is distributed under the terms of a
permission notice identical to this one.
Permission is granted to copy and distribute translations of this
manual into another language, under the above conditions for modified
versions, except that this permission notice may be stated in a
translation approved by the Free Software Foundation.
File: moon-buggy.info, Node: Top, Next: Introduction, Prev: (dir), Up: (dir)
Moon-buggy is a simple character graphics game, where you drive some
kind of car across the moon's surface. Unfortunately there are
dangerous craters there. Fortunately your car can jump over them!
This edition (last updated 1 November 2000) of the manual applies to
version 0.5.52 of the program.
* Menu:
* Introduction:: Introduction
* Moon-buggy Invocation:: Moon-buggy Invocation
* Playing the Game:: Keyboard commands
* Shared Score Files:: Competition via the highscore table
* Installation:: Installation and setup
* References:: References
File: moon-buggy.info, Node: Introduction, Next: Moon-buggy Invocation, Prev: Top, Up: Top
Introduction
************
Moon-buggy is a simple character graphics game, where you drive some
kind of car across the moon's surface. Unfortunately there are
dangerous craters there. Fortunately your car can jump over them!
Moon-Buggy comes with no warranty, to the extent permitted by law.
You may redistribute copies of Moon-Buggy under the terms of the GNU
General Public License. For more information about these matters, read
the file `COPYING' of the source code distribution or press <c> at
moon-buggy's title screen.
Please mail any suggestions and bug reports to
<voss@mathematik.uni-kl.de>. Your message should include the
moon-buggy version number, as obtained by the command `moon-buggy -V'.
New versions of Moon-buggy may be found on the sunsite ftp server or
on the moon-buggy download page (*note References::).
File: moon-buggy.info, Node: Moon-buggy Invocation, Next: Playing the Game, Prev: Introduction, Up: Top
Moon-buggy Invocation
*********************
Normal usage is to start `moon-buggy' without any options.
Nevertheless there are some. The long options (starting with `--') are
only supported on some system types.
`-h'
`--help'
shows a short usage message.
`-m'
`--mesg'
disable write access to your terminal by other users, so your chef
can't disturb your game play with the help of "write" or "finger".
`-n'
`--no-title'
skips the title screen.
`-s'
`--show-scores'
shows the current highscore list and exits.
`-V'
`--version'
prints the program's version to standard output and exits.
File: moon-buggy.info, Node: Playing the Game, Next: Shared Score Files, Prev: Moon-buggy Invocation, Up: Top
Playing the Game
****************
The game is controlled by a couple of keys, which are described near
the bottom of the screen. Most important are the following keys.
<SPC>
<j>
makes your car jump. The length of a jump is fixed and you can
only start a new jump while the wheels have contact to the ground.
<a>
<l>
fires the mining laser. The laser is used to remove stones, which
may block your way.
<q>
quits the game prematurely. But you still keep your score and may
enter the highscore list.
Moon-buggy can handle a wide range of screen sizes. But it runs best
if the screen has at least 80 columns. If you run it on a screen with
significantly less columns it may look strange and could be hard to
play.
File: moon-buggy.info, Node: Shared Score Files, Next: Installation, Prev: Playing the Game, Up: Top
Shared Score Files
******************
Moon-buggy has two concepts of score files: the "global score file"
is located somewhere in the installation directories and is shared
between all players. The exact place in the file system can be
controlled via `configure''s `--sharedstatedir' option. This highscore
file is used whenever Moon-buggy has the permissions to access it.
Otherwise the "local score file" is used. This file is located in the
user's home directory, the file name is `.mbscore'. Thus, the local
score file is not shared between different accounts.
As the game is much more fun, when players can compete for the
highest scores, the global score file should be writable for the
moon-buggy program (but not for the user's text editor). Here is a
list of possible policies:
1. The preferred solution is to make moon-buggy a setgid program.
This means the following: you choose a group ID, which cannot be
used by ordinary users, and allow only members of this group to
write the score file. Many systems have a group `games' for this
purpose (Check your `/etc/group' file). You make this group own
the `moon-buggy' executable and set the file's setgid bit. This
bit gives moon-buggy its file groups's access permissions and so
the program is able to access the score file.
You can use `configure''s `--with-setgid' option (*note
Installation::) to properly set up access permissions for this
model.
2. You could make moon-buggy a setuid program but for security
reasons this is not recommended. The file `SECURITY' from the
bsd-games distribution (*note References::) has some informations
about this topic.
3. Another solution is to make the score file world writable. But
then you have to trust your players: every player may open the
score file with his favourite text editor and change it freely.
So this is not recommended, too.
4. Finally you could do nothing. Then every account uses its local
score file.
File: moon-buggy.info, Node: Installation, Next: References, Prev: Shared Score Files, Up: Top
Installation
************
Moon-buggy requires the curses library as a prerequisite. If curses
is not installed on your system, you may use the free ncurses package
(*note References::). The game does not work with BSD curses, thus on
BSD systems you will need the ncurses package.
When you unpack the moon-buggy distribution, you get one directory,
which holds all the source files and the documentation. Generic
installation instructions are in the file `INSTALL'. There are some
points of interest:
* By default, the program will be installed as
`/usr/local/bin/moon-buggy'. You can specify an installation
prefix other than `/usr/local' by giving `configure' the
`--prefix=PATH' option.
* You can choose the score file's location via `configure''s
`--sharedstatedir=DIR' option. The score file then will be
`DIR/moonbuggy/mbscore'. On GNU/Linux systems you should use
--sharedstatedir=/var/games
to comply with the Filesystem Hierarchy Standard (*note
References::).
* Moon-buggy supports shared score files. For details, see *Note
Shared Score Files::. As explained there, you may want to make
moon-buggy a setgid program. This can be done with the
`--with-setgid' option. If you use
--with-setgid=games
then the installation process arranges everything for setgid usage.
*Caution*: this introduces potential security risks. I tried to
minimise these, but nevertheless be careful with this. And
remember: moon-buggy comes with no warranty.
* If your version of the curses library is not autodetected, you
have to use some of the `--with-curses-includedir',
`--with-curses-header', and `--with-curses-libs' options. For
example you should use
--with-curses-includedir=/usr/pkg/include
if your curses header files are in `/usr/pkg/include/'. You may
use
--with-curses-header="<mycurses.h>"
if your curses header is called `mycurses.h'. And you may use
--with-curses-libs="-L/usr/pkg/lib -lncurses"
if your curses library is called `ncurses.a' and is located in
`/usr/pkg/lib/'.
Example: On GNU/Linux systems you probably can use the following
commands. For the last one you need root user permissions.
./configure --sharedstatedir=/var/games --with-setgid=games
make
make install
File: moon-buggy.info, Node: References, Prev: Installation, Up: Top
References
**********
This chapter gives some references to resources mentioned in the
manual. As the internet changes incessantly, the addresses below may be
outdated. If you find this to happen, please report it as a bug.
The latest version of *Moon-buggy* may be found on the sunsite
archive in the directory
<ftp://sunsite.unc.edu/pub/linux/games/arcade/>.
I provide a *moon-buggy download page*, which is located at
<http://www.mathematik.uni-kl.de/~wwwstoch/voss/moon-buggy.html>.
Version 2.0 of the *Filesystem Hierarchy Standard* (FHS 2.0) may be
found on the internet at
<ftp://sunsite.unc.edu/pub/linux/docs/fhs/fhs-2.0.tar.gz>.
The *ncurses* package can be found on the GNU project's ftp server
and its mirrors. The original site is
<ftp://prep.ai.mit.edu/pub/gnu/ncurses/ncurses-4.2.tar.gz>.
Hints about *security concerns* may be found in the file `SECURITY'
from the bsd-games package. One location where to find it is
<ftp://sunsite.unc.edu/pub/linux/games/bsd-games-2.7.tar.gz>.
Tag Table:
Node: Top988
Node: Introduction1705
Node: Moon-buggy Invocation2651
Node: Playing the Game3388
Node: Shared Score Files4264
Node: Installation6416
Node: References8933
End Tag Table