Here are the games I have been credited for working on, with a little information about what my contribution was. These notes are probably more useful to me than anyone else because over the years I've done so many different things on different games the details are starting to fade a bit and I want to keep track of my accomplishments somewhere. Note that these are listed in the order that I worked on them, not the order they were released. I also added a section at the end for the games I've worked on that were never released.
Current Project
Red Dead Redemption
Rockstar Games
XBox 360, Playstation 3
My responsibilities include various aspects of vehicle dynamics, character movement, general physics and a variety of other gameplay features. I'll be happy to go into more detail once the game is released!
Published Games
Earth & Beyond
Westwood Studios, 2004
Windows
I was hired in 1997 to be the second programmer on this team. For several years there were only a handful of us working on this project known only by code name "G", never to be discussed outside the team. I was responsible for many core systems including terrain rendering, economic simulations, path finding, user interfaces, LOD systems and a variety of 3D special effects. It was my work on 3D terrain systems that convinced management it was time to commit to a fully 3D environment as opposed to porting the Command & Conquer game engine for terrain mode. After working on this project for 3.5 years, I left the team in 2000 to help out with the Pirates game (below).
Pirates: The Legend of Black Kat
Westwood Studios, Februrary 2002
Playstation 2, XBOX
My work on this project mostly involved NPC pathing, behavior and combat AI. I also helped with the asset management pipeline.
EverQuest: The Legacy of Ykesha
Sony Online Entertainment, February 2003
Windows
Tasks involved helping make the new Froglok player race work with existing systems and various project management tasks. During this time I started work on the geometry analysis systems used by the procedural pathing data generator and related pathing logic system used by the next expansion.
EverQuest: Lost Dungeons of Norrath
Sony Online Entertainment, September 2003
Windows
Finished the geometry analysis and procedural pathing data generator and corroborated with another programmer on the creation of a new A* pathing system used by EverQuest using my experiences creating pathing systems for Earth & Beyond. This pathing system is an evolution of the system originally conceived of while previously discussing the problem with Patrick Smith. It is a highly optimized connected graph of data representing all the passable space in the map, and is implemented in such a way that the pathing system is able to navigate several distinctly different types of connectivity graphs - point to point, suface-sharing convex volumes, and AI bridges (ie teleporters, etc) - to deliver a complete pathing solution to NPCs to help them navigate to their goals. This system was a major undertaking, implemented in a manner that made it suitable for use by other games and continues to be at the core of the navigation systems used by EverQuest and EverQuest II today. The procedural data generator made it possible for designers to automate the pathing of a level, saving many man-months of effort (if not years at this point) that would have been spent manually editing pathing graphs. Additionally, the 3D volumetric nature of the pathing data enables the NPC logic to navigate through open space for flying NPCs as is seen in EverQuest II.
EverQuest: Gates of Discord
Sony Online Entertainment, February 2004
Windows
Designed and implemented the client-server collision system used by the update of the graphics engine for EverQuest. The collision system is a scalable, multicore capable design that has no OS dependencies and provides a wealth of collision detection, regional object detection, and movement detection services. At this time I became a key person responsible for game security systems due to the fact that so many exploits take advantage of flaws in movement and collision systems. Additionally, I was responsible for implementing a world server player caching system that allowed EverQuest to overcome disk access bottlenecks that were the cause of cascading server failures occurring at the peak of EverQuest popularity.
EverQuest: Platinum
Sony Online Entertainment, July 2004
Windows
This was a compilation pack, and my contribution to this was minimal as I was deep in Omens of War tasks at this time. Compilation packs aren't really something that requires much attention from programmers, but I was involved with most things at a organizational level to some degree due to being an assistant lead programmer at this time.
EverQuest: Omens of War
Sony Online Entertainment, September 2004
Windows
Continued work on the collision, movement and pathing systems to deal with new issues with new content. During this dev cycle I also finished the new sky system for EverQuest which is a fairly complex procedural object with many features including real time blending between weather systems, multiple cloud layers, time of day projected 2D vertex color animation, and many other tricks to make it look cool. Additionally, I implemented the "thick line" system which is a real time extrusion of a collection of 2D sillouettes along a 3D spline which is used by the "player find" feature to display a "mystical path" to the player's destination in the form of a swirling, UV animated tube that undulates in space along the control points resulting from a pathing query performed by the server. I participated in an IGN interview on this one, and they have a few shots of the sky system in the article.
EverQuest II
Sony Online Entertainment, November, 2004
Windows
My procedural pathing system is used to generate data for this game's AI. I provided some small service to the team helping them understand and integrate my architecture within EverQuest II.
EverQuest: Dragons of Norrath
Sony Online Entertainment, February 2005
Windows
This expansion had a number of issues related to generating pathing data for extremely large zones and for optimizing the use of pathing data on instanced server farms. I also designed & implemented the Audio Trigger system, an in-game mechanism for associating player-defined sounds with incoming chat messages.
EverQuest: Depths of Darkhollow
Sony Online Entertainment, September 2005
Windows
I spent much of this development cycle optimizing pathing and collision systems, resulting in measurable reduction of server hardware requirements. I also began promoting the idea of the "Progression Server" which leveraged existing content to create a new type of server which proved very popular with players and increased subscriptions.
EverQuest: Titanium Edition
Sony Online Entertainment, January 2006
Windows
Another compilation pack, and while they required minimal code we on the technical side of the team had to be involved to ensure it went smoothly with respect to file management, in game reward keys, and various other tasks that are required to get such products out the door successfully. My contribution was minimal, but I was involved and helped where I could.
EverQuest: Prophecy of Ro
Sony Online Entertainment, February 2006
Windows
I did the technical design and implementation of many aspects of the technology required to support player set traps, spheres of influence and destructible objects. I provided other programmers with specifications and helped guide the implementation of various subsystems of these features. I was a good candidate for leadership on these tasks because these systems utilized advanced features of the collision and pathing systems I had written previously. Additionally, I implemented a texture proxy system which allowed the game client to defer the loading of textures from disk until they were actually required for display which was very useful in reducing memory requirements that had grown during the course of the many expansions adding new global items to the game.
EverQuest: The Serpent's Spine
Sony Online Entertainment, September 2006
Windows
I continued enhancing pathing systems to better interface with destructible objects so that pathing routes would be enabled or disabled as needed when a large destructible object changes state. I also provided numerous enhancements to the pathing system and pathing data generator to accomodate changes in the recently released heightfield terrain system.
Untold Legends: Dark Kingdom
Sony Online Entertainment, November 2006
Playstation 3
I came to this team rather late to help them launch the title in time for the Playstation 3 launch. I spent most of my time implementing support for audio hooks, voice chat, physics triggered sounds, script related sound controls and generally providing programmer support for all things related to sound.
Cancelled Games
Command and Conquer 3
Westwood Studios, 2002
Westwood Studios originally started working on C&C 3 but not long after starting it the studio was shut down by Electronic Arts. This title had not seen the light of day again until it was recently announced as a product due to be released in 2007 and I have no relationship to the new release. I had the pleasure of helping with the preproduction of the first iteration of C&C 3 while Westwood Studios was still operational and during this time I did research on various 3rd party engines including Unreal for possible use with this title. It was very short lived however, I was only on the project for about 4 months before leaving the company. It was a very good 4 months however, it was my first exposure to the highly refined preproduction processes that Electronic Arts has developed and it left me very impressed with their systematic approach to game development.
Sovereign
Sony Online Entertainment, 2003
I worked on this MMO RTS project as a senior programmer responsible for the game editor that made heavy use of an integrated Javascript interpreter and customized native objects. It made a lot of sense for me with my Earth & Beyond and C&C3 background to work on this game which can be seen as a mix of genres. Unfortunately, Sony Online Entertainment shelved this project about 5 months after I arrived for reasons well beyond my control.