The Past Is Nothing But Whispers… And Shadows

It’s the perfect title for the first game postmortem post, and it’s also the tag-line from the game Shadows.


I’d always wanted to make games, but my self-taught programming skills were simply not good enough to code graphics and audio. So I did a bunch of other stuff for a while, like finished high school and college, worked some jobs, and went to law school. All the time I was making little text adventures in basic, writing, making board games, doing whatever I could to try to build interactive worlds. Around the end of 1993, I was working as a tech writer at a software company in North Carolina (Seer Technologies). I was also starting to build multimedia applications and shows for them in Macromind Director. In the span of a couple months, everything changed.

I played Myst right after its release, and was blown away. It looks old-fashioned now, but at the time, it was the most realistic and engaging interactive world I had ever explored. As I walked around its world and solved puzzles, I did a lot of thinking.

I thought about Myst. I thought about Director, which let me import graphics and audio rather than code them from scratch. I thought about the little bit of scripting I had done in Lingo, Director’s scripting language (because at that time, Director was almost all time-line driven and Flash didn’t even exist yet). I thought about the fact that I couldn’t draw worth a damn. I didn’t care. It was my chance, and I did everything I could to make it happen.


I went home after work every night in October to teach myself Strata Studio Pro, which at the time was the only desktop-level 3D graphics package that could ray-trace. I learned Lingo over my lunch hours at work. By the end of the year, I’d built a demo for an RPG. I loved the Wizardry games and wanted to build a similar RPG with Myst-style graphics. I contacted a local game company, Random Games. They loved the demo, and took it to their publisher, MicroProse. MicroProse loved the style, but really wanted “something less like an RPG and more like Myst.”

“I can do that,” I said. I took a week off work and designed what some would later call a “Myst clone.” Like most games in that style, you play yourself, the undefined protagonist. Shadows started with a letter from a friend (Alex) who was missing, a famous archaeologist who had lost his post at Yale a year ago over his controversial theories about time travel. You go to his house to search for him, and it starts your own journey through time. You visit locations like the Hanging Gardens of Babylon and the Ishtar Gate, Karnak,  and even the Titanic as it sank. You appear in the past as a ghost to the people of that time, and they appear as ghosts to you as well: occasional whispers and shadows (using full-motion video). You explore, interact, complete puzzles, and solve the mystery of what happened to Alex.

It wasn’t as hackneyed 1994 as it sounds now. There were no time travel games at that point. The movie Titanic was still three years out. This was before the game Timelapse, and Michael Crichton’s Timeline. The story and setting didn’t matter as much to me as the opportunity to make a world–any world–in an interactive medium.

What started in late September, 1993 with me looking at Myst ended around February, 1994 with a signed contract and The Gloating Goat Company, an independent game developer affiliated and sharing offices with Random Games.

The Gloating Goat Company

So here I was, a professional game developer. Uh… OK. I made a schedule in Excel. That was a start, right?

I put in the order for two Quadra 840’s. You heard that right: Quadras. It was going to take a serious machine to render these graphics, and at the time, the Quadra was about as serious a graphics workstation as you could get without spending $20,000 or more on an SGI. Each Quadra cost over $7000 once we upgraded the RAM. Those of you who were there–you know what I’m talking about.

It was me and Jonathan (B.J.) Eves at first. I did management, art, scripting, a little bit of everything. We needed at least one more person, though. Our first hire was Carl Schmidt, who (I think) was straight out of art school at the time. Of course, +1 person meant +1 Quadra! Of the entire company, Carl and I are the only two still in game development (Carl’s currently Associate Art Director at EA).

Now that there were two people working on graphics (Carl and B.J.), I became the main code monkey. I made Lingo do all sorts of things it really wasn’t intended to do (at that point, anyway). I was still involved in art, though, as the final person to work on each scene. I set the lighting, polished the textures, placed the cameras, and set the final renders.

And oh, those renders. I think Babylon was the first world we built. The interior of the Hanging Gardens wasn’t super complicated. A 640X480 shot only took 6 hours to render. I could render a full-size version in phong (without ray-tracing or shadows) in about 20 minutes, or I could render a ray-traced thumbnail in a half hour. You can only see so much in those, though, and it was inevitable that half the scenes had an error I couldn’t see before that final render. Two minutes to make the change, 6 hours to re-render.

The Babylon exterior was even worse because it had (gasp) water. We were talking 12 hours to render each of those shots. I may be a designer, but even I can multiply. 48 interior locations X 4 viewpoints per location X 6 hours per shot + 62 exterior locations X 4 viewpoints each X 12 hours each = HOLY CRAP. And that was just one world. Even with all three of our machines rendering all night, we would barely make our delivery in late 1995. I ordered two more Quadras after a very long and painful argument with the owner of Random Games, who didn’t understand why we needed top-of-the-line machines with extra RAM that were going to sit with NO ONE USING THEM?! I don’t blame him–at the time, it was crazy talk.

Around the end of 1994, I also realized we needed another person. There was no way I could be the final-render artist, manage the team, design the game, script all the puzzles, and create the interactions for the rest of the game. We had about 1/4 of the game done and it looked great… but we would never finish on time with just the three of us. I hired a friend from Seer Technologies, Tony Fister. He’s still in North Carolina, working for IBM. He came aboard, got up to speed on Lingo, and took over the main game interactions and some of the puzzles. Whew! Now we had a chance to finish the game by the end of the year!

Also around this time, we started working with Random’s audio department. I can’t find any of the music from Shadows, although I’m hoping to dig it up as I prepare for the move north. It was awesome, still one of my favorite memories of the game. Most of the music was written by Jim Crew, who still composes at CrewCuts in North Carolina. Hopefully I can find some of the music and add it to this post later on.

And then came the Titanic. We were running late, and I went into double-time. I took on the Titanic myself, and built all of its locations. As you might expect, it was ray-tracing hell, especially on the deck (thousands of polygons, hundreds of textures, water and ice). A single location shot from the deck of the Titanic took 36 hours to render. I spent my own money on two more Quadras, and hired a contractor to help with the scripting. I was not going to let anything get in the way of finally being able to make a real game.

The End

We had 75% of the game done, with only two worlds left to build. We had hundreds of final renders, completed walk-arounds, 12 finished puzzles, and full musical scores. We were on track for a late 1995 release. Then it happened: Spectrum HoloByte, which had purchased MicroProse near the start of Shadows, ran short on funds and canceled almost all the MicroProse games in development. It included Shadows.

It was hard on all of us. Random Games paid several milestones from their own coffers, but they’d lost a game to cancellation, too. B.J. and I paid employees out of our own pockets for another couple months. We let the contract scripter go, then laid off Tony. It was really hard for us, and even harder when I had to let Shadows go as well. The rights were too muddy, by that point. Even if we took The Gloating Goat Company elsewhere (which we did), completing Shadows meant repaying all of MicroProse’s investment, plus Random Games. It was too much money for a publisher to spend up-front on an unfinished game, and neither Random Games nor I had the right level of industry contacts to shop it to the companies who actually might have saved it (like Red Orb at Broderbund).

So that’s how I started, and that’s how Shadows ended in 1995. I have the whole game somewhere, and when I dig it up (hopefully in the next few days), I’ll update its version of Director and see if I can get it up on the web, playable in Shockwave.

What I Learned

Unlike other games I worked on, it’s hard to summarize what I learned from Shadows, for a true postmortem. I learned… everything. I learned how to build worlds in 3D, how to texture and light. I learned how to script/code. I learned how to write game design documents. I learned how to manage a team. I learned how to schedule. I learned how to build milestone CDs on those special gold disks. I learned that you don’t mind staying up all night and spending your whole weekend to meet the milestone because you love the game so much, and you love your job so much, and you love your team so much. I learned that almost no sacrifice was too great, but that in the end, when it’s done, you let go. That’s harder when no one will ever see the work you did. And you know what? That’s the wrong ending for this story.

What We Built

So here, shown publicly for the first time, is Shadows. For now, I just have screen shots. I’ll start with the first world we built: Babylon.



Chichen Itza




The Titanic





Miscellaneous Shots




Laralyn McWilliams

B.J. Eves

Carl Schmidt

Tony Fister

Jim Crew

Special Thanks to Random Games, Inc.

Related Posts

Storify on being a game designer

Prompted my a news story back in September that Halfbrick had laid off the last of its designers, I chatted on Twitter about some of the challenges in being a designer. I’ve been updating the

Read More »

Example of FSM Building: Combat

A past side project included building Wizardry-style combat. That’s a very specific kind of turn-based combat, best displayed in Wizardry VI and Wizardry VII. I call this phased combat. The player enters orders for each of

Read More »

Segmenting (and not repeating) FSMs

I’ve been talking a lot on Twitter lately about creating my solo game, and I’m going to start saving them here as well. Today, I talked about why you often want FSMs on stand-alone gameobjects,

Read More »

Don’t get stuck on copy

Staring at an empty dialog window? Trying to mock up UI? It sounds absurd, but I’ve seen many designers get hung up on placeholder text. If you have text space to fill, grab some lorem

Read More »

Overcoming game dev resistance

Over the years, I’ve developed what I call the “We’re Guessing” voice. It’s this little whisper in my head, when I’m hip-deep in theory or debate over a feature, that says, “You’re guessing what will work.

Read More »