Lua Text Only Engine
Luato is a lightweight monochromatic graphics engine for Windows with an integrated LuaJIT (Lua 5.1-compatible) runtime. It provides a retro-inspired, pixel-perfect text rendering environment for creating games, tools, and interactive applications — all driven by Lua scripting.
The engine renders to a 1-bpp 640×360 logical canvas using an 8×16 IBM VGA-style monospace font. Drawing is performed efficiently via an OpenGL SSBO-backed pipeline. The Release EXE is under 600 KB in size.
If you just want to create Luato applications without building from source, grab the latest release package:
⬇ Download Luato v5.1.4.9 (Win64)
The release package contains the ready-to-use EXE, an example script (catacombs.lua), and full documentation. To run an example, drag any .lua file onto luato.exe or isolate them together in the same folder.
Minimal script to get started:
-- MAINSCRIPT
local lg = luato.graphics
function luato.draw()
lg.clear()
lg.locate(0, 0)
lg.print("Hello World")
endSave this as a .lua file, place it alongside luato.exe, and run the EXE.
For the complete API reference covering graphics, keyboard input, window management, filesystem, modules, and fused executable distribution, see the Luato Reference Manual.
The repository includes Visual Studio solution and project files (.sln / .vcxproj) targeting C++20 on Windows (x64). Pre-built lua51.lib static libraries for both Debug and Release configurations are included in the repo.
Detailed build instructions — including project property configuration, library dependencies, and post-build steps — can be found in the comment block at the top of src/main.cpp.
| Key | Action |
|---|---|
| F10 | System info screen (version, CP437 character map) |
| F11 | Toggle fullscreen |
| F12 | Console output screen |
These hotkeys are reserved by the engine and cannot be overridden by scripts.
Luato is released under the MIT License. See LICENSE for details.
Example roguelike application (catacombs.lua) running on the Luato engine:
