Tools

Every Tangy download includes the runtime, editor, asset converters, and game compiler — ready to use for making games. Export for Linux, Windows, or the 3DS family; macOS packaging is planned.

tangy — runtime

Run and play your game while you build it. Point it at your main.lua; it opens a resizable window at the logical 400×240 size and runs at 60 Hz. On Linux you play with the keyboard (see the Lua API). The same project can later be packed for the 3DS family.

./tangy examples/hello/main.lua
# or from inside a game folder:
./tangy main.lua

Escape or closing the window quits. Packaged 3DS games use the console buttons instead of a keyboard.

tangy_editor — scene editor

Build tile levels visually: new/load/save scenes, four layers, palette and tileset loading, undo/redo, and a selection clipboard. Run it from your game folder so asset paths resolve.

cd examples/platformer
../../tangy_editor

tngpal — palette converter

Turn a PNG palette image into a Tangy palette file your game can load with palette:load (up to 256 colours).

tngspr — sprite converter

Convert indexed-colour Aseprite art into Tangy sprites (max 64×64). Optional --trim drops blank columns. Load them in Lua with sprite:load.

tngspr [--trim] input.aseprite output.tngspr

tngtiles — tileset converter

Convert an indexed Aseprite sheet (canvas size multiples of 16) into a Tangy tileset on a 16×16 grid for tilemaps and the scene editor.

tngtiles input.aseprite output.tngtiles

tngogg — audio converter

Convert music and sound effects to OGG for sound:play (uses ffmpeg). Keep the .ogg files next to your Lua scripts.

tngc — game compiler

Package your finished game for others to play: a Linux desktop build by default, a Windows .exe with --target windows, or a Nintendo 3DS family .3dsx. It picks up your game folder, skips editor leftovers, and writes a single playable output. macOS export is planned.

# Linux desktop game (keyboard playable)
tngc examples/hello -o hello_game --tangy-root . --tangy-build build

# Windows .exe
tngc examples/hello -o hello_game.exe --target windows --tangy-root . --tangy-build build-windows

# Nintendo 3DS family homebrew
tngc examples/platformer -o platformer.3dsx --target n3ds --tangy-root .

What you’ll work with

You don’t need to know how Tangy’s files are stored under the hood — only which tools produce what your Lua scripts load:

You make… With… Then in Lua…
A colour palette tngpal palette:load(...)
Sprites tngspr from Aseprite sprite:load(...)
Tilesets tngtiles from Aseprite Used by scenes / the editor
Levels / scenes tangy_editor scene:load(...)
Music & SFX tngogg sound:play(...)
A shippable game tngc —