Code Monkey home page Code Monkey logo

awesome-love2d's Introduction

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

  • 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)
  • Lovox - Pseudo-3D library for working with voxels
  • ss3d - a simple and easy 3d engine for love2d

AI

Navigation, Decision-Making and AI Libraries

  • Jumper - Grid-based pathfinding library
  • Lua-star - Easy and pure Lua A* path finding

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!
  • 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
  • LÖVE TypeScript Definitions - Write LÖVE games with TypeScript
  • 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
  • Push - A simple resolution-handling 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
  • center - A simple module to dynamically align and fit content to screens of any size

Entity

Entity and Gameobject Managing Libraries

  • adorbs - Minimal, Functional Entity Component System
  • Concord - A feature-complete ECS library
  • 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.
  • clove - A helper library which allows you to quickly loads huge amount of assets
  • hump - Collection of tools for developing games with LÖVE (Gamestates, Timers/Tweens, Vectors, Classes, Signals, Cameras). Repo is inactive but improvements are in the works at this fork (branch temp-master)
  • 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
  • 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
  • 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 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
  • 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

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

  • breezefield - A lightweight and easy love.physics wrapper [windfield alternative]
  • 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 - 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
  • 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
  • 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
  • hex2color - A single function to use HEX color values
  • 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
  • luasteam - Lua bindings for the Steamworks API
  • Luvent - Simple event-driven programming
  • ParticleEditor - An editor of particle for LÖVE
  • particle-system-playground - A basic LÖVE particle system editor
  • 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

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

    • EmmyLua - Lua IDE/Debugger Plugin for VSCode
    • Lua for IDEA - Lua plugin for IntelliJ-IDEA
    • LÖVE IDEA - 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

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

awesome-love2d's People

Contributors

adean91 avatar airstruck avatar bakpakin avatar besnoi avatar bjornbytes avatar dail8859 avatar flamendless avatar hahawoo avatar hazzard993 avatar hdictus avatar instilledbee avatar janwerder avatar josefnpat avatar karai17 avatar nikaoto avatar novemberisms avatar npinochet avatar phansonloc1999 avatar popey avatar rameshvarun avatar rm-code avatar s-walrus avatar tesselode avatar tsteinholz avatar wesleywerner avatar wetdesertrock avatar wilhantian avatar yancouto avatar yonaba avatar zugzug90 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.