Awesome Lists

awesome-love2d

by love2d-community

awesome listpushed almost 2 years ago

A curated list of amazingly awesome LÖVE libraries, resources and shiny things.

AI summary

Game development library

A curated collection of reusable components and tools for building 2D games with the LÖVE framework.

stars
3.4K
forks
209
watching
125
awesome lists
6
entries
294
View on GitHub

Embed the badge

Show how many awesome lists link to your project. The count updates automatically.

Awesome Lists badge
Markdown
[![Awesome Lists Badge](https://awesome.facts.dev/shield/love2d-community/awesome-love2d/links.svg)](https://awesome.facts.dev/awesome/love2d-community/awesome-love2d)
HTML
<a href="https://awesome.facts.dev/awesome/love2d-community/awesome-love2d"><img src="https://awesome.facts.dev/shield/love2d-community/awesome-love2d/links.svg" alt="Awesome Lists Badge" /></a>
Image URL
https://awesome.facts.dev/shield/love2d-community/awesome-love2d/links.svg

What's in the list

294 links in 45 sections, with live GitHub stats.activeno commit in 2y

3D

  • 3DreamEngine

    An awesome 3D engine for LÖVE

  • anim9

    3D skeletal animation library (design to be used with IQM and IQE)

  • Brinevector3D

    FFI-enabled vector library for 3D (x,y,z)

  • bump-3dpd

    A 3D collision detection library for Lua

  • IQE

    Inter-Quake Export loader (text)

  • IQM

    Inter-Quake Model loader (binary)

  • love-gltf

    Gltf asset loader and test renderer; Supports skeletal animations and morph targets

  • Lovox

    Pseudo-3D library for working with voxels

  • g3d

    Simple and easy 3D engine for LÖVE

  • Menori

    Library for 3D rendering with LÖVE

AI

  • Jumper

    Grid-based pathfinding library

  • Lua-star

    Easy and pure Lua A* path finding

  • astar

    An other A* library. Any map (grid, point, mesh or infinite map) and support path cost

  • pathfun

    Pure Lua library for 2D pathfinding using the funnel algorithm

  • beehive.lua

    A functional behavior tree implementation

  • Luafinding

    Class-based A* implementation written purely in Lua

Animation

  • andross

    A Lua library for 2D skeletal/bone animations with a Löve backend

  • anim8

    Animation library

  • animx

    A featureful Animation library for loading animations from XML files!

  • Aseprite loader

    Complete ase/aseprite file loader (no json)

  • chiro

    Convenience wrapper around

  • Peachy

    A parser/renderer for Aseprite animations in LÖVE

  • skeletor

    2D skeletal animation system

  • Walt

    Animation library

  • Lump

    Adobe Flash animation runtime

  • lovanim

    A minimal stateful animation library

  • SYSL-Text

    Text animation and automatic wrapping library based on tags

Camera

  • Brady

    Camera library with parallax scrolling

  • cam11

    Camera library that leverages the Transform object introduced in love2d 11.0+

  • Editgrid

    Gamera and HUMP compatible scaling grid

  • gamera

    Camera system

  • hump.camera

    Camera library with window locking and smooth camera movement interpolation

  • parallax

    Parallax scrolling with any camera system; seamlessly tile background images

Development

  • FPSGraph

    Small FPS graphing utility

  • debugGraph

    Small OO FPS graphing utillity based on FPSGraph

  • Lovebird

    Browser-based debug console

  • 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

  • LÖVE Build

    GitHub Action for automated cross-platform builds

  • LÖVE TypeScript Definitions

    Write LÖVE games with TypeScript

  • lovelier

    A LÖVE live reloader with Moonscript support

  • loveprofiler

    LoveProfiler is an extremely simple logger and profiler

  • vudu

    Broad in-game debugging gui with a console, variable browser/editor, speed controls, and more

Drawing

  • Artal

    A .PSD parsing library for LÖVE

  • Autobatch

    Small LÖVE module to automate the use of SpriteBatches

  • center

    A simple module to dynamically align and fit content to screens of any size

  • deep

    Adds Z axis; allows you to queue actions and draw calls

  • draft

    A module for drawing complex shapes

  • grove.draworder

    Similar to deep, but you can set a custom sorting method and create multiple, nestable instances

  • Hot particles

    "Hot Particles is a particle editor for the LÖVE game framework."

  • HSLUV

    Lua implementation of HSLuv (a human-friendly alternative to HSL)

  • Maid64

    Low resolution scaler for LÖVE

  • Push

    A simple resolution-handling library for LÖVE

  • renderplanet

    Realistic orthographic planet rendering

  • Resolution Solution

    Scale library, that help you add resolution support to your games!

  • svglover

    Library to import and display simple SVGs in LÖVE

  • SYSL-Pixel

    Pixel art focused scaler for graphics, position, screen-captures and shaders

  • Sölar

    A fairly simple solar system simulator

  • Tove2d

    Animated vector graphics for LÖVE

  • turtle.lua

    Turtle graphics library for LÖVE

  • Runtime-TextureAtlas

    Texture atlas packer and renderer at runtime; no external tools

  • Export-TextureAtlas

    Extends Runtime-TextureAtlas as a commandline tool to export an atlas

Entity

  • adorbs

    Minimal, Functional Entity Component System

  • Concord

    A feature-complete ECS library

  • ecs-lua

    ECS Lua is a fast and easy to use ECS (Entity Component System) engine for game development

  • knife.system

    Minimalist functional ECS

  • nata

    Hybrid OOP/ECS entity management

  • tiny-ecs

    Entity Component System for Lua that's simple, flexible, and useful

Helpers

  • astray

    Astray is a lua based maze, room and dungeon generation library for dungeon crawlers and roguelike video games

  • batteries

    Fills out lua's sparse standard library and provides implementations of common algorithms and data structures useful for games

  • cartographer

    Small Tiled map loader and drawer

  • clove

    A helper library which allows you to quickly loads huge amount of assets

  • grove.color

    Blend, convert and interpolate colors using 'color objects'

  • hump

    Collection of tools for developing games with LÖVE (Gamestates, Timers/Tweens, Vectors, Classes, Signals, Cameras)

  • iffy

    A SpriteSheet and Tileset helper library for LÖVE

  • knife

    Collection of useful micro-modules for Lua (Class, State Machines, Bind, Chain, Coroutines, Event, Memoize, Entity, Tests, Timer)

  • shard

    Collection of useful mini modules

  • lovely-windows

    A Window/Screen Manager Module for virtual windows

  • love-state-switcher

    State switcher class for Lua LÖVE Engine

  • lua-state-machine

    Lua Finite State Machine

  • 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

  • Manami

    An improved "reflowprint" with UTF-8, multicolor, and justify support

  • narrator

    An Ink narrative scripting language parser and runtime implementation

  • reflowprint

    A library designed for alignment of text that is shown one character at a time

  • roomy

    Screen management library for LÖVE

  • rotLove

    Roguelike Toolkit in LÖVE. A LÖVE/lua port of rot.js

  • YAS

    Yet Another Screen manager

  • SceneMan

    A simple, but powerful scene/gamestate manager that uses a stack, allowing you to run multiple scenes at once

  • Scenery

    A dead simple scene/state management system

  • ScreenManager

    Screen/State Management for the LÖVE framework

  • 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

  • Yonder

    A ridiculously easy to use game state management library for LOVE2D

  • GameStateManager

    A lightweight, optimized, and easy-to-implement solution for efficient game state management

  • Love dialogue

    Simple to use Dialogue Library for Love2d with custom scripting language for dialogues

Input

  • baton

    Input library for LÖVE that bridges the gap between keyboard and gamepad controls

  • GamepadGuesser

    Get the right button icons for gamepads; load updated gamepad db

  • input

    Simple and powerful input library. support check operation time, sequence

  • Kazari

    Multitouch gesture and input library

  • love-microphone

    Simple microphone support for LÖVE

  • LoveKeys

    A simple input handeling library that keeps track of things for you

  • Swipe

    A simple radial keyboard library

  • tactile

    A straightforward and flexible input library

Lighting

  • lighter

    A performant dynamic light implementation with a simple API

  • Shädows

    A Shadows & Lights engine for LÖVE

  • Light World

    A lighting model

  • Simple Love Lights

    A very simple raycasting light implementation

  • Light

    A simple dynamic light implementation

Math

  • Bresenham

    Bresenham's line algorithm written in Lua

  • brinevector

    Standalone lightweight luajit ffi-accelerated 2D vector library for great performance

  • Cirno's Perfect Math Library

    Math/intersection library designed for games

  • delaunay

    Delaunay triangulation for convex polygons

  • hump.vector

    Powerful 2D vector class

  • MLib

    Math and shape-intersection detection library written in Lua. It's aim is to be robust and easy to use

  • nvec

    Hump.vector-compatible LuaJIT FFI-accelerated 2D vector library

  • shash

    A simple, lightweight spatial hash for Lua

  • vector.lua

    A simple vector library based on the PVector class from processing

Music

  • denver

    A Löve custom waveform generation library

  • lovebpm

    A LÖVE library for syncing events to the BPM of an audio track

  • ripple

    An audio manager with tagging support

  • wave

    A sound manager with audio parsing and rhythm functionalities

Networking

  • Grease

    Networking library intended to make networking easy for lovers (TCP, UDP, Enet). (IPv6)

  • LoverNet

    A networking library that leverages bitser and enet. (IPv4)

  • NoobHub

    OpenSource multiplayer and network messaging. (IPv6)

  • Sock.lua

    A Lua networking library for LÖVE games. (IPv4)

  • löve-ws

    A websocket client and server library

  • love2d-lua-websocket

    A simple event-driven websocket client library. (IPv4)

OO

  • 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)

  • muun

    Moonscript compatible class implementation

  • selene

    Project template for writing games in Moonscript instead of Lua without precompiling

  • Object-Library

    ObjectLibrary is a simple library for the LÖVE2D game engine that allows users to create objects with collision detection and optional textures

  • LowerClass

    A MiddleClass Inspired library with extended features

Performance

  • AppleCake

    Profiling library for LÖVE, with detailed profiling and thread support

  • jprof

    Profiling library/tool for LÖVE

  • Piefiller

    Graphical profiler for LÖVE

  • ProFi

    A simple lua profiler that works with LuaJIT and prints a pretty report file in columns

Physics

  • breezefield

    A lightweight and easy love.physics wrapper (windfield alternative)

  • Bump

    Collision detection library for Lua

  • HC

    Collision detection with arbitrary polygons; allows rotation of objects

  • loveblobs

    A softbody library with support for both dynamic and static arbitrary softbodies

  • Strike

    2D collision detection library. Extendable, based on Separating-Axis-Theorem

Platforms

  • 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

  • LÖVE Potion

    Unofficial implementation of the LÖVE for Nintendo (3DS, Switch and Wii U) Homebrew

  • LOVE-WrapLua

    A small and simple wrapper for OneLua, lpp-vita, and Lua Player PS3

  • Love.js

    LÖVE ported to the web using Emscripten

  • LÖVR

    LÖVE for virtual reality devices

Publishing

  • Love-Snap-Template

    A template for packaging LÖVE games for distribution in the Snappy Store

  • AppImageKit

    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

Serialization

  • arson

    Companion library for registering custom data types that can be encoded and decoded by json.lua

  • binser

    Customizable Lua Serializer

  • bitser

    Serializes and deserializes Lua values with LuaJIT

  • 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

  • moonblob

    Binary serialization and data parsing library

  • 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

Shaders

  • LoveShaderConverter

    Convert Shadertoy Shader files to LÖVE GLSL Files with handy utilities for infinite purposes

  • ngrading

    Simple color grading library

  • Shadertoy viewer

    Run code copied from shadertoy directly or output the converted code to a LÖVE shader

  • Moonshine

    Repository of common post-processing effects like blur, vignette, color-grading, etc

  • ShaderScan

    Adds hot reload, includes, and better error messages for faster shader iteration

Testing

  • busted

    Simple unit-testing framework with customizable assertions

  • knife.test

    Fixture-free test framework

  • Luassert

    Extends with additional, customizable tests

  • Lunatest

    xUnit-style randomized unit testing framework

  • lust

    Minimal test framework

  • Specl

    Behavior Driven Development (BDD) tool

  • Telescope

    Highly-customizable BDD-style testing library

Tweening

  • 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

  • NAniTe

    Timeline-based animation system that supports forward and backward update

  • tick

    Lua module for delaying function calls

  • tween.lua

    Tweening/Easing/Interpolating functions for Lua inspired on jQuery's animate method

UI

  • CatUI

    A very light-weight GUI library for LÖVE

  • cimgui-love

    LÖVE module for Dear ImGui obtained by wrapping cimgui (programmatically generated C-api) using LuaJIT FFI, easy to update to the latest Dear Imgui version

  • GOOi

    Android-oriented GUI library

  • Gspöt

    A stateful GUI lib for LÖVE

  • Hanker

    Maximalist immediate mode-ish UI elements; gamepad-friendly

  • Helium

    A modern, customizable, high performance retained UI framework

  • Layouter

    A simple UI library for LÖVE 2D game engine

  • ListBox

    A dynamic ListBox for LÖVE that supports touch, mouse, and keyboard inputs

  • LoveFrames Fork

    11.2 Fork of a GUI library

  • Love Imgui

    Imgui module for the LÖVE game engine

  • Löve-Nuklear

    Lightweight immediate mode GUI for LÖVE games

  • Lovely Toasts

    Floating speech bubbles with text of your choice

  • lovr-ui2d

    An immediate mode GUI library for LÖVR and LÖVE

  • Lynx

    Very-lightweight list-based UI library

  • NLay

    Flexible layouting library

  • Patchy

    9patch library

  • Slicy

    A newer 9patch/9slice library fixing some issues with Patchy

  • Plan

    A super simple Rule-based layout library

  • 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

  • Slab

    Slab is an immediate mode GUI toolkit for the LÖVE framework

  • SUIT

    Small immediate mode GUI library

  • TuxRedux

    An immediate-mode UI system for LOVE2D inspired by SUIT

  • YALG

    A very simple, cross-platform, reactive UI for last minute UIs

  • YUI

    Declarative UI library for LÖVE

  • Inky

    Any-purpose GUI framework

  • Badar 🌕

    Simple for easy components compositions

  • MeowUI

    Extensible library written in MoonScript that enables you to create your own GUI controls based on provided core modules for Löve2D

Utilities

  • andromeda

    Asset database and loader for love

  • ArrayRotation

    Rotation of two dimensional arrays (square and non-square)

  • bar128-love

    Barcode rendering library for LÖVE

  • cargo

    Asset manager

  • chance.lua

    Library for generating random data

  • colorchanger

    Change the colors in your LÖVE game

  • Flirt

    LÖVE version manager; allows to switch between multiple versions of engine on same machine

  • GifCat

    A simple module for saving gifs from LÖVE

  • hex2color

    A single function to use HEX color values

  • i18n

    Internationalization library designed to help localize your game

  • Ini Parser

    General purpose ini configuration parser

  • KeyedArray

    A special data structure where items can be found by their position or key. Similar to an ordered dictionary

  • log.lua

    Library for configurable log output

  • love-loader

    Threaded resource loading

  • love-qrcode

    QR Code rendering library for LÖVE

  • love-pe

    A tool made in LÖVE for changing LÖVE icon itself

  • lovely-engine

    A tool that makes setting up and using LÖVE easier and with Moonscript support

  • Lily

    Async Asset Loader

  • LuaRequireExtended

    A Lua module that lets you require files with input parameters and multiple output values

  • luasteam

    Lua bindings for the Steamworks API

  • Luvent

    Simple event-driven programming

  • nativefiledialog

    Open a file picker on Windows/Mac/Linux

  • nativefs

    Read and write files outside of LÖVE's allowed paths

  • ParticleEditor

    An editor of particle for LÖVE

  • particle-system-playground

    A basic LÖVE particle system editor

  • require.lua

    Require all files in a folder

  • splashy

    Splash Screen Library

  • ShakeDetectorLua

    Uses accelerometer data for shake device detection written in Lua

  • text2.love

    Full-featured text editor for prose (not code)

  • tick

    Useful timing tweaks for LÖVE's run loop

  • servelove

    A web server library that runs on love

Tutorials

IDEs

  • Brackets

    A modern, open source text editor by Adobe (obsolete)

IDEs / Brackets

IDEs

  • ZeroBrane Studio

    ZeroBrane Studio is a lightweight Lua IDE with code completion, syntax highlighting, live coding, code analyzer, and debugging support

IDEs / ZeroBrane Studio

IDEs

IDEs / IntelliJ IDEA

  • EmmyLua

    Lua IDE/Debugger Plugin for VSCode

  • LÖVE IDEA

    Snippets and code completion for IntelliJ-IDEA

IDEs

  • Vim

    Vim is a highly configurable text editor built to make creating and changing any kind of text very efficient

IDEs / Vim

IDEs

  • Notepad++

    Notepad++ is a free source code editor and Notepad replacement that supports several languages

IDEs / Notepad++

IDEs

  • Visual Studio Code

    VS Code is a new type of tool that combines the simplicity of a code editor with what developers need for their core edit-build-debug cycle

IDEs / Visual Studio Code

IDEs

  • Sublime Text

    Sublime Text is a sophisticated text editor for code, markup and prose. You'll love the slick user interface, extraordinary features and amazing performance

IDEs / Sublime Text

  • Package Manager

    The Sublime Text package manager that makes it exceedingly simple to find, install and keep packages up-to-date

  • SublimeLove

    Supports syntax highlighting, auto-completion, and build system

  • SublimeLinter-luacheck

    Provides linting and static analysis of your Lua code

IDEs

  • Pulsar

    Hackable text editor based on the extinct Atom; Has great support and auto-completion works nicely, but for now lacks error highlighting

IDEs / Pulsar

IDEs

  • Zed

    Zed is a next-generation code editor designed for high-performance written in rust

IDEs / Zed

  • love2z

    Alejandro's Beta typing hints for Zed

  • love2d

    LuaCATS typing hints for the lua language server

Distribution

  • lover

    Bringing the joys of rust's package manager ( ) to love

  • LÖVE Actions

    Build & deploy cross-platform game packages on popular platforms. Supports Android, iOS, Linux, maxOS, Windows

  • love-packager

    Simple CLI to package your LÖVE Game in seconds

  • boon

    Multi-platform, easy to use tool supporting Windows, macOS, Linux

  • love-export

    Fast and simple command-line tool that builds binaries for you. Supports Windows, macOS, and Linux

  • love-release

    A Lua script that automates game distribution. Supports Windows, macOS, Debian, Linux

  • lovesfx

    Packs love games in a single file for windows

  • makelove

    Advanced multi-platform tool to fuse your game written in Python 3. Supports Windows and Linux with AppImage

  • love-build

    Downloadable application (made in LÖVE!) that can build games for Windows, macOS, and Linux regardless of your own OS

  • love-deploy

    Build and deploy games on itch.io (supports windows and web exports)

  • love-fuser

    Packages LÖVE Games using GitHub Actions. Supports Windows, Linux, and Android

  • 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

More related projects

Add a GitHub project

Missing a project or an awesome list? Paste its GitHub URL and we fetch it right away.