Environments and Scripting

One of the environments I built for Dungeon Siege II: Broken World.

This one is the first optional dungeon in the game. It could only be accessed after finishing the first primary quest.

It was also the first environment I ever built as a level designer. The layout was mine, but the length was strictly defined by the "tuning grid", which kept the entire game balanced along a strict progression. If an environment was too large, players would gather too much experience. Too short, and they'd get crushed by monsters in the next area. Optional areas still followed this pattern, staying within a limited budget of surface area.

One of the environments I built for Dungeon Siege II: Broken World.

This is another optional dungeon that could only be accessed after finishing the first primary quest.

I remember the first dead-end passage in this video being a nightmare to "connect" to the rest of the cave. I was still learning the ins and outs of the Siege Engine, and how its building blocks would fit with each other. If you built an oddly shaped or elevated area, you had to make sure you had enough space to get the elevation or shape back to "normal" by the time the other end hooked back up with the original geometry.

The "Ruined Traveler's Sanctuary" towards the end of this video was a relief to build after the cave before it. By the time I got to the end, I welcomed a nice, flat space to build with predictable angles.

One of the environments I built for Dungeon Siege II: Broken World.

This is another optional dungeon that could only be accessed after finishing the second primary quest.

I barely remember this environment, as by this time I had built nothing but optional caverns with negligible rewards. I was itching to get to build some "real" areas. However, even small caves like this allowed me to hone my skills that would come in handy later.

One of the environments I built for Dungeon Siege II: Broken World.

This dungeon is accessible at any time, but you can only explore the complete area if you have Yoren the dwarf as a party member.

One of the environments I built for Dungeon Siege II: Broken World.

This was the first main path area that I built, applying what I'd learned by building the optional caverns in the first part of the game. I remember having a devil of a time getting the elevated platforms to line up with the pits below.

"Tiles" in the Siege Engine are (sometimes) organized by height. There are all manner of "normal" tiles that are used to build floors and walls, but the fun starts when you get adventurous with elevation changes and wall heights. Connecting that 4-meter high wall to its 4x4 floor is easy enough, but once you start playing around with 16-meter walls with 8-meter platforms embedded in their sides, things get a lot more complicated. Plus, remembering the naming conventions never got particularly easy. For me, anyway. I still have nightmares about t_xxx_cave_wal_08b_base_04b-08b-cnvx-l-top-a.

This was the first exterior environment I built, and it was a doozy. Going from caves to this enormous desert area was quite a leap for me. It was a little intimidating.

Once I got the hang of the exteriors, though, I started to really stretch my muscles. Since the walkable area of this desert was narrow, the bulk of my time was spent in decorating parts of the environment that players might not ever even notice - the valleys on either side of the elevated walkways. Keeping them all different was a bit of a challenge, since the toolbox wasn't necessarily that big.

One of the things I was most proud of in this area was my first foray into scripting encounters. While the bulk of enemies in the Dungeon Siege games are automatically placed, there was room to add custom work from time to time. We had never done anything in these games like the Morden jumping down from their platform to attack the player, so it was a thrill to get to bend the rules of the scripting system and engine to get it to really pop.

The Hak'u Tunnels (or x1_09_climbcave, as I knew it) was the third main path zone I built in the game. Its purpose was to connect the lower desert regions with the mountaintop areas of the end of the first act. It was my first experiment with having multiple walkable areas in the same vertical space -- not traditionally one of the strengths of the Siege Engine.

The "bone pit" side area was a fun one to set up, but I remember the last big ramp leading to the exit requiring multiple iterations to get right.

Since the other three level designers built the main path areas in Act 2, I wanted to make what I DID build into something really special. So the Ancient Stockade (or x2_02x_prison, as I knew it) was where I started experimenting with quite a few things.

First, we weren't ever really doing much "cause and effect" scripting in the game, so I spent quite a bit of time making the "light torch and spawn spiders" event happen. Yes, I had to manually set up each spawning spider. Yes, I manually staggered the triggers so that they wouldn't all spawn at once. And yes, it was a lot of fun.

Second, there was a set of tiles that we didn't use that much - the "broken" dungeon floors. While their original purpose was likely for creating dropoffs from old environments, I repurposed them to make underground ruins even more interesting.

Third, I hadn't yet had the chance to build any secret areas, since my work thus far had all been dungeons and deserts. The last part of this video, with the long walkway on the edge of a dropoff, was a fun mix of secret area and "broken" tileset.

Oh, and check out the tree that crashed through the dungeon in the middle of the video! That took a lot of work, but I think it was worth it.

This dungeon is an example of what happens when my desire to make cool, unique stuff takes over. I wanted to have the Vai'kesh Sanctuary be appropriately creepy, since you find out via a secondary quest that (uh... spoiler alert) they're not as reformed as they say they are.

And what says "appropriately creepy" like hundreds of tiny candles, individually placed and painstakingly arranged? Nothing.

Also, I started to get even more aggressive with my "let's push the boundaries of what we can do in this engine" by making the Vai'kesh Guardians -- basically immobile Vai'kesh with a stone texture, that I activated via proximity. It... was harder than it sounds now that I'm writing it out.

Also difficult was wiring the Vai'kesh early on in the dungeon to look relaxed and normal. Having them in their scary combat idle pose wouldn't be appropriate, so I made them sitting and standing around like they're on their break.

Ah, Lorethal's Tomb. This was my crowning achievement in DS2BW, so I was a little sad that the quest was unfortunately easy to miss.

A lot of things came together here. The quest was basically "do a bunch of morally questionable things so a party member will join you". You have to get the tears of a child, some elven blood, and so on. But the climax was to "bind the soul of Lorethal to a soulstone". It looked kind of boring on paper, so I wanted to spruce it up. Binding the soul of a legendary hero deserved more than just clicking on an object.

You can see the results. I built a completely empty tomb with closed sarcophagi, lit with regular torches. When you reach Lorethal and bind his soul to the soulstone, the lights go a sickly green color. All the sarcophagi open up and the ghosts of the Crimson Hunters come out for vengeance. I built the "ghostly" enemies myself, using Photoshop trickery and effects borrowed from other locations.

To make it even more intense, I switched the music when the lights change, and disabled the town portal spell so you couldn't just escape. You had to fight your way out.

All in all, I was extremely proud of this one, and others at GPG were as well - they would later refer to this quest as "how we should do quests".

This was the last area I built in the game - the underground city exterior right before the final boss fight. The glowy red "blades" on the geometry were pretty gorgeous-looking for their time.