It was a game, definitely, though because I was an otherwise quiet boy and those rebellious streaks had to get out somehow, it was also something more. But before anyone had a chance of getting that far, the first thing people noticed was the system felt eerily smooth to use. Here’s why.
Let me start with a little background. Thirty years ago, after your computer made a connection to another, text slipped across the wire to you one line at a time, each new line appearing across the bottom of the screen, pushing the previous lines up. It could not scroll back up to show you something you’d previously seen, and the spewing of text could not reliably jump backwards at all without deleting everything that it had fed to you previously. It could clear your screen and start over again at the top, but that was it. To make things even more tedious, you were fed each row of text only a little bit more slowly than most people could read.
When this is your only interface to a remote machine, certain delays became really, really annoying. Over time, system operators came up with all kinds of little tricks to help reduce these terrific irritations, and these modifications would eventually get shared with or copied by others.
I used to spend a lot of time being very concerned about how to make my board the best possible experience, given the constraints. One of my favorite tricks was the spinner. It was so successful, that one way or another it’s still leveraged in modern apps, even if it’s slightly different now than it was then.
Here’s how it worked. When you, as a user, asked for some information from the remote system, and the system had reason to believe that it might take a couple of seconds — such as checking to see which of a system’s boards have how many new messages since the last time you logged in — then while waiting for the information to load from a slow-ass floppy disk, the system would loop what it was sending across the wire between a series of characters, like this:
– / ! \ – / ! \ – / ! \
… but the trick was that it would send a backspace after each character, giving the impression of a line spinning in place. Crazy. In case that’s not super-clear — and I remember people freaking out the first time they saw it: “How do you do that?!” — here’s the breakdown. First you would see the hyphen, then it would be replaced by the forward-slash, then the forward-slash would quickly be replaced by the exclamation point, then the backslash, then the hyphen again. And this was cool because it was one of the rare times you ever got feedback from a remote system while it was in the process of doing something for you. You could be sure that your call had not accidentally been dropped, maybe because you forgot to disable call-waiting before you dialed out with your modem, since the system was clearly telling you that it was doing something. It was genius.
The only thing smarter than that, I figured, was not having to show a spinner at all because your system was faster than anything anyone could imagine at the time. Through my RAM disk, I had found a way to avoid having to reach out to a floppy drive and start it spinning, and then move the head to the right track and read the right sectors off the disk as it spun around beneath a tiny magnetic head. Instead, after I added the first chunk of memory to the card, I began running the entire system in the RAM drive, and it was insanely fast because it never had to hit the disk.
You had to be careful, though. I had to copy the contents of the RAM disk to one or more floppy disks before restarting the computer, because when power was interrupted, anything in its electronic memory would be lost forever. Still, it was worth it. Soon I had the equivalent of several disks worth of space to spread out around into. Most boards had two floppy drives, some had three or four, but I soon had nearly ten disks worth of unreasonably fast space. It was so fast, in fact, that people thought it was faked, that they were having a text file streamed to them, until they started interacting with it.
I promise this is going somewhere.
Some people told me that my system’s speed genuinely freaked them out, and that made me feel good. I began to get more users. The line started staying busy outside of work and school hours. As on most systems, users were limited to thirty minutes a day, though people more and more often rang the chat bell on my end, wanting to ask me some question or other, or just to catch up. With all that typing, I did more talking in those evening and weekend hours than I did in most of the rest of any given day, and by that point I had begun to get better at acting more normally chatty. It all came back to the acting, I think, in the end. When I was playing a role, I could stick to my lines and things very often came out okay. Typing, I could get out nearly anything and it didn’t seem to matter one way or another how I tried to say something, I never got stuck. It was as close to a pure expression of my thoughts that I could imagine.
There was always that moment, after you had gotten to know someone fairly well on a system, when it’s proposed that you meet up in real life. And at this meeting, if not a little bit before, maybe while talking on the phone, you shared your real names. My name was Patrick Dennis, because in a stage production four years earlier I had played a character named Patrick Dennis, and I knew who he was, and I knew my lines, and I could play his part. And luckily, my mother was relieved to know that I was not selling drugs, and she believed me when I explained how I was doing something with my computer that had inspired these people, mostly adults, to give me money. Not a ton of money, but slowly more and more. She saw the hand-colored maps of the fantasy game world that I had created, which I would mail off to those who had donated at least $10 so that they didn’t have to keep track of where everything was on their own, and so she believed me, even if she didn’t understand me. If she didn’t think it was an especially great use of time, to her credit she didn’t lecture me about it.
I installed another expansion card in my system, one that essentially replaced the Apple processor with one that was nearly four times as fast. After filling up all the memory sockets on the original memory expansion card, I expanded the card itself. I’ll say that again another way: They let you hang a memory expansion card from the memory expansion card. Soon I had filled that one, too, with what I had made, and I thanked the guys who wore brown ties with blue, short-sleeve shirts.
What I made was a game, basically, something that played a bit like Wizardry and a bit like Ultima III, but entirely text-based, fed to you one line at a time. After logging into the system you could read the message boards, check your email, browse the limited text file directory, ask to chat with the system operator, or you could play the game. Once in the game, you could not return to the rest of the board in the phone call. In the game, you were either exploring the terrain or you were walking through a city. In either of these places, you could fight things when they were there to be fought.
By exploring the terrain, you moved north, south, east, or west through different types of landscape, from deserts and ice and grasslands and forests, to hills, which meant you were coming close to some mountains, and mountains, which you couldn’t move through. There were a few secret paths that cut through some shallow mountain ranges, which might be more obvious if you bought a map, but in general you had to do a bit of walking around to get from place to place.
This really is going somewhere.
While exploring, you could randomly have an encounter with a kind of monster native to that terrain type. So, you might fight a polar bear if you were in an square on the map marked as being ice. The monster would be about as big and as tough as you were, so in your first random forest encounter you might find a goblin, but later on you might be surprised by a bugbear.
By walking through a city, you moved essentially from room to room, one stretch of street or hallway at a time. Each room had a paragraph’s description, and some rooms had people or monsters in them. I only ever completed one big city, and I never fully got it the way that I had it drawn out on the square meter of cardboard that I kept tucked behind my bed. Before my grand plans eventually hit a wall, though, the city you could explore had a decently large number of houses and avenues and markets and apartments — and people, their names all butcheries of characters I loved most from whatever I was reading at the time.
When you got killed, or your daily time limit ran out, my computer would drop the connection and you’d have to call back and start over. At first, yes, I didn’t keep your character once you died. It was easy to make a new one, though yes, eventually I saved people’s characters.
As you killed more things, your character became harder to kill, giving you access to and a chance at surviving an encounter with higher-level monsters. You also collected more and more powerful swords and armors, all of which I spent way too much time naming. I used to work on the lists and the names of the items over the long drives out to the country those Sundays when we went to visit my father’s parents.
Similarly, each bad guy, from a random bugbear in the forest to a giant worm in the desert to the evil priest at one of the temples in the city, had a custom “death” message. As with the weapons and the armor, I spent time making list after list of different messages — I got there while saving money for my modem, thinking how boring it would be to see the same “You killed a (monster’s name)” over and over again, and decided to show a special message for each monster. So to my table of monsters, which I’d written out in rows and columns to make sure that the less powerful monsters remained easier to kill than the more powerful monsters, I added a “death message” column and filled them in so that I wasn’t repeating myself.
I don’t now remember exactly when I first hit upon the completely insane idea, it was so long ago. However, I do clearly remember reflecting on that moment, a year or so afterwards, wondering if in my madness I hadn’t maybe pushed things more than a little bit too far.
I didn’t have that many monsters, really, but I had to have an equal number of different monsters for each terrain type, so that different levels of characters would always have something to fight wherever they were. And I wanted all the “You killed it!” messages to be different, though I felt like making the messages consistent somehow for monsters within any one type of terrain. At some point I must have run out of different ways to declare the death of a monster — like, by the time I got to deciding what to say about monsters killed in the hills, for example — and instead I started putting in phone numbers of less common but interesting underground hacker boards.
Clearly, it was unexpected for each monster to give up a different piece of information once slain, but I figured that I’d already done it so I guess I felt I had to keep doing it.
I mean, I know that there were a lot of people who didn’t realize — and I’ll make something up to give you an idea — that when you killed, for example, a bugbear, you got the number for a phone company test line, where two or more phone company employees could attempt to call into in order to troubleshoot network problems as a group, from different parts of the network. There were a bunch of these numbers, and hackers shared them, both locally and across area codes, we would hijack them as little chat rooms where we’d hang out for hours shooting the shit and maybe bragging a little and trading other interesting numbers. Then maybe when you killed a sandworm, you’d get the death cry of the creature followed by a username and password and phone number for some system.
People kept calling, more to explore the game than for any information they might have been getting out of it. Like I said, I don’t think most people knew what I was showing them. I kept it going for years, and I loved it, I loved every hour of it: the yawning sense of my social life outside of my electric community shutting down, then the weeks and even months that I would let the system run without hardly paying it any attention, and all the people I met and the dramas I ran through. It was a crazy time, but I made something for myself. Within a year of getting that first copy of bulletin board software I’d completely re-written it, and it was tight, and I’d written a game from scratch, and it wasn’t great and it was breaking a lot and I would go a while without updating the content because I had to get a job and do other things at some point — but eventually something happened and I outgrew it and I couldn’t stand it any more, and I was very relieved, somehow, that as myself, as Derek, my true name, I never had to say goodbye to any of those people. I’m sure they simply wondered whatever happened to Patrick.
I will have to write about them someday.
The week after I graduated from high school, my parents took me and my sister to Hawaii for a week. It was our first time off together as a family in years, and the day before I left I turned my computer off and I sat in my room and I listened to the tiny noises in the silence. I left it off the whole week we were gone, and when I got back I didn’t turn it back on. I plugged the phone in when I wanted to make a call, which wasn’t often, and otherwise I left it unplugged. That summer my parents moved houses, and I didn’t move my line with it. A few weeks later I went away to college to take my first real computer science classes and I never looked back.
Twelve years later, when my boss’s boss asked me if I was a hacker, I knew enough to deny it. But I couldn’t say what the truth was, not without stuttering — which I refused to do in front of other people, not anymore, not if I could help it. I knew my lines, I had them down. The stage had been set, the curtains drawn. I was ready, I thought.
I had no idea how little I still knew.