Tuesday, October 1, 2013

The history of the Space Tyrant game design

From:  http://web.archive.org/web/20070621053041/http://spacetyrant.com/article-3.html:



In 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 Dave Kaufman's "Star Trader", originally published in the in People's Computer Company's newsletter and later in their "First Book of Computer Games". There are also reports that Star Trader was published in Hewlett-Packard's "People's book of computer games". This is the book that I remember Norm Pettus, the Sysop of The Eagle's Nest, telling me he had in his library.

In any event, Chris' versions were called Trade Wars and Trade Wars 2.

Trade Wars 2 (TW2) was a simple turn-based strategy game where players could explore a galaxy, earn money by trading commodities at planets and ports, buy fighters, guard sectors, and attack other players.

TW2 was set in a 99-sector galaxy which was filled with aliens called "the Cabal" who would harrass the players and generally prevent the kind of player-vs-player game that I wanted. While it had great potential as a PVP strategy game, it was small and further limited by bugs and the Cabal -- which, to me, took away from the core appeal. As a programmer with a copy of QuickBASIC for my 1985 PC, I decided to write the game that I saw struggling to get out of TW2.

My first Star Trader genre 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 for the next player. The first running version was written from scratch over a period of two months, was 350 sectors in size, and was based on an extendable map design.

The initial series of games worked well and typically served 30 or 40 players per day in the one and only game universe. It was essentially an asynchronous turn-based game that used daily-issued 'antimatter' to fuel each ship's movements, rather than the traditional concept of 'turns'.

Czarwars grew to 4000 sectors and ran on several BBS's in Tallahassee, as well as elsewhere, until at least 1993, when my original Anarchy Garden BBS phone number was lost in a move across town.

Thus began a three-year Period of Darkness.

By the summer of 1996 I had been running Linux for a year and was looking for a C programming project. So, I started the new Tsarwars project from scratch. Like the first Czarwars, it took about two months to get the first functional game running. This time, however, it used TCP/IP networking so that multiple players could connect simultaneously. That version supported telnet and browser connections.

Tsarwars, by the beginning of 1999, was a pretty coherent and playable game. That's when I began designing a new scenario, "The Last Resort". 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. Instead of space, the TLR universe was set in old hotels in an abandoned resort city on Jupiter's moon, Io.

Eventually, that game got converted back into the space-based scenario, but because of its many changes, it was renamed Starship Traders. That wasn't to be the end of the TLR scenario, however. I next merged the two games so that space contained TLR-style planets -- embedded worlds within space that you could discover, take over, and defend.

Those worlds added new terrain, varying productivity, and initially unknown and defendable natural fortifications within the game. Unfortunately, Starship Traders' codebase was by then a mess. It was about 20,000 lines of C code, with two different in-game scenarios, and it included telnet, web browser, and graphical client interfaces. Since every game sector was stored on disk performance in large, busy games was poor.

Yep, it was time for yet another rewrite.

The new game, called Space Tyrant, is an open source implementation of a subset of the Starship Traders/TLR game design and was written entirely as a single C program based on a new programming model. Unlike its predecessors, Space Tyrant runs with all of its data in memory for optimal performance.

For a copy of the source code and instructions on how to compile and run it, go to the Space Tyrant source code and compile instructions page.

You can also take a more direct look at the game by logging in to a running game at ioresort.com.

No comments:

Post a Comment