LÖVE
Game engine.
Contents
3D
An awesome 3D engine for LÖVE.
3D skeletal animation library (design to be used with IQM and IQE).
FFI-enabled vector library for 3D (x,y,z).
A 3D collision detection library for Lua.
Simple and easy 3D engine for LÖVE.
Inter-Quake Export loader (text).
Inter-Quake Model loader (binary).
Pseudo-3D library for working with voxels.
Library for 3D rendering with LÖVE.
AI
An other A* library. Any map (grid, point, mesh or infinite map) and support path cost.
A functional behavior tree implementation.
Grid-based pathfinding library.
Fully featured behaviour tree implementation with tree rendering.
Easy and pure Lua A* path finding.
Class-based A* implementation written purely in Lua.
Animation
A Lua library for 2D skeletal/bone animations with a Löve backend.
Animation library.
A featureful Animation library for loading animations from XML files!.
Complete ase/aseprite file loader (no json).
Convenience wrapper around Spine.
A minimal stateful animation library.
Adobe Flash animation runtime.
A parser/renderer for Aseprite animations in LÖVE.
2D skeletal animation system.
Text animation and automatic wrapping library based on tags.
Animation library.
Camera
Camera library with parallax scrolling.
Gamera and HUMP compatible scaling grid.
Camera system.
Scrolling library for any camera system; seamlessly tile background images.
Room-based camera with smooth transitions.
Development
Small OO FPS graphing utillity based on FPSGraph.
Small FPS graphing utility.
The complete API documentation of LÖVE in a Lua table.
GitHub Action for automated cross-platform builds.
Write LÖVE games with TypeScript.
Browser-based debug console.
Inline console-like debugger utility.
A LÖVE live reloader with Moonscript support.
An extremely simple logger and profiler.
Auto-swaps changed Lua files in a running game.
Broad in-game debugging gui with a console, variable browser/editor, speed controls, and more.
Drawing
A .PSD parsing library for LÖVE.
Small LÖVE module to automate the use of SpriteBatches.
A simple module to dynamically align and fit content to screens of any size.
Adds Z axis; allows you to queue actions and draw calls.
A module for drawing complex shapes.
Extends Runtime-TextureAtlas as a commandline tool to export an atlas.
"Hot Particles is a particle editor for the LÖVE game framework."
Lua implementation of HSLuv (a human-friendly alternative to HSL).
Low resolution scaler for LÖVE.
A simple resolution-handling library for LÖVE.
Realistic orthographic planet rendering.
Scale library, that help you add resolution support to your games!
Texture atlas packer and renderer at runtime; no external tools.
A powerful resolution-handler and rendering library for LÖVE.
A fairly simple solar system simulator.
Library to import and display simple SVGs in LÖVE.
Pixel art focused scaler for graphics, position, screen-captures and shaders.
Turtle graphics library for LÖVE.
Helpers
Blend, convert and interpolate colors using 'color objects'.
A Lua-based maze, room and dungeon generation library for dungeon crawlers and roguelike video games.
Fills out lua's sparse standard library and provides implementations of common algorithms and data structures useful for games.
Small Tiled map loader and drawer.
A helper library which allows you to quickly loads huge amount of assets.
A lightweight, optimized, and easy-to-implement solution for efficient game state management.
Collection of tools for developing games with LÖVE (Gamestates, Timers/Tweens, Vectors, Classes, Signals, Cameras).
A SpriteSheet and Tileset helper library for LÖVE.
Simple to use Dialogue Library for Love2d with custom scripting language for dialogues .
State switcher class for Lua LÖVE Engine.
A Window/Screen Manager Module for virtual windows.
Lua Finite State Machine.
A LÖVE library that allows you to display hue color effects in your game.
Collection of functions for Lua, geared towards game development.
An Ink narrative scripting language parser and runtime implementation.
A comprehensive traditional roguelike engine.
A library designed for alignment of text that is shown one character at a time.
Screen management library for LÖVE.
Roguelike Toolkit in LÖVE. A LÖVE/lua port of rot.js.
A simple, but powerful scene/gamestate manager that uses a stack, allowing you to run multiple scenes at once.
A dead simple scene/state management system.
Screen/State Management for the LÖVE framework.
A LÖVE library that lets you easily add screen effects such as shake and rotation.
Collection of useful mini modules.
Tiled map loader and renderer.
Color math, manipulation and conversion library.
Entity
Minimal, Functional Entity Component System.
A feature-complete ECS library.
ECS Lua is a fast and easy to use ECS (Entity Component System) engine for game development.
Evolved ECS (Entity-Component-System) for Lua.
Hybrid OOP/ECS entity management.
Entity Component System for Lua that's simple, flexible, and useful.
Tweening
Create timers and tweens with ease.
A fast, lightweight tweening library for Lua.
Lua module for delaying function calls.
Tweening/Easing/Interpolating functions for Lua inspired on jQuery's animate method.
UI
Simple custom UI syntax for easy components compositions.
A very light-weight GUI library for LÖVE.
A fully featured GUI library, supporting flexbox/grid/absolute layouts, both immediate and retained mode, 9patch theming and advanced event support.
Android-oriented GUI library.
A modern, customizable, high performance retained UI framework.
Any-purpose GUI framework.
A simple UI grid layout library for LÖVE 2D game engine.
A dynamic ListBox for LÖVE that supports touch, mouse, and keyboard inputs.
Imgui module for the LÖVE game engine.
Lightweight immediate mode GUI for LÖVE games.
11.2 Fork of a GUI library.
Retained mode layout and GUI library inspired by .NET's MAUI controls with StackLayout, AbsoluteLayout, Grid, Label, Button, Image, CheckBox, RadioButton, Switch, ProgressBar, Slider, TextBox and Border.
A simple 9-patch library for LÖVE.
An immediate mode GUI library for LÖVR and LÖVE.
Love UI System - A retained mode UI framework for LÖVE with input processing (mouse, keyboard, touch, gamepad), layer-, grid-, state-, theming-system, UI editor, 16+ widgets (for desktop & mobile).
Extensible library written in MoonScript that enables you to create your own GUI controls based on provided core modules for Löve2D.
9patch library.
A super simple Rule-based layout library.
A user interface library for the LÖVE Framework.
An overscan detection library for LÖVE.
An immediate mode GUI toolkit for the LÖVE framework.
A newer 9patch/9slice library fixing some issues with Patchy.
Small immediate mode GUI library.
An immediate-mode UI system for LOVE2D inspired by SUIT.
A very simple, cross-platform, reactive UI for last minute UIs.
Input
Input library for LÖVE that bridges the gap between keyboard and gamepad controls.
Get the right button icons for gamepads; load updated gamepad db.
Simple and powerful input library. support check operation time, sequence.
Multitouch gesture and input library.
Simple microphone support for LÖVE.
A simple input handeling library that keeps track of things for you.
A simple radial keyboard library.
A straightforward and flexible input library.
Lighting
GPU accelerated many lights 2D shadows.
A simple dynamic light implementation.
A lighting model.
A performant dynamic light implementation with a simple API.
A Shadows & Lights engine for LÖVE.
A very simple raycasting light implementation.
Math
Bresenham's line algorithm written in Lua.
Standalone lightweight luajit ffi-accelerated 2D vector library for great performance.
Math/intersection library designed for games.
Triangulation library for convex polygons.
Walker-Vose alias method implementation (loaded dice-like RNG) useful for rolling loot tables, etc.
Math and shape-intersection detection library written in Lua. It's aim is to be robust and easy to use.
A performant and lightweight library to detect polygon and rectangle intersections.
A simple, lightweight spatial hash for Lua.
A simple vector library based on the PVector class from processing.
The most comprehensive small vector & matrix, complex number, and quaternion library for Lua.
Music
A Löve custom waveform generation library.
A LÖVE library for syncing events to the BPM of an audio track.
An audio manager with tagging support.
A sound manager with audio parsing and rhythm functionalities.
A module for streaming and decoding Ogg Opus audio files with queueable playback and PCM integration.
Networking
An HTTPS/HTTP requests library made only with luajjit.
A WebSocket client and server library.
A simple event-driven WebSocket client library. (IPv4)
A networking library that leverages bitser and enet. (IPv4)
OpenSource multiplayer and network messaging. (IPv6)
A Lua networking library for LÖVE games. (IPv4)
OO
Minified framework for object-orientation in Lua. It features named (and unnamed) classes, single inheritance and a basic support for mixins.
Tiny class module for Lua. Attempts to stay simple and provide decent performance by avoiding unnecessary over-abstraction.
A MiddleClass Inspired library with extended features.
Simple OOP library for Lua; has inheritance, metamethods (operators), class variables and weak mixin support (class-commons).
Moonscript compatible class implementation.
ObjectLibrary is a simple library for the LÖVE2D game engine that allows users to create objects with collision detection and optional textures.
Project template for writing games in Moonscript instead of Lua without precompiling.
Performance
Physics
A lightweight and easy love.physics wrapper (windfield alternative).
Collision detection library for Lua.
A softbody library with support for both dynamic and static arbitrary softbodies.
A simple to use polygon collision library inspired by bump.lua.
2D collision detection library. Extendable, based on Separating-Axis-Theorem.
Platforms
Unofficial implementation of the LÖVE for Nintendo (3DS, Switch and Wii U) Homebrew.
A small and simple wrapper for OneLua, lpp-vita, and Lua Player PS3.
LÖVE ported to the web using Emscripten.
A Lua framework for 2D DOS games, implementing a subset of the LÖVE API.
LÖVE for virtual reality devices.
Serialization
Companion library for registering custom data types that can be encoded and decoded by json.lua.
Customizable Lua Serializer.
Serializes and deserializes Lua values with LuaJIT.
Serialize between Lua data and C data using LuaJIT's FFI.
Saving and loading savegames; based on Ser.
Binary serialization and data parsing library.
Fast, robust, richly-featured table serialization library for Lua.
A fast, robust, secure, richly-featured table serialization library for Lua.
A bitstream library focused on high compression for use in networking.
Shaders
Convert Shadertoy Shader files to LÖVE GLSL Files with handy utilities for infinite purposes.
Repository of common post-processing effects like blur, vignette, color-grading, etc.
Adds hot reload, includes, and better error messages for faster shader iteration.
Testing
Utilities
Asset database and loader for love.
Barcode rendering library for LÖVE.
Asset manager.
Change the colors in your LÖVE game.
LÖVE version manager; allows to switch between multiple versions of engine on same machine.
A simple module for saving gifs from LÖVE.
A single function to use HEX color values.
Internationalization library designed to help localize your game.
General purpose ini configuration parser.
A special data structure where items can be found by their position or key. Similar to an ordered dictionary.
Async Asset Loader.
Library for configurable log output.
Threaded resource loading.
A tool made in LÖVE for changing LÖVE icon itself.
QR Code rendering library for LÖVE.
Assets Loader.
A tool that makes setting up and using LÖVE easier and with Moonscript support.
A Lua module that lets you require files with input parameters and multiple output values.
Lua bindings for the Steamworks API.
Simple event-driven programming.
Read and write files outside of LÖVE's allowed paths.
A basic LÖVE particle system editor.
An editor of particle for LÖVE.
Require all files in a folder.
A web server library that runs on love.
Uses accelerometer data for shake device detection written in Lua.
A very complete internationalization library for Lua with LÖVE support.
Splash Screen Library.
Useful timing tweaks for LÖVE's run loop.
A Lua library for parsing and extracting custom .sng song package files, supporting metadata reading, file listing, and batch extraction. Ideal for rhythm games, audio-based projects.
IDEs
Brackets
ZeroBrane Studio
IntelliJ IDEA
Visual Studio Code
Sublime Text
Distribution
Using AppImageKit you can package LÖVE games as AppImages that run on common Linux-based operating systems, such as RHEL, CentOS, Ubuntu, Fedora, Debian and derivatives; one game = one file.
Multi-platform, easy to use tool supporting Windows, macOS, Linux.
Preconfigured VSCode/Codium. Build for Android, iOS, HTML5, Linux, macOS and Windows and automatically publish to Itch.io.
Downloadable application (made in LÖVE!) that can build games for Windows, macOS, and Linux regardless of your own OS.
Build and deploy games on itch.io (supports windows and web exports).
Fast and simple command-line tool that builds binaries for you. Supports Windows, macOS, and Linux.
Packages LÖVE Games using GitHub Actions. Supports Windows, Linux, and Android.
Simple CLI to package your LÖVE Game in seconds.
A Lua script that automates game distribution. Supports Windows, macOS, Debian, Linux.
A template for packaging LÖVE games for distribution in the Snappy Store.
Bringing the joys of rust's package manager (Cargo) to love.
Packs love games in a single file for windows.
Advanced multi-platform tool to fuse your game written in Python 3. Supports Windows and Linux with AppImage.