Pirates of the Caribbean: Dead Man’s Chest
Pirates of the Caribbean: Dead Man’s Chest is the first commercial title I’ve worked on at Amaze Entertainment. It falls into the action adventure genre, and follows the storyline of the Disney movie. In addition to the main single-player campaign, this title features a co-op multi-player mode and three mini-games: Walk the Plank, Shoot the Monkey, and Boom Barge.
- Implementing all of the game’s world objects: pickups, breakables, obstacles, and puzzle elements.
- Adding bone-based paper-dolling support (e.g. having Jack Sparrow wear a hat and wield a sword).
- Programming the three of the mini-games included in the title (single and multi-player modes).
- Designing and implementing the AI for several unconventional enemies and bosses.
- Defining and implementing the studio’s first fixed rail camera system (which included various effects).
- Implementing scripting support for most of the game’s features (triggers, object placement, event hooks).
Pirates of the Caribbean: At World’s End
Pirates of the Caribbean: At World’s End is a sequel to the previous PotC game I’ve worked on at Amaze Entertainment, and follows the plot of the Disney movie. This game, while still action adventure, featured significantly more platforming than its predecessor (hooking, sidling, rope swinging, climbing, etc., as well as two new minigames: Liar’s Dice and Dueling (which made heavy use of the Nintendo DS touch screen). Although this title did not feature a co-op mode, both of the minigames had multiplayer capability for local wireless play.
- Implementing the majority of world objects used in the game - pickups, breakables, obstacles and puzzle elements.
- Programming platforming mechanics such as ledge grab, sidle and climbing with respect to BSP and scripting constraints.
- Implementing the Touch Screen Dueling mechanic, including custom boss AI behavior and multiplayer functionality.
- Developing the enemy AI (behaviors and actions) for the game’s adventure mode, including waypointless pathfinding.
- Implementation of the game’s multiplayer lobbies, player matching, and download and play functionality.
- Design and programming of a versatile damage system for combat in the adventure mode.
Studio Tools and Support
While working at Amaze Entertainment, I have contributed my effort to the development of numerous in-house tools. The most significant of these was an application known internally as Quintessence — a studio-wide level scripting tool that was utilized on virtually all 3d games made by Amaze. Quintessence had many features but it was primarily used by designers to add enemies, world objects, triggers, spawn points, camera paths, and countless other game-specific features to raw map geometry.
Quintessence was still in its infancy when I joined Amaze, and thus two of my coworkers and I were tasked to quickly get it up and running with the features needed by designers. This tool was the first large-scale C# application I had worked on up to that point, with the renderer being based on the Managed DirectX wrapper I’d written earlier as a university student. As time went on, Quintessence evolved into a sophisticated tool for design, being adaptable both specific project needs and personal preferences.
- Implementing large portions of the tool’s UI with .NET Windows Forms.
- Adding Visual Source Safe integration to simplify user-end source control tasks.
- Developing various DirectX world drawing and camera features to make Quintessence easier to use.
- Working on command line support for managing and exporting intermediate map formats to raw ROM data.
- Participating in requirement gathering and support roles with designers to improve the tool.