A curated list of amazingly awesome LÖVE libraries, resources and shiny things.
Switch branches/tags
Nothing to show
Clone or download
Latest commit 54e5f5c Oct 4, 2018
Permalink
Failed to load latest commit information.
.travis.yml Fix travis builds Feb 14, 2016
CONTRIBUTING.md Update CONTRIBUTING.md Sep 17, 2015
LICENSE.md Create LICENSE.md Jan 19, 2016
README.md fix typo Oct 4, 2018
logo.png Scale down logo Feb 14, 2016

README.md

Awesome Löve Awesome

A categorized community-driven collection of high-quality, awesome LÖVE libraries, projects, and resources.

Table of contents

3D

3D-centric Libraries

  • anim9 - 3D skeletal animation library (design to be used with IQM and IQE)
  • bump-3dpd - A 3D collision detection library for Lua.
  • IQE - Inter-Quake Export loader (text)
  • IQM - Inter-Quake Model loader (binary)
  • LÖVE3D - 3D extensions to LÖVE
  • Lovox - Pseudo-3D library for working with voxels
  • Brinevector3D - FFI-enabled vector library for 3D (x,y,z)

AI

Navigation, Decision-Making and AI Libraries

  • Jumper - Grid-based pathfinding library

Animation

Animation & Frame-Managing Libraries

  • andross - a Lua library for 2D skeletal/bone animations with a Löve backend
  • anim8 - Animation library
  • 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

Camera

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
  • STALKER-X - STALKER-X is a camera module for LÖVE

Development

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
  • 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
  • MakeLove - Automated build creation for your projects, by monitoring changes in real-time (Windows Only)

Drawing

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
  • HSLUV - Lua implementation of HSLuv (a human-friendly alternative to HSL)
  • Maid64 - Low resolution scaler for LÖVE
  • Möan.lua - Multiple-choice VN-esque messagebox library for LÖVE
  • renderplanet - realistic orthographic planet rendering
  • Sölar - a fairly simple solar system simulator
  • svglover - Library to import and display simple SVGs in LÖVE
  • Tove2d - Animated vector graphics for LÖVE
  • deep - Adds Z axis; allows you to queue actions and draw calls

Entity

Entity and Gameobject Managing Libraries

  • adorbs - Minimal, Functional Entity Component System
  • knife.system - Minimalist functional ECS
  • nata - Hybrid OOP/ECS entity management
  • tiny-ecs - Entity Component System for Lua that's simple, flexible, and useful

Helper Libraries

Game specific Library bundles, that provide reuseable functions

  • astray - Astray is a lua based maze, room and dungeon generation library for dungeon crawlers and roguelike video games
  • cartographer - Small Tiled map loader and drawer.
  • 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)
  • lovely-windows - A Window/Screen Manager Module for virtual windows.
  • love-state-switcher - State switcher class for Lua LÖVE Engine
  • 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
  • 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

Input

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
  • love-microphone - Simple microphone support for LÖVE
  • tactile - A straightforward and flexible input library

Lighting

Lighting & Shadow Libraries

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
  • shash - A simple, lightweight spatial hash for Lua
  • vector.lua - a simple vector library based on the PVector class from processing

Music

Music related libraries

  • 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

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

Object Orientation

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)

Performance

Performance measurement tools

  • jprof - Profiling library/tool for LÖVE
  • Piefiller - 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 - 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.
  • Windfield - Physics module wrapper for LÖVE

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
  • LÖVR - LÖVE for virtual reality devices

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

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

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

Tweening

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.
  • tick - Lua module for delaying function calls
  • tween.lua - Tweening/Easing/Interpolating functions for Lua inspired on jQuery's animate method

UI

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
  • Löve-Nuklear - Lightweight immediate mode GUI for LÖVE games
  • Patchy - 9patch 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
  • SUIT - small immediate mode GUI library
  • ListBox - A dynamic ListBox for LÖVE that supports touch, mouse, and keyboard inputs

Utilities

Non-Game specific libraries and tools

  • ArrayRotation - Rotation of two dimensional arrays (square and non-square)
  • cargo - Asset manager
  • chance.lua - Library for generating random data
  • Classic - A tiny class module for Lua
  • 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
  • i18n - Internationalization library designed to help localize your game
  • Ini Parser - General purpose ini configuration parser
  • log.lua - Library for configurable log output
  • love-loader - Threaded resource loading
  • love2d-assets-loader - Assets Loader
  • love-pe - A tool made in LÖVE for changing LÖVE icon itself
  • Lily - Async Asset Loader
  • Luvent - Simple event-driven programming
  • ParticleEditor - An editor of particle for LÖVE
  • splashy - Splash Screen Library
  • tick - Useful timing tweaks for LÖVE's run loop

Tutorials

Blogs and tutorials

IDEs

Integrated Development Environments and text editor plugins

  • Atom - A hackable text editor for the 21st Century

  • Brackets - A modern, open source text editor by Adobe

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

  • IntelliJ IDEA - Capable and Ergonomic Java IDE

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

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

  • 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

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