Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

awesome-love2d

A curated list of amazingly awesome LÖVE libraries, resources and shiny things.
https://github.com/love2d-community/awesome-love2d

Last synced: 2 days ago
JSON representation

  • Camera

    • cam11 - Camera library that leverages the Transform object introduced in love2d 11.0+.
    • hump.camera - Camera library with window locking and smooth camera movement interpolation.
    • Brady - Camera library with parallax scrolling.
    • Editgrid - Gamera and HUMP compatible scaling grid.
    • gamera - Camera system.
    • parallax - Parallax scrolling with any camera system; seamlessly tile background images.
  • Drawing

    • grove.draworder - Similar to deep, but you can set a custom sorting method and create multiple, nestable instances.
    • 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.
    • 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.
    • 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.
    • Push - A simple resolution-handling library for LÖVE.
  • Entity

    • knife.system - Minimalist functional ECS.
    • 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.
    • nata - Hybrid OOP/ECS entity management.
    • tiny-ecs - Entity Component System for Lua that's simple, flexible, and useful.
  • Helpers

    • grove.color - Blend, convert and interpolate colors using 'color objects'.
    • Manami - An improved "reflowprint" with UTF-8, multicolor, and justify support.
    • 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.
    • 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.
    • lume - Collection of functions for Lua, geared towards game development.
    • 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.
    • Scenery - A dead simple scene/state management system.
    • 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.
    • lume - Collection of functions for Lua, geared towards game development.
    • SceneMan - A simple, but powerful scene/gamestate manager that uses a stack, allowing you to run multiple scenes at once.
    • hump - Collection of tools for developing games with LÖVE (Gamestates, Timers/Tweens, Vectors, Classes, Signals, Cameras).
    • lue - Lue is a LÖVE library that allows you to display hue color effects in your game.
    • ScreenManager - Screen/State Management for the LÖVE framework.
  • Math

    • hump.vector - Powerful 2D vector class.
    • nvec - Hump.vector-compatible LuaJIT FFI-accelerated 2D vector library.
    • 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.
    • 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.
    • vector.lua - A simple vector library based on the PVector class from processing.
  • 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

    • hump.class - Small, fast class/prototype implementation with multiple inheritance (class-commons).
    • knife.base - Extremely minimal base class providing single inheritance and constructors.
    • 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.
    • 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.
  • Performance

    • ProFi - A simple lua profiler that works with LuaJIT and prints a pretty report file in columns.
    • jprof - Profiling library/tool for LÖVE.
    • Piefiller - Graphical profiler for LÖVE.
    • AppleCake - Profiling library for LÖVE, with detailed profiling and thread support.
  • Physics

    • HC - Collision detection with arbitrary polygons; allows rotation of objects.
    • breezefield - A lightweight and easy love.physics wrapper (windfield alternative).
    • Bump - Collision detection library for Lua.
    • Strike - 2D collision detection library. Extendable, based on Separating-Axis-Theorem.
    • loveblobs - A softbody library with support for both dynamic and static arbitrary softbodies.
  • Platforms

    • LoveFTW - Work-in-progress port to Windows phone 8.1.
    • LoveDos - A Lua framework for 2D DOS games, implementing a subset of the LÖVE API.
    • 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.
  • Serialization

    • knife.serialize - Serialize data as a Lua script.
    • 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.
    • 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

    • ngrading - Simple color grading library.
    • LoveShaderConverter - Convert Shadertoy Shader files to LÖVE GLSL Files with handy utilities for infinite purposes.
    • 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.
    • Shadertoy viewer - Run code copied from shadertoy directly or output the converted code to a LÖVE shader.
  • Testing

    • busted - Simple unit-testing framework with customizable assertions.
    • knife.test - Fixture-free test framework.
    • Luassert - Extends `assert()` with additional, customizable tests.
    • Luassert - Extends `assert()` with additional, customizable tests.
    • 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

    • 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.
    • Flux - A fast, lightweight tweening library for Lua.
    • tick - Lua module for delaying function calls.
    • tween.lua - Tweening/Easing/Interpolating functions for Lua inspired on jQuery's animate method.
  • Utilities

    • ArrayRotation - Rotation of two dimensional arrays (square and non-square).
    • nativefiledialog - Open a file picker on Windows/Mac/Linux.
    • Optikon - WYSIWYG visual level designer.
    • 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.
    • 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.
    • love-qrcode - QR Code rendering library for LÖVE.
    • love2d-assets-loader - Assets Loader.
    • 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.
    • luasteam - Lua bindings for the Steamworks API.
    • Luvent - Simple event-driven programming.
    • 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.
    • tick - Useful timing tweaks for LÖVE's run loop.
    • hex2color - A single function to use HEX color values.
  • Tutorials

  • IDEs

    • Brackets - A modern, open source text editor by Adobe (obsolete).
    • 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.
    • 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.
    • Vim - Vim is a highly configurable text editor built to make creating and changing any kind of text very efficient.
    • 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.
    • Visual Studio Code LÖVE Launcher - A Löve Launcher Extension for Visual Studio Code.
    • Local Lua Debugger - Simple Lua debugger with no dependencies. Löve specific launch.json example provided.
    • LÖVE Hints for Brackets.io - Provides LÖVE code hints.
  • Distribution

    • LÖVE Actions - Build & deploy cross-platform game packages on ***ALL*** popular platforms. Supports Android, iOS, Linux, maxOS, Windows.
  • 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 [Spine](http://esotericsoftware.com).
    • 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.
  • 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.
  • Input

    • 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.
    • 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.
    • baton - Input library for LÖVE that bridges the gap between keyboard and gamepad controls.
    • love-microphone - Simple microphone support for LÖVE.
  • Lighting

    • lighter - A performant dynamic light implementation with a simple API.
    • Light World - A lighting model.
    • Simple Love Lights - A very simple raycasting light implementation.
    • Light - A simple dynamic light implementation.
    • Shädows - A Shadows & Lights engine for LÖVE.
  • 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.
  • 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.
  • 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.
    • Hanker - Maximalist immediate mode-ish UI elements; gamepad-friendly.
    • Helium - A modern, customizable, high performance retained UI framework.
    • Layouter - A simple UI **grid layout** 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.
    • 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.
    • YALG - A very simple, cross-platform, reactive UI for last minute UIs.
    • Inky - Any-purpose GUI framework.
    • Badar 🌕 - Declarative, retained\* and flexbox inspired UI library and components.
    • Gspöt - A stateful GUI lib for LÖVE.
    • YUI - Declarative UI library for LÖVE.
    • Lovely Toasts - Floating speech bubbles with text of your choice.