Website | Source

Features

Bring your own sound effects, sprite editor, and music tools.

Getting Started

Bootstrap a project and start it in dev mode:

usagi init my_game
cd my_game
usagi dev

init writes main.lua (with _init / _update / _draw stubs), .luarc.json for Lua LSP support, .gitignore, meta/usagi.lua (API type stubs), and USAGI.md (a copy of these docs).

Edit main.lua, save, and the running game picks up the change without restarting or losing state. Drawing "Hello, Usagi!" looks like:

function _draw(_dt)
    gfx.clear(gfx.COLOR_BLACK)
    gfx.text("Hello, Usagi!", 10, 10, gfx.COLOR_WHITE)
end


Tags: gamedev   lua  

Last modified 21 June 2026