The world is a scarred shell of wind and sand and heat. Whoever had their finger on the button finally pressed it. There’s only one safe place left, a tiny, sheltered valley between two giant mountains. To the south is the ocean, to the north, the wasteland. A magical gate keeps the monsters out, and keeps the valley safe. We live well here, in our little sea side town or deep in the forest. We roam the grassy plains, dotted with bald hills. We hunt, and forage, and build. Sometimes we fight, because what’s worth fighting for more than the last good place on Earth?
YOU & Me
A couple of days ago I read a review of Austin Grossman‘s new book, YOU, by Cory Doctorow, and decided to buy a copy. Austin’s a game designer, and he’s worked on System Shock, Clive Barker’s Undying, Deus Ex, and Dishonored. He’s now an author, with his first book SOON I WILL BE INVINCIBLE, and now YOU. YOU is a book about a directionless 27 year old who gets a job at a game company started by some of his high school friends. While designing a new role playing game, he delves into the mystery of what happened to his friends and their dream of the ultimate game. A game where you could be and do anything, and the story would unfold before you naturally.
I haven’t finished YOU, but it’s been bringing up all kinds of memories. I got my first internet account in early 1994, dialing up through Real/Time Communications in Austin. R/T hosted a game, a text-based Zork-ish virtual world game called Ghostwheel, or GhostMOO. I’ve talked about GhostMOO before in my Pocket Worlds post, but I had forgotten an interesting chunk of GhostMOO history, and my own stab at multiplayer game design. My own dream of the Ultimate Game.
In 1997 GhostMOO was on the decline. We’d had a big rush of users in 1995, but many of them had graduated from college, and user numbers were down. The two main drivers of the game, Quinn (lead programmer) and Razorhawk (content creator) were busy with other projects, and without strong direction, GhostMOO was stagnating.
A couple of GhostMOO programmers, including Matt Sanders (who I’d go on to start Polycot and then join HP Cloud with) and I decided we’d start a spin off. Quinn had been gracious enough to release the core of the game, the bits and pieces that made up combat and non-player characters and monsters, out into the open as the GhostCore, so we had a good place to start.
We were thinking of creating a Ghost^2 or Ghostwheel 2.0, if you will. Similar core concepts, but different execution. Ghostwheel was all over the place thematically, we had monsters cribbed from Princess Bride, Alien, a whole community of Dragons straight out of Pern, a quaint japanese island, basically whatever a programmer was really into, they built. Even the name was cribbed from Zelazny’s Chronicles of Amber. In retrospect what we had was a mashup, we were just ahead of our time. Ghost^2 was an attempt to wipe the slate clean, to start with a core concept and theme that would be internally consistent.
Like all groups starting with a blank sheet of paper, we wanted to create the Ultimate Game, and we had the audacity to think that we could create a better game than the ones that had come before. We wanted to create a game where if you wanted to play a blacksmith, you should be able to do that all day, role play with other people, and generally succeed and feel progress. If you wanted to fight monsters, great, but that wasn’t the only path. Years later the first Star Wars Galaxies game would do this in MMORPG form, only to be neutered and turned into more of a combat grind in an attempt to compete with WoW.
One of the really interesting things that Quinn built at GhostMOO was the Terrain Room. GhostMOO was a MOO, a text based game, kind of like a multi-player Zork. In a game like this as you walk around you’re presented with room descriptions, which include the objects in the room (furniture, people, monsters, etc) and the available exits. Like so:
The R/T Round Room Eight walls for each point of the compass, each with an open doorway. The floor is tiled with checkered perma-linoleum; little matching octagons. N NW Lounge NE Austin | Hot Tub UP \ | / Helipad- \ / Austin W YOU E Jizo Island Library ----- ARE ----- Infirmary Ghostwheel Plain HERE / | \ DOWN SW / | \ SE Ground floor- Obsidian Greenroom Exit to Wasteland S Guest Chamber PX/General Store The center desk is empty of all personnel. Someone must be on an extended coffee break. An electronic sign-in pad is bolted to the desk. A monitor is bolted into the desk. Nobody's sitting on the floor. Alongside the east wall is a queer little potted tree, a tallish leafy husk with a, uh, snout? Contents: Bulletin board Obvious exits include down (d, trapdoor) and Up (Helipad, u).
Each of these rooms is dug by a programmer from an existing room, like mining through the digital aether. That new room then has an exit back to the room you were in before. (Here’s a map of the main house and grounds of LambdaMOO, for comparison.) That style of design makes for very detailed, interesting areas, but the overall area tends to be small, because every room needs to be described individually.
Quinn created something called a Terrain Room, which lived inside a Terrain Zone. In a Terrain Zone you insert a little ASCII map, something like this:
@qedit me.tmp # ############ # # # # ###~~#~#~~~#~# # # # ############ # # ############## .
This map defines what kind of rooms there are and what the layout is. In this case the pound signs (#) may be walls, while the tildes (~) may be rivers, and the blank spaces grassy fields. With this lovely hack Quinn transformed the Zork style MOO into a player-perspective Rogue-like.
The cool feature of the Terrain Zone is that it only creates the rooms if they need to exist. In a MOO everything takes up memory space, and back in the mid 90’s memory wasn’t as plentiful as it is now. If you’re standing in a terrain room, the terrain zone can look at the rooms around you on the map, and tell you what’s there. “To the north, east and west are open fields. To the south is a stone wall.” Those rooms don’t actually exist. Once you decide to walk north, the Terrain Zone creates that room, moves you into it, and destroys the room you were standing in before (unless you dropped something, or there’s some other reason for the room to still exist).
By operating like this you could create huge areas without actually digging and describing every room yourself, and the memory consumption would be a lot smaller. Your monsters and other non-player characters could also know about their “home” terrain type, so they wouldn’t stray from the grass or river. You could also let the player “travel north” and they would keep walking through rooms until they hit a room that was different than the type they were already in, or contained something unique.
In Ghost^2, we decided to use a Terrain Zone for our world, since it let us create an overall map that had consistent distances and spacing. I sketched the map out on a sheet of paper (above), and then started drawing it in a paint program on my Mac (below). I had a program that let me convert graphical images into ASCII art, so I was able to go from a map directly into the MOO. This is the last version of the Ghost^2 map, created in October of 1998:
The map is 1,000 pixels by 1,000 pixels, so our game would would be 1,000 rooms by 1,000 rooms. In the orange spots where there were towns we could dig out special rooms for houses and buildings, we could dig out special dungeons from the fields or forests. In this map light green is grassland, dark green is forest, gray-green is hills, blue is water, yellow is roads, and grey is rocky terrain. The outlines around large sections are edge types, like the edge of a forest, a beach or the base of a hill.
It was a really cool concept, and thinking about it still gets me excited. The idea of adventuring in that world, exploring the bustling cities, verdant fields, dark forests and dimly lit caves sounds like a lot of fun.
Game design isn’t easy. It’s easy to dream about, but it’s hard in practice. I’m about 1/3rd of the way through YOU, and the main character’s starting to realize that he has to enumerate every kind of object in the world, in every state it has. We reached a similar place with Ghost^2, which eventually became VallisMOO when interest waned among the other developers. We decided not to create a sister-MOO to Ghostwheel and I kept working on my own, and that MOO became VallisMOO.
I appreciate the stamina exhibited by the Adams brothers, the team behind Dwarf Fortress. They’ve been working on that thing for years, but that level of dedication is really hard to maintain. I got to a place with VallisMOO where I needed to begin populating the combat system with weapons. I heard that Steve Jackson games was working on a Low-Tech book, due out “any day now”, and instead of forging ahead (ahem) and making do, I decided to wait till it came out, and use it for reference. That was 1998. GURPS Low-Tech finally shipped in 2002, and by then I was on to real paying projects and VallisMOO was only a memory.
I went digging through my project archive and found a directory full of VallisMOO code and to-do lists and graphics. It even had some logs of conversations where I discussed the ideas for Ghost^2 with some friends, things I’d long forgotten.
I thought I’d share the design documents with the world, so I’ve uploaded them to github with a Creative Commons license. There are files of character types, races, locations, maps and all kinds of crazy things.
If you thought this post was interesting, and enjoy 90’s era game design, you’ll probably really like Austin Grossman‘s YOU. I finished it last night, and once I get a chance, I’ll write a more complete review.