A categorized community-driven collection of high-quality, awesome LÖVE libraries, projects, and resources.
- 3D
- AI
- Animation
- Camera
- Development
- Drawing
- Entity
- Helper Libraries
- Input
- Lighting
- Math
- Networking
- Object Orientation
- Physics
- Platforms
- Serialization
- Shaders
- Testing
- Tweening
- UI
- Utilities
3D-centric Libraries
- anim9 - 3D skeletal animation library (design to be used with IQM and IQE)
- IQE - Inter-Quake Export loader (text)
- IQM - Inter-Quake Model loader (binary)
- LÖVE3D - 3D extensions to LÖVE
Navigation, Decision-Making and AI Libraries
- Jumper - Grid-based pathfinding library
Animation & Frame-Managing Libraries
Viewport & Camera Libraries
- Brady - Camera library with parallax scrolling
- Editgrid - Gamera and HUMP compatible scaling grid
- gamera - Camera system
- HUMP.camera - Camera can "look" at a position. It can zoom in and out and it can rotate it's view. In the background, this is done by actually moving, scaling and rotating everything in the game world. But don't worry about that.
Development assisting Libraries, that enrich your development experience
- FPSGraph - Small FPS graphing utility
- debugGraph - Small OO FPS graphing utillity based on FPSGraph
- love-ide - Tools for programming LÖVE games in Atom
- Lovebird - Browser-based debug console
- Lovecat - Edit your game parameters in a browser and see the changes in the running game in real time
- lurker - Auto-swaps changed Lua files in a running game
- LÖVE API - The complete API documentation of LÖVE in a Lua table
- LÖVE Atom - Snippets and autocompletion for Atom
- LÖVE Hints - Snippets, code hints and autocompletion for Brackets
- LÖVE IDEA - Snippets and code completion for IntelliJ IDEA
Drawing specific Libraries, that simplify the Drawing process
- draft - A module for drawing complex shapes
Entity and Gameobject Managing Libraries
- knife.system - Minimalist functional ECS
- tiny-ecs - Entity Component System for Lua that's simple, flexible, and useful
Game specific Library bundles, that provide reuseable functions
- HUMP - Collection of tools for developing games with LÖVE (Gamestates, Timer, Vector, Class, Signal, Camera)
- knife - Collection of useful micro-modules for Lua (Class, State Machines, Bind, Chain, Coroutines, Event, Memoize, Entity, Tests, Timer)
- lume - Collection of functions for Lua, geared towards game development
- Simple Tiled Implementation - Tiled map loader and renderer
- Vivid - Color math, manipulation and conversion library.
Input & Binding Libraries
- boipushy - A simple and easy to use input handler
- tactile - A straightforward and flexible input library
Lighting & Shadow Libraries
- Light World - A lighting model
Math specific Libraries
- Cirno's Perfect Math Library - Math/intersection library designed for games
- delaunay - Delaunay triangulation for convex polygons
- MLib - Math and shape-intersection detection library written in Lua. It's aim is to be robust and easy to use
Networking & Online-Play Libraries
- LUBE - Networking library intended to make networking easy for lovers (TCP, UDP, Enet)
- NoobHub - OpenSource multiplayer and network messaging
Object Orientation Libraries that support Class-Commons
- 30log - Minified framework for object-orientation in Lua. It features named (and unnamed) classes, single inheritance and a basic support for mixins
- classic - Tiny class module for Lua. Attempts to stay simple and provide decent performance by avoiding unnecessary over-abstraction
- HUMP.class - Small, fast class/prototype implementation with multiple inheritance (class-commons)
- knife.base - Extremely minimal base class providing single inheritance and constructors.
- middleclass - Simple OOP library for Lua; has inheritance, metamethods (operators), class variables and weak mixin support (class-commons)
Collision Detection & Physics Wrappers
- Bump - Collision detection library for Lua
- Hardon Collider - Simplify one important aspect in computer games: Collision detection
- Lope2D - Wrap for love.physics; makes dealing with the physics API easier and faster
##Platforms Ports for Platforms other than Windows, Mac and Linux
- LoveDos - A Lua framework for 2D DOS games, implementing a subset of the LÖVE API
- LovePotion - Unofficial work-in-progress implementation of the LÖVE API for 3DS Homebrew
- punchdrunk - An attempt to replicate the LÖVE API in the browser using moonshine
Save Game & Storage Libraries
- binser - Customizable Lua Serializer
- cdata - Serialize between Lua data and C data using LuaJIT's FFI
- knife.serialize - Serialize data as a Lua script.
- Lady - Saving and loading savegames; based on Ser
- Ser - Fast, robust, richly-featured table serialization library for Lua
- Smallfolk - A fast, robust, secure, richly-featured table serialization library for Lua
GLSL related Libraries
- LoveShaderConverter - Convert Shadertoy Shader files to LÖVE GLSL Files with handy utilities for infinite purposes.
- Shadertoy viewer - Run code copied from shadertoy directly or output the converted code to a LÖVE shader
- shine - Postprocessing effect repository for LÖVE
Libraries and Tools for Unit Testing
- busted - Simple unit-testing framework with customizable assertions
- knife.test - Fixture-free test framework
- Luassert - Extends
assert()
with additional, customizable tests - lua-TestMore - Port of Perl's
Test::More
package - Lunatest - xUnit-style randomized unit testing framework
- Specl - Behavior Driven Development (BDD) tool
- Telescope - Highly-customizable BDD-style testing library
Smoothing & Timer Libraries
- Flux - A fast, lightweight tweening library for Lua
- HUMP.timer - Delayed and time-limited function calls and tweening support
- knife.timer - Create timers and tweens with ease.
- tween.lua - Tweening/Easing/Interpolating functions for Lua inspired on jQuery's animate method
User Interface Libraries
- GOOi - Android-oriented GUI library
- LoveFrames - GUI library
- SafeWord - An overscan detection library for LÖVE
- Thranduil - A highly customable and easy to use UI
- Gspöt - a stateful GUI lib for LÖVE
Non-Game specific Library bundles, that provide reuseable functions
- chance.lua - Library for generating random data
- i18n - Internationalization library designed to help localize your game
- log.lua - Library for configurable log output
- love-loader - Threaded resource loading
- love2d-assets-loader - Assets Loader
- Luvent - Simple event-driven programming
- splashy - Splash Screen Library
Please see CONTRIBUTING for details.
- awesome-lua - A list like this one, but more general and encompassing all of Lua's uses.
- awesome-love-shaders - A collection of shaders designed to work in LÖVE.
Other awesome lists can be found in the awesome-awesomeness list.