Ranked awesome lists, all in one place
This list is a copy of love2d-community/awesome-love2d with ranks
★87749
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
- Performance
- Physics
- Platforms
- Publishing
- Serialization
- Shaders
- Testing
- Tweening
- UI
- Utilities
- Tutorials
- IDEs
3D
3D-centric Libraries
- anim9 ★18 ⏳1Y - 3D skeletal animation library (design to be used with IQM and IQE)
- bump-3dpd ★17 - A 3D collision detection library for Lua.
- IQE ★10 ⏳2Y - Inter-Quake Export loader (text)
- IQM ★19 ⏳2Y - Inter-Quake Model loader (binary)
- LÖVE3D ★147 - 3D extensions to LÖVE
- Lovox ★27 - Pseudo-3D library for working with voxels
- Brinevector3D ★1 - FFI-enabled vector library for 3D (x,y,z)
AI
Navigation, Decision-Making and AI Libraries
- Jumper ★448 - Grid-based pathfinding library
Animation
Animation & Frame-Managing Libraries
- andross ★11 - a Lua library for 2D skeletal/bone animations with a Löve backend
- anim8 ★314 - Animation library
- chiro ★15 - Convenience wrapper around Spine
- Peachy ★9 - A parser/renderer for Aseprite animations in LÖVE
- skeletor ★13 ⏳2Y - 2D skeletal animation system
- Walt ★35 - Animation library
- Lump ★16 ⏳2Y - Adobe Flash animation runtime
Camera
Viewport & Camera Libraries
- Brady ★36 ⏳1Y - Camera library with parallax scrolling
- Editgrid ★25 ⏳2Y - Gamera and HUMP compatible scaling grid
- gamera ★124 - Camera system
- hump.camera - Camera library with window locking and smooth camera movement interpolation
- STALKER-X ★79 - STALKER-X is a camera module for LÖVE
Development
Development assisting Libraries, that enrich your development experience
- FPSGraph ★11 ⏳4Y - Small FPS graphing utility
- debugGraph ★22 - Small OO FPS graphing utillity based on FPSGraph
- Lovebird ★172 - Browser-based debug console
- LoveDebug ★66 - Inline console-like debugger utility
- lurker ★133 - Auto-swaps changed Lua files in a running game
- LÖVE API ★113 - The complete API documentation of LÖVE in a Lua table
- MakeLove ★1 - Automated build creation for your projects, by monitoring changes in real-time (Windows Only)
Drawing
Drawing specific Libraries, that simplify the Drawing process
- draft ★22 ⏳2Y - A module for drawing complex shapes
- Artal ★27 - A .PSD parsing library for LÖVE
- Autobatch ★49 - Small LÖVE module to automate the use of SpriteBatches
- HSLUV ★15 ⏳1Y - Lua implementation of HSLuv (a human-friendly alternative to HSL)
- Maid64 ★23 - Low resolution scaler for LÖVE
- Möan.lua - Multiple-choice VN-esque messagebox library for LÖVE
- renderplanet ★11 - realistic orthographic planet rendering
- Sölar ★1 ⏳1Y - a fairly simple solar system simulator
- svglover ★24 - Library to import and display simple SVGs in LÖVE
- Tove2d ★5 - Animated vector graphics for LÖVE
- deep ★8 - Adds Z axis; allows you to queue actions and draw calls
Entity
Entity and Gameobject Managing Libraries
- adorbs ★16 - Minimal, Functional Entity Component System
- knife.system - Minimalist functional ECS
- nata ★4 - Hybrid OOP/ECS entity management
- tiny-ecs ★160 - Entity Component System for Lua that’s simple, flexible, and useful
Helper Libraries
Game specific Library bundles, that provide reuseable functions
- astray ★60 ⏳1Y - Astray is a lua based maze, room and dungeon generation library for dungeon crawlers and roguelike video games
- cartographer ★14 - Small Tiled map loader and drawer.
- hump ★499 - Collection of tools for developing games with LÖVE (Gamestates, Timers/Tweens, Vectors, Classes, Signals, Cameras)
- knife ★145 ⏳1Y - Collection of useful micro-modules for Lua (Class, State Machines, Bind, Chain, Coroutines, Event, Memoize, Entity, Tests, Timer)
- lovely-windows ★4 ⏳1Y - A Window/Screen Manager Module for virtual windows.
- love-state-switcher ★6 ⏳1Y - State switcher class for Lua LÖVE Engine
- lue ★29 ⏳1Y - lue is a LÖVE library that allows you to display hue color effects in your game
- lume ★282 - Collection of functions for Lua, geared towards game development
- rotLove ★129 - Roguelike Toolkit in Love. A Love2D/lua port of rot.js
- ScreenManager ★23 - Screen/State Management for the LÖVE framework
- shack ★28 ⏳2Y - shack is a LÖVE library that lets you easily add screen effects such as shake and rotation
- Simple Tiled Implementation ★355 - Tiled map loader and renderer
- Vivid ★31 ⏳2Y - Color math, manipulation and conversion library
Input
Input & Binding Libraries
- baton ★59 - Input library for LÖVE that bridges the gap between keyboard and gamepad controls
- boipushy ★87 - A simple and easy to use input handler
- love-microphone ★48 - Simple microphone support for LÖVE
- tactile ★40 - A straightforward and flexible input library
Lighting
Lighting & Shadow Libraries
- Shädows ★76 - A Shadows & Lights engine for löve
- Light World ★179 - A lighting model
- Simple Love Lights ★10 - A very simple raycasting light implementation
Math
Math specific Libraries
- Bresenham ★4 ⏳1Y - Bresenham’s line algorithm written in Lua
- brinevector ★10 - Standalone lightweight luajit ffi-accelerated 2D vector library for great performance
- Cirno’s Perfect Math Library ★108 - Math/intersection library designed for games
- delaunay ★63 - Delaunay triangulation for convex polygons
- hump.vector - Powerful 2D vector class
- MLib ★47 - Math and shape-intersection detection library written in Lua. It’s aim is to be robust and easy to use
- shash ★17 ⏳1Y - A simple, lightweight spatial hash for Lua
Music
Music related libraries
- denver ★38 ⏳2Y - A Löve custom waveform generation library
- lovebpm ★20 ⏳2Y - A LÖVE library for syncing events to the BPM of an audio track
- wave ★55 - A sound manager with audio parsing and rhythm functionalities
Networking
Networking & Online-Play Libraries
- Grease - Networking library intended to make networking easy for lovers (TCP, UDP, Enet) [IPv6]
- LoverNet ★33 - A networking library that leverages bitser and enet [IPv4]
- NoobHub ★191 - OpenSource multiplayer and network messaging [IPv6]
- Sock.lua ★69 - A Lua networking library for LÖVE games [IPv4]
- löve-ws ★1 - A websocket client and server library
Object Orientation
Object Orientation Libraries that support Class-Commons ★36
- 30log ★249 - Minified framework for object-orientation in Lua. It features named (and unnamed) classes, single inheritance and a basic support for mixins
- classic ★230 - 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 ★975 - Simple OOP library for Lua; has inheritance, metamethods (operators), class variables and weak mixin support (class-commons)
Performance
Performance measurement tools
- jprof ★31 - Profiling library/tool for LÖVE
- Piefiller ★10 - Graphical profiler for LÖVE
- profile.lua - Profile.lua is a small, non-intrusive module for finding bottlenecks in your Lua code
- ProFi - A simple lua profiler that works with LuaJIT and prints a pretty report file in columns
Physics
Collision Detection & Physics Wrappers
- Bump ★438 - Collision detection library for Lua
- HC - Collision detection with arbitrary polygons; allows rotation of objects
- loveblobs ★15 - A softbody library with support for both dynamic and static arbitrary softbodies.
- Windfield ★120 - Physics module wrapper for LÖVE
Platforms
Ports for Platforms other than Windows, Mac and Linux
- LoveDos ★464 ⏳1Y - 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 ★139 ⏳1Y - Unofficial work-in-progress implementation of the LÖVE API for 3DS Homebrew
- Love.js ★314 - LÖVE ported to the web using Emscripten
- LÖVR ★316 - LÖVE for virtual reality devices
Publishing
Guides to distributing LÖVE games in 3rd party stores
- Love-Snap-Template ★16 ⏳1Y - A template for packaging LÖVE games for distribution in the Snappy Store
- AppImageKit ★3139 - 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
Save Game & Storage Libraries
- binser ★72 ⏳1Y - Customizable Lua Serializer
- bitser ★63 - Serializes and deserializes Lua values with LuaJIT
- cdata ★24 ⏳2Y - Serialize between Lua data and C data using LuaJIT’s FFI
- knife.serialize - Serialize data as a Lua script
- Lady ★27 ⏳2Y - Saving and loading savegames; based on Ser
- Ser ★52 ⏳2Y - Fast, robust, richly-featured table serialization library for Lua
- Smallfolk ★11 ⏳2Y - A fast, robust, secure, richly-featured table serialization library for Lua
- trickle ★20 ⏳1Y - A bitstream library focused on high compression for use in networking
Shaders
GLSL related Libraries
- LoveShaderConverter ★34 ⏳2Y - 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
- Moonshine ★239 - Repository of common post-processing effects like blur, vignette, color-grading, etc.
Testing
Libraries and Tools for Unit Testing
- busted - Simple unit-testing framework with customizable assertions
- knife.test - Fixture-free test framework
- Luassert ★54 - Extends
assert()
with additional, customizable tests - lua-TestMore - Port of Perl’s
Test::More
package - Lunatest ★63 ⏳3Y - xUnit-style randomized unit testing framework
- lust ★30 ⏳1Y - Minimal test framework
- Specl - Behavior Driven Development (BDD) tool
- Telescope - Highly-customizable BDD-style testing library
Tweening
Smoothing & Timer Libraries
- Flux ★150 ⏳2Y - 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.
- tick ★28 ⏳3Y - Lua module for delaying function calls
- tween.lua ★303 ⏳2Y - Tweening/Easing/Interpolating functions for Lua inspired on jQuery’s animate method
UI
User Interface Libraries
- CatUI ★26 - A very light-weight GUI library for LÖVE
- GOOi ★114 - Android-oriented GUI library
- Gspöt ★26 - A stateful GUI lib for LÖVE
- LoveFrames Fork - 0.10 Fork of a GUI library
- Love Imgui ★159 - imgui module for the LÖVE game engine
- Löve-Nuklear ★146 - Lightweight immediate mode GUI for LÖVE games
- Patchy ★19 ⏳2Y - 9patch library
- Polywell - A highly-configurable text editor / coding tool written in Lua that runs on the LÖVE game engine.
- SafeWord ★2 ⏳2Y - An overscan detection library for LÖVE
- SUIT ★273 - small immediate mode GUI library
- ListBox ★8 ⏳1Y - A dynamic ListBox for LÖVE that supports touch, mouse, and keyboard inputs
Utilities
Non-Game specific Library bundles, that provide reuseable functions
- ArrayRotation - Rotation of two dimensional arrays (square and non-square)
- cargo ★80 - Asset manager
- chance.lua - Library for generating random data
- GifCat ★31 ⏳1Y - A simple module for saving gifs from LÖVE
- i18n ★9 ⏳2Y - Internationalization library designed to help localize your game
- log.lua ★116 - Library for configurable log output
- love-loader ★88 - Threaded resource loading
- love2d-assets-loader ★27 ⏳2Y - Assets Loader
- love-pe ★3 - A tool made in LÖVE for changing LÖVE icon itself
- Lily ★39 - Async Asset Loader
- Luvent ★44 ⏳3Y - Simple event-driven programming
- splashy ★14 - Splash Screen Library
- tick ★23 ⏳1Y - Useful timing tweaks for LÖVE’s run loop
Tutorials
Blogs and tutorials
- SSYGEN’s ★2049 - A blog by SSYGEN 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
- Tutorial on making an Arkanoid-type game - A complete tutorial on how to make a breakout clone by nooowaay
- Simple Game Tutorials - Tutorials for making simple games with LÖVE (Snake, Sokoban, Tetris, etc.)
- How to LÖVE - A book by Sheepolution teaching LÖVE from the ground up
- Introduction to Game Development - Harvard College’s CS50 extension (Spring 2018)
IDEs
Integrated Development Enviroments and text editor plugins
- Atom - A hackable text editor for the 21st Century
- Love-Atom - Smart autocompletion for the LÖVE framework in Atom.
- Autocomplete GLSL - Adds GLSL autocompletion in Atom
- language-glsl - OpenGL Shading Language support in Atom
- language-lua - Lua language support in Atom
- linter-luacheck ★10 - Lint Lua on the fly, using luacheck
- Löve Launcher - Launch LÖVE for the current project without having to leave Atom
- 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
- linter-luaparse - Lua syntax error checking in Atom
- Brackets - A modern, open source text editor by Adobe
- Lua Syntax Highlighter ★3 ⏳1Y - Add Lua syntax highlighting in Brackets
- LÖVE Hints for Brackets.io - Provides LÖVE code hints
- Run LÖVE ★2 - Run LÖVE projects with a hotkey
- ZeroBrane Studio - ZeroBrane Studio is a lightweight Lua IDE with code completion, syntax highlighting, live coding, code analyzer, and debugging support
- API Syntax Hightlight ★4 - Script to add LOVE API syntax highlighting to ZBS.
- IntelliJ IDEA - Capable and Ergonomic Java IDE
- Lua for IDEA - Lua plugin for IntelliJ-IDEA
- LÖVE IDEA ★37 ⏳1Y - Snippets and code completion for IntelliJ-IDEA
- Vim - Vim is a highly configurable text editor built to make creating and changing any kind of text very efficient
- Vim LOVE Docs ★20 - Syntax highlighting for Vim
- Notepad++ - Notepad++ is a free source code editor and Notepad replacement that supports several languages
- LÖVE API for Notepad++ ★8 ⏳1Y - Code completion and documentation for Notepad++
- 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
- Visual Studio Code LÖVE Launcher - A Löve Launcher Extension for Visual Studio Code
- Lua for Visual Studio Code - Provides Intellisense and Linting for Lua in VSCode
- 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.
- 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.
Contributing
Please see CONTRIBUTING for details.
Other Awesome Lists
- awesome-lua ★1706 - A list like this one, but more general and encompassing all of Lua’s uses
- awesome-love-shaders ★38 ⏳2Y - 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 ★21639 list.
This list is a copy of love2d-community/awesome-love2d with ranks