Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Gideros
  3. lume

lume

MITLuav2.3.0

A lightweight Lua utility library providing essential functions for game development and general programming.

GitHubGitHub
1.2k stars88 forks0 contributors

What is lume?

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.

Target Audience

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.

Value Proposition

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.

Overview

Lua functions geared towards gamedev

Use Cases

Best For

  • Adding common math utilities (clamp, lerp, round) to Lua game projects
  • Manipulating and transforming tables (arrays/dictionaries) in Lua scripts
  • Implementing vector and geometric calculations for 2D game mechanics
  • Writing concise functional-style code with map, filter, and reduce in Lua
  • Handling string operations and data serialization in Lua applications
  • Live-reloading Lua modules during game development for faster iteration

Not Ideal For

  • Projects requiring advanced 3D math or physics simulations beyond basic 2D vectors
  • Teams already using comprehensive Lua frameworks like LÖVE that have overlapping utility modules
  • Environments with extreme memory constraints where even a single additional file is prohibitive
  • Developers needing built-in support for custom data structures like queues, stacks, or sets

Pros & Cons

Pros

Game-Optimized Math Functions

Includes clamping, linear interpolation, and vector operations essential for game physics and animations, with clear examples like lume.lerp for smooth transitions.

Functional Programming Enhancements

Supports map, filter, reduce, and chainable operations via lume.chain, enabling expressive data transformation pipelines as demonstrated in the README.

Live Development Support

Features lume.hotswap for reloading Lua modules without restarting, speeding up iteration during game development with error handling for failures.

Minimal Integration

A single Lua file with no dependencies, making it trivial to drop into any project by requiring it, as per the straightforward installation instructions.

Cons

Limited Data Type Support

Only handles basic Lua types like booleans, numbers, strings, and tables; lacks utilities for custom objects or advanced structures such as sets or queues.

Basic Error Management

Error handling is minimal, with functions like lume.randomchoice raising errors on empty tables without configurable fallbacks or robust recovery options.

Sparse Advanced Features

Missing utilities for networking, file I/O, or advanced math like 3D vectors or matrices, which might require additional libraries for complex game projects.

Frequently Asked Questions

Quick Stats

Stars1,216
Forks88
Contributors0
Open Issues11
Last commit2 years ago
CreatedSince 2014

Tags

#functional-programming#game-development#utility-library#scripting#serialization#lua#table-manipulation#vector-math

Built With

L
Lua

Included in

Gideros34
Auto-fetched 6 hours ago

Related Projects

inspect.luainspect.lua

Human-readable representation of Lua tables

Stars1,525
Forks200
Last commit3 months ago
BumpBump

A collision detection library for Lua

Stars1,079
Forks85
Last commit2 years ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub