Tools
Every Tangy download includes the runtime, editor, asset converters, and game compiler. Source code for the engine is not included — you get the compiled tools ready to use. Export games for Linux or the 3DS family; Windows and macOS packaging is planned.
tangy — runtime
The game runtime for desktop development and play. Loads main.lua from a game
directory over a disk VFS, opens a resizable window letterboxed to the logical
400×240 display, and runs at 60 Hz. On Linux this is how you make and play
desktop games with keyboard input (arrow keys, Space, and so on — see the
Lua API). The same projects 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. On the Nintendo 3DS family, packaged games run as homebrew
.3dsx with gamepad buttons.
tangy_editor — scene editor
ImGui tile scene editor for building .tngscn levels: new/load/save scene, four
layers, palette and tileset loading, undo/redo, selection clipboard. Run it from a game
directory so relative asset paths resolve.
cd examples/platformer
../../tangy_editor tngpal — palette converter
Converts a PNG into a .tngpal (magic TNGP): up to 256 unique colours
quantized to 15-bit. Games load the palette with palette:load.
tngspr — sprite converter
Converts indexed-colour
Aseprite files to
.tngspr (magic TNGS), sprites ≤64×64. Optional --trim
drops blank columns.
tngspr [--trim] input.aseprite output.tngspr tngtiles — tileset converter
Converts an indexed Aseprite sheet (canvas size multiples of 16) into .tngtiles
(magic TNGT) on a 16×16 grid for tilemaps.
tngtiles input.aseprite output.tngtiles tngogg — audio converter
Converts audio to 16 kHz mono OGG via ffmpeg for use with sound:play. Keep music
and SFX as .ogg beside your Lua scripts.
tngc — game compiler
Packs a game directory into a shippable build. Export a Linux desktop ELF
(default) or a Nintendo 3DS family .3dsx. Discovers or writes
game.tngmanifest, embeds assets in a TNGB blob, and skips editor junk
(imgui.ini, sessions, .git, build folders). Windows and macOS export
targets are planned.
# Linux desktop game (keyboard playable)
tngc examples/hello -o hello_game --tangy-root . --tangy-build build
# Nintendo 3DS family homebrew
tngc examples/platformer -o platformer.3dsx --target n3ds --tangy-root . Asset formats
| Extension | Role |
|---|---|
.tngpal | 15-bit palette (max 256 colours) |
.tngspr | Indexed sprite ≤64×64 |
.tngtiles | Tileset / tile textures (16×16) |
.tngscn | Scene tile-id grid + tileset path |
.tngmanifest | Compact binary game manifest for packaging |
.ogg | Streamed audio (max 12 voices) |