A lightweight Lua utility library providing essential functions for game development and general programming.
Lume is a Lua utility library that provides a comprehensive set of functions tailored for game development and general programming tasks. It solves the problem of Lua's minimal standard library by offering ready-to-use tools for math, table manipulation, string processing, and functional programming, reducing boilerplate code. Developers can easily integrate it into their projects to handle common operations like interpolation, random selection, data serialization, and more.
Lua developers, particularly those working on game projects using engines like LÖVE, Defold, or custom Lua-based game engines, who need a lightweight, focused utility library. It's also suitable for general Lua scripting where enhanced table and string operations are beneficial.
Developers choose Lume because it's a single-file, dependency-free library that is easy to drop into any project, offering a curated set of functions specifically useful for game development. Its functional programming features and chainable API provide a modern, expressive way to write Lua code without the overhead of larger frameworks.
Lua functions geared towards gamedev
Installation is simply dropping lume.lua into the project and requiring it, with no dependencies, making it trivially easy to integrate.
Includes functions like lume.lerp for interpolation, lume.color for parsing, and lume.hotswap for live coding, directly supporting game development workflows.
Offers lambda expressions with lume.lambda, memoization with lume.memoize, and a chainable API via lume.chain, enabling modern functional programming patterns.
Provides a wide range of table functions such as lume.map, lume.filter, lume.reduce, and lume.unique, which enhance Lua's native table handling significantly.
lume.clone performs only shallow copies, which can cause issues with nested tables if deep cloning is needed, as it doesn't handle recursive structures.
lume.isarray checks only for a value at index 1, which might incorrectly identify tables, leading to potential bugs in edge cases.
Functions like lume.randomchoice raise errors on empty tables without fallback options, requiring additional wrapping code for robustness in production.
The library lacks integrated testing utilities or assertions, forcing developers to rely on external tools for unit testing and validation.
A curated list of amazingly awesome LÖVE libraries, resources and shiny things.
Digital Estate Planning: The Game
A collision detection library for Lua
Tiled library for LÖVE
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.