A web-based PICO-8 cartridge emulator built with JavaScript and Fengari.
Currently supports loading two preset `.p8.png` demo cartridges. |
|
- Extracts hidden game data from
.p8.png
cartridge images - Transpiles PICO-8 Lua syntax into valid Lua code for execution
- Runs game logic in browser using Fengari Lua VM
- Implements core PICO-8 API functions
- Supports keyboard inputs mapped to PICO-8 buttons
- Cartridge selection UI
- Go to the website and select a cartridge to load.
⚠️ To ensure cartridges load properly, please disable browser shields or privacy settings that block image/script loading.
- Limited functionality at this time. I plan to continue improving this beyond the minimum project requirements. Originally intended to support Celeste Classic or other full PICO-8 games, but underestimated how hard this would be.
- Support larger games like Celeste Classic
- Allow uploading custom cartridges
- Add mobile support
- Add music and sound effects support
The .p8.png
cartridge files are hosted separately on a static file server: https://brooklyn-dev-pico-8-cartridges.netlify.app/
The web emulator loads cartridges from this external source.
Due to file corruption issues when hosting cartridges on Vercel or GitHub, the cartridge files are hosted externally to ensure proper loading.
See the Credits for more information about the cartridge files and attribution.
- Implementation inspired by - PICO-8 Wiki
- Demo cartridges provided by - PICO-8 Educational Edition
If you find this project interesting or useful, consider giving it a star ⭐️!
This project is licensed under the MIT License. See LICENSE for more information.