The Naked Rabbit archives contain many unfinished and never-were projects. Some of them had difficult labors and were left stillborn. Some are still lingering in half-life waiting for an extra breath to awaken them. Some are still mewing and crying, trying to get enough attention that they might come to fruition. If only I knew something about programming! Well, now that is the trouble – I know only SOMETHING about programming, and not enough to be effective in any way. The minor Naked Rabbit diversions of last century were easy enough to make, but it appears my ambitions were higher. And yet my ability to grasp structured programming was limited, at best. Should you be a programmer looking for trouble, I have untold treasures for you – designs and plans for computer confections so weird no one has made any of them YET. Even still they say there is an app for everything – how little they know! Here is one more in that unhappy list: ROCKET!
ROCKET was, in some ways, the most complicated and bloated project as well as the simplest. And although it is one of the oldest and should be deadest, its heart is still beating in a pathetic way. That is because the idea was always larger than the tools used to make it, and as the tools improved, the idea carried itself along with them. Although the 1-bit artwork was kind of stuck in the 80s. Let’s be kind, please. That artwork all dates from the last century, at a time when there weren’t even any viable 3D programs outside of CAD systems. Everything had to be done by hand, through something like MacPaint (if you were lucky!). No layers. No filters. There were no scanners. No digital cameras. There was your hand and a mouse, clicking on every bit, often one at a time, to get a desired effect.
ROCKET began its long and unhappy life in the summer of 1989. While working a temp job and completely bored, I began to doodle on the Mac and tinker with Hypercard. For those who do not know, Hypercard was a complete development environment, sort of like a visual database, with ultimate flexibility. It could be used to create games, as well, and required little expertise to begin working with it. Hypercard was the tool of choice for the everyman – you did not need to know much about programming to get it to do rather complex things. My tinkering became a sequence of images, and soon a kind of point-and-click game. The initial scenario was on the moon – for no other reason than I liked drawing space scenes. Here’s one of the first images I made.
This little project gradually became more complicated and bloated until I had created the moon scenario, the interior of the rocket and… and then what? The obvious thing to do was to go out into space for even more action. The project took shape rather quickly, but I was still unsure what it was. Nobody was making anything like it at the time. Or rather, there were some clear precedents, so it’s not as if ROCKET was sui generis. Yet it was also something kind of new, precisely because I had never planned it to be anything in particular. Game play was rather straightforward in some aspects. When you began ROCKET, you would find yourself onboard the titular vehicle. But there were no instructions or directions. It was completely non-directive. You could walk about the planet you were on and explore. There was a kind of mystery there to solve, but you never needed to if you were not interested. You could take off and go to other star systems. There was a method by which you could begin trading goods from planet to planet, making money along the way. There again, you could have ignored that part entirely and done other things. But the best part was that Rocket was designed for interactivity with other players. Once connected to a network (via ancient-ass modem, mind you) you would be playing in the same Universe as every other player.
Rocket was an adventure game, a trading game, and an online realtime strategy game, all in one. Do these sound familiar? They would not have in 1989 when I began. ROCKET predated “Myst” by two years. “Myst” was also written in Hypercard. Though trading games were common on computers in the late 80s, there were few graphically driven ones. “EVE Online,” arguably one of the first games to cover the science fiction multiplayer online territory, came out in 2003. The non-directive play of games like “Grand Theft Auto” was still a decade and a half away. I had little clue how to IMPLEMENT the network stuff, of course. I had some promising missteps. I knew that tiny packets of information could be sent via the network and that the heavy graphics and sound for the game would have to reside on the user’s computer in a local client. In those days that would have been (at first) via a number of floppy diskettes and later the brilliant and dynamic medium of the CD-ROM. Pause for laughter to die down. But think of it this way. In the age of diskettes and CD-ROMs I was designing an MMORPG. I’m sure others were thinking about it, too, so I’m not laying claim to originality. But it was exceedingly uncommon. You must also keep in mind that I did all this work yet I did not own a computer. It was all made on other people’s machines. That was usually a school Mac I would wrangle time on. There was one at USC’s Sound Department that I used quite a bit, the first generation Mac II. I was too poor to own a machine of my own until around 1998.
Sadly, I could not finish everything, and the project was way too big for one person anyway. It was, in fact, ridiculous. As it was, I did create tons of 1-bit artwork and wrote thousands of lines of code. Yep, coding in Hypercard was actually pretty easy. The language, HyperTalk, was an amalgam of natural English and a kind of object-oriented mishmash. It was linear enough for someone who only knew BASIC in high school, but robust enough to allow some pretty complicated interactions. And since Hypercard was designed around user interaction, it was not so bad. Here’s an example of what that code looked like:
on use set the cursor to busy global px,py,usage,ship,ycor,backcard,amount put item 1 of the mouseloc into xcor put item 2 of the mouseloc into ycor put (trunc(sqrt(((px-xcor)^2)+(py-ycor)^2))) into sausage put sausage + (trunc(100-item 6 of ship)/100)*sausage into frem put 0 into j repeat with x=1 to the number of items of amount add item x of amount to j end repeat put frem+round(frem*(trunc(j/72)/100)) into usage if item 8 of ship-usage<0 then answer "Not enough Fuel!" with "Gulp!" visual dissolve go backcard exit use end if end use
It seems as though that procedure was for calculating how much fuel a spaceship would use under certain conditions. “Sausage” is pretty typical of my sloppy programming. I needed a temporary variable, so I made up a goofy one, rather than the use word “temp” that most programmers would use.
My universe kept getting bigger and bigger, and I could never demo it in any useful way. At one point there was a playable version 1.0 on five floppy diskettes. Friends saw it work and played versions of it. But before I could finish a kind of 1.5 expansion, the Mac II came along, with its full-color graphics. Overnight my years of work were pretty useless. Though I began reworking all the old screens for a 2.0 (including tons of new functions based on the “beta-testing”), I just could not keep up. In the end the unfinished ROCKET outlasted Hypercard itself, which deprecated around the turn of the century. I had piles of information and no viable container. Major work ended in 1994, but the project stuck around as a possibility until about 2000. Then I carefully bound all my notes and set it aside.
Even then, I never gave up completely on it. A version ported to Adobe Director fell pretty short of completion, and I even have notes for an actual rewrite of the code using proper C++ back in the days when I thought I might get around to that. It’s mostly data structures. The art, sounds, music, and most importantly the algorithms to make it work are all still around, although increasing hard to access. For this post alone I had to spend considerable time with old software making conversions from ancient formats.
Lest you think I’m delusional, a few things must be set straight. Though I did conceive of and execute portions of a game that was years ahead of its time, I did not do so in a vacuum, and I never delivered a final product. There were some easy precedents I followed that others were clearly looking at as well. Hypercard games did exist before mine, although I did not know of them. The Cyan brothers had, in fact, made their “Cosmic Osmo” before they created “Myst,” and they were apparently working on it at the same time I was working on ROCKET. I strongly suspect they were also looking at “World Builder,” as I was.
Point-and-click adventures were somewhat common at the time, and a number of popular titles ran on numerous operating systems (this was the late 80s, after all – there were more than just three). These had grown out of the text-only adventure games from even earlier, so there was a natural progression that I fit into. My own experience with text-adventures started in 1979 when I played a version of “Adventure” on the Polymorphics 80 computer (not mine, either). I had been thinking about making my own since then.
MUD, MUSH and MUCK games, which were text-driven dungeon crawls, were already working on networks at college campuses, so the idea of this kind of interactivity amongst players was already established. I was unaware of these games, but they did exist. Most of the networking aspects I neeed I gleaned from “FirstClass” a BBS software package still in development today. FC (as well as AOL!) showed me that the sounds and graphics – the heavy part of a game – could reside locally while tiny packets of data could be sent to control the UI. These were all ideas in the air, as evidenced by the fact that all of them came to pass without me. I am not unique in connecting these dots, and I am not claiming I invented anything. This is not an attempt to say “I did it first!” and shake my fist at the sky for not acknowledging my genius. Although that would be nice.
But it would also be inaccurate and somewhat delusional. I just explained how none of this was NEW, and how I lay no claim to having invented anything. I was putting together parts that were not yet very popular, and not very present in game design of the day. For that reason the whole enterprise may have been ahead of its time and could have collapsed under what most certainly would have been considered poor judgement and a lack of understanding of the audience. ROCKET was weird, by any standards. It’s still weird. At the same time, be assured that this is not just a case of dreaming up something in abstract and then claiming you had the idea first when someone else does it. I had working versions. This was a prototype, not a bunch of drawings indicating a prototype. So I am also expressing some frustration at my lack of resources and especially finances. The major thing stopping my full-color MMORPG (or at least a damn good attempt at one) in 1990 was that I was working on this alone. It could have been a disaster, sure, and it could have been a sinkhole of finances and broken promises. Getting someone to believe in a project like this that early could have been really tough. But at least that’s more than just a pile of notes decaying on my shelf. Then, as now, I simply had no clue how to present any of this to anyone who may have had the means to help me with it. This is still, in general, my life’s problem.
Today point-and-click adventures are back on the mobile platform. Networked games are the norm. The tools to implement something like ROCKET are easily found, with numerous variations and a plethora of options. But the things that made ROCKET so weird are not easily found if at all. Because apart from this 1-bit artwork (and you will have to trust me when I say that prior to 1990 this stuff looked pretty good) and low-fi implementation, ROCKET was a very complicated organism. It started in a randomized state, but each action of each player changed that state – no two games could be alike. There were so many interconnected systems that you could cause ripples of consequence for each action you took. Today that’s the norm, and the average MMORPG dwarfs ROCKET pretty easily. But in the 1990s this was looking forward…
I guess the final consideration here is that ROCKET is now most assuredly dormant, and probably fossilized. No matter how much it wants to live, it’s probably not going to. It missed its time, and I never had the resources, money, or manpower to complete it. How many other projects like this do I have in my files? This is a multi-part series. I could go on…