Portfolio

Selected Projects


About Me


I'm a game developer, programmer, and designer based in the Seattle Area. With 6 years of experience in Graphics and Gameplay Engineering at Bungie, I have deep expertise in rendering engine architecture, systems bridging the gap between gameplay and graphics, real-time GPU-driven simulation, and developer-facing workflows. I'm experienced in networked gameplay systems and multi-platform live service projects. At Bungie, I was the particle simulation, VFX tech, and in-engine debug workflow expert.

Before that, I graduated with a B.S. in Computer Science from Ithaca College with minors in Mathematics and Graphic Design.

I'm now looking for my next role! If my skills sound like they'd be a good addition to your company, please check out my resume below, or email me at contact@abby.dev.

Contact Me


Email me and say hello at contact@abby.dev

Marathon's Procedural Spinner


February 2025

While most of Marathon's launch sequence is created via pre-rendered video, certain requirements mean that the game must display something on screen before content packages are loaded. To accomplish this, I created a hand-coded procedural shader to render Marathon's "moth" loading spinner, from a concept and with art direction by Wolfie Davis. This visual element is used throughout the game as an integral part of Marathon's visual identity, reinforcing the visual themes of the game while solving an unusual technical constraint.

The spinner is generated by a shader renders a pixel-accurate procedural animation at any resolution without any loaded assets, and is used across loading screens throughout the game.

Close Project

Destiny 2 Graphics & Workflows


June 2021 - June 2026

After a year working on Destiny 2 Gameplay Engineering, I moved onto Destiny 2's Graphics Systems and Workflows team. There, I handled a variety of responsibilities, balancing developing and shipping 5 years of live service updates with upgrading both our rendering engine and our artist and designer-facing workflows. I was Bungie's expert on the Tiger engine VFX stack, particle simulation systems, and many in-engine debug systems and workflows.

Responsibilities
  • Maintained and upgraded Tiger's graphics engine, including planning and implementing framework and feature upgrades driven by customer needs, supporting the live game, and platform-specific debugging and certification work.
  • Became the expert on the Tiger Engine's particle simulation and VFX tech, including leading efforts to upgrade its capabilities to support gameplay-focused VFX content, maintaining the systems through years of live service demands, and shepherding other engineers working in the area. Researched, planned, and drove a 15 month initiative to upgrade our developer-facing workflows to use Dear ImGui. This work significantly improved iteration times, improved tool discoverability, and reduced workflow-related developer fatigue across Destiny 2.
  • Planned and drove a cross-project and cross-team initiative to upgrade our internal editor toolset to support WYSIWYG rendering from unbaked content, drastically reducing the need for round-trips to the game and improving the quality and speed of map development.
  • Performed tech art work as needed, including stylized rendering prototyping, VFX prototyping, and authoring the procedurally rendered loading spinner for Marathon.

Releases
  • Bungie 30th Anniversary Pack
  • Major Expansion – The Witch Queen
  • Season of the Risen
  • Season of the Haunted
  • Season of Plunder
  • Season of the Seraph
  • Major Expansion – Lightfall
  • Season of Defiance
  • Season of the Deep
  • Season of the Witch
  • Season of the Wish
  • Into the Light
  • Major Expansion – The Final Shape
  • Episode: Echoes
  • Episode: Revenant
  • Episode: Heresy
  • Rite of the Nine
  • Major Expansion – Year of Prophecy
  • Season: Reclamation
  • The Edge of Fate
  • Ash & Iron
  • Season: Lawless
  • Renegades
  • Major Update – Monument of Triumph

Close Project

Destiny 2 Gameplay


May 2020 - May 2021

I spent my first year at Bungie working on Destiny 2's Shared Engineering team. There, I provided engineering support for developing the Beyond Light and The Witch Queen annual expansions, working with designers to spec and implement networked gameplay systems to support both campaign and raid content. Through this, I gained expertise in working on multi-platform networked gameplay simulation systems, along with balancing the needs of live service support with long-term development. I then went on to spend five years as a Graphics Engineer on Destiny 2's Graphics Systems & Workflows team.

Responsibilities
  • As a member of the Shared Engineering team, regularly jumped into new areas, ramped up quickly, and addressed cross-area problems in a large legacy codebase.
  • Debugged networking synchronization and lifetime issues across multiple clients and servers in complex multiplayer content.
  • Spec'd and rebuilt the wipe system for Destiny 2's Raids and Dungeons, improving reliability for high-stakes stateful networked gameplay.

Releases
  • Major Expansion – Beyond Light
  • Season of the Hunt
  • Season of the Chosen
  • Season of the Splicer
  • Season of the Lost
  • Bungie 30th Anniversary Pack
  • Major Expansion – The Witch Queen
  • Continued as a Graphics Engineer

Close Project

Non-Euclidean Raytracing using Vulkan


A Non-Euclidean raytracing engine and puzzle game demo built in C++ and Vulkan

For my senior project at Ithaca College, I am building a non-euclidean engine and puzzle game demo. I am building the renderer using raytracing with the Vulkan raytracing extension. Raytracing is uniquely good at handling non-euclidean environments gracefully. Instead of needing a series of stencil buffers and render targets in a complex tree structures, rays can simply be "teleported" as they traverse the scene. The power and flexibility of raytracing also allows me to have lights and shadows cast through portals, which I believe to be a first for real-time rendering for games.

The next phase of the project is setting up the game and physics environments. I am leveraging PhysX for physics simulation due to its documentation and openness for modification (which is necessary for handling non-euclidean interactions). The gameplay itself will be a physics puzzler. I will upload more videos as further portions are complete.


Close Project

Graphic Design


A selection of my art and graphic design

City travel brochures
Created for Graphic Design I at Ithaca College NZ Travel Brochures - Full Res
TF2 Promotional Posters
Created for various Competitive Team Fortress 2 orgs TF2 Promo Work
Fall 2019 Process Book
Final Project for Graphic Design I at Ithaca College Process Book

Close Project

EelEngine


A 2d game engine built on libgdx and artemis-odb

EelEngine is a 2d entity-component-system(ECS) based game engine built in java. It uses libgdx for core engine functionalities and artemis-odb as its ECS framework.

I created this over about 8 months starting in the summer of 2017. On the project I originally created it for, I was the principal programmer. Therefore, I focused much of my efforts on the in-engine editing tools. EelEngine has an in-engine level editor with sprite placing and layers, navmesh editing, and a bsp-like physics editor. The rest of my work was focused on developing a robust ECS framework to control all of the rendering, input, physics, sound, game logic, and the coupling between these.

At Ithaca College's 2018 Global Game Jam site, a group of around 6 club members (including me) worked on an untitled steampunk mail-delivery game (shown in the screenshots on this page).


View on github

Close Project

Omnibar


A game made for Ludum Dare 43 in 54kb

Adam Lastowka and I created Omnibar as our entry into the Ludum Dare 43 game jam. I decided to try and make my entry under 64kb, as Adam and I had recently started working on a 4k demo project, and I was particularly excited about the graphics work we had been doing on it. The theme for this jam was "sacrifices must be made". I decided to implement this theme by creating a simple first-person shooter with a single bar that's your health, ammo, and xp bar - sacrifice your health by playing aggressively, or sacrifice your speed to save your health by playing cautiously.

The Tech

Omnibar was created almost entirely using C, C++, and GLSL. All of the rendering takes place in a fragment shader. This shader uses a number of signed distance functions (SDFs) to define the world and its geometry. The rendering is done by raymarching through the SDF field. When appropriate, shadow rays and a reflection ray are also casted from the initial ray hit. The physics is a very lightweight engine simulting spheres in a world defined by the same SDF that defines the world's geometry. Part of this process was defining a lightweight header file defining vec2, vec3, vec4, and a number of glsl builtins. This let me copy and paste the world SDF with minimal tweaks (mostly changing swizzles into function calls). The awesome music was composed by Adam Lastowka using the V2 synthesizer. This produces a pair of assembly files that can be linked in alongside an .obj file to play the music.


View on github View submission on Ludum Dare

Close Project

In-Game Medals for Team Fortress 2


In my 3 years as a competitive TF2 player and community member, I've had the privilege of working with a number of competitive leagues and community events to create medals that are added to Team Fortress 2 as awards for participants and winners. This is a complex process, involving concept art, modeling, rigging, texturing, creating the materials, and packaging to ship to Valve. Below are images and details of a few of my favorites.

TFCL (Team Fortress Competitive League)

The first set of medals I created, these were for TFCL, a startup league.
Created by me, with design and concept art input from Kaiga and ArraySeven.

RGB LAN 3

I created these medals for RGB LAN 3, the largest east-cost TF2 tournament. The design is based off of concept art by Juan Armen. I finalized the design and modeled, textured, and rigged the medals.


View the rest of my works on the steam workshop

Close Project

A 4k Intro


Adam and I are working on creating a 4k intro in our free time. (Demoscene on wikipedia) The project is relatively early in development. However, we have some screenshots of various graphics and procedural generation tests below. Also see Omnibar, the game I created on the same codebase in 72 hours and 54kb for Ludum Dare 43.

Close Project

Visualizing Course Enrollment Data


For the summer of 2018 I worked with Ali Erkan, Professor of Computer Science at Ithaca College, doing research on Ithaca's course enrollment data. I was able to build several network-based models of IC with this data. This gives us a way to understand the big picture and trends as a whole, rather than simple summary statistics. We placed a large emphasis on the visualization aspect of the project. In 2018, Ithaca College is going through a review process of the Integrated Core Curriculum, or ICC, its general education program introduced in 2013. By studying and visualizing how the network of courses changes over time, we can analyse how the introduction of ICC impacted the structure of the college itself.

Throughout the summer, I worked on three separate interactive visuals. Our work also continued into the fall, where I created an additional visual, and we presented our work at Ithaca College's Data Day.

Visualization 1

Course departments to Major departments

View live here
This is a web-based interactive visual that shows the relationship between a student's major (grouped by department) and the courses a student takes (grouped by department). My main goal with this was to get a feel for the data and start working with it. While not surprising, it shows a number of things we'd expect to see. Most majors take writing (WRTG), ocupational therapy (OT) students take tons of ocupational therapy courses (OTBS), but also take a healthy dose of biology), and the music majors, and the strongest connection on the board is between TVR and TVR.

Close Project

Non-Euclidean Spaces in UE4


Close Project