Saving Habitat: The World’s First Multiplayer Online Role-Playing Game
I’ve been working with old computers almost as long as I have been using computers. I used an Atari ST 520 until about 1994. In the early 2000’s, I worked at a computer recycling center, drooling over dead SGIs, old Suns, and ancient Macintoshes. It is, perhaps, no shock then, that in 2011 I founded the Museum of Art and Digital Entertainment, a non-profit video game museum in Oakland dedicated to preserving our digital art and gaming history in a playable fashion.
The Museum has been in operation for six years now, and hosts free programming classes for kids alongside over 5,000 playable console and home computer games. Ultima 4 on Apple IIGS anyone? Steel Battalion? Looking for a game of Pong? We’ve got you covered.
Over the six-year history of the MADE, we’ve taken lots of amazing donations of equipment. Our entire collection was donated, in fact, save for the items we purchased at flea markets and thrift stores. Among those items are often personal effects from game developers who have stored away source code printed on line printer paper, grommet lines still attached. Often, these are just notes, or, in the case of Lode Runner for PC, level maps and memory layouts.
But in 2013, we had a major donation. Chip Morningstar and Randy Farmer were scheduled to speak at Game Developer’s Conference that spring, on a panel of former LucasFilm Games employees. They were there to discuss Habitat, the first graphical multiplayer online role-playing game (MMOs) for the Commodore 64.
So I reached out to Morningstar and farmer asking for any relics from that era that we could exhibit on the expo floor, in our conference themed history showcase. Shortly thereafter, they sent me the source code. The whole tree. Client and server, and even the Macross cross-compiler.
As a software historian, I was super excited and motivated by this one email attachment. I felt as though, as I had just been handed the holy grail, I now had an obligation to share this amazing thing with the world.
Of course, what I didn’t know then, is that this would require, to date, four years of constant work, and over 70 people willing to help and contribute to the project. And we’re still not done!
Going Back with Habitat
So what exactly is this whole Habitat thing, anyway? Perhaps the best way to tell its story is to tell the story of Morningstar, who was just a fledgling programmer when he joined LucasFilm Games in the early 1980’s.
The first thing they wanted him to do at LucasFilm Games was to write a cross-compiler. In those days, writing games for the 6502-based home computers was the primary task at LucasFilm Games. Unfortunately, compiling those games on those actual platforms took a ton of time. As any good programmer knows, the shorter the build time, the happier and more productive the developer.
The solution was to use the then brand-new Sun Workstations to do the compilation. Those workstations were 68000 machines, however. So Morningstar set about the task of writing a compiler that would build 6502 programs on the 68000 Sun machines. This was how most of the games at Lucas were then compiled.
The team eventually even asked for a 68000 to 68000 cross-compiler, so Amiga and ST games could be compiled on those Sun workstations, but Morningstar said the speed benefits eventually were seen to be pointless. That code is still in the Macross repository, however.
The bigger project, however, would come along in the mid-1980’s. Morningstar and Randy Farmer were paired up, in what was to become the dynamic duo of MMO games. They were tasked with building a big idea, one that could take advantage of the burgeoning online industry for the C64, Atari 800, and Apple II. One of those online services was known as Quantum Link, and it allowed C64 users to sign into an online system that offered games, electronic mail, and news.
QLink eventually went on to become AOL, but that’s another story entirely. It should be noted, however, that the final piece of QLink-era infrastructure, and the last person who was able to handle those systems, ended their time at AOL just last year.
That QLink-era infrastructure of which I speak is the Stratus VOS operating system and hardware combination. Stratus kicked off operations in the early 80’s as a company attempting to bring the theories of Multics-based environments to modern enterprises. As a result, Stratus machines were highly redundant and could be chained together to operate in tandem.
These machines were used by banks, AOL, and the Department of Defense to handle systems that could never go offline. Be that a banking system, and online service, or a missile silo. Stratus was a very successful company, even though most super-nerds have still never heard of it. Today, it offers legacy support of its old systems, and modern IBM Z Series systems and software.
Already, behind this little online gaming project at LucasFilm Games were two of the most cutting edge technologies of 1985. Today, however, these services and products are lost to history almost entirely. QLink lives on as QLink Reloaded, an unsanctioned replacement for the old service. Stratus VOS, on the other hand, is almost impossible to find in the wild, or online.
Into this mix was thrown a programming language: PL/1. That stands for Programming Language One. This language was chosen as the proper one for writing a highly available, super performant online service. And that service would be called Habitat. It would be a 2.5 dimension interactive space where players could wander a large world and chat with each other in real time.
And it was this seemingly impenetrable mountain fortress of the long-lost legacy of a stack that I was thrown when I decided to try and bring Habitat back.
Now I should note that all of my work on this project has been at the production and project management level. The four years of work I’ve put in to get us this far is absolutely dwarfed in comparison to the work that Morningstar, Farmer, and their team of over 30 contributors have put in over the last 4 months, building out the world that was lost.
But that’s getting ahead of ourselves. I should probably explain just what we needed to do to get to the point where we are now: where we’re porting the whole darn thing to a modern platform.
The first thing we needed was permission. Habitat was sold to Fujitsu in 1988, as a game called Club Caribe. We know this because we have a copy of the transfer document. Fujitsu was interested in building on top of Habitat’s technology, and eventually released a Japan-only version of Habitat in 1990.
I contacted the chief counsel at Fujitsu, and after being directed to speak with the Japanese arm of the company, we were told we could do whatever we wanted providing we did not sell it in Japan. That being done, our next challenge was to get the proper hardware to run the server.
Unfortunately, Stratus hardware is difficult to come by. So I contacted the fellow listed on Stratus’ FTP site: Paul Green. He, too, was excited about the idea of bringing back Habitat, and within a month, he had shipped us, free of charge, a palette containing a 1989-era mini-Stratus, a full set of documentation and files, and all the trimmings: keyboards, terminals, cables, adapters.
The machine itself was a called a Nimbus, and was easily the smallest Stratus machine ever made. After Googling around for a few minutes, I can now safely say that the only photos of a Stratus Nimbus anywhere in the world are our photos from the hack-day we set up to try and compile Habitat.
It was a bit hot on Habitat hack-day, so we put a fan in front of the Nimbus to keep it cool. We also had helpers from Stratus, LucasFilm, and the C64 community. Paul Green even flew out to help us work on the project for the weekend.
This was in 2014, and by the end of the weekend, we had determined that we would not be able to compile the Habitat server binaries because we were missing some libraries from QLink.
So, a few weeks later, I cold called the chief counsel for AOL. She was a bit confused, but within a week, they were meeting internally to discuss just what the heck I was asking for. Turns out, the last VOS admin at AOL was retiring at the end of the month, and one of his last duties was to spin up their backup tapes and pull the libraries off for us.
Sadly, that has basically become stuck up in the PR mechanisms of AOL, and we have since not heard anything from them. Last we heard, they were hoping to release the code themselves as open source historic software. You know, now that they had finally end-of-lifed their VOS systems. In 2015.
Still, we weren’t going to let that stop us. Chip and Randy put their heads together and decided that they could bring Habitat forward to a modern platform. That platform would be the Elko server framework.
One thing you probably don’t know about Morningstar and Farmer is that they have made an entire career out of being way ahead of the curve. So far ahead that they generally don’t win any battles, they simply figure out how to do everything so later, others can succeed where they failed.
Habitat is the perfect example of this. It created the idea of avatars, of in-game currency and transactions, of a world the players could modify and control. And yet, it would be almost 30 years before any companies would successfully make money at an endeavor like Habitat.
Along the way, Morningstar and Farmer have tried to recreate the Habitat experience a number of times. In doing so, they have also rewritten their server architecture about three to five times. They’ve built entire programming languages around this pursuit. They’ve worked with some of the smartest people in the business, like Mark S. Miller, (Dalvik author) Dan Bornstein, and Douglas Crockford. In these pursuits, Morningstar eventually got tired of reinventing the wheel, and open sourced his last implementation of the server-side as Elko.
With all the proper elements for a reboot in place, in January, Morningstar and Farmer decided to put rubber to the road. With the immense help of Michael Steil, we put Habitat and the Macross compiler on GitHub, and Randy forked it to begin the port.
Today, we’re officially open for developers to come join the project. We can’t yet let laypersons into the development server, as the client can still perform actions that crash the server. But for developers willing to deal without bailing wire and spit, you can actually sign into our test server using the C64 emulator Vice, and our images of the C64 client.
We still have a long way to go, but the project is proceeding along nicely, and Randy has insinuated that we might hit alpha this summer. The project is now online at NeoHabitat.org. Come join the effort and help us bring back the world’s first graphical MMO!