Awesome Löve ![Awesome](https://awesome.re/badge.svg)
A categorized community-driven collection of high-quality, awesome LÖVE libraries, projects, and resources.
Contents
- 3D
- AI
- Animation
- Camera
- Development
- Drawing
- Entity
- Helpers
- Input
- Lighting
- Math
- Music
- Networking
- OO
- Performance
- Physics
- Platforms
- Publishing
- Serialization
- Shaders
- Testing
- Tweening
- UI
- Utilities
- Tutorials
- IDEs
- Distribution
- Related
Animation
Animation & Frame-Managing Libraries
- 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 Spine.
- 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
Viewport & Camera Libraries
- 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.
Entity
Entity and Gameobject Managing Libraries
- 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.
Lighting
Lighting & Shadow Libraries
- 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
Math specific Libraries
- 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.
Networking
Networking & Online-Play Libraries
- 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)
Publishing
Guides to distributing LÖVE games in 3rd party stores
- 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
Save Game & Storage Libraries
- 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
GLSL related Libraries
- 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
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. - Lunatest - xUnit-style randomized unit testing framework.
- lust - Minimal test framework.
- Specl - Behavior Driven Development (BDD) tool.
- Telescope - Highly-customizable BDD-style testing library.
Tutorials
Blogs and tutorials
- learn2love - Book for learning programming with Lua and LÖVE (Version 11.0+).
- 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.
- CS50 Introduction to Game Development - Harvard Colleges CS50 OpenCourseWare.
- Building love2d games for the web with love.js and Docker - A tutorial on packaging LÖVE games for the web.
Related
- 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.