Dungeon Siege
I worked at Gas Powered Games between November 1999 and October 2003, back when it was a fresh startup. In that time, I lectured and wrote about some of the technology we used to build Dungeon Siege and later projects. I also released specifications for some of the internals of the engine to help the mod community.
This page collects all of my published Dungeon Siege work.
A lot of time has passed since those days, so nearly all of the below work should be considered to be out of date. Any recommendations I had regarding technology are as irrelevant today as ray cast engines were then. With one big exception: the component-based game object system paper is still very relevant. More on this below.
Lectures and Papers
The Continuous World of Dungeon Siege (2003)
This is a lecture I gave at GDC San Jose. They liked it enough that I was invited to London to give it again later that year. Good times.
In it, I talked about the history of and technology behind our streaming 3D world engine. At the time, this was still a new idea, with almost no literature published on the subject. The few games that had shipped with streaming worlds were relatively simple. They either had predictable distributions of basic content, or limited their content layout to canyons and tunnels. That was our original plan as well, but early on some smart folks on the team figured out we could do a lot more.
Slides: [PowerPoint] [PDF] [With Notes] [Outline Only]
Q&A: Some Notes on Dungeon Siege
Our engine enabled us to have dense, variable, heavily scripted content in all directions, and the designers took full advantage of this. The regular resetting of the world origin and everything-is-relative terrain graph meant that we could literally go to infinity with no loss of precision. The engine supported up to eight separate streaming worlds in memory simultaneously, one per party member in single player or per-player in multiplayer. You could have everybody in a different part of the world and switch among them instantly. To my knowledge no game has done this since. It still makes for a cool demo, and even today I’d consider it advanced.
We were also able to use the node graph to do some bizarre things with our engine not possible in a Euclidian-space game, such as the infinite level trick I mentioned in the paper. Late in the development we also used the graph to add wormhole-style teleportation between arbitrary parts in the world. (I still can’t believe that worked.)
Page 1 of 5 | Next page
