Saturday, August 31, 2013

SST History by Ray Yeargin

SST History http://librenix.com/sst/history.html
18:30 March 14, 2002

The following was written in response to the outcry that arose when I
announced that I would be converting the Continuum of Chaos game to a
new version of the Starship Traders (SST) software that had, up to that
time, been running only in a test game at starshiptraders.com.

It was intended to be a short explanation of my thoughts on why the SST
software should be significantly modified yet again. However, instead of
a bit of background and context, it turned into a short, but nearly
complete history of the game lineage, leading into the real argument for
change only at the end.

Czarwars/Seawars/Tsarwars/The Last Resort/Starship Traders all were
changed, improved, and, once, completely rewritten in a new language in
pursuit of a better multiuser, telnet and html-based strategy game. And
the new variant, Starship Traders II, will probably itself lead to
something else eventually. Read on for a clue as to what that might be.,


17:00 March 5, 2002

In the beginning...

It was the fall of 1986. There was a BBS in Tallahassee called "The
Eagle's Nest" that ran Chris Sherrick's version of a game inspired by
Hewlett-Packard's "Star Trader", originally published in the "People's
Book of Computer Games". Chris' version was called Trade Wars 2, a
derivative of some other author's interpretation of Star Trader. I
forget who wrote that first version of Trade Wars. I never got the
chance to play it and didn't know anyone else who had ever even seen it.

Anwyay, I discovered that text-based, single-user BBS door game, TW2,
and _really_ liked it. It had such potential, yet it was so deeply
flawed and limited -- from my perspective. I was a programmer and had a
copy of Microsoft's QuickBASIC for my 8088-based Zenith PC. I decided to
write the game that I saw struggling to get out of TW2. TW2 was played
in a 99-sector universe, and was filled with aliens, called "the Cabal"
that would harrass the players and generally prevent the kind of
human-versus-human strategy game that I envisioned. My first running
version was two months in the making, 350 sectors in size, and, I
thought, a huge improvement over TW2. But, mostly, my game was
extendable. Enlisting the help of my wife, Lynn, and my friend, Scott
Anderson, we designed new galaxies and I added them to the new Czarwars
universe. Each of these new galaxies would be unconnected to the others
and would have its own unique structure. We drew each galaxy on sheets
of construction paper from which I entered them manually via a crude map
editor function of the game. Czarwars was designed as a stand-alone
bulletin board system (BBS) which would answer the phone for each
player, let them play, and then wait on the next player. The initial
games worked well and had 30 or 40 players per day in the one and only
game. Wormholes, black holes, pulsars, starbases, and many other new
features entered via that version. Every port and planet had its own
unique name then. It seemed that naming the ~750 ports and planets was
the hardest task.

I made a variant of Czarwars called Sea Traders. Sea Traders was,
functionally, exactly the same game, but was played in an ocean filled
with ships, islands, ports, and typhoons. Everything in Czarwars had a
corresponding item in Sea Traders to do the exact same function. Some
people really liked the oceanic scenario. I didn't like it that much but
it was a lot of fun to create.

Next, I bought a BBS, PCBoard, to host the game. I converted Czarwars to
a PCBoard-compatible 'door' program that could be entered from the main
BBS. I called this new door version Tsarwars, to distinguish it from the
standalone BBS, Czarwars. Somewhere along the way, it acquired the
ability to be expanded into a 4000-sector game. The top 2000 sectors
were an exact mirror image of the bottom, right down a clone of the
planet Cosmos in sector 4000. Various other enhancements were made as
the game evolved until the summer of 1993, when we moved to a new
telephone exchange area and, consequently, lost the BBS phone number
forever. That was the end of the DOS- based Czarwars/Tsarwars BBS and
door games for me. At that point, the game was strictly a local
phenomenon, since each player had to dial directly into the game. The
long distance calls that did come in were to download a copy of the game
to run locally in the caller's town. Someone actually downloaded it at
1200-bps from Australia once. It seemed to take hours. I remember hoping
that one of our many thunderstorms didn't come up during his download!
At its peak in the late '80's or early '90's, there were Czarwars games
running on about seven different BBS's in Tallahassee.

That heyday was followed by three years of darkness -- the longest
period, by far, where the evolution of the game paused. Even during this
idle period, however, I thought about it, wished I had written it in C,
and considered how a multiuser, networked, version would work.

By the summer of 1996 I had been running Linux for a year and was
itching for a programming project. I had a Pentium PC and, under Linux,
it was a computing monster of a system. I missed Czarwars and now had a
powerful computer and a serious, networked operating system. I had long
since had my fill of MS's proprietary languages so I started the new
Tsarwars project from scratch in C. Like the first Czarwars, it took
about two months to get the first functional game running. This time,
however, I needed an Internet connection in order to make it work. Hayes
Computer Systems graciously allowed me to put my new server (Micron
Pentium 133, 64 MB RAM, SCSI controller, fast enough to support many
concurrent users!) on their floor beside the Tallahassee Freenet system.
The game came up in October 1996, and supported telnet over the
Internet. This time, it was properly multiuser so I added a radio to the
new design. Online battles were not supported at first, so all ships
were cloaked while the user was logged on and playing. When they logged
off, their ship winked back into visibility and they could be attacked.
Meanwhile, I worked on a web interface to the game. In December 1996, I
brought up the first web interface. It was all still a single executable
that now listened on two different TCP ports. Life was good. That
version brought us up to 64,000-sector games, a truly vast play area,
and automated the ability to run up to 250 games in a single instance of
the software with automatic promotions to higher-level games.

The only actual code that had survived from the DOS versions of the game
were the port and planet names, now assigned randomly and reused since
there were far more than 750 total ports and planets in the universe.

My first hacked together web interface was crude, but it mostly worked.
It wasn't nearly as smooth as the telnet interface but far more people,
even then, understood the browser and used it than a telnet client. It
didn't take long before most of the traffic was on the web interface.
Within a few weeks of the first web interface coming online, I announced
in the msg base that a new web interface was coming with various
enhancements and "a whole new look". I remember one of the objections;
"We like the game as it is. We don't want a 'whole new look'" wrote the
protester. I introduced the new version anyway. Later, that particular
objector allowed as to how the new version had turned out to be an
improvement. I learned one thing from that upgrade; if a change is
proposed to an existing, working system, someone will always object.

The first years of Tsarwars were full of rapid evolution for the game. I
thought hard before adding features, and even harder before removing
features. In the end, I added far more than I removed. Long-time players
will remember "toll fighters", "passworded fighters", Pulsars, sine
wave-based wormhole movement, and maybe even one or two varieties of
'ghost ship bugs'.

The game that came out of it, by the beginning of 1999, was a pretty
coherent and playable game. That's when I began designing a completely
new scenario, "The Last Resort". You can still type in "X TLRIntro" and
see the original welcome message to The Last Resort. TLR was and remains
my favorite scenario and I threaten to bring it back at random
intervals. [Don't provoke me. I'll do it... I swear!] TLR wasn't a
straight retrofit of Tsarwars. It was a new game that borrowed what code
it could and added everything else it needed. The recently-added
autopilot was integrated into the other navigation and movement commands
and the menu was considerably simplified. In TLR ports and planets
became small machines and slightly larger, semi-portable factories.
People walked around without conveyances of any kind and used microbots
to make and buy things, cash having been long since obsoleted since the
city was cut off from civilization. There were no galaxies or sectors
there. The game was played in run-down luxury hotels and individual
locations became hotel rooms. The abandoned machines and factories were
unnamed but took the name of their owner. The entire scenario from the
original Czarwars was gone. The only significant piece of any kind that
remained was, once again, the names of the ports -- now used to name the
many hotels in Io Resort. By that point, we had added live battles, were
up to 256,000 rooms in the city of hotels, the eXamine online
documentation system, and many other changes, large and small.

TLR ran for about 5 or 6 months until June 1999. Meanwhile, I was
planning to register the name Tsarwars.com but, alas, Star Wars Episode
I was coming out and someone bought up Tsarwars.com because it happened
to be a typo for Starwars.com. I hadn't noticed that so I had been in no
hurry to register it myself. Unfortunately, the new registrants seemed
at the time to be planning a website that I didn't want to ever
inadvertantly draw in a Tsarwars player so I decided to change the name.
That would cause much confusion, of course, so I also decided to change
the code at the same time. I converted the new TLR code back into a
Tsarwars scenario and renamed the whole thing Starship Traders,
registered starshiptraders.com, and turned off The Last Resort.

Even after converting it back, it didn't look very much like Tsarwars
anymore. In addition to the changes listed above, you had to have iron
to make fighters, hardware to make bases, and even alcohol to launch
graffiti. The port types got new names to be more consistent with the
new commodities that they offered, taken directly from TLR as they were.

This 'merge' of the new TLR back into the old Tsarwars scenario, with
the countless changes necessary to accomodate the new functionality, was
and remains the largest change to ever happen to the game line in a
single move. There were surprisingly few complaints, considering the
scope of the change which took about six months to initially write and
evolve. That change was about five times the code and functionality
change of the current proposed version change -- and it loomed larger
still because it affected a smaller code base. More changes were
incrementally added to the new "SST" game including player-made
wormholes, team-only games, custom ships, homing devices, damageable
defensive starbases, and many more.

Around March of 2001 I wrote the first 3D graphical client for SST and
added the crude beginnings of a client interface to the server software.
The client side of that project has since been taken over by Katrina
Kirellii and ported to Windows where it is seeing steady improvement.
The new Windows version will still compile and run under Linux, as well.

In June of 2001 I brought up the 1,000,000 sector version and began the
first persistent game, the "Continuum of Chaos". The new game added
16,000-sector galaxies and a variety of other small changes. The
never-ending "CoC" game wasn't claimed to be never changing; it was
instead the first game that I had ever started without a scheduled end
date. My plans were for it to grow and remain a viable game,
indefinitely. Many small changes have been made to the software that
runs that game, as it is the centerpiece game of the latest version of
the code. In the nine months since the debut of CoC and the
million-sector software, about 500 lines of code have been added or
changed in the SST code, and some unknown number of lines have been
removed.

Which brings us to where we are today. I have long felt that in creating
the customizable ships based on finely variable ratios between shields,
cargo holds, and combat computers, that I introduced a flaw into the
game. Players could build custom ships, but, in practice, there was
little commitment to a particular ship configuration. By making them
finely tunable, inexpensive, and cheap to convert again and again, I had
merely introduced more 'gotchas' for newbies. Mostly it would be newbies
who would attack a 20,000 fighter fleet without first unloading their
holds and adding combat computers. They would be making a silly tactical
mistake that served no real purpose in the game other than to add a way
for someone to screw up. That is not the kind of complexity that I want
in a game. This game line has been intended from the very beginning to
be a place where the universe imposes a few laws and player
determination, careful planning, cunning alliances, sneaky diversions,
and clever strategies are what separates and differientiates the teams
and players. I have no interest in making a game where there is no
purpose for combat computers and shields, other than a way to trip up a
clever, but inexperienced, player.

That is what I inadvertantly created in my last attempt at
differientiated ship types. That scheme had the virtue of considerable
flexibility and very low complexity. Unfortunately, it didn't accomplish
its goal. I don't know why it took me this long to address the problem.
The new version, 'SST2', was created specificially to fix that problem
by creating genuine tradeoffs between the ships and to make ship choice
and configuration a real component of strategy. The new devices are a
part of that strategy since they are a significant piece of the tradeoff
decision. Even after reading this quickie explanation, I don't expect
everyone to understand why I am doing this, and, yes, I know it will be
different. That _is_ the point. I think it will be a better game this
way at the cost of only a small amount of extra complexity. As you have
read this history, you must now realize that the game has evolved from
day 1 and has not stopped yet. No, this game isn't perfect and never
will be. However, I think it can be better. I think the difference
between a good game and an otherwise similar but bad game correlates
with the ratio between variability of strategy and detail complexity.
The better games allow wide-ranging strategies from a very few
components and functions. That, along with a minimum of arbitrary rules,
points in the direction where I have always tried to move this game.

I think the game is successful judging by the type of players that it
attracts. The new version of the software represents a continuation of
the very approach that got the game to where it is.

No comments:

Post a Comment