Lia's code and crafts

DICE

Battlefield 4 (2012-2013)

My first job out of school was UI software engineering as part of the Battlefield 4 UX team. I worked closely with artists and designers to implement UI widgets and screens, focusing on performance and graphics programming tricks since the game had to ship on the PS3 and XBox 360 along with PC and the then-brand-new PS4 and XBox One.

Some specific features that have my fingerprints on them:

This work taught me to have a strong focus on users, whether they are players or artists asking for features, and started me down the path of a very unusual specialization in the overlap of UI and graphics programming.

Battlefield 4 Customize
Battlefield 4 Customize screen: a complex backend.
Battlefield 4 Scoreboard
Battlefield 4 Scoreboard: many lines, few drawcalls.
Battlefield 4 postprocessing
Battlefield 4 "glitch" post-processing: click for upscaled version.

Star Wars Battlefront (2014)

My time as a member of the Frostbite team got a bit weird and I ended up spending a few months embedded in the Star Wars Battlefront UI team. Thanks to my unique position of being both part of the engine team and very close to game-specific concerns, I upgraded the engine's shader pipeline so that it gave more flexibility to game teams that wanted to hand-code their own shaders. I onboarded the lead UI programmer on this technology, allowing him to create distance-field-based effects.

Some of the most striking visual features of the UI were also my work: I was responsible for the blurred "frosted glass" backgrounds on UI elements as well as the iconic "Star Wars Screen Wipes" transitions. Both of those required a fair amount of research to implement efficiently plus close collaboration with the art director. The frosted glass effect specifically mostly reuses existing code, and offers Photoshop-style levels control to alter color elegantly.

Screenshot from Star Wars: Battlefront's minimap, where the UI background is a heavily blurred version of the scenery.
Frosted glass effect.
Screenshot with two Star Wars AT-AT feet, faded to white on the left part of the screen.
Star Wars Transition": click for animated version.

Uprise (2015)

The last of my months at DICE were spent between Stockholm and Uppsala, working with Uprise (now merged into DICE proper). They were looking at integrating web technologies with Frostbite to create a layer that could be shared between Battlefield titles: I onboarded the C++ team on Frostbite UI workflows and provided guidance on tech choices. I also bridged many communication gaps - basics such as the notion of time are very different between web developers and typical C++ game engineers! From what I hear, the result unfortunately turned out somewhat wonky, which was not unexpected. Embedding web tech into traditional game engines has come a long way since.