Starflight Userlog Entry

Date: Wed Feb 5 20:34:33 MST 1997
From: T. C. Lee

I just found your site, and I'm thrilled that Starflight is still popular.

Best Regards,
T. C. Lee

Date: Tue Feb 11 16:15:17 MST 1997
From: T.C. Lee
TO: Ryan Lindeman and other game developers

RE: Making the next generation 'Starflight'

I read your comments and wanted to pass on some advice and wish you the best on your game plans.

Moving 'Starflight' to the internet is a natural progression from the stand-alone version. This is the correct focus for the next version.

The games that inspired me to make a game like 'Starflight' were two network space games I used to play on the U. of I. 'Plato' system: 'Empire' and 'Spasim' (Space Simulation). Those games were so compelling -- I used to stay up all night in the Education building playing in the glow of the plasma panel displays. Even though the graphics weren't much by today's standards the interaction with human players grabbed you and held you.

Many people have commented on the depth and sense of adventure in 'Starflight'. I have my own opinion on that but it is important to know that 'Starflight' is the combined product of five major individuals and many supporting people.

From a philosophical perspective, 'Starflight' carries with it the stamp of its makers, being a blend of these contradictory elements: nominalism, Pragmatism, mysticism, Skepticism and Objectivism.

For my part, I attribute the sense of depth and freedom in 'Starflight' to two main things:

  1. A conceptual epistemology.
  2. A Romantic aesthetic.

If you're interested you can learn more about epistemology and aesthetics from books, here are two to get you started: 'The Romantic Manifesto' and 'An Introduction To Objectivist Epistemology', both by Ayn Rand.

There are a few technical items I wanted to pass on:

1) If you want to project the sense that there is a universe in the game you have to put objects there, not just pictures of objects. But avoid 'object-oriented programming' and 'C++' like the plague: instead, develop abstract data types for the things in the game and a system for organizing them.

2) Concerning programming languages, the original 'Starflight' was written in 'Forth' and assembly language, an extremely flexible, fast and compact solution.

I dearly love 'Forth' but I use 'C' these days because of its clean support for data structures and especially because it makes explicit the distinction between operator and operand by enclosing function parameters within parentheses.

Looking over 'Forth' or 'PostScript' source code it is difficult to know what is data and what is procedure: it's all strung together without delimiting punctuation. The ideal language would be 'Forth' with 'C'-like procedure calls and data structures sitting on top. Forth is extensible so an industrious programmer could add those features.

The excellent habit of mind that 'Forth' fosters is that of factoring or unit reduction. One strives always to find the one-in-the-many, the common function that can be factored out and used everywhere by calling it. This approach isn't unique to 'Forth' but since 'Forth' syntax tends to overload the mind it heightens the need to simplify.

3) Game builders, in dealing with publishers it is of primary importance that you deal with an honest one. Also make certain that you pin your royalties to an objective standard like percentage of gross sales rather than net sales which the publisher is free to imagine at will. It will pay you very well to get a first rate lawyer to review your contract before you sign it.

Maybe you'd like to build a game like 'Starflight' but are afraid that you don't have what it takes. Keep in mind that five motivated guys worked full time for three years to build 'Starflight' and that you experienced the result in a fraction of that time. The mental impact is magnified by the compression of fifteen man-years of production into a few weeks of consumption. On our time scale what we did was nothing superhuman, but from your perspective it might seem that way.

Well, that's all I wanted to say except that I look forward to someday logging on to the internet and starting to play a grand game, a game breath-taking in scope written by a mind that learned to read by playing 'Starflight'.

To the best that is in you,

T.C. Lee

From: TIM LEE []
Sent: July 21, 1999 1:37 PM
Subject: Starflight related files

Hi Lorin,

Attached are two files that may be helpful for people making games like Starflight, one on how to make design docs and the other on how to organize them.

I also have the original Starflight design docs and some of the source code if you're interested.

Thanks for all you help in keeping the Starflight flame burning brightly!

Best Regards,


From: TIM LEE []
Sent: July 21, 1999 6:26 PM
Subject: RE: Starflight related files

Hi Lorin,

Attached are several of the design files and one big source code file, 'disys.txt', that was used in the production of Starflight. You're free to publish them as you see fit.

The source code in 'disys.txt' is typical of the whole product and doesn't represent good style by today's standards. The code was shaped largely by the tools we had available and our inexperience.

But we did do a good job of organizing our design documents. Design documents were stamped with a serial number and held in three-ring binders so that programmers could access them easily. I still have all this material and would be happy to make copies available.

Please let me know if you have any questions about the making of Starflight, I'm always happy to pass on what I know.

Best Regards,
T.C. Lee

Back to the Starflight page...