Windows
A Lua project needs no compiler. Download the Lua bundle for
windows-amd64, unzip it, and put your script where the executable looks for
it:
my_game/
├── data/
│ └── main.lua
└── natiny.exe
natiny.exe
natiny.exe mounts data/ from beside itself and runs main.lua out of it.
Everything in that folder is then named from inside it, so
resource.load("fonts/roboto.ttf") reads data/fonts/roboto.ttf. Relative
paths inside the script mean the same thing whichever directory you started it
from. Name another file to run that one instead:
natiny.exe data/experiment.lua
That mounts the folder holding the script - here data/ again - so the
script reads its files exactly as main.lua would have.
Dropping a .lua file onto the executable does the same thing.
The executable also packs a folder for release, which needs no script:
natiny.exe pack data
data/ becomes an index and a few .pack files that the game mounts in its
place. See assets, packs and mods.
To ship, ship the folder. natiny.exe needs nothing else installed: every
library it uses is part of Windows.