Re:Show HN: Nostalgia Rider
by qvq on Sunday November 15, 2026 @11:11AM
(#50508035)
Technical details:
I did pay attention to performance, even if it's overkill. Uses Zig compiled to WASM for the game state. Rendering is done in JS and WebGL reading from SharedArrayBuffer. I didn't think a single language was worth the boundary trampolining and extra tooling.
I tried to get muti-threading to work but that seems to require multiple web workers running instances of the WASM binary. It started to make other things more complicated (probably because I couldn't find the right level of abstraction) so I gave up. Running WASM in a single worker, off the main thread, is good enough for now.
I did pay attention to performance, even if it's overkill. Uses Zig compiled to WASM for the game state. Rendering is done in JS and WebGL reading from SharedArrayBuffer. I didn't think a single language was worth the boundary trampolining and extra tooling.
I tried to get muti-threading to work but that seems to require multiple web workers running instances of the WASM binary. It started to make other things more complicated (probably because I couldn't find the right level of abstraction) so I gave up. Running WASM in a single worker, off the main thread, is good enough for now.