A lightweight Lua utility library providing essential functions for game development and general programming.
Lume is a lightweight utility library for Lua, specifically geared towards game development. It provides a comprehensive set of functions for common tasks such as math operations, vector calculations, table manipulation, string processing, and functional programming patterns. It solves the problem of reinventing basic utilities by offering a single, well-tested module that enhances Lua's standard library.
Lua developers, particularly those working on game projects (e.g., with LÖVE, PICO-8, or other Lua-based game engines), as well as general Lua scripters who need robust utility functions.
Developers choose Lume for its simplicity, performance, and game-dev focus—it's a single-file library with no dependencies, offering a rich API that fills gaps in Lua's standard library while being easy to integrate and use.
Lua functions geared towards gamedev
Includes clamping, linear interpolation, and vector operations essential for game physics and animations, with clear examples like lume.lerp for smooth transitions.
Supports map, filter, reduce, and chainable operations via lume.chain, enabling expressive data transformation pipelines as demonstrated in the README.
Features lume.hotswap for reloading Lua modules without restarting, speeding up iteration during game development with error handling for failures.
A single Lua file with no dependencies, making it trivial to drop into any project by requiring it, as per the straightforward installation instructions.
Only handles basic Lua types like booleans, numbers, strings, and tables; lacks utilities for custom objects or advanced structures such as sets or queues.
Error handling is minimal, with functions like lume.randomchoice raising errors on empty tables without configurable fallbacks or robust recovery options.
Missing utilities for networking, file I/O, or advanced math like 3D vectors or matrices, which might require additional libraries for complex game projects.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.