Documentation
Tangy games are Lua scripts plus converted assets. Make desktop games with keyboard input on Linux or Windows, or export for the Nintendo 3DS family. Start with the examples, then dig into the API and tools. macOS export is planned.
Getting started (Linux)
- Download the Linux
.tar.gzand extract it. - Install or compile Aseprite if you will create art. Install system SDL2 if it is not already present.
-
From the extracted folder, run an example:
./tangy examples/hello/main.lua -
Read the Lua API and open
examples/*/main.luato learn by editing.
Getting started (Windows)
- Download the Windows
.zipand unzip it. -
Keep
SDL2.dll(and the bundled MinGW DLLs) in the same folder as the.exefiles — do not move the tools without those DLLs. - Install or compile Aseprite if you will create art.
-
Open a terminal in the extracted folder and run an example:
tangy.exe examples\hello\main.lua -
Read the Lua API and open the Lua files under
examples\to learn by editing.
How scripts work
The same Lua works on Linux, Windows, and 3DS. There is no engine update /
draw callback. Your entry file (main.lua by default) runs as a
coroutine. Use wait(ms), engine:yield(), and
engine:spawn(fn) to structure game loops. Input handlers are registered with
input.button_pressed:connect and input.button_released:connect.
Target platforms
Games use a logical display of 400×240 @ 60 Hz (the New 3DS XL top-screen size). Tangy is for:
- Linux desktops — develop with the Linux download; export standalone games
with
tngc(default--target desktop). - Windows desktops — develop with the Windows download; export a
.exewithtngc --target windows. - Nintendo 3DS family homebrew — pack a
.3dsxwithtngc --target n3ds(from Linux or Windows tools; needs Docker for the 3DS cross-build). - macOS — planned.