Atlas of Starflight 1

David Ross ("Zimriel"), 19 April - 7 May 2008


The Starflight games by "Binary Systems" in 1986 are excellent works of science fiction, surpassed to this day only in the superficial matter of graphics. The game engine even now offers surprises to players. If you wish to play these games, I suggest to go find a copy - and then quit reading what follows, because there are SERIOUS spoilers below.


The Planet-Type Key

Starflight (and its sequel - with which I deal here) was written in FORTH and assembler, designed to run on a FORTH interpreter compiled for what were then called "IBM clones". This program generates the layout of its planets through a numeric planet-type. Your favourite hex editor may find the table of planet types in STARB.COM between offsets 27106-2763B (with a hiccup at 273F2-273FF). Each row is a 22-byte array with 8 bits to the byte (so, ranging 0-"FF", 255 in our Base Ten). Types 1-17 are generic, keyed only to appearance in the viewport. Types 18-60 are special; the planet has a special landscape (18, Earth; 23, Crystal), or has life and/or ruins scattered on its surface. Each special type of planet is unique; there are not two Earths, for instance.

(Disclosure here: This not-so-humble author rediscovered the planet-type table in SF2 last fall, and deciphered the relevant offsets in SF1 13 April.)

Among the essential properties of a planet type is its landscape code, a composite which the array holds at offsets 7 and 8 (offset 0 providing colour). This code is (I think) a fractal key to generate its landscape; Tim C Lee mentioned "two numbers" which perform this task.

The code for generating this fractal is only needed in orbit and on planetside. Starflight assumes that its interpreter only has a limited amount of space. The code to generate the fractal is stored in an overlay, "FRACT-OV", to be loaded only when needed. FRACT-OV lives in STARB offset 2FB90-309CC for SF1, 31240-3204F for SF2.

That each "typed" planet in the PC version of the game has an intrinsic fractal key means that each has an intrinsic geography. On the assumption that this geography ought to be taken seriously as the designers' vision for their most valued planets, a "Starflight Atlas" becomes possible, and so essential for fanfic and remake authors.

What is not to be taken seriously in Starflight is any geography for non-typed planets. Among them is, notoriously, Mars; which SF1 renders a waterworld, without even Olympus Mons breaching the surface. (Mercury and Venus are more excusable omissions; at the time SF1 was released - 1986 - our probes had mapped only half of Mercury and none of Venus.)

SF1 did not demand that a planet bear a special type in order to affect the plot. Mars is generic, as mentioned above; so is the reliquary of the Crystal Cone. Also the homeworlds of the Thrynn, Spemin, Veloxi and Gazurtoid are generic (because the game doesn't want you landing on them). Therefore this Atlas should not affect planet geographies which future parties might propose so as to support, for instance, raids on Spewta or archaeology about the Numlox. (I omit the Seeayti and Jaggn for sake of argument.)

It is also too much to ask from SF1's engine a detailed model of the planet at the terrain-vehicle level. First, there is the example of Earth. More importantly, the fractal was designed for a flat planet schema, and secondarily wrapped around a globe. (Which is why Lee was hired in the first place. c.f. Ham; "Starflight, Star Bright", Forth Dimensions 9.2, July/August 1987.) This results in badness like the ability to travel to "92N".

19-Mardan 2

20-Mardan 4

21-Phlegmak Last Stand

22-Phlegmak Homeworld

23
crystal
planet
24-New Scotland

25-Institute Base (180,120)

26-Eleran*

27-Noah 3-5? (18,50)

28-Harrison's Last Stand

29-Koann-3

30-Gazurtoid Base (68,66)

31-Arth 3

32-Near Arth

33-Colony Control

34-Heaven

35-First Wave Base

36-Lasthope

37-Elan*

38-City of the Ancients

39-Sphexi

40-Uhlek Brainworld

41-Gaal 7

42-Gaal 8

43-Akteron 6

44-MANY ancients (249,0)

45-59980CJ

46-interesting lifes #4

47-interesting lifes #5

48-34762RM

49
duplicate
of Hooplah
50-78,123 #1

51-177,11 #1

52-78964TL

53-67826AK

54-Gazurtoid guard

55-Spemin guard

56-Spemin guard

57-47298BG

58-Arth
duplicate
of Elthesh
59-'former Uhlek' in XLS (7,118)

60-4823789PR

Comments

All these worlds have atmosphere and therefore surface liquid. Blue represents room- or cryo-temperature liquid, and red represents magma. Ice worlds have liquid seas too although they are often small, more Aral than Atlantic. (As, in real life, we see on Titan.) Beyond that the "hydro"sphere is not necessarily literal hydro...

Bluish planets are ice worlds; reddish are magma worlds; greenish bear life; brownish are dead. Within a planet the colour denotes altitude above sea level - even if the seas are of lava or supercooled ethane. Green spots on a greenish map do not necessarily denote life-bearing portions of the map; a green spot might be desert.

North is defined according to axis of rotation oriented against the plane and direction of ecliptic - not necessarily direction of spin. Earth is the model. (This definition of "north" allows us to define planets like Venus which orbit against the ecliptic as retrograde - but the planet will spin relative to your orbiting ship no matter what its real rotation. We can assume SF1 has no retrograde typed planets.) We have no explanation for the prime meridian; Eleran in particular looks to have it in the wrong place. (At least in Arth we're natives and can comprehend its politics.)

I omit Earth (18) and the Crystal Planet (23). I also omit types 49 and 58. Thrynn guard type 49, it has ancient ruins on it, and the Elowan claim it as part of their "demesne"; but any relevance to SF1's plot is entirely implicit, given that no text in the game mentions this system directly. Type 58 is Arth; that planet has no impact in the plot but only in the backstory, and its surface only appears when Starport shuts down. These planets' geographies also got duplicated in SF2... which normally wouldn't be a problem (for SF1) except that its SF2 duplicates are Hooplah and Elthesh, respectively, to whose geography the Humna Humna and Gorzek refer EXplicitly. SF2 must therefore supercede SF1 in this case (refer here).

I did leave Elan and Eleran alone, despite that the Elowan refer to Elan as an "island" which it is not. Eleran is more likely to have a larger land percentage given that sentient life arose on it. So, I side with the Elowan, but I leave the maps intact.

I have labeled the maps as best I could, according to game text. I made recourse to the starflight XLS "Data Tables" in starflt.com and to the "STRINFO.doc"; also to migueletto's "instance.txt" dump. Six planets, like "34762RM", are named only by Nomad probes. Some, like the planet at 68,66, go nameless in SF1's text - but SF1 may refer to them, or else certain races may guard them for whatever purpose. I don't know why the XLS calls 7,118's planet a "former Uhlek homeworld", but the world is guarded by Uhlek fleets - go fig. I have explained my reasons for certain other labels in icc.starflight3.org's "Starflight Universe" forum.


Method

I didn't actually play the game through to all these planets. You could say I cheated.

I set a convenient planet to mimic these maps by replacing offset $166A with the planet type code. Having saved this file, I ran the game so as to create a dummy crewman and then assign him to every station; also I had to name his ship. I went to the first planet of the Arth system and set out to land on the planet. Instead of actually landing, I took a screenshot with alt-prntscrn of the surface and saved this as a PNG in Microsoft Paint. Having done this for each planet type from 19 to 60 (except 23), I then went to each PNG and cropped it: 385, 65, 35, 290. The table portion of this document was generated as an ASP.NET page in Visual Studio 2008.


Changes

19 April 2008: wrote. 7 May: transferred Elthesh, dealt with Elan/Eleran, discussed fractal. Pesky Elowan...

Return to the House of David