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

  1. Download the Linux .tar.gz or Windows .zip (tools + examples included).
  2. Install or compile Aseprite if you will create art.
  3. Run an example: ./tangy examples/hello/main.lua (Linux) or tangy.exe examples\hello\main.lua (Windows)
  4. Read the Lua API and open examples/*/main.lua to learn by editing.

How scripts work

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 and export standalone games with keyboard input via the SDL2 runtime and tngc (default --target desktop).
  • Windows desktops — same toolchain as a .zip; package with tngc --target windows.
  • Nintendo 3DS family homebrew — pack a .3dsx with tngc --target n3ds.
  • macOS — planned.