
Senior Technical Artist
April 2024 – August 2026
Bubble Busters is a turn-based PvP bubble shooter developed by PixelPie Games.
As Senior Tech Artist I have worked on art asset pipelines, Unity and Blender tools for artists and designers, runtime systems and custom shaders.
Scroll down for an overview of some of the projects and tasks I have worked on.
Map Editor
I initially ported an existing browser-based map editor to Unity. The tool then morphed and evolved to accommodate the game designers needs and desires.
The map editor made it easy to create and test new maps for the game and it gave designers immediate feedback on what a map would look like in game even before play-testing it.
The editor is written directly on top of the Unity ImGUI Editor APIs and uses the Graphics APIs to render an interactive preview of the map to a render texture.
I have worked on the map editor together with the game designers for my whole 2 years at the company.

Screenshot Tool
The Screenshot Tool was initially developed to assist the character artists with capturing turnaround screenshots of their characters for feedback, but then started to get used to capture character poses for in-game UI and got adopted by the marketing team to capture higher-quality screenshots for marketing purposes.
The tool allowed artists to focus on a character via automatic and live framing and allowed them to manually set the camera position via a controllable spring arm.
The tool came with some session config file that the artist would use to store both camera settings and character poses for easy re-export.

Custom Lit Shader
This is an HLSL ubershader I wrote to shade the characters in the game. It initially started as a humble unlit shader with 2 rimlights but we soon ended up adding additional optional features to both improve the lighting of the characters and to support custom effects on characters skins.
The shader ended up including 10 toggleable features, all implemented as shader local fragment features. To reduce the combinatorial explosion of shader variants I made sure to only include those variants that were actually used in-game.
To help artists author materials with the shader I created a custom GUI for it with intuitive parameters and where only enabled features would be visible.
Although I was responsible for the authoring of the shader I wouldn’t have been able to implement many of the features without the previz work by Tau Kazlauskas and the feedback of Anne Goossens.
Below you can see some of the amazing skins Anne and Tau managed to create with their great texturing work and this custom shader, but make sure to check their Artstation pages to see more!






Texture Projection
The texture projection is a tech art solution I implemented together with our 3D Art Director to animate mouth expressions on our character so that we didn’t have to come up with a complicated rigging solution in Blender.
This solution is made of 2 main components:
– a custom projection shader that, given an orthographic projection matrix and a texture array index can project a texture sample onto any mesh.
– a custom Monobehaviour called TextureProjectionSocket that given a socket and a controller bone can generate a projection matrix and a texture array index and send them to the material with the projection shader.
The TextureProjectionSocket script runs on LateUpdate to wait for the skeleton of the character to be animated and so ensuring that mouth expressions and animation frames are in sync.
I also extended this solution to support characters with multiple projections as in the case of Pixel for whom we’ve projected both eyes and mouth shapes. You can see it in action on Anne’s Artstation, who’s the character artist that worked on Pixel.
