ArenaNet
I joined ArenaNet in 2007 to help build Guild Wars 2 and other projects. I worked as a programmer on both released and unreleased titles, focusing on core engine features and tools.
Arch Engine
As a Programmer at Large, I was responsible for building out various core engine systems. One of my main roles included retrofitting the existing codebase to support very large streaming worlds, a first for the studio. This effort involved:
- Open world game object streaming
- Sparse database to track millions of objects
- Tools to merge maps into a seamless world
- Binary archive format with versioning support
- Data visualizers for debugging and optimization
Guild Wars 2
After shipping the final Guild Wars expansion, the team quickly pivoted to building a new game engine, content tools, and level editor. As one of my major tasks, I developed a viewport which allowed designers to place and manipulate objects in the game world. Over time, my work lead me to the engine team, where I focused on core systems like map loading and file streaming, while also supporting the art and content pipelines. My work involved:

- Map systems like decals, audio zones, and environment maps
- Live content preview for designers
- Tools for art and content pipelines
- An in-game interactive map system
- Asynchronous file I/O and patching
- An in-game web browser for the auction house and shop
- Python tools for asset inspection
- Web-based build monitoring