arenanet cpp csharp directx games javascript lua python

I joined the team at ArenaNet in autumn of 2007, just in time for the kickoff for the unannounced sequel to Guild Wars, Guild Wars 2. I worked in a variety of engineering roles to build the game and provide post-launch improvements. Several years later, I briefly left ArenaNet to study abroad in Japan. Upon returning to the United States, I joined up again to build out core technology for an exciting exciting new title.

Unreleased Title

Given the title of Programmer at Large, I had the latitude and trust of my employer to work on engine features that I identified as being important to the project. One of my overarching responsibilities became rearchitecting an existing codebase to support very large streaming worlds, which have never been seen in the Guild Wars franchise. This complex and far-reaching task gave me the opportunity to engineer multiple systems of which I am very proud to this day.

Guild Wars 2

Despite having just shipped the final expansion, Guild Wars: Eye of the North, the company needed to quickly ramp up development for the new game engine, content stack, and level authoring tools. My initial responsibilities consisted of helping the tools team interface the managed content editing tool (written in C#) with the native game engine (written in C++). After achieving this goal, my help was requested on the engine team where I worked on developing and improving various core systems such as map loading and the low level asynchronous file system layer, while continuing to support the art and content pipeline.

My seven year long career at ArenaNet allowed me to get in on the ground floor of the making of a ground breaking MMO, working with my coworkers to help see it become an award winning, best selling release. Being able to work on the entire application stack for many years was an incredible learning experience for me; I acquired countless skills that shaped my career as a software engineer.

  • Core map systems including decals, audio zones, and environment maps.
  • Rapid content iteration for designers via live-preview from within the game.
  • Tools for environment art and designer content pipelines.
  • In-game “Google Maps” style interactive map system and supporting tools.
  • Asynchronous file I/O retrofit for core engine systems and new game patching features.
  • In-game web browser integration for auction house and gem shop.
  • Python module for inspecting game assets, which extended capabilities of tech artists.
  • Web-based build monitoring and management tool.