The retro game development engine for Go, inspired by Pico-8 and powered by Ebitengine.
No, it's not. It's rather a game development library with dev-tools which make it simple (and fun!) to write retro games in Go.
It's a game that resembles old 8-bit/16-bit games. This usually means:
- (extremely) Low resolution (like 128x128 pixels)
- Limited number of colors (like 16)
- Very small number of assets (like 256 sprites, map having up to 8K tiles)
- Small number lines of code (thousands rather than millions)
- Sound effects and music made using predefined synth instruments and effects
- Most concepts are similar: game loop, drawing sprites and shapes, printing text, clipping, camera, palette swapping, handling user input. Some functions have even same names.
- Screen resolution is small, and the number of colors is limited. Although in Pi you can change the resolution and palette.
- You have one small sprite sheet.
Because it's the easiest way to write a game in Go. IMHO ;)
Pi is under development. Only limited functionality is provided. API is not stable. See ROADMAP for details.
- Install dependencies
- Try examples from examples directory.
- Create a new game using provided Github template.
- Read the documentation.
- Use a pixel-art editor which supports indexed color mode, such as Aseprite or LibreSprite.
- Palette for the game is stored inside sprite-sheet.png.
- system font used by Pi is the original Pico-8 font created by Zep - CC-0 license
- default palette is the original Pico-8 palette created by Zep - CC-0 license