ArenaNet
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.
- Game object streaming for vast, open worlds within an existing engine.
- Sparse database for storing and asynchronously retrieving millions of objects.
- Utility for automatically baking individually authored maps into a continuous world.
- Asynchronous broad phase system for graphics, audio, streaming, and game systems.
- Archive format with per-structure versioning, JSON round-tripping, and viewer.
- Data visualizers to facilitate debugging and performance optimization.
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.