You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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:
📦 Smaller Binary Size
At least 2× smaller.wasm output
🔊 Better Audio
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
🧪 How It Works
These improvements are possible thanks to:
Audio Worklet API – the browser-native API for real-time, low-latency audio processing
SharedArrayBuffer - a high-performance way to exchange data between the main thread and audio processor in the browser.
Writing the code directly in JavaScript
Reducing the number of dependencies
🚧 Status
The project is ready to use. Most features are ready. Some platforms are not supported yet though:
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
customizable template - developer can change all static files - HTML, CSS, JS etc.