A simple 2D game engine for rapid prototyping.
Usagi is a 2D pixel art game engine for exploring ideas quickly. It embraces constraints so that you can focus on your game. Games are coded with Lua and can be exported with a single command for Linux, macOS, Windows, and web. All code and assets are live reloaded as they change in your running game.
Usagi comes with some helpful dev tools like a Jukebox, Tile Picker, and Save Inspector. You bring your own text editor, sprite editor, sound effects, and music.
Usagi is free and open source software made by Brett Chalupa. Consider supporting the engine's development by purchasing it here on itch.
Install Usagi on Linux and macOS:
curl -fsSL https://usagiengine.com/install.sh | sh
And on Windows:
irm https://usagiengine.com/install.ps1 | iex
Or download from itch.io below.
Watch the quickstart guide:
Features / Bugs
Usagi embraces constraints so you can focus on exploring ideas rather than worrying about asset pipelines, save data, screen sizes, and project organization.
- 320x180 resolution with scaling; ability to set custom resolution
- Live reload of code and assets during development
- Cross-platform export with a single command to Linux, macOS, Windows, and web
- One spritesheet only — sprites.png
- Super simple save data
- Pause menu with persisted settings and keyboard input mapping
- 16x16 tiles by default with ability to render custom sizes
- Basic shape primitives
- Custom font support (but only one font per game)
- Bring your own text editor, sprite editor, and map editor
- Small API
- Alpha channel sprites
- Pico-8 color palette by default with custom palette support
- Ability to arbitrary load text and JSON data
- Helpful dev tools
Showcase
Games made with Usagi Engine:
- Bomberfrog: Alpha - bullet hell shmup
- SokoWorld - simple Sokoban game
- notetris - definitely not tetris
Get Started
Download the engine below for your operating system, unzip it, and start making your game.
Then in Terminal or Power Shell run:
usagi init hello_usagi
This creates a new project.
You can then start your game in dev mode with:
usagi dev hello_usagi
Make changes to the code and the running game will live update.
Then export your game for Linux, macOS, Windows, and web with:
usagi export hello_usagi
Visit the Usagi website or read USAGI.md in your initialized project to get the full docs.
Learn More
- View more details and full docs on the Usagi website
- Read the free book
- Read through the examples
- Join the Discord
- View the engine source
- Check out games on itch.io made with Usagi
Credits
Usagi is made by Brett Chalupa and project contributors. The engine's font is datagoblin's Monogram (CC0).
(Un)license
Usagi's source code is dedicated to the public domain. You can see the full details in UNLICENSE.