Spelljammer: Pirates of Realmspace

Spelljammer: the Pirates of Realmspace is a computer game for MS-DOS and was released by SSI in 1992. It is a Dungeons & Dragons PC computer game using the Advanced Dungeons & Dragons, Second Edition, Spelljammer rules. Spelljammer was programmed and designed by Cybertech Systems.

Concept
Spelljammers are magic ships that fly through "wildspace" to various planets. All the planets and wildspace for a system are contained in a Crystal Sphere. Outside the Crystal Sphere is the Phlogiston, also known as the "flow". Holes in the Crystal Sphere allow the flow to shine through, appearing as stars on planets. Spelljamming ships cannot enter the Phlogiston.

Game Mechanics
In the Spelljammer game the player captains a ship and crew. The player can ship goods from planet to planet for a fee, take on simple missions including, delivering people and goods, destroying pirates, and guarding the space lanes. As the player completes missions his character gains reputation points, eventually gaining enough points to be asked to help rid Realmspace of a terrible danger. This mission led to the simple plot in the game.

The game starts the player with a 5th level character. The available classes are: Clerics, Fighters, Paladins, Rangers, Mages, and Thieves. There are three main parts to the game: docked at a planet, in space travel and ship-to-ship combat, and on-board personal combat. When at a planet, various text menus allowed the player to buy and sell cargo, repair and upgrade their ship, buy and sell character equipment, and seek missions. A rudimentary trade system allowed players to make money shipping goods from planet to planet, and some key planets had more options for ship repairs and equipment. In space, the player can travel from planet to planet, or simply point the ship in any direction and go. Real-time ship-to-ship combat using ballistae and catapults takes place in a simple 3D view. The player can steer his ship to aim the weapons at his enemy, and to try to avoid enemy missiles. The occasional meteor storm is a minor hazard while spelljamming.

One little-used feature programmed into the game was the ability to crash your ship into the Crystal Sphere. Normally "space" was shown as black, but if a player was patient and continued towards the Crystal sphere space would turn dark grey, light grey, the stars would spread out, and eventually the ship would crash into the Crystal Sphere.

The player can bring his ship close to the enemy ship, board, and do turn based hand-to-hand combat on a simple isometric map. A full range of spells and weapons is available, and ships are crewed by a wide range of humans and monsters. In the turn-based combat system, the player controls the ship's officers, and the computer controls the regular crew and the enemies. For a game released in 1992 the ship-to-ship combat was innovation for a D&D computer game, but not cutting-edge technology compared to contemporary flight simulators. The turn-based combat engine was quite good for the time, supporting spell effects and animations on the map, for example a "stinking cloud" that persisted for multiple turns.

Initial Phase
Al Escudero was a successful game designer with a couple of commercial titles under his belt working out of Vancouver BC, Canada in 1990. Escudero had started design work on a space battle game for SSI, and put in a few months of effort before SSI decided to kill the project. Design work continued for as long as it did because the decision to kill the project did not trickle down to the level of management Escudero was dealing with for 2 months after upper management killed the project. To make up for the loss of time and money, SSI quickly found another project for Escudero – Spelljammer.

Escudero designed the ship to ship combat and came up with the idea of using a 2D map, then using the distance between ships to scale the size of the ship’s bitmap and display it in a simple 3D view on one plane. He then designed the basic layout of all menus, the overall look and feel of the turn based hand to hand combat, and most other key parts of the game. At this time Cybertech Systems was actually just Escudero in his basement. Lead programmer Alex Russell was acquainted with him because he went to high-school with Russell's younger brother. Russell had done a couple of small porting jobs for Escudero in the past. Another programmer named "Zoid" worked on the game for a couple of months. As Russell had only been programming business systems up to now, Zoid’s knowledge of PC hardware was valuable at the start of the project.

Artwork
Escudero worked on the art for the game, doing most of the planets, tiles, and much other minor art. Russell also did artwork, doing a few scenes used when at ports, and decorations for menus. They also used a black and white video camera (colour camera was much too expensive for the budget they were working on) and a RGB colour wheel to digitise models, both scale and human, to used for the game. An Amiga was used for digitisation. The Amiga could write to standard PC floppy disks, and Deluxe Paint on the Amiga would write files that PC Deluxe paint could read. Deluxe Paint, and Deluxe Paint Animation were used for 90% of the art. Three freelance artists drew the bulk of the ships and a few ports. Each ship required 8 hand drawn pictures, one for each of 8 rotations. These 8 pictures were then scaled as required for the semi 3D used in ship to ship combat. A 30 second Cybertech introduction of a door opening took 4 hours to render on a 486, and over 24 hours on a 386.

Cybertech hired a model builder to build one ship, but while this had good results it turned out the model builder couldn't turn a profit at the price they could pay for a custom model. The asteroids in the game were digitised rocks from Escudero’s backyard. A few people in full armour from the local SCA (Society for Creative Anachronism), as well as friends in costumes were digitized as well.

Programming
Russell did 90% of the programming. This was back before the widespread use of the internet, so personal contacts in the local game programming industry, and a good local book store were very important sources of information. 320x200 pixels, 256 colours was chosen for the video mode because it was simple to program, looked good, and would be faster to process a smaller number of pixels with many colours, than lots of pixels with only 16 colours. This was way before 3D cards – everything was done in software. Most of the game was written in C, except for all the graphic primitives which were written in x86 assembler.

A menu system was written, but not a menu editor. All menus were hard-coded C structures, requiring a full recompile to see a menu change. The over-head turn based combat system had a very good editor written for it. Each ship in the game had its own map. And the semi 3D engine was written. SSI provided the sound library. There were no standards so each common sound card had to be supported. The other interesting routine was the movie player. It looked at a series of computer pictures, found and stored the differences and stored them as compressed blocks. Cybertech hired an assembly whiz to write the de-compressor. Russell wrote everything else from scratch. The team used some of Zoid’s ideas, but none of his code made it into the final game.

Music was created by two of Russell's friends, Mark McGough and Peter Grisdale, who were also musicians as well as computer programmers. They already had midi equipment and did the music for a copy of the game and a credit listing.

Final phase
Programmer Alex Russell recalls:


 * "We sent game builds down to SSI using a state of the art 9600 baud modem and Zmodem. It took about 3 hours to send down 2 megs of updates, and involved calling voice first, arranging for who would auto-answer (SSI so they could pay the phone bill!), and crossing your fingers."

Development took a little over a year. The first 6 months of work was done in Escudero's kitchen. Then SSI called up and said they were coming up to visit. Since Escudero didn't want to look like a low budget outfit he quickly rented a small office, where development was finished. After Spelljammer was finished, Escudero was instrumental in developing a multi-line BBS called Ice Online that ran a custom coded MUD. This turned out to be a quite successful enterprise that would eventually take up the whole floor of the building the original small office was in. EA eventually bought out Ice Online, took all the key employees and closed down the BBS.

Russell further recalls:


 * ''"SSI and Cybertech both did extensive testing before releasing the game. Unknown to us the standard c runtime library we were using had a bug. But this bug did not show up on the PCs we used in the office, or SSI used in house for testing. SSI sometime sent games to an external testing outfit, but not Spelljammer. The bug turned out to be in the exec function (used to run sub-processes). The bug was fixed, but only after a large number of units had been duplicated and packaged.


 * For myself, this was the most challenging and rewarding project of my programming career. I had to learn a great deal about PC hardware, for example writing an int9 keyboard ISR replacement, was able to write a number of graphics systems from scratch, an xms memory manager, and was thrilled to see "my game" in a real computer store in 1992. Spelljammer was the only game I did commercially."