chiark / gitweb /
Fix `ave-' to `avg-' in economy names. What was I thinking?
[rocl] / README
CommitLineData
1304202a 1RIGHT ON COMMAND-LINE
2 Elite tools for the discerning player
3
41. Installation
5
6 You need a C compiler and a working Tcl/Tk installation. (The
7 elite-editor program needs Tk; the rest of the tools don't.)
8 The Makefile works on my Debian GNU/Linux box, but I'm not
9 making any promises about anyone else's. I've successfully
10 built earlier versions of everything under Cygwin, against
11 ActiveState's Tcl 8.4, but I've forgotten the Holy Runes. I do
12 have the `.def' file I used to build the DLL, though, for
13 whatever that's worth. (If you want to hack the Makefile to
14 work under Windows, I'll take a patch.)
15
16 The theory is that you should edit the Makefile for your system
17 and say `make'; then, as some suitably privileged person, say
18 `make install' and stand well back. Everything should then be
19 installed.
20
21 In practice:
22
23 * If you can't build `pkgIndex.tcl', run `tclsh' and say
24
25 % pkg_mkIndex -verbose -direct . elite.so elite.tcl
26
27 to it. (Use `elite.dll' if you're on Windows.) Say
28
29 % set tcl_pkgPath
30
31 to see a list of suitable places for putting the kit. Pick
32 one. The directory `/usr/local/lib' appears in my
33 installation, so that's what I use.
34
35 * Make a subdirectory in the place you chose, and copy
36 `elite.so', `elite.tcl' and `pkgIndex.tcl' into it. All
37 should now be hunky-dory.
38
39 * Run (say) `elite-describe lave' to check that things are set
40 up properly.
41
42
432. The command-line tools
44
45 A `galaxy-spec' is
46
47 * a number, between 1 and 8, for one of the standard eight
48 galaxies;
49
50 * a `galaxy seed' of 12 hex digits (a 48-bit value), for any
51 arbitrary galaxy; or
52
53 * a string `SEED:N' where SEED is a galaxy seed and N is a
54 number between 1 and 8, for the Nth galaxy in some custom
55 universe.
56
57 A `planet-spec' is interpreted relative to some parent galaxy.
58 It may be
59
60 * a number N, for the Nth planet in the galaxy (planets are
61 numbered pseudorandomly -- this is not often a helpful
62 option);
63
64 * a `planet seed' of 12 hex digits (a 48-bit value), for any
65 arbitrary planet;
66
67 * a pair of numbers `X,Y', for the planet nearest the point X
68 decilightyears rightwards and T decilightyears down from the
69 top left of the galaxy;
70
71 * a glob pattern (a string containing `*' and `?' wildcards,
72 matching any substring or any single character,
73 respectively), for the first planet whose name matches the
74 pattern; or
75
76 * a string `GAL:P', where GAL is a galaxy-spec and P is a
77 planet-spec, for the planet P in galaxy GAL.
78
79
80 elite-describe [-g GAL] PLANET ...
81
82 For each PLANET, print the planet data for that PLANET. The
83 PLANETs are interpreted relative to GAL, or standard galaxy 1 if
84 GAL is not specified.
85
86
8e91ba5d 87 elite-map [-qv] [-g GALAXY] [-d DIST] [-w WEIGHT] [-W WD,HT] [-a ASP]
88 [PLANET ...]
1304202a 89
90 Prints a map of (part of) a galaxy to the terminal.
91
92 If PLANET is specified (which it usually is), a map of the area
93 around PLANET in GALAXY (default standard galaxy 1) is printed,
8e91ba5d 94 showing other planets within a box extending about DIST
95 lightyears around the PLANETs.
1304202a 96
8e91ba5d 97 If no PLANETs are not specified, the entire galaxy is printed.
98 This is usually unhelpful.
1304202a 99
8e91ba5d 100 The `-w' option plots a route through the listed planets,
101 highlighting the waypoints. See `elite-path' for the possible
102 weightings.
1304202a 103
8e91ba5d 104 Planets are shown as numbers or letters (or, occasionally a
105 sequence of letters). If there is only one PLANET, it is shown
106 as a `*'; otherwise, they're labelled `*0', `*1', etc. Planets
107 on the path are labelled `+0', `+1', ..., in the order you're
108 meant to visit them. (Note that if the path doubles back on
109 itself, the planets involved /won't/ be listed twice. Use
110 `elite-path' for a full guide on where to go, and `elite-map' to
111 visualize the route.)
112
113 The `-q' and `-v' options allow optional suppression of the key
114 below the map. The defaults are as follows:
115
116 * A galactic map shows no key.
117
118 * A route map (with the `-w' option) shows the waypoints
119 (named PLANETs) and the planets on the path.
120
121 * An area map (around named planets) shows the names of all
122 planets shown.
123
124 The key can be made more verbose by giving the `-v' option, or
125 less verbose by `-q'. Note that the options parser is currently
126 really shoddy, and won't let you say things like `-qqq'.
127
128 The size of the map may be controlled by the -W option -- set WD
1304202a 129 to the maximum allowable width, and HT to the maximum allowable
130 height (in columns and rows, respectively). The map will be
131 scaled so as to fit. The -a option sets the aspect ratio of
132 your characters, height to width (the default is about 2, and
133 seems right for viewing in an xterm with the standard fixed
134 font).
135
136
8e91ba5d 137
1304202a 138 elite-path [-g GALAXY] [-w WEIGHT] PLANET PLANET ...
139
140 Computes a route through a GALAXY (default is standard galaxy
141 1), starting at the first PLANET listed, via the second, via the
142 third, etc., and ending at the last. For each planet you're
143 meant to stop at on the way, a summary line is printed giving
144 the planet's name, position, government type, economy type and
145 tech level.
146
147 You can affect how elite-path selects its routes using the `-w'
148 option. The default is to minimize the number of hops. Other
149 possibilities are:
150
151 hops Minimize number of hops. This is the default.
152
153 safety Maximize stability of the planets in the route,
154 to attempt to improve safety. Useful during the
155 early stages of the game.
156
157 encounters The opposite of `safety' -- minimizes stability
158 of planets in the route. Useful if you want to
159 maximize kills.
160
161 trading Maximize the difference in economy type between
162 successive planets in the route. This should
163 give you an opportunity to make a good profit as
164 you go.
165
166 fuel Minimize absolute distance. For those on a
167 tight budget.
168
169
170 elite-reach [-d DIST] [GALAXY ...]
171
172 For each GALAXY (default is the 8 standard ones), print summary
173 information for each planet, with blank lines separating
174 disconnected groups of planets, i.e., groups where a ship
175 capable of travelling DIST lightyears (default 7) can't get from
176 one to the other.
177
178
179 elite-find [-g GALAXY] [EXPR]
180
181 Without EXPR, simply prints summary information for each planet
182 in GALAXY (default standard 1).
183
184 If EXPR is specified, it must be a Tcl expression (as for the
185 `expr' command). Information is printed for each planet for
186 which EXPR returns nonzero. The EXPR may use the following
187 variables:
188
189 name The planet name, with initial capital letter.
190
191 x, y X and Y coordinates, from top left, in
192 decilightyears.
193
194 economy From 0 (rich industrial) to 7 (poor
195 agricultural).
196
197 government From 0 (anarchy) to 7 (corporate state).
198
199 techlevel From 1 to 15.
200
201 radius In kilometres.
202
203 productivity In millions of credits.
204
205 population In hundreds of millions.
206
207 inhabitants A Tcl list of words describing the inhabitants.
208
209 description As a Tcl list of words.
210
211
212 elite-pairs [-g GALAXY] [-d DIST] AEXPR BEXPR
213
214 Prints the names of pairs of planets A and B in GALAXY (default
215 standard 1), no further than DIST (default 7) lightyears apart,
216 such that AEXPR returns nonzero for planet A and BEXPR returns
217 nonzero for planet B.
218
219 The expressions AEXPR and BEXPR may use the same variables as
220 for elite-find. In addition, BEXPR may use
221
222 d The distance between planets A and B.
223
224 a An array containing the information about planet
225 A. The indices have the same names and meanings
226 as the variables described above.
227
228
8e91ba5d 229 elite-prices [-g GALAXY] [-s SORT] [FROM TO]
230
231 Shows minimum, average and maximum profit (in that order, in
232 credits per unit) for the various commodities, starting at one
233 kind of world and ending at another.
234
235 By default, the commodities are listed in standard order, and
236 the profits are computed going from a poor agricultural world to
237 a rich industrial one.
238
239 You can change the worlds under consideration by typing a pair
240 of planet-specs or economy types (as printed by `elite-find').
241 Any planet-specs are obviously taken relative to GALAXY.
242
243 The SORT parameter may be one of `min', `max', or `avg' to sort
244 by minimum, maximum or average profit (highest at the top).
245
246
1304202a 2473. The graphical editor
248
249 elite-editor [GALAXY | FILE]
250
251 Starts the RIGHT ON COMMAND-LINE Commander Editor and Map. This
252 is a Tk program -- you'll need that installed to run it.
253
254 I'll not go into excruciating detail about how to work the
255 program. It's fairly simple, really.
256
257 The map view lets you colour-code planets according to
258 techlevel, government or economy. The colours ought to be as
259 follows:
260
261 Colour Government Economy Techlevel
262
263 Red Anarchy Poor agri 1
264 Orange Feudal Average agri 2 or 3
265 Yellow Multi-gov Rich agri 4 or 5
266 Green Dictatorship Mainly agri 6 or 7
267 Blue Communist Mainly indust 8 or 9
268 Magenta Confederacy Poor indust 10 or 11
269 Violet Democracy Average indust 12 or 13
270 White Corporate Rich indust 14 or 15
271
272 The connectivity map shows how you can get around the galaxy
273 using hops of up to 7 light years.
274
275 Planet names are unhelpful except at small scales. The
276 placement algorithm could do with a lot of work.
277
278 Clicking on the map with button 1 (usually the left one) sets
279 the destination world, marked with an orange cross. Clicking
280 with button 3 (usually the right one) sets the home world,
281 marked with a red cross, and with a green hyperspace-range
282 circle around it. (The circle doesn't actually correspond
283 exactly with hyperspace reachability, because there are rounding
284 errors in the distance computation. ROCL correctly emulates the
285 rounding errors from the original game.)
286
287 Double-clicking opens a window showing information about a
288 planet. Two info windows can be open at any time, one for the
289 home world and one for the destination.
290
291 The bar along the bottom of the map window shows the names of
292 the home and destination worlds, and the distance between them.
293 You can type new names (or any old planet spec) into either to
294 select different planets. The change will take place when you
295 press return or when the input focus moves.
296
297 The `Compute path' lets you do the same kinds of computations as
298 the elite-path tool. It plots a route from the home to the
299 destination. The path is shown in orange on the map.
300
301 The commander editor should be self-explanatory, but maybe a few
302 pointers might be helpful.
303
304 The entry fields for items with pop-up menus are disabled when
305 the menus show values other than `Custom', so you must first
306 choose `Custom' from the menu if you want a fancy value.
307
308 The `Show galaxy map' button opens a map which will be tied to
309 the commander window. When you select a home world (button 3),
310 this will set the world where the commander will start. Note
311 that the market prices (in the `Cargo' window) update
312 automatically as you move about the universe. It is quite
313 possible to travel about entirely new universes by turning off
314 the `Standard galaxy' button and typing some hex number into the
315 `Galaxy seed' box. All of the ROCL tools work in these custom
316 universes. Note that your docked planet is recorded as an x, y
317 coordinate pair, so Elite can't tell which of two coincident
318 planets you're docked at (yes, there are such pairs). ROCL
319 won't cope with this at the moment.
320
321 Lasers are a bit odd. Bit 7 is a `rapid-fire' bit. It doesn't
322 affect the strength of the laser, but means that there's no
323 delay between shots. The low 7 bits control the strength, but
324 without the rapid-fire bit, powerful lasers will tend to fire
325 more slowly than weak ones. Some comparisons in the program are
326 for exact laser power: you can't damage the Constrictor or
327 Cougar ships unless you have military (or 0x17 slow-firing)
328 lasers; and you can't fragment asteroids unless you have mining
329 or 0xb2 rapid-fire lasers. (The 0xb2's pack a serious punch. I
330 recommend them as an upgrade for commanders who don't wish to
331 cheat completely.)
332
8e91ba5d 333 One suggestion I've heard of, if Elite is too easy, is to start
334 at Lave (as usual), with no money, lasers, missiles, or fuel.
335 You can get your first money by ramming asteroids (easy but
336 unrewarding) or pirates (risky and tedious), and start trading
337 food and other cheap items.
338
339$Id: README,v 1.3 2003/02/26 01:12:30 mdw Exp $
1304202a 340\f
341Local variables:
342mode: text
343End: