Experimental Pi backend for web browsers.
A replacement for piebiten and Ebitengine.
The aim of this project is to create a new backend for Pi games that runs efficiently in modern web browsers and offers significant improvements over the standard piebiten backend:
- At least 2× smaller
.wasm
output
- Minimal latency — as low as 20 ms (compared to 60 ms in piebiten)
- Glitch-free playback — thanks to audio processing in a high-priority, separate audio thread
These improvements are possible thanks to:
- Audio Worklet API – the browser-native API for real-time, low-latency audio processing
- Writing the code directly in JavaScript
- Reducing the number of dependencies
This is an experimental project. Some features are ready, some are not. Some features are buggy and generally not all possible platforms are supported:
- graphics rendering using Canvas2D
- keyboard support
- gamepad support
- mouse support
- debug mode support
- desktop web browsers - Chrome, Firefox, Edge, Safari etc.
- mobile web browsers - virtual keyboard and gamepad support
- audio support
- 3x smaller WASM binary - Snake game is 3 MB (0.9 MB after gzip) instead of 10 MB