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
- Music
- Networking
- Object Orientation
- Physics
- Platforms
- Serialization
- Shaders
- Testing
- Tweening
- UI
- Utilities
- Tutorials
- IDEs
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
- anim8 - Animation library
- chiro - Convenience wrapper around Spine
- skeletor - 2D skeletal animation system
- Sodapop - Sprite and animation library
- Walt - Animation library
- Lump - Adobe Flash animation runtime
Viewport & Camera Libraries
- Brady - Camera library with parallax scrolling
- Editgrid - Gamera and HUMP compatible scaling grid
- gamera - Camera system
- hump.camera - Camera library with window locking and smooth camera movement interpolation
Development assisting Libraries, that enrich your development experience
- FPSGraph - Small FPS graphing utility
- debugGraph - Small OO FPS graphing utillity based on FPSGraph
- Lovebird - Browser-based debug console
- Lovecat - Edit your game parameters in a browser and see the changes in the running game in real time
- LoveDebug - Inline console-like debugger utility
- lurker - Auto-swaps changed Lua files in a running game
- LÖVE API - The complete API documentation of LÖVE in a Lua table
Drawing specific Libraries, that simplify the Drawing process
- draft - A module for drawing complex shapes
- Artal - A .PSD parsing library for LÖVE
- Autobatch - Small LÖVE module to automate the use of SpriteBatches
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, Timers/Tweens, Vectors, Classes, Signals, Cameras)
- knife - Collection of useful micro-modules for Lua (Class, State Machines, Bind, Chain, Coroutines, Event, Memoize, Entity, Tests, Timer)
- lue - lue is a LÖVE library that allows you to display hue color effects in your game.
- lume - Collection of functions for Lua, geared towards game development
- shack - shack is a LÖVE library that lets you easily add screen effects such as shake and rotation.
- 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
- hump.vector - Powerful 2D vector class
Music related libraries
- wave - a sound manager with audio parsing and rhythm functionalities
- denver - A Löve custom waveform generation library
Networking & Online-Play Libraries
- Grease - 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
- HC - Collision detection with arbitrary polygons; allows rotation of objects
##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
- LoveFTW - Work-in-progress port to Windows phone 8.1
- LovePotion - Unofficial work-in-progress implementation of the LÖVE API for 3DS Homebrew
- Love.js - LÖVE ported to the web using Emscripten
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
- trickle - A bitstream library focused on high compression for use in networking
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 - Repository of common post-processing effects like blur, vignette, color-grading, etc.
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
- lust - Minimal test 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 - Timer and tweening library with flexible tweening methods
- 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 Fork - 0.10 Fork of a GUI library
- SafeWord - An overscan detection library for LÖVE
- Gspöt - a stateful GUI lib for LÖVE
- SUIT - small immediate mode GUI library
- CatUI - A very light-weight GUI library for the Löve2D
Non-Game specific Library bundles, that provide reuseable functions
- cargo - Asset manager
- 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
- Talkback - Observer pattern library with two-way communication.
- tick - Useful timing tweaks for LÖVE's run loop.
Blogs and tutorials
- adonaac's - A blog by adonaac with articles about game development using LÖVE
- Using Tiled Maps in LÖVE - An article about using maps created with Tiled in your LÖVE game
Integrated Development Enviroments and text editor plugins
- Atom - A hackable text editor for the 21st Century
- Löve Atom - A lövely provider for Atom's autocomplete+ package.
- Löve IDE - This package auto-installs several utilities for writing Love2D games in Atom.
- Autocomplete Löve - Auto-complete and snippets for LÖVE.
- Hyperclick Löve - A Hyperclick provider for LÖVE which shows the wiki.
- Löve Launcher - Launch LÖVE 2D for the current project without having to leave Atom.
- ZeroBrane Studio - ZeroBrane Studio is a lightweight Lua IDE with code completion, syntax highlighting, live coding, code analyzer, and debugging support
- LÖVE IDEA - Snippets and code completion for IntelliJ IDEA
- Vim LOVE Docs - Syntax highlighting for Vim
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.
- awesome-pico8 - A curated list of PICO-8 resources, tutorials, tools and more.
Other awesome lists can be found in the awesome-awesomeness list.