Star Trek Into the 8-bit Darkness
Into darkness: back to the 1970s, Basic and Ascii art
>Antique Code Show Ah, the simple pleasures of the earliest computer games – and you don’t get much earlier than 1971.
As Star Trek: Into Darkness warps onto UK cinema screens this weekend, we look back at not only the first attempt to bring the franchise to computer screens, but what was arguably one of the most popular, certainly the most widespread games of the 1970s and early 1980s: Star Trek.
If you’re of a certain age, you’ll almost certainly have played it, whatever make or makes of computer you used back then. I played it first on a Research Machines 380Z, filling many a school lunchbreak with battles against Klingon warships and the exploration of new star systems, all rendered in Ascii characters. But I also tried at least three versions on my Dragon 32 at home, and I’ve watched pals play the game on their BBC Micros, Sinclair Spectrums, Commodore Vic-20s and even a Texas Instruments TI-99/4A.
Star Trek got everywhere. The three versions I had at home were a hand-typed copy of the 380Z listing which I keyed in and converted soon after I got my computer. Later, I tried a version originally produced for the Tandy TRS-80 Color Computer but processed to run on the not-quite-compatible Dragon. Not long after, I briefly had a go at Dragon Trek, published by Salamander Software and – ahem – copied quite illicitly using a dual-tape cassette recorder.
There were undoubtedly more versions for the Dragon – I know of at least two more – each ultimately derived from the Basic code written by David H Ahl in 1973, as were the many, many other versions produced for all the other home micros of the period.
But Ahl wasn’t the game’s creator. That honour goes to one Mike Mayfield, who wrote it in Basic during the summer months of 1971. It wasn’t the first computer game named after or based on the Star Trek TV series – Ahl would later say he remembered seeing several in the late 1960s – but it was the first of the ‘find and fight Klingons’ strategy type.
Mayfield wrote Star Trek on a Scientific Data Systems Sigma 7 mainframe operated by the University of California, Irvine. He was still at school, but he says he managed to acquire a user account anyway, by less than legitimate means.
It proved irresistible to everyone who saw it. Around the same time, for instance, he called in on a nearby HP sales office to buy a HP-35 programmable calculator. He got to know the guys there, and at some point told them about the game he’d written on the Sigma 7. They were so keen to have a go themselves, they asked him to port it to their HP 2000 minicomputer.
The 18-year-old Mayfield agreed and soon got Star Trek running on its second platform, implemented in HP Basic in October 1972, and published early the following year by HP on tape. HP put the software in the public domain. It was this version that Ahl encountered and was sufficiently enthused with to create a third version, this one in Digital Equipment’s implementation of Basic. He produced the code in the summer of 1973, tweaking it a little in the process. He credits DEC’s Mary Cole as a contributor. He published the listing in the DEC User Society newsletter, and soon users were clamoring for copies so they could run Star Trek on their own machines.
Like a virus, the game spread from system to system. Ahl’s Basic version would ultimately lead to Apple Trek, the version Apple itself released commercially for its Apple II microcomputer in 1979. It was written by W Sander, and the name was changed to avoid copyright issues, of course, and that was true of all the other commercial releases. AcornSoft’s release was called Galaxy, for instance; Tandy’s Space Trek. Apple Trek wasn’t the only version published for a late 1970s microcomputer – Star Trek appeared on the Commodore Pet, the Tandy TRS-80 Model I and, as I’ve mentioned the RML 380Z – but the popularity of the Apple micro and the decision to release the software commercially, undoubtedly means its influence was far reaching.
This helped the game’s spread in the mid-1970s too. In 1973, David Ahl published Star Trek – this time under the name Space War – in a book, 101 Basic Programs. That inspired Bob Leedom to convert it to Data General’s dialect of Basic so he could run it on his workplace’s Data General Nova 800, which was free to use after office hours. He too tweaked the gameplay, in part on the back of suggestions made by colleagues who got to play it too.
Leedom wrote about his version in a Menlo Park-based newsletter, People’s Computer Company. Ahl saw the article, asked Leedom for a copy of the listing and published it in 1974 under a joint byline in his magazine, Creative Computing. He called it Super Star Trek, thanks to the improvements leedom had made In 1978, Ahl wrote a Microsoft Basic version and put in that year’s edition of his book Basic Computer Games.
Meanwhile, Mayfield’s original Sigma 7 version was replicated in other languages, as Ahl had done with Basic. David Matuszek and Paul Reynolds created a DEC Fortran version also called Super Star Trek, but otherwise unconnected to Leedom’s code, and Eric Allman produced BSD Trek in C – it’s still available to download and run. In 1976, Lynn Cochran produced a version written in MITS Basic that was popular with Altair 8800 users.
But it was Ahl’s Basic Computer Games that spread Star Trek through US schools and colleges. Many programmers adapted the book’s listing to new platforms and Basic dialects: for OS-8 Basic, for Tiny Basic, for DEC’s RSTS-11 Basic and more. As new languages have emerged and new UIs evolved Star Trek has been adapted to them, a more sophisticated equivalent of ‘Hello World’ – an application to try on each new system you get. Sometimes the Ascii characters get replaced with sprites, even 3D ones; at other times new ports are true to the originals, but it has never quite gone away. Even in an era of big-brand games cashing in on the new film releases.
All of the versions that derive from Mayfield’s original share the same core gameplay. The galaxy is divided into 64 quadrants or sectors, each identified by a numerical grid reference and populated with randomly generated stars. A fleet of Klingon warships is dropped in to find and fight, and there are a sprinkling of Federation starbases where the Enterprise can refuel and stock up on photon torpedoes.
You warp your ship from quadrant to quadrant, employing long-range sensors to help work out where to go next, and using your short-range sensors – the main UI – to display the contents of surrounding space as a grid of Ascii characters. Enter commands to move, scan, fire phasers or launch torpedoes, and if you play the game right you can clear the cosmos of Klingons, don’t get too damaged or run out of energy, and still be home in time for tea. If you took too long to complete your mission, you lost the game.
Mayfield’s original version used numeric commands – 2 for long range scans, 4 to fire a torpedo, 7 to get ship status, for example – but Leedom’s Super Star Trek added three-character command words: ‘LRS’, ‘TOR’ and ‘COM’, to use the above examples. It also introduced Klingon ships that would move to a new location in the quadrant if not destroyed outright. Later versions animated the flight of torpedoes. Many adopted another Leedom innovation: named quadrants.
That encouraged the use of torpedoes over phasers – which often didn’t do enough damage without overly depleting your own ship’s energy levels. Why risk miscaculating your phaser fire when it was easier – and quicker – to move to a better firing position and let rip with a torpedo guaranteed to hit and destroy the enemy.
Like most games of the period it was fun to play once or twice, but it lacked staying power. And if it’s graphics and gameplay are woefully unsophisticated by today’s standards, well that’s the way most Basic games were in those days. And for the players, they were still a shiny new gateway to “strange new worlds”. ®
Pete Turnbull has a comprehensive list of early versions Star Trek, many with accompanying listings for readers with an interest in Basic.