Sign in

BLIT386

@blit386.bsky.social
14 followers 6 following 18 posts

I (@vancura.bsky.social) build a palette-first retro engine for the browser. Change what color 3 means: water flows, the sky goes dark, nothing redrawn. TypeScript, WebGPU.

PostsRepliesMedia
BLIT386 @blit386.bsky.social · 03/10/2026
Many bunnies. But still no game :) demos.blit386.dev/bunnymark You can also try the software-rendered version, which has no #WebGPU bunny limit: demos.blit386.dev/bunnymark?em... #ScreenshotSaturday
demos.blit386.dev
BLIT386 Demo – Bunnymark
Spawn bouncing bunnies and count the quads WebGPU skips past its sprite cap.
022
Reposted by BLIT386
Václav Vančura @vancura.bsky.social · 23/09/2026
Nine months on one game engine. 320×200, 256 colors. Still no game. I wrote about why I built BLIT386 anyway, and why the constraints that make it fun to use are the same ones keeping it from rotting. vancura.dev/articles/all... #gamedev #webgpu
vancura.dev
Václav Vančura
Design engineer at Red Hat. Previously led Visual Studio for Mac at Microsoft. Writing about AI-assisted UI, developer tools, and game engines.
0103
BLIT386 @blit386.bsky.social · 11/09/2026
Thanks :)
000
BLIT386 @blit386.bsky.social · 11/09/2026
BLIT386 1.7.0 – the performance release. The engine's hot paths no longer allocate per frame; the Canvas 2D fallback now clears a frame 69× faster. Plus reduced motion support, window.BT for devtools, and F9 to screengrab a frame. blit386.dev/blog/perform... #gamedev #WebGPU #a11y
blit386.dev
BLIT386 - BLIT386 1.7.0 - nothing left to collect
The performance release - the per-frame allocations are gone from the engine's hot paths, plus reduced motion, window.BT, and F9 frame capture.
171
BLIT386 @blit386.bsky.social · 01/09/2026
BLIT386 1.6.0 – the plumbing release. Every scaffolded game now talks to a live docs MCP server instead of guessing from stale baked-in docs. Plus a CSP nonce on the site and a symlink hole closed in the kit. blit386.dev/blog/mcp-rel... #gamedev #WebGPU #AI
blit386.dev
BLIT386 – BLIT386 1.6.0 – a live line to the docs
The MCP release – a live docs server wired into every scaffolded game, a website CSP nonce, and a symlink hole closed in the kit.
060
BLIT386 @blit386.bsky.social · 20/08/2026
Check this out. The loop rotating the hypercube never stops. Edit a method body and BLIT386 swaps it into the running game – ticks, camera, palette, palette effects all survive the swap. Only touching init() or the constructor forces a re-init, otherwise this gets hot-reloaded. #gamedev #hotreload
0113
BLIT386 @blit386.bsky.social · 15/08/2026
Certainly WebKit. There is nothing else on iOS, so I can’t test here.
110
BLIT386 @blit386.bsky.social · 15/08/2026
It’s working quite well! :) Take a look at the palette demos. However, I found a bug today that causes one demo to be stuck, which makes me nervous. I’m on a biking trip, so I hope it’s just a WebKit/iOS bug and nothing more serious.
100
BLIT386 @blit386.bsky.social · 15/08/2026
First more sprite features, Aseprite support most probably. Then performance, and perhaps tiles. Somewhere in between framebuffer support.
100
BLIT386 @blit386.bsky.social · 15/08/2026
And, yeah. I replied from a wrong account :)
100
BLIT386 @blit386.bsky.social · 15/08/2026
Docs and blog are at blit386.dev, the rest of the demos at demos.blit386.dev. Follow along – there’s a lot more coming :)
blit386.dev
BLIT386
A palette-first retro game engine for the web. Change what a color means, and everything drawn in it changes at once.
010
BLIT386 @blit386.bsky.social · 15/08/2026
A port of the classic macOS Flurry screensaver – 800 particles spiraling around twelve invisible gravity wells that trace slowly drifting figure-eight paths. Since BLIT386 has no additive blending for glow, it’s faked entirely through palette animation. demos.blit386.dev/flurry
demos.blit386.dev
BLIT386 Demo – Flurry
A retro screensaver port of the classic macOS Flurry: particle physics driving palette animation.
110
BLIT386 @blit386.bsky.social · 15/08/2026
Swapping the active palette recolors the whole sprite at once. All four palettes keep the sprite’s colors at the same slot numbers, so the swap is a single paletteSet() call – no per-pixel work, no re-indexing. demos.blit386.dev/palette-swap
demos.blit386.dev
BLIT386 Demo – Palette Swap
Switch the active palette at runtime to recolor an entire scene without touching the drawing code.
100
BLIT386 @blit386.bsky.social · 15/08/2026
A rotating tesseract – a four-dimensional cube projected down to a 256×256 canvas, Fez-style. Grab it with mouse or touch and spin it like a trackball. The four line colors drift slowly around the hue wheel as it turns, so nothing ever looks static, even at rest. demos.blit386.dev/hypercube
demos.blit386.dev
BLIT386 Demo – Hypercube
A Fez-style rotating tesseract: watch a four-dimensional cube turn on a 256x256 PICO-8 sized canvas.
100
BLIT386 @blit386.bsky.social · 15/08/2026
No redrawing, just a palette swap. Water starts flowing, day turns to night, all from a few bytes. WebGPU with a 2D canvas fallback when the browser doesn’t have it. Check out some demos: demos.blit386.dev‬
https://demos.blit386.dev‬
100
BLIT386 @blit386.bsky.social · 15/08/2026
I’ve been working on BLIT386 for a couple of months now – a palette-first retro engine for the web. The idea: you draw with numbered colors instead of RGBA, so redefining what color 3 means recolors everything drawn in it, instantly. #screenshotsaturday #gamedev #indiedev #webdev #TypeScript #WebGPU
2226
BLIT386 @blit386.bsky.social · 11/08/2026
BLIT386 1.5.0 – the random release. Seeded PRNG, coordinate hashes, three kinds of noise: same seed, same world, every time. Plus every easing curve and a palette fade that behaves like a camera iris. blit386.dev/blog/random-... #gamedev #WebGPU #proceduralgeneration
blit386.dev
BLIT386 – BLIT386 1.5.0 – the same world, every time
The random release – a seeded PRNG, stateless coordinate hashes, three kinds of noise – plus the full easing curve library, a splash that doubles as a loading screen, and an exposure-curve palette fad...
040
BLIT386 @blit386.bsky.social · 08/08/2026
Modern engines gave up indexed color. That is the one thing I wanted back, so I built BLIT386. Draw with palette indices – change what color 3 means, and water flows, the sky goes dark, nothing redrawn. TypeScript, WebGPU, Canvas 2D fallback. blit386.dev #gamedev
blit386.dev
BLIT386
A palette-first WebGPU retro engine for TypeScript, with an automatic Canvas 2D software fallback.
071
BLIT386 @blit386.bsky.social · 02/07/2026
Hello world! We just launched the BLIT386 website! blit386.dev #gamedev #webgpu
blit386.dev
BLIT386
A palette-first WebGPU retro engine for TypeScript, with an automatic Canvas 2D software fallback.
040