Aaron Lemke.

Game Designer · AI Developer · Creative Technologist · Musician

Exploring the space where art and creativity intersect with science and technology — building systems that educate, delight, and enlighten the user.

01
REINFORCEMENT LEARNING · JAX PPO · WEBGPU

RL Prototype

A trained reinforcement-learning agent plays a procedural platformer while its policy lights up in 3D. Trained on GCP using a single A100. Network activation can send MIDI to Ableton Live to trigger synthesizers.

  • JAX
  • PPO
  • MinGRU
  • Three.js
  • WebGPU

Drag to orbit · scroll to zoom

02
LLM NATIVE · 20 QUESTIONS · META-PROGRESSION

Conversational Roguelite

Exploring the question: what does an LLM-driven game actually look like? A game of twenty questions where each run reveals new information you carry into the next conversation — meta-progression through dialogue.

  • Claude API
  • LLM-native
  • 20 questions
Conversational Roguelite — terminal-aesthetic chat interface with Dr. Sen Aros, phase tracker, and quantum-lab surveillance feed
03
PROCEDURAL · NANO BANANA 2 · PLAYABLE

2D Platform Generator

Procedurally generated 2D platformer levels — solvable platforms, enemies, coins, and a goal laid out fresh each click. Local builds also drive a Nano Banana 2 reskin loop that regenerates every sprite from a text prompt.

  • HTML Canvas
  • Procedural levels
  • Nano Banana

Enter a prompt to reskin the level

04
FLOCKING · PROTOTYPE · CANVAS

Ebb & Flock

An early v0 prototype exploring how to turn a flocking simulation into gameplay — Reynolds rules with predator pressure and tunable cohesion / separation / alignment.

  • HTML Canvas
  • Reynolds flocking
  • Predator pressure

Click to guide your orb

05
MCCFR · JAX · GTO LLM COACH

Poker Trainer

A machine-learning challenge based on the realization that large language models are inherently bad at playing games of incomplete information with large possibility spaces. The challenge: build a neural network that can not only play poker as a training opponent but also work together with the LLM to provide insights about game-theory-optimal play. Working toward a multi-day run on a 64× A100 cluster on Vast.ai to distill the solver data into a neural net.

  • MCCFR
  • JAX
  • Vast.ai
  • A100
Poker Trainer — heads-up no-limit hold'em vs a Deep-CFR neural opponent with an LLM coach explaining game-theory-optimal play
06
PROCEDURAL · LLM · TEXT TERRAIN

ASCII World

A procedural ASCII world you can walk around in. Terrain, characters, and dialog are generated on the fly by an LLM and rendered as text glyphs.

  • Pretext
  • LLM
  • Procedural

Arrow keys · Space

07
NAVIER – STOKES · CUSTOM COMPUTE SHADER

FluidSim

A full-screen custom WebGPU Navier – Stokes fluid simulation. Custom compute shader modeling advection and convection in real time on the GPU.

  • WebGPU
  • WGSL
  • Compute shaders
  • Advection

Click and drag

08
VORONOI · SDF · CUSTOM COMPUTE SHADER

CellNoise

A dynamic WebGPU user-interface prototype using Voronoi cell noise and signed-distance fields to visualize icons. Driven by a custom compute shader.

  • WebGPU
  • WGSL
  • Voronoi
  • SDF

Click and drag the icons

09
ARTIFICIAL LIFE · PHYSARUM · ASCII

Slime Mold ASCII

A Physarum polycephalum simulation rendered as living text. Agents deposit chemical trails on a WebGPU compute pass; the result reads as glyphs.

  • WebGPU
  • WGSL
  • Physarum

Click and drag

10
EMERGENCE · WGSL · SLIDERS

Murmuration

3D WebGPU boid flocking with GPU spatial hashing. Used a modified version of Andrej Karpathy's auto-research to build an optimization loop that maximizes particle count.

  • WebGPU
  • WGSL
  • Spatial hashing

Drag to orbit · scroll to zoom

11
WEBGPU · MANDELBOX · GAMEPAD

Fractal Flight

A real-time WebGPU raymarcher flying a chase-cam ship through a Mandelbox. Camera pose, fractal folds, AO, glow, and HDR are all live-tunable from the collapsed Fractal Controls panel; defaults are pre-tuned for atmospheric flight.

  • WebGPU
  • WGSL
  • Raymarching
  • Mandelbox
  • Gamepad

WASD to move · Q / E up and down

12
GAUSSIAN SPLATS · THREE.JS · FLY-THROUGH

Splat Factory

A point-cloud Gaussian-splat fly-through built on Three.js — particle size, opacity, fog, blending, ship vortex effector, and over 50 other parameters live-tunable from the in-iframe Settings panel. Defaults match the saved tuning from the standalone session.

  • Three.js
  • 3D Gaussian splats
  • Gamepad
13
WEBGPU · TSL · PROCEDURAL

TDD Forest

3D viewport from a development dashboard — nine procedurally-generated trees with wind, bloom, depth-of-field, and dust particles. WebGPU + Three.js TSL post-processing.

  • WebGPU
  • Three.js TSL
  • Procedural trees
  • Bloom + DOF

Click on trees to focus · press T to simulate a test run

15
GEMINI · TONE.JS · LIVE JAM

JAMGAMES

An AI-driven jam tool. Type a vibe, Gemini writes verse / chorus / bridge with chords + lyrics. Synth, drum sequencer, and walking-bass generator all play live in the browser.

  • Gemini 2.0 Flash
  • Tone.js
  • Drum sequencer
16
KNOWLEDGE GRAPH · NANO BANANA · PRE-PRODUCTION

World Graph

Knowledge-graph + semantic-search asset library for film and animation pre-production, powered by Nano Banana.

  • Knowledge graph
  • Semantic search
  • Nano Banana
World Graph viewer — chat-driven asset library with character / background / style folders
17
CRON · 18 SOURCES · STOLEN ITEM TRACKER

Vigilanthony

Stolen item tracker. Searches key online public marketplaces daily to try and recover my stolen items.

  • 18 source crons
  • Marketplace scrapers
  • Geo match radar
Vigilanthony — terminal-style dashboard scanning 18 marketplace sources for stolen items, with a geo match radar over Austin
18
WEBGPU · INFINITE CANVAS · AGENTIC

ClawDraw

An infinite canvas for agentic drawing expression — a tool and a skill for open Claw agents to both read from and draw onto a giant shared canvas. WebGPU-powered, full-stack platform with Cloudflare and account management and Stripe integration, including a custom Rust cloud renderer for the LOD tiles. Also built out a library of drawing algorithms for the agents to use. The big takeaway, the big learning: LLMs struggle with spatial reasoning.

  • WebGPU
  • Rust
  • Cloudflare
  • Stripe
  • Infinite canvas
20
THREE.JS · GPU · CIVIC DATA

Seattle Dataviz

A 3D Seattle cityscape rendered with Three.js + GPU instancing, overlaid with live civic data feeds — Fire 911, Police, parking violations, recent crimes, building permits, weather stations, code violations. Plasma / magma / inferno gradients, depth-of-field, and a view-finder for projected zoning skylines.

  • Three.js GPU
  • Live civic feeds
  • Bloom + DOF

Click and scroll · drag to orbit

21
MULTI-TERMINAL · GEMINI LIVE · SPATIAL UI

JOLENE

Multi-terminal UI prototype: spatially anchored terminals instead of a most-recent list. Voice-driven switching via Gemini Live.

  • Gemini Live
  • Spatial UI
  • 10 terminals

Click to switch between terminals. Press the G key to enable Gemini Live to switch terminals using voice.

22
VORONOI · WGSL · INTERACTIVE

CellNoise

Interactive voronoi-based noise canvas. Drag cells to reshape the field; the voronoise default with ten cells.

  • Voronoi
  • WGSL
  • Interactive