A categorized community-driven collection of high-quality, awesome LÖVE libraries, projects, and resources.
Table of contents
* 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 * Maid64 - Low resolution scaler for LÖVE * svglover - Library to import and display simple SVGs in LÖVE
Game specific Library bundles, that provide reuseable functions * astray - Astray is a lua based maze, room and dungeon generation library for dungeon crawlers and rougelike video games * 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 * rotLove - Roguelike Toolkit in Love. A Love2D/lua port of rot.js * 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 * baton - Input library for LÖVE that bridges the gap between keyboard and gamepad controls * 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
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
* 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 * CatUI - A very light-weight GUI library for LÖVE * GOOi - Android-oriented GUI library * Gspöt - A stateful GUI lib for LÖVE * LoveFrames Fork - 0.10 Fork of a GUI library * Love Imgui - imgui module for the LÖVE game engine * Polywell - A highly-configurable text editor / coding tool written in Lua that runs on the LÖVE game engine. * SafeWord - An overscan detection library for LÖVE * SUIT - small immediate mode GUI library
Non-Game specific Library bundles, that provide reuseable functions * cargo - Asset manager * chance.lua - Library for generating random data * GifCat - A simple module for saving gifs from LÖVE * 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.
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.
Other Awesome Lists
* 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.