Amaze Entertainment

amaze cpp csharp directx games

While at Amaze Entertainment, I worked on small teams of two to three programmers to develop six Nintendo DS titles, including several popular Disney licenses. I communicated directly with designers and artists to iterate on new game features and tools. Unexpectedly, the fledgling DirectX game engine I developed for a college course grew to be the foundation of a studio-wide content editor.

Pirates of the Caribbean: At World’s End

Pirates of the Caribbean: At World’s End is the sequel to Pirates of the Caribbean: Dead Man’s Chest, the previous game that I worked on at Amaze. This game featured significantly improved platforming features such as hooking, sidling, rope swinging, and climbing. Two new minigames: Liar’s Dice and Dueling (which made clever use of the Nintendo DS touch screen) were also introduced here. Although this title did not feature a co-op mode, both of the minigames had multiplayer capability for local wireless play.

  • World objects including pickups, breakables, obstacles, and puzzle elements.
  • Map geometry traversal abilities such as ledge grab, sidle, and climbing.
  • Touch Screen Dueling game mode, including unique bosses and multiplayer.
  • Enemy AI behavior and actions; navigation using waypointless pathfinding.
  • Multiplayer lobbies, player matching, and the download and play feature.
  • Versatile damage system which included various unique status effects.

Pirates of the Caribbean: Dead Man’s Chest

Pirates of the Caribbean: Dead Man’s Chest is the first commercial title I developed at Amaze Entertainment. It is an action adventure game and closely 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.

  • World objects including powerups, breakables, obstacles, and puzzle elements.
  • Paper-dolling system which allowed players and enemies to wield equipment.
  • Minigame implementation featuring single-player and multiplayer game modes.
  • AI design and implementation for the game’s unique enemies and bosses.
  • Camera effect and rail system used throughout the adventure mode.
  • Scripting support for in-game triggers, object, and events.

Studio Tools and Support

While working at Amaze Entertainment, I helped develop 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 the company. 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.

  • Main tool UI in .NET Windows Forms.
  • Visual Source Safe integration.
  • DirectX drawing and camera features.
  • Exporting map formats to raw ROM data.
  • Requirement gathering and user support.