Tales of the Rampant Coyote
Adventures in Indie Gaming!


(  RSS Feed! | Games! | Forums! )

Friday, October 17, 2008
 
Game Design: Ultima VII Design Gold Mine
I love opportunities to look over an experienced (and successful) designer's shoulder in some way, or to look in under the hood of a major game and see how they did it. I think I had more fun picking through the engine and looking at the original campaign scripts in Neverwinter Nights than I actually did playing the game.

Whether or not you have warm fuzzies for Ultima VII as I do, if you are an aspiring RPG developer (or just very curious), there are a couple of resources that have been pointed out that may be of interest to you. These were brought up in the comments following my Reminiscing Ultima post earlier brought up some discussion about its design, and a link to some design documentation.

The first is Exult Studio - the toolkit for the open-source Ultima VII emulator. Actually, just reading through the documentation is a valuable look at just how they managed to make things work in that game. They used a surprisingly simple set of behaviors to create everything in the game.

Of particular note to me was their use of "eggs", or what is more conventionally known as triggers, and the NPC flags, settings, and behaviors.

The biggest trick with Exult was decompiling and understanding the USECODE - a C-style scripting language for the game - not unlike Neverwinter Nights' scripting language, or TorqueScript. They had only a partial understanding of it at first, and had to guess at the rest and see what broke.

With an understanding of how Exult Studio works, the surviving / discovered design documentation for Ultima VII Part 2: Serpent Isle makes a lot more sense. Chevluh pointed out an archive on Bootstrike - but you can also view individual pages online here. This is a treasure trove of information for me about how they plotted out the second of the two games, and more importantly the design considerations they made and the reasons why they did things a particular way - such as what clues they were trying to provide the player.

It's also interesting to me how they have broken down things into subplots which are triggered by various flags. The idea here, interesting enough, is that these chapters of the game are not broken down into discrete subquests. There are several different subplots that run more-or-less in tandem throughout the chapter. Some NPCs, locations, and objects are pretty specific to a single subplot, but others get reused through several different subplots. They all kind of run together, whereas most modern RPGs actually feel much more compartmentalized.

Serpent Isle was, alas, a lot more linear than The Black Gate, and you can see how this was planned from the get-go in these documents. Unfortunately, bad usecode in the Moonshade scripts actually wrecked the game for me fifteen years ago, as one trigger failed to fire, and I was never invited to the banquet no matter what I did. I spent days poking around the island trying desperately to accomplish SOMETHING before I consulted a hint guide that explained what was supposed to happen. I called Origin tech support and was pretty much told, "Yeah, that's a very rare bug. Sorry about that." Alas, even restoring from a saved game and trying it again did the same thing. Just a word of warning to script-monkeys... :)

Exult Studio Documentation

Ultima VII Part 2: Serpent Isle Uncut Plot Design Documentation for Mad Mage & Moonshade Chapters

Bootstrike's archive

Labels: ,



Did you enjoy this post? Feel free to share it: del.icio.us | Digg it | Furl | reddit | Yahoo MyWeb

Comments:
First link (to Exult docs) seems to be a copy of the second link (to cache of U7#2 design docs)
 
One thing that strikes me while re-reading the moonshade doc is that they clearly identify a case of sequence breaking that may get the player more or less stuck without an obvious solution later (bypassing the mad mage subplot, which prevents them from getting the jawbone) but seem not to worry about that, possibly counting on the player's completism. Funny how design mentalities have evolved.
 
Tom - thanks for catching that! It's fixed now.

Chevluh - I noticed that one, too, and I very nearly made a comment about it in the post. It was kinda astonishing to me, coming from modern mainstream development where they'd cut an entire chunk out of the game rather than let something like that slip through design or development.
 
I gotta say, I love this site's web design. The text is so large and clear its almost like you care about your reader's eyesight.

Every time I come here, I catch myself wondering what font/size combination you use. Then before I check, I start reading about Ultima VII or Wizardry 8 and then I forget all about it.
 
It's made even stranger by the fact they otherwise specify quite a few steps to ensure there's little sequence breaking in moonshade (like not being able to go to Erstam's until you've saved Iolo or having quite a few people absent until you attend the banquet).

Equally intriguing is all the post-bane release stuff, it's interesting to see how much wasn't implemented in the final release.
 
Post a Comment

Links to this post:

Create a Link



<< Home

Powered by Blogger