2 Elite tools for the discerning player
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.)
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
23 * If you can't build `pkgIndex.tcl', run `tclsh' and say
25 % pkg_mkIndex -verbose -direct . elite.so elite.tcl
27 to it. (Use `elite.dll' if you're on Windows.) Say
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.
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.
39 * Run (say) `elite-describe lave' to check that things are set
43 2. The command-line tools
47 * a number, between 1 and 8, for one of the standard eight
50 * a `galaxy seed' of 12 hex digits (a 48-bit value), for any
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
57 A `planet-spec' is interpreted relative to some parent galaxy.
60 * a number N, for the Nth planet in the galaxy (planets are
61 numbered pseudorandomly -- this is not often a helpful
64 * a `planet seed' of 12 hex digits (a 48-bit value), for any
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;
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
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.
80 elite-describe [-g GAL] PLANET ...
82 For each PLANET, print the planet data for that PLANET. The
83 PLANETs are interpreted relative to GAL, or standard galaxy 1 if
87 elite-map [-qv] [-g GALAXY] [-d DIST] [-w WEIGHT] [-W WD,HT] [-a ASP]
90 Prints a map of (part of) a galaxy to the terminal.
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,
94 showing other planets within a box extending about DIST
95 lightyears around the PLANETs.
97 If no PLANETs are not specified, the entire galaxy is printed.
98 This is usually unhelpful.
100 The `-w' option plots a route through the listed planets,
101 highlighting the waypoints. See `elite-path' for the possible
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.)
113 The `-q' and `-v' options allow optional suppression of the key
114 below the map. The defaults are as follows:
116 * A galactic map shows no key.
118 * A route map (with the `-w' option) shows the waypoints
119 (named PLANETs) and the planets on the path.
121 * An area map (around named planets) shows the names of all
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'.
128 The size of the map may be controlled by the -W option -- set WD
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
138 elite-path [-g GALAXY] [-w WEIGHT] PLANET PLANET ...
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
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
151 hops Minimize number of hops. This is the default.
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.
157 encounters The opposite of `safety' -- minimizes stability
158 of planets in the route. Useful if you want to
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
166 fuel Minimize absolute distance. For those on a
170 elite-reach [-d DIST] [GALAXY ...]
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
179 elite-find [-g GALAXY] [EXPR]
181 Without EXPR, simply prints summary information for each planet
182 in GALAXY (default standard 1).
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
189 name The planet name, with initial capital letter.
191 x, y X and Y coordinates, from top left, in
194 economy From 0 (rich industrial) to 7 (poor
197 government From 0 (anarchy) to 7 (corporate state).
199 techlevel From 1 to 15.
201 radius In kilometres.
203 productivity In millions of credits.
205 population In hundreds of millions.
207 inhabitants A Tcl list of words describing the inhabitants.
209 description As a Tcl list of words.
212 elite-pairs [-g GALAXY] [-d DIST] AEXPR BEXPR
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.
219 The expressions AEXPR and BEXPR may use the same variables as
220 for elite-find. In addition, BEXPR may use
222 d The distance between planets A and B.
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.
229 elite-prices [-g GALAXY] [-s SORT] [FROM TO]
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.
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.
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.
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).
247 3. The graphical editor
249 elite-editor [GALAXY | FILE]
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.
254 I'll not go into excruciating detail about how to work the
255 program. It's fairly simple, really.
257 The map view lets you colour-code planets according to
258 techlevel, government or economy. The colours ought to be as
261 Colour Government Economy Techlevel
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
272 The connectivity map shows how you can get around the galaxy
273 using hops of up to 7 light years.
275 Planet names are unhelpful except at small scales. The
276 placement algorithm could do with a lot of work.
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.)
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.
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.
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.
301 The commander editor should be self-explanatory, but maybe a few
302 pointers might be helpful.
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.
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.
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
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.
339 $Id: README,v 1.3 2003/02/26 01:12:30 mdw Exp $