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 WD,HT] [-a ASP] [PLANET]
89 Prints a map of (part of) a galaxy to the terminal.
91 If PLANET is specified (which it usually is), a map of the area
92 around PLANET in GALAXY (default standard galaxy 1) is printed,
93 showing other planets within DIST lightyears (default 7) of
96 If PLANET is not specified, the entire galaxy is printed. This
99 Planets are shown as numbers or letters. The home PLANET is
100 shown as a `*'. Below the map is printed a key describing the
101 planets in a strict left-to-right top-to-bottom order.
103 The size of the map may be controlled by the -w option -- set WD
104 to the maximum allowable width, and HT to the maximum allowable
105 height (in columns and rows, respectively). The map will be
106 scaled so as to fit. The -a option sets the aspect ratio of
107 your characters, height to width (the default is about 2, and
108 seems right for viewing in an xterm with the standard fixed
112 elite-path [-g GALAXY] [-w WEIGHT] PLANET PLANET ...
114 Computes a route through a GALAXY (default is standard galaxy
115 1), starting at the first PLANET listed, via the second, via the
116 third, etc., and ending at the last. For each planet you're
117 meant to stop at on the way, a summary line is printed giving
118 the planet's name, position, government type, economy type and
121 You can affect how elite-path selects its routes using the `-w'
122 option. The default is to minimize the number of hops. Other
125 hops Minimize number of hops. This is the default.
127 safety Maximize stability of the planets in the route,
128 to attempt to improve safety. Useful during the
129 early stages of the game.
131 encounters The opposite of `safety' -- minimizes stability
132 of planets in the route. Useful if you want to
135 trading Maximize the difference in economy type between
136 successive planets in the route. This should
137 give you an opportunity to make a good profit as
140 fuel Minimize absolute distance. For those on a
144 elite-reach [-d DIST] [GALAXY ...]
146 For each GALAXY (default is the 8 standard ones), print summary
147 information for each planet, with blank lines separating
148 disconnected groups of planets, i.e., groups where a ship
149 capable of travelling DIST lightyears (default 7) can't get from
153 elite-find [-g GALAXY] [EXPR]
155 Without EXPR, simply prints summary information for each planet
156 in GALAXY (default standard 1).
158 If EXPR is specified, it must be a Tcl expression (as for the
159 `expr' command). Information is printed for each planet for
160 which EXPR returns nonzero. The EXPR may use the following
163 name The planet name, with initial capital letter.
165 x, y X and Y coordinates, from top left, in
168 economy From 0 (rich industrial) to 7 (poor
171 government From 0 (anarchy) to 7 (corporate state).
173 techlevel From 1 to 15.
175 radius In kilometres.
177 productivity In millions of credits.
179 population In hundreds of millions.
181 inhabitants A Tcl list of words describing the inhabitants.
183 description As a Tcl list of words.
186 elite-pairs [-g GALAXY] [-d DIST] AEXPR BEXPR
188 Prints the names of pairs of planets A and B in GALAXY (default
189 standard 1), no further than DIST (default 7) lightyears apart,
190 such that AEXPR returns nonzero for planet A and BEXPR returns
191 nonzero for planet B.
193 The expressions AEXPR and BEXPR may use the same variables as
194 for elite-find. In addition, BEXPR may use
196 d The distance between planets A and B.
198 a An array containing the information about planet
199 A. The indices have the same names and meanings
200 as the variables described above.
203 3. The graphical editor
205 elite-editor [GALAXY | FILE]
207 Starts the RIGHT ON COMMAND-LINE Commander Editor and Map. This
208 is a Tk program -- you'll need that installed to run it.
210 I'll not go into excruciating detail about how to work the
211 program. It's fairly simple, really.
213 The map view lets you colour-code planets according to
214 techlevel, government or economy. The colours ought to be as
217 Colour Government Economy Techlevel
219 Red Anarchy Poor agri 1
220 Orange Feudal Average agri 2 or 3
221 Yellow Multi-gov Rich agri 4 or 5
222 Green Dictatorship Mainly agri 6 or 7
223 Blue Communist Mainly indust 8 or 9
224 Magenta Confederacy Poor indust 10 or 11
225 Violet Democracy Average indust 12 or 13
226 White Corporate Rich indust 14 or 15
228 The connectivity map shows how you can get around the galaxy
229 using hops of up to 7 light years.
231 Planet names are unhelpful except at small scales. The
232 placement algorithm could do with a lot of work.
234 Clicking on the map with button 1 (usually the left one) sets
235 the destination world, marked with an orange cross. Clicking
236 with button 3 (usually the right one) sets the home world,
237 marked with a red cross, and with a green hyperspace-range
238 circle around it. (The circle doesn't actually correspond
239 exactly with hyperspace reachability, because there are rounding
240 errors in the distance computation. ROCL correctly emulates the
241 rounding errors from the original game.)
243 Double-clicking opens a window showing information about a
244 planet. Two info windows can be open at any time, one for the
245 home world and one for the destination.
247 The bar along the bottom of the map window shows the names of
248 the home and destination worlds, and the distance between them.
249 You can type new names (or any old planet spec) into either to
250 select different planets. The change will take place when you
251 press return or when the input focus moves.
253 The `Compute path' lets you do the same kinds of computations as
254 the elite-path tool. It plots a route from the home to the
255 destination. The path is shown in orange on the map.
257 The commander editor should be self-explanatory, but maybe a few
258 pointers might be helpful.
260 The entry fields for items with pop-up menus are disabled when
261 the menus show values other than `Custom', so you must first
262 choose `Custom' from the menu if you want a fancy value.
264 The `Show galaxy map' button opens a map which will be tied to
265 the commander window. When you select a home world (button 3),
266 this will set the world where the commander will start. Note
267 that the market prices (in the `Cargo' window) update
268 automatically as you move about the universe. It is quite
269 possible to travel about entirely new universes by turning off
270 the `Standard galaxy' button and typing some hex number into the
271 `Galaxy seed' box. All of the ROCL tools work in these custom
272 universes. Note that your docked planet is recorded as an x, y
273 coordinate pair, so Elite can't tell which of two coincident
274 planets you're docked at (yes, there are such pairs). ROCL
275 won't cope with this at the moment.
277 Lasers are a bit odd. Bit 7 is a `rapid-fire' bit. It doesn't
278 affect the strength of the laser, but means that there's no
279 delay between shots. The low 7 bits control the strength, but
280 without the rapid-fire bit, powerful lasers will tend to fire
281 more slowly than weak ones. Some comparisons in the program are
282 for exact laser power: you can't damage the Constrictor or
283 Cougar ships unless you have military (or 0x17 slow-firing)
284 lasers; and you can't fragment asteroids unless you have mining
285 or 0xb2 rapid-fire lasers. (The 0xb2's pack a serious punch. I
286 recommend them as an upgrade for commanders who don't wish to
289 $Id: README,v 1.2 2003/02/25 00:25:38 mdw Exp $