Appearance
The index
Works shipped recently
Sort —
01
Tutorial·May 24Building an 8x8 bayer-dither shader in 80 lines of GLSL
A walkthrough of the threshold-matrix maths and the exact fragment shader I use to dither photos through NES sub-palettes.
- glsl
- dither
- palette
02
Tutorial·May 17How I draw 32x32 character sprites in Aseprite
My silhouette-first method, the four-layer setup, and the half-second animation tricks that make characters feel alive.
- aseprite
- character
- process
03
Gamedev log·May 10Porting my browser pixel-game to Steam with Tauri
A small post-mortem: bundle size, the SteamWorks shim, why I gave up on Electron, and what surprised me about distribution.
- tauri
- gamedev
- steam
04
Process·May 03Three years after switching from Photoshop to Aseprite
What I gained, what I miss, and the keyboard shortcut that pays for the licence by itself.
- aseprite
- photoshop
- tools
05
Tutorial·Apr 26A CRT curvature shader, explained without scary math
Barrel distortion, scanlines and the slot-mask tint, broken down into five small GLSL functions you can paste anywhere.
- glsl
- crt
- shader
06
Palette study·Apr 19Extracting a 12-colour palette from a photograph, with octrees
A short, working Rust implementation of the octree quantisation algorithm — plus a comparison with k-means on six holiday photos.
- rust
- palette
- algorithm
07
Gamedev log·Apr 12PICO-8 jam post-mortem — "Quiet Frame"
I made a 72-hour autobiographical platformer in PICO-8 and it placed 14/186. Here is every mistake I made along the way.
- pico-8
- jam
- devlog
08
Tutorial·Apr 05The Aseprite tilemap mode I wish I had learned in year one
Auto-tile, smart-tile and the tagging system that makes a 600-tile environment feel manageable. Sample .aseprite files included.
- aseprite
- tilemap
- workflow
09
Palette study·Mar 28A free 24-palette pack for Lospec — Spring 2026
Twenty-four palettes I built over the winter, all under 16 colours, all on Lospec, all CC0. Plus the thinking that went into them.
- palette
- lospec
- free
10
Process·Mar 21LibreSprite vs Aseprite, honestly, in 2026
I used the FOSS fork exclusively for a month. Here is what works, what does not, and where the two projects are heading.
- libresprite
- aseprite
- foss
11
Tutorial·Mar 14Shadertoy snippets I keep porting to Godot, and what breaks
Five tiny shaders, ported. The uniforms that change names, the coordinate flips, and the fix-ups you should keep in a snippet file.
- shadertoy
- godot
- glsl
12
Process·Mar 07An isometric tile, from paper sketch to pixel export
A start-to-finish process video transcript, with timestamps. Cube projection, line cleanup, three palette passes, and seam-checking.
- isometric
- process
- aseprite