Alien Age
Alien Age is a 2D action game released on Steam in 2021 through Left Turn Studios. I was the sole Technical Artist from before the studio formally incorporated — starting as a revenue-share contributor and continuing through to ship. The work covered everything visual and technical: all shaders, all VFX, all lighting, all materials, and the full asset pipeline from raw geometry to in-engine.
Shaders
The three shaders that defined the game's look were all custom-built in Unity Shader Graph. The water surface shader uses world-space UV coordinates so the flow pattern stays consistent regardless of how geometry is oriented or placed — tiling artifacts from UV-based approaches were a problem on irregular terrain, and the world-space approach eliminated them completely.
The volumetric fog shader fakes atmospheric depth using depth texture sampling — the engine had no built-in atmosphere system, so this had to be authored from scratch. The fog density and color respond to world height, giving the environments a sense of scale that flat post-process fog can't produce.
The environment tile color-variation shader seeds per-tile color offsets from world position. This lets identical tile geometry read as organic and varied in the scene without needing unique texture variants for every tile type. The color range is bounded so variation stays readable as a single material rather than looking like mismatched assets.
VFX
All VFX were built in Unity's particle system. The beam pickup, beam drop, and cloud lightning effects were the most technically involved — the beam had to read as a continuous energy column while being composed of discrete particles, and timing had to sync to gameplay events without hardcoded delays.
Asset Pipeline
The full asset pipeline was owned from the start. Geometry went through retopology to hit polygon budgets without visual loss on the most visible surfaces. Textures were organized into indexed atlases to cut texture lookup count — a meaningful optimization for mobile-adjacent hardware targets. The approach let the game run at target frame rate with the visual quality the art direction required.
Procedural Foliage Tool
Late in production, level designers needed a way to populate environments with foliage without paying the runtime cost of a procedural system running in-game. I collaborated with an engineer to build an editor-time placement tool: it ran the distribution logic in the Unity editor and baked the result as placed instances, so the in-game cost was the same as hand-placed assets. The tool was documented so level designers could regenerate placements independently after level changes without coming back to engineering or tech art.