Asher Burdick

Graphics Engineer

Programming, Music, Art, and Design

About

I've been developing games since 2017 and have worked as a Graphics Engineer, Programmer, Technical Artist, Team Lead, Composer, and Sound Designer. I'm currently located in the Sacramento area and am open to roles as a Graphics EngineerTake a look at my resume for more details.


Work


Skills

Performance

  • Identification of performance bottlenecks that vary across different machines to target the experiences of specific user groups

  • Familiarity with Unity's profiler and memory profiler to investigate performance issues

  • Familiarity with Nvidia's Nsight Graphics profiler for graphics card profiling

  • Ability to evaluate existing systems for ways to improve performance while maintaining functionality and appearance



UI

  • UI layouts resilient to changes in resolution and aspect ratio

  • Reusable and extensible elements

  • Dynamic, asset-driven content layouts

  • Responsive and tactile animations


Graphics

  • Expertise in HLSL

  • Ability to communicate with 2D and 3D artists and address their needs with new tools and features

  • Ability to maintain, modify, and extend existing rendering systems

  • Experience isolating and addressing bugs that only appear on some graphics cards or systems




Many other hats

My experience working on small teams means I am very familiar with quickly familiarizing myself with sections of an established codebase to fix issues and add new features

Feature Spotlight: Portrait Editor

In Old World, the royal court and their opinions on the player’s actions play a major role in the way the game’s procedural narrative plays out. Old World’s characters also age as years pass in-game, starting as babies and progressing through to old age.I was tasked with creating a system that can reflect a character’s age and opinion of the player in the portraits that represent them.

Age Interpolation

Before this new feature, characters’ ages were shown in steps, with bespoke art for baby, youth, teenager, adult, and senior stages of life. I chose to blend between these stages by first morphing the differing proportions of a pair of portraits, then blending with transparency to composit the two images together. The result is a smooth blend between the two endpoints. I also created a set of features to handle edge-cases like beards, hair, headware, and even differing skin tone.

Facial Expressions

Each character has an opinion of the player, ranging from -200 (Furious) to +200 (Friendly). To show this, I implemented a system to automatically create a simple facial rig tuned to the correct locations of important features like the mouth, eyes, and eyebrows. The initial features are identified using the very useful Dlib FaceLandmark Detector on the Unity Asset Store. I then generate a custom mesh based on those points. This mesh is what allows me to manipulate proportions on a given face to represent a positive or negative view of the player.

Developer and Modding support

Old world is a released game with a thriving modding community, empowered by modding tools provided by the Mohawk Team. Modders often want to add new portraits to the game, and I felt it was important to make the new portrait features accessible to them. To this end, I provided an in-game user interface that allows modders to add new portraits or configure existing portrait mods to age and emote.


With this, portrait age interpolation and facial expressions are complete. Old World's characters are now more expressive and immersive, the internal team can easily add new portraits when needed, and the Old World modding community have a fun new toy to tinker with!