XUtils

awesome-love2d

A list like this one, but focused on game dev and the LÖVE platform.


Awesome Löve Awesome

Awesome Löve

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

Contents

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

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


Articles

  • coming soon...