├── logo.png
├── .travis.yml
├── .github
└── workflows
│ └── lint.yml
├── CONTRIBUTING.md
├── LICENSE.md
└── README.md
/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nekromoff/awesome-love2d/master/logo.png
--------------------------------------------------------------------------------
/.travis.yml:
--------------------------------------------------------------------------------
1 | language: ruby
2 | rvm:
3 | - 2.2
4 | before_script:
5 | - gem install awesome_bot
6 | script:
7 | - awesome_bot README.md
8 |
--------------------------------------------------------------------------------
/.github/workflows/lint.yml:
--------------------------------------------------------------------------------
1 |
2 | name: Lint Awesome List
3 | on: [push, pull_request]
4 | jobs:
5 | lint:
6 | name: Lint
7 | runs-on: ubuntu-latest
8 | steps:
9 | - uses: actions/checkout@v1.0.0
10 | - uses: max/awesome-lint@v2.0.0
--------------------------------------------------------------------------------
/CONTRIBUTING.md:
--------------------------------------------------------------------------------
1 | # Contribution Guidelines
2 |
3 | Please ensure your pull request adheres to the following:
4 |
5 | ## New Categories
6 |
7 | * Ensure the new category has at least one entry within.
8 | * Ensure categories are listed in alphanumeric order.
9 | * Ensure category is properly linked to in the table of contents (see Formatting).
10 |
11 | ## New Entries
12 |
13 | * Ensure that new entry is not a duplicate.
14 | * Make an individual pull request for each new entry.
15 | * Use the following format: \[NAME\]\(LINK\) - DESCRIPTION.
16 | * Keep descriptions simple.
17 | * Do not use the entry's name in the description.
18 | * Do not use "LOVE", "LOVE2D", or any other variant within the description unless absolutely necessary.
19 | * If the entry is written for Lua or LuaJIT, it is okay to mention this.
20 | * Do not use periods/full stops (.) in description.
21 | * Separate ideas using a semi-colon (;).
22 | * Ensure the new entry does not have trailing whitespace.
23 | * Try to ensure your pull requests only have one commit if possible. You can squash your commits into one before submitting.
24 | * Make your pull request titles and descriptions as detailed as possible. Explain why an asset or resources deserves to be added to the list.
25 | * Ensure entries are listed in alphanumeric order.
26 | * Ensure that the content you submit is of high quality, documented well, and is recently maintained.
27 |
28 | ## Formatting
29 |
30 | * Categories must be double spaced, entries must be single spaced
31 |
32 | ```md
33 | ## Category
34 |
35 | * [Entry](#link) - Description of the entry
36 | * [Another Entry](#link2) - Description of the entry
37 |
38 | ## Category2
39 |
40 | * [Entry](#link) - Description of the entry
41 | * [Another Entry](#link2) - Description of the entry
42 | ```
43 |
44 | * New categories must use the `##` prefix
45 |
46 | ```md
47 | ## Category
48 | ```
49 |
50 | * New categories with more than one word in the name must use an anchor for linking purposes
51 |
52 | ```md
53 | ## New Category
54 | ```
55 |
56 | * New entries must use the `*` prefix
57 |
58 | ```md
59 | * [Entry](#link) - Description
60 | ```
61 |
62 | Thanks!
63 |
--------------------------------------------------------------------------------
/LICENSE.md:
--------------------------------------------------------------------------------
1 | CC0 1.0 Universal
2 |
3 | Statement of Purpose
4 |
5 | The laws of most jurisdictions throughout the world automatically confer
6 | exclusive Copyright and Related Rights (defined below) upon the creator and
7 | subsequent owner(s) (each and all, an "owner") of an original work of
8 | authorship and/or a database (each, a "Work").
9 |
10 | Certain owners wish to permanently relinquish those rights to a Work for the
11 | purpose of contributing to a commons of creative, cultural and scientific
12 | works ("Commons") that the public can reliably and without fear of later
13 | claims of infringement build upon, modify, incorporate in other works, reuse
14 | and redistribute as freely as possible in any form whatsoever and for any
15 | purposes, including without limitation commercial purposes. These owners may
16 | contribute to the Commons to promote the ideal of a free culture and the
17 | further production of creative, cultural and scientific works, or to gain
18 | reputation or greater distribution for their Work in part through the use and
19 | efforts of others.
20 |
21 | For these and/or other purposes and motivations, and without any expectation
22 | of additional consideration or compensation, the person associating CC0 with a
23 | Work (the "Affirmer"), to the extent that he or she is an owner of Copyright
24 | and Related Rights in the Work, voluntarily elects to apply CC0 to the Work
25 | and publicly distribute the Work under its terms, with knowledge of his or her
26 | Copyright and Related Rights in the Work and the meaning and intended legal
27 | effect of CC0 on those rights.
28 |
29 | 1. Copyright and Related Rights. A Work made available under CC0 may be
30 | protected by copyright and related or neighboring rights ("Copyright and
31 | Related Rights"). Copyright and Related Rights include, but are not limited
32 | to, the following:
33 |
34 | i. the right to reproduce, adapt, distribute, perform, display, communicate,
35 | and translate a Work;
36 |
37 | ii. moral rights retained by the original author(s) and/or performer(s);
38 |
39 | iii. publicity and privacy rights pertaining to a person's image or likeness
40 | depicted in a Work;
41 |
42 | iv. rights protecting against unfair competition in regards to a Work,
43 | subject to the limitations in paragraph 4(a), below;
44 |
45 | v. rights protecting the extraction, dissemination, use and reuse of data in
46 | a Work;
47 |
48 | vi. database rights (such as those arising under Directive 96/9/EC of the
49 | European Parliament and of the Council of 11 March 1996 on the legal
50 | protection of databases, and under any national implementation thereof,
51 | including any amended or successor version of such directive); and
52 |
53 | vii. other similar, equivalent or corresponding rights throughout the world
54 | based on applicable law or treaty, and any national implementations thereof.
55 |
56 | 2. Waiver. To the greatest extent permitted by, but not in contravention of,
57 | applicable law, Affirmer hereby overtly, fully, permanently, irrevocably and
58 | unconditionally waives, abandons, and surrenders all of Affirmer's Copyright
59 | and Related Rights and associated claims and causes of action, whether now
60 | known or unknown (including existing as well as future claims and causes of
61 | action), in the Work (i) in all territories worldwide, (ii) for the maximum
62 | duration provided by applicable law or treaty (including future time
63 | extensions), (iii) in any current or future medium and for any number of
64 | copies, and (iv) for any purpose whatsoever, including without limitation
65 | commercial, advertising or promotional purposes (the "Waiver"). Affirmer makes
66 | the Waiver for the benefit of each member of the public at large and to the
67 | detriment of Affirmer's heirs and successors, fully intending that such Waiver
68 | shall not be subject to revocation, rescission, cancellation, termination, or
69 | any other legal or equitable action to disrupt the quiet enjoyment of the Work
70 | by the public as contemplated by Affirmer's express Statement of Purpose.
71 |
72 | 3. Public License Fallback. Should any part of the Waiver for any reason be
73 | judged legally invalid or ineffective under applicable law, then the Waiver
74 | shall be preserved to the maximum extent permitted taking into account
75 | Affirmer's express Statement of Purpose. In addition, to the extent the Waiver
76 | is so judged Affirmer hereby grants to each affected person a royalty-free,
77 | non transferable, non sublicensable, non exclusive, irrevocable and
78 | unconditional license to exercise Affirmer's Copyright and Related Rights in
79 | the Work (i) in all territories worldwide, (ii) for the maximum duration
80 | provided by applicable law or treaty (including future time extensions), (iii)
81 | in any current or future medium and for any number of copies, and (iv) for any
82 | purpose whatsoever, including without limitation commercial, advertising or
83 | promotional purposes (the "License"). The License shall be deemed effective as
84 | of the date CC0 was applied by Affirmer to the Work. Should any part of the
85 | License for any reason be judged legally invalid or ineffective under
86 | applicable law, such partial invalidity or ineffectiveness shall not
87 | invalidate the remainder of the License, and in such case Affirmer hereby
88 | affirms that he or she will not (i) exercise any of his or her remaining
89 | Copyright and Related Rights in the Work or (ii) assert any associated claims
90 | and causes of action with respect to the Work, in either case contrary to
91 | Affirmer's express Statement of Purpose.
92 |
93 | 4. Limitations and Disclaimers.
94 |
95 | a. No trademark or patent rights held by Affirmer are waived, abandoned,
96 | surrendered, licensed or otherwise affected by this document.
97 |
98 | b. Affirmer offers the Work as-is and makes no representations or warranties
99 | of any kind concerning the Work, express, implied, statutory or otherwise,
100 | including without limitation warranties of title, merchantability, fitness
101 | for a particular purpose, non infringement, or the absence of latent or
102 | other defects, accuracy, or the present or absence of errors, whether or not
103 | discoverable, all to the greatest extent permissible under applicable law.
104 |
105 | c. Affirmer disclaims responsibility for clearing rights of other persons
106 | that may apply to the Work or any use thereof, including without limitation
107 | any person's Copyright and Related Rights in the Work. Further, Affirmer
108 | disclaims responsibility for obtaining any necessary consents, permissions
109 | or other rights required for any use of the Work.
110 |
111 | d. Affirmer understands and acknowledges that Creative Commons is not a
112 | party to this document and has no duty or obligation with respect to this
113 | CC0 or use of the Work.
114 |
115 | For more information, please see
116 |
117 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Awesome Löve [](https://awesome.re)
2 | 
3 |
4 | A categorized community-driven collection of high-quality, awesome [LÖVE](http://love2d.org) libraries, projects, and resources.
5 |
6 | ## Contents
7 |
8 | * [3D](#3d)
9 | * [AI](#ai)
10 | * [Animation](#animation)
11 | * [Camera](#camera)
12 | * [Development](#development)
13 | * [Drawing](#drawing)
14 | * [Entity](#entity)
15 | * [Helpers](#helpers)
16 | * [Input](#input)
17 | * [Lighting](#lighting)
18 | * [Math](#math)
19 | * [Music](#music)
20 | * [Networking](#networking)
21 | * [OO](#oo)
22 | * [Performance](#performance)
23 | * [Physics](#physics)
24 | * [Platforms](#platforms)
25 | * [Publishing](#publishing)
26 | * [Serialization](#serialization)
27 | * [Shaders](#shaders)
28 | * [Testing](#testing)
29 | * [Tweening](#tweening)
30 | * [UI](#ui)
31 | * [Utilities](#utilities)
32 | * [Tutorials](#tutorials)
33 | * [IDEs](#ides)
34 | * [Distribution](#distribution)
35 | * [Related](#related)
36 |
37 | ## 3D
38 | *3D-centric Libraries*
39 |
40 | * [3DreamEngine](https://github.com/3dreamengine/3DreamEngine) - An awesome 3D engine for LÖVE.
41 | * [anim9](https://github.com/excessive/anim9) - 3D skeletal animation library (design to be used with IQM and IQE).
42 | * [Brinevector3D](https://github.com/flamendless/brinevector3D) - FFI-enabled vector library for 3D (x,y,z).
43 | * [bump-3dpd](https://github.com/oniietzschan/bump-3dpd) - A 3D collision detection library for Lua.
44 | * [IQE](https://github.com/excessive/iqe) - Inter-Quake Export loader (text).
45 | * [IQM](https://github.com/excessive/iqm-exm) - Inter-Quake Model loader (binary).
46 | * [love-gltf](https://gitlab.com/Alloyed/love-gltf) - Gltf asset loader and test renderer; Supports skeletal animations and morph targets.
47 | * [Lovox](https://github.com/tjakka5/Lovox) - Pseudo-3D library for working with voxels.
48 | * [g3d](https://github.com/groverburger/g3d) - Simple and easy 3D engine for LÖVE.
49 | * [model_renderer](https://github.com/xiejiangzhi/model_renderer) - A simple 3d model renderer for love2d.
50 | * [Menori](https://github.com/rozenmad/Menori) - Library for 3D rendering with LÖVE.
51 |
52 |
53 | ## AI
54 | *Navigation, Decision-Making and AI Libraries*
55 |
56 | * [Jumper](https://github.com/Yonaba/Jumper) - Grid-based pathfinding library.
57 | * [Lua-star](https://github.com/wesleywerner/lua-star) - Easy and pure Lua A* path finding.
58 | * [astar](https://github.com/xiejiangzhi/astar) - An other A* library. Any map(gird, point, mesh or infinite map) and support path cost.
59 | * [pathfun](https://github.com/apicici/pathfun) - Pure Lua library for 2D pathfinding using the funnel algorithm.
60 | * [beehive.lua](https://github.com/drhayes/beehive.lua) - A functional behavior tree implementation.
61 |
62 | ## Animation
63 | *Animation & Frame-Managing Libraries*
64 |
65 | * [andross](https://github.com/pfirsich/andross) - A Lua library for 2D skeletal/bone animations with a Löve backend.
66 | * [anim8](https://github.com/kikito/anim8) - Animation library.
67 | * [animx](https://github.com/YoungNeer/animx) - A featureful Animation library for loading animations from XML files!.
68 | * [Aseprite loader](https://github.com/elloramir/love-ase) - Complete ase/aseprite file loader (no json).
69 | * [chiro](https://github.com/bjornbytes/chiro) - Convenience wrapper around [Spine](http://esotericsoftware.com).
70 | * [Peachy](https://github.com/josh-perry/peachy) - A parser/renderer for Aseprite animations in LÖVE.
71 | * [skeletor](https://github.com/pelevesque/skeletor) - 2D skeletal animation system.
72 | * [Walt](https://github.com/davisdude/Walt) - Animation library.
73 | * [Lump](https://github.com/sixFingers/lump) - Adobe Flash animation runtime.
74 | * [lovanim](https://github.com/patrixr/love-animation) - A minimal stateful animation library.
75 | * [SYSL-Text](https://github.com/SystemLogoff/SYSL-Text) - Text animation and automatic wrapping library based on tags.
76 |
77 | ## Camera
78 | *Viewport & Camera Libraries*
79 |
80 | * [Brady](https://github.com/davisdude/Brady) - Camera library with parallax scrolling.
81 | * [cam11](https://notabug.org/pgimeno/cam11) - Camera library that leverages the Transform object introduced in love2d 11.0+.
82 | * [Editgrid](https://github.com/bakpakin/Editgrid) - Gamera and HUMP compatible scaling grid.
83 | * [gamera](https://github.com/kikito/gamera) - Camera system.
84 | * [hump.camera](https://hump.readthedocs.io/en/latest/camera.html) - Camera library with window locking and smooth camera movement interpolation.
85 |
86 | ## Development
87 | *Development assisting Libraries, that enrich your development experience*
88 |
89 | * [FPSGraph](https://github.com/icrawler/FPSGraph) - Small FPS graphing utility.
90 | * [debugGraph](https://github.com/Mechazawa/Love-Debug-Graph) - Small OO FPS graphing utillity based on FPSGraph.
91 | * [Lovebird](https://github.com/rxi/lovebird) - Browser-based debug console.
92 | * [LoveDebug](https://github.com/flamendless/lovedebug) - Inline console-like debugger utility.
93 | * [lurker](https://github.com/rxi/lurker) - Auto-swaps changed Lua files in a running game.
94 | * [LÖVE API](https://github.com/love2d-community/love-api) - The complete API documentation of LÖVE in a Lua table.
95 | * [LÖVE Build](https://github.com/nhartland/love-build) - GitHub Action for automated cross-platform builds.
96 | * [LÖVE TypeScript Definitions](https://github.com/hazzard993/love-typescript-definitions) - Write LÖVE games with TypeScript.
97 | * [lovelier](https://github.com/patrixr/lovelier) - A LÖVE live reloader with Moonscript support.
98 | * [loveprofiler](https://github.com/dknight/loveprofiler) - LoveProfiler is an extremely simple logger and profiler.
99 | * [vudu](https://github.com/deltadaedalus/vudu) - Broad in-game debugging gui with a console, variable browser/editor, speed controls, and more.
100 |
101 | ## Drawing
102 | *Drawing specific Libraries, that simplify the Drawing process*
103 |
104 | * [Artal](https://github.com/unXedDani/Artal) - A .PSD parsing library for LÖVE.
105 | * [Autobatch](https://github.com/rxi/autobatch) - Small LÖVE module to automate the use of SpriteBatches.
106 | * [center](https://github.com/S-Walrus/center) - A simple module to dynamically align and fit content to screens of any size.
107 | * [deep](https://github.com/Nikaoto/deep) - Adds Z axis; allows you to queue actions and draw calls.
108 | * [draft](https://github.com/pelevesque/draft) - A module for drawing complex shapes.
109 | * [grove.draworder](https://github.com/FloatingBanana/Grove/blob/master/grove/draworder.lua) - Similar to deep, but you can set a custom sorting method and create multiple, nestable instances.
110 | * [HSLUV](https://github.com/hsluv/hsluv-lua) - Lua implementation of HSLuv (a human-friendly alternative to HSL).
111 | * [Maid64](https://github.com/adekto/maid64) - Low resolution scaler for LÖVE.
112 | * [Push](https://github.com/Ulydev/push) - A simple resolution-handling library for LÖVE.
113 | * [renderplanet](https://github.com/meric/renderplanet/) - Realistic orthographic planet rendering.
114 | * [Resolution Solution](https://github.com/Vovkiv/resolution_solution) - Scale library, that help you add resolution support to your games!
115 | * [svglover](https://github.com/globalcitizen/svglover) - Library to import and display simple SVGs in LÖVE.
116 | * [SYSL-Pixel](https://github.com/SystemLogoff/Sysl-Pixel) - Pixel art focused scaler for graphics, position, screen-captures and shaders.
117 | * [Sölar](https://github.com/JanWerder/soelar) - A fairly simple solar system simulator.
118 | * [Tove2d](https://github.com/poke1024/tove2d) - Animated vector graphics for LÖVE.
119 | * [turtle.lua](https://github.com/arthurealike/turtle.lua) - Turtle graphics library for LÖVE.
120 | * [Runtime-TextureAtlas](https://github.com/EngineerSmith/Runtime-TextureAtlas) - Texture atlas packer and renderer at runtime; no external tools.
121 | * [Export-TextureAtlas](https://github.com/EngineerSmith/Export-TextureAtlas) - Extends Runtime-TextureAtlas as a commandline tool to export an atlas.
122 |
123 | ## Entity
124 | *Entity and Gameobject Managing Libraries*
125 |
126 | * [adorbs](https://github.com/JosephShering/adorbs) - Minimal, Functional Entity Component System.
127 | * [Concord](https://github.com/Tjakka5/Concord) - A feature-complete ECS library.
128 | * [ecs-lua](https://github.com/nidorx/ecs-lua) - ECS Lua is a fast and easy to use ECS (Entity Component System) engine for game development.
129 | * [knife.system](https://github.com/airstruck/knife/blob/master/readme/system.md) - Minimalist functional ECS.
130 | * [nata](https://github.com/tesselode/nata) - Hybrid OOP/ECS entity management.
131 | * [tiny-ecs](https://github.com/bakpakin/tiny-ecs) - Entity Component System for Lua that's simple, flexible, and useful.
132 |
133 | ## Helpers
134 | *Game specific Library bundles, that provide reuseable functions*
135 |
136 | * [astray](https://github.com/SiENcE/astray) - Astray is a lua based maze, room and dungeon generation library for dungeon crawlers and roguelike video games.
137 | * [batteries](https://github.com/1bardesign/batteries/) - Fills out lua's sparse standard library and provides implementations of common algorithms and data structures useful for games.
138 | * [cartographer](https://github.com/tesselode/cartographer) - Small Tiled map loader and drawer.
139 | * [clove](https://github.com/YoungNeer/clove) - A helper library which allows you to quickly loads huge amount of assets.
140 | * [grove.color](https://github.com/FloatingBanana/Grove/blob/master/grove/color.lua) - Blend, convert and interpolate colors using 'color objects'.
141 | * [hump](https://github.com/HDictus/hump) - Collection of tools for developing games with LÖVE (Gamestates, Timers/Tweens, Vectors, Classes, Signals, Cameras).
142 | * [iffy](https://github.com/YoungNeer/iffy) - A SpriteSheet and Tileset helper library for LÖVE.
143 | * [knife](https://github.com/airstruck/knife) - Collection of useful micro-modules for Lua (Class, State Machines, Bind, Chain, Coroutines, Event, Memoize, Entity, Tests, Timer).
144 | * [shard](https://github.com/MineGame159/shard) - Collection of useful mini modules.
145 | * [lovely-windows](https://github.com/flamendless/lovely-windows) - A Window/Screen Manager Module for virtual windows.
146 | * [love-state-switcher](https://github.com/nekromoff/love-state-switcher) - State switcher class for Lua LÖVE Engine.
147 | * [lua-state-machine](https://github.com/kyleconroy/lua-state-machine) - Lua Finite State Machine.
148 | * [lue](https://github.com/Ulydev/lue) - Lue is a LÖVE library that allows you to display hue color effects in your game.
149 | * [lume](https://github.com/rxi/lume/) - Collection of functions for Lua, geared towards game development.
150 | * [Manami](https://github.com/MikuAuahDark/NPad93/blob/master/manami.lua) - An improved "reflowprint" with UTF-8, multicolor, and justify support.
151 | * [narrator](https://github.com/astrochili/narrator) - An Ink narrative scripting language parser and runtime implementation.
152 | * [reflowprint](https://github.com/josefnpat/reflowprint) - A library designed for alignment of text that is shown one character at a time.
153 | * [roomy](https://github.com/tesselode/roomy) - Screen management library for LÖVE.
154 | * [rotLove](https://github.com/paulofmandown/rotLove) - Roguelike Toolkit in LÖVE. A LÖVE/lua port of rot.js.
155 | * [YAS](https://github.com/kithf/yas) - Yet Another Screen manager.
156 | * [Scenery](https://github.com/paltze/scenery) - A dead simple scene/state management system.
157 | * [ScreenManager](https://github.com/rm-code/screenmanager) - Screen/State Management for the LÖVE framework.
158 | * [shack](https://github.com/Ulydev/shack) - Shack is a LÖVE library that lets you easily add screen effects such as shake and rotation.
159 | * [Simple Tiled Implementation](https://github.com/karai17/Simple-Tiled-Implementation) - Tiled map loader and renderer.
160 | * [Vivid](https://github.com/WetDesertRock/vivid) - Color math, manipulation and conversion library.
161 | * [Yonder](https://github.com/thenerdie/Yonder) - A ridiculously easy to use game state management library for LOVE2D.
162 |
163 | ## Input
164 | *Input & Binding Libraries*
165 |
166 | * [baton](https://github.com/tesselode/baton) - Input library for LÖVE that bridges the gap between keyboard and gamepad controls.
167 | * [input](https://github.com/xiejiangzhi/input) - Simple and powerful input library. support check operation time, sequence.
168 | * [Kazari](https://github.com/MikuAuahDark/Kazari) - Multitouch gesture and input library.
169 | * [love-microphone](https://github.com/LPGhatguy/love-microphone) - Simple microphone support for LÖVE.
170 | * [LoveKeys](https://github.com/SpaceCat-Chan/LoveKeys) - A simple input handeling library that keeps track of things for you.
171 | * [Swipe](https://github.com/zombrodo/swipe) - A simple radial keyboard library.
172 | * [tactile](https://github.com/tesselode/tactile) - A straightforward and flexible input library.
173 |
174 | ## Lighting
175 | *Lighting & Shadow Libraries*
176 |
177 | * [lighter](https://github.com/speakk/lighter) - A performant dynamic light implementation with a simple API.
178 | * [Shädows](https://github.com/matiasah/shadows) - A Shadows & Lights engine for LÖVE.
179 | * [Light World](https://github.com/tanema/light_world.lua) - A lighting model.
180 | * [Simple Love Lights](https://github.com/dylhunn/simple-love-lights) - A very simple raycasting light implementation.
181 | * [Light](https://github.com/xiejiangzhi/light) - A simple dynamic light implementation.
182 |
183 | ## Math
184 | *Math specific Libraries*
185 |
186 | * [Bresenham](https://github.com/rm-code/Bresenham) - Bresenham's line algorithm written in Lua.
187 | * [brinevector](https://github.com/novemberisms/brinevector) - Standalone lightweight luajit ffi-accelerated 2D vector library for great performance.
188 | * [Cirno's Perfect Math Library](https://github.com/excessive/cpml) - Math/intersection library designed for games.
189 | * [delaunay](https://github.com/Yonaba/delaunay) - Delaunay triangulation for convex polygons.
190 | * [hump.vector](https://hump.readthedocs.io/en/latest/vector.html) - Powerful 2D vector class.
191 | * [MLib](https://github.com/davisdude/mlib) - Math and shape-intersection detection library written in Lua. It's aim is to be robust and easy to use.
192 | * [nvec](https://github.com/MikuAuahDark/NPad93/blob/master/nvec.lua) - Hump.vector-compatible LuaJIT FFI-accelerated 2D vector library.
193 | * [shash](https://github.com/rxi/shash) - A simple, lightweight spatial hash for Lua.
194 | * [vector.lua](https://github.com/themousery/vector.lua) - A simple vector library based on the PVector class from processing.
195 |
196 | ## Music
197 | *Music related libraries*
198 |
199 | * [denver](https://github.com/superzazu/denver.lua) - A Löve custom waveform generation library.
200 | * [lovebpm](https://github.com/rxi/lovebpm) - A LÖVE library for syncing events to the BPM of an audio track.
201 | * [ripple](https://github.com/tesselode/ripple) - An audio manager with tagging support.
202 | * [wave](https://github.com/Ulydev/wave) - A sound manager with audio parsing and rhythm functionalities.
203 |
204 | ## Networking
205 | *Networking & Online-Play Libraries*
206 |
207 | * [Grease](https://github.com/bartbes/love-misc-libs/tree/master/grease) - Networking library intended to make networking easy for lovers (TCP, UDP, Enet). (IPv6)
208 | * [LoverNet](https://github.com/josefnpat/LoverNet) - A networking library that leverages bitser and enet. (IPv4)
209 | * [NoobHub](https://github.com/Overtorment/NoobHub) - OpenSource multiplayer and network messaging. (IPv6)
210 | * [Sock.lua](https://github.com/camchenry/sock.lua) - A Lua networking library for LÖVE games. (IPv4)
211 | * [löve-ws](https://github.com/holywyvern/love-ws) - A websocket client and server library.
212 | * [love2d-lua-websocket](https://github.com/flaribbit/love2d-lua-websocket) - A simple event-driven websocket client library. (IPv4)
213 |
214 | ## OO
215 | *Object Orientation Libraries that support [Class-Commons](https://github.com/bartbes/Class-Commons)*
216 |
217 | * [30log](https://github.com/Yonaba/30log) - Minified framework for object-orientation in Lua. It features named (and unnamed) classes, single inheritance and a basic support for mixins.
218 | * [classic](https://github.com/rxi/classic/) - Tiny class module for Lua. Attempts to stay simple and provide decent performance by avoiding unnecessary over-abstraction.
219 | * [hump.class](https://hump.readthedocs.io/en/latest/class.html) - Small, fast class/prototype implementation with multiple inheritance (class-commons).
220 | * [knife.base](https://github.com/airstruck/knife/blob/master/readme/base.md) - Extremely minimal base class providing single inheritance and constructors.
221 | * [middleclass](https://github.com/kikito/middleclass) - Simple OOP library for Lua; has inheritance, metamethods (operators), class variables and weak mixin support (class-commons).
222 | * [muun](https://github.com/megagrump/muun) - Moonscript compatible class implementation.
223 | * [selene](https://github.com/novafacing/selene) - Project template for writing games in Moonscript instead of Lua without precompiling.
224 |
225 | ## Performance
226 | *Performance measurement tools*
227 |
228 | * [AppleCake](https://github.com/EngineerSmith/AppleCake) - Profiling library for LÖVE, with detailed profiling and thread support.
229 | * [jprof](https://github.com/pfirsich/jprof) - Profiling library/tool for LÖVE.
230 | * [Piefiller](https://github.com/Polynominal/Piefiller) - Graphical profiler for LÖVE.
231 | * [ProFi](https://gist.github.com/rm-code/383c98a6af04652ed9f39b7ae536bcc5) - A simple lua profiler that works with LuaJIT and prints a pretty report file in columns.
232 |
233 | ## Physics
234 | *Collision Detection & Physics Wrappers*
235 |
236 | * [breezefield](https://github.com/HDictus/breezefield) - A lightweight and easy love.physics wrapper (windfield alternative).
237 | * [Bump](https://github.com/kikito/bump.lua) - Collision detection library for Lua.
238 | * [HC](https://hc.readthedocs.io/en/latest/) - Collision detection with arbitrary polygons; allows rotation of objects.
239 | * [loveblobs](https://github.com/exezin/loveblobs) - A softbody library with support for both dynamic and static arbitrary softbodies.
240 | * [Strike](https://github.com/Aweptimum/Strike) - 2D collision detection library. Extendable, based on Separating-Axis-Theorem.
241 |
242 |
243 | ## Platforms
244 | *Ports for Platforms other than the ones officially supported by LÖVE*
245 |
246 | * [LoveDos](https://github.com/rxi/lovedos) - A Lua framework for 2D DOS games, implementing a subset of the LÖVE API.
247 | * [LoveFTW](https://bitbucket.org/T-BoneISS/l-veftw) - Work-in-progress port to Windows phone 8.1.
248 | * [LovePotion](https://github.com/TurtleP/LovePotion) - Unofficial work-in-progress implementation of the LÖVE API for Nintendo 3DS and Nintendo Switch Homebrew.
249 | * [LOVE-WrapLua](https://github.com/LukeZGD/LOVE-WrapLua) - A small and simple wrapper for OneLua, lpp-vita, and Lua Player PS3.
250 | * [Love.js](https://github.com/Davidobot/love.js) - LÖVE ported to the web using Emscripten.
251 | * [LÖVR](https://github.com/bjornbytes/lovr) - LÖVE for virtual reality devices.
252 |
253 | ## Publishing
254 | *Guides to distributing LÖVE games in 3rd party stores*
255 |
256 | * [Love-Snap-Template](https://github.com/popey/love-snap-template) - A template for packaging LÖVE games for distribution in the Snappy Store.
257 | * [AppImageKit](https://github.com/AppImage/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.
258 |
259 | ## Serialization
260 | *Save Game & Storage Libraries*
261 |
262 | * [arson](https://github.com/flamendless/arson.lua) - Companion library for registering custom data types that can be encoded and decoded by json.lua.
263 | * [binser](https://github.com/bakpakin/binser) - Customizable Lua Serializer.
264 | * [bitser](https://github.com/gvx/bitser) - Serializes and deserializes Lua values with LuaJIT.
265 | * [cdata](https://github.com/excessive/cdata) - Serialize between Lua data and C data using LuaJIT's FFI.
266 | * [knife.serialize](https://github.com/airstruck/knife/blob/master/readme/serialize.md) - Serialize data as a Lua script.
267 | * [Lady](https://github.com/gvx/Lady) - Saving and loading savegames; based on Ser.
268 | * [moonblob](https://github.com/megagrump/moonblob) - Binary serialization and data parsing library.
269 | * [Ser](https://github.com/gvx/Ser) - Fast, robust, richly-featured table serialization library for Lua.
270 | * [Smallfolk](https://github.com/gvx/Smallfolk) - A fast, robust, secure, richly-featured table serialization library for Lua.
271 | * [trickle](https://github.com/bjornbytes/trickle) - A bitstream library focused on high compression for use in networking.
272 |
273 | ## Shaders
274 | *GLSL related Libraries*
275 |
276 | * [LoveShaderConverter](https://github.com/tsteinholz/LoveShaderConverter) - Convert Shadertoy Shader files to LÖVE GLSL Files with handy utilities for infinite purposes.
277 | * [ngrading](https://github.com/MikuAuahDark/NPad93/tree/master/ngrading) - Simple color grading library.
278 | * [Shadertoy viewer](http://love2d.org/forums/viewtopic.php?f=5&t=80885) - Run code copied from shadertoy directly or output the converted code to a LÖVE shader.
279 | * [Moonshine](https://github.com/vrld/moonshine) - Repository of common post-processing effects like blur, vignette, color-grading, etc.
280 |
281 | ## Testing
282 | *Libraries and Tools for Unit Testing*
283 |
284 | * [busted](https://github.com/Olivine-Labs/busted) - Simple unit-testing framework with customizable assertions.
285 | * [knife.test](https://github.com/airstruck/knife/blob/master/readme/test.md) - Fixture-free test framework.
286 | * [Luassert](https://github.com/Olivine-Labs/luassert) - Extends `assert()` with additional, customizable tests.
287 | * [Lunatest](https://github.com/silentbicycle/lunatest) - xUnit-style randomized unit testing framework.
288 | * [lust](https://github.com/bjornbytes/lust) - Minimal test framework.
289 | * [Specl](http://gvvaughan.github.io/specl/) - Behavior Driven Development (BDD) tool.
290 | * [Telescope](http://norman.github.io/telescope/) - Highly-customizable BDD-style testing library.
291 |
292 | ## Tweening
293 | *Smoothing & Timer Libraries*
294 |
295 | * [Flux](https://github.com/rxi/flux) - A fast, lightweight tweening library for Lua.
296 | * [hump.timer](https://hump.readthedocs.io/en/latest/timer.html) - Timer and tweening library with flexible tweening methods.
297 | * [knife.timer](https://github.com/airstruck/knife/blob/master/readme/timer.md) - Create timers and tweens with ease.
298 | * [NAniTe](https://github.com/MikuAuahDark/NPad93/blob/master/nanite.lua) - Timeline-based animation system that supports forward and backward update.
299 | * [tick](https://github.com/rxi/tick) - Lua module for delaying function calls.
300 | * [tween.lua](https://github.com/kikito/tween.lua) - Tweening/Easing/Interpolating functions for Lua inspired on jQuery's animate method.
301 |
302 | ## UI
303 | *User Interface Libraries*
304 |
305 | * [CatUI](https://github.com/wilhantian/catui) - A very light-weight GUI library for LÖVE.
306 | * [cimgui-love](https://github.com/apicici/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.
307 | * [GOOi](https://github.com/tavuntu/gooi) - Android-oriented GUI library.
308 | * [Gspöt](https://notabug.org/pgimeno/Gspot) - A stateful GUI lib for LÖVE.
309 | * [Hanker](https://gitlab.com/Alloyed/hanker) - Maximalist immediate mode-ish UI elements; gamepad-friendly.
310 | * [Helium](https://github.com/qeffects/helium) - A modern, customizable, high performance retained UI framework.
311 | * [ListBox](https://github.com/darkmetalic/ListBox) - A dynamic ListBox for LÖVE that supports touch, mouse, and keyboard inputs.
312 | * [LoveFrames Fork](https://github.com/linux-man/LoveFrames) - 11.2 Fork of a GUI library.
313 | * [Love Imgui](https://github.com/slages/love-imgui) - Imgui module for the LÖVE game engine.
314 | * [Löve-Nuklear](https://github.com/keharriso/love-nuklear) - Lightweight immediate mode GUI for LÖVE games.
315 | * [Lynx](https://gitlab.com/TSnake41/lynx) - Very-lightweight list-based UI library.
316 | * [NLay](https://github.com/MikuAuahDark/NPad93#nlay) - Flexible layouting library.
317 | * [Patchy](https://github.com/excessive/patchy) - 9patch library.
318 | * [Slicy](https://github.com/wqferr/slicy) - A newer 9patch/9slice library fixing some issues with Patchy.
319 | * [Plan](https://github.com/zombrodo/plan) - A super simple Rule-based layout library.
320 | * [Polywell](https://gitlab.com/technomancy/polywell) - A highly-configurable text editor / coding tool written in Lua that runs on the LÖVE game engine.
321 | * [SafeWord](https://github.com/josefnpat/safeword) - An overscan detection library for LÖVE.
322 | * [Slab](https://github.com/flamendless/Slab) - Slab is an immediate mode GUI toolkit for the LÖVE framework.
323 | * [SUIT](https://github.com/vrld/SUIT) - Small immediate mode GUI library.
324 | * [YALG](https://github.com/sasszem/yalg) - A very simple, cross-platform, reactive UI for last minute UIs.
325 | * [YUI](https://gitea.it/1414codeforge/yui) - Declarative UI library for LÖVE.
326 | * [Inky](https://github.com/Keyslam/Inky) - Any-purpose GUI framework.
327 |
328 | ## Utilities
329 | *Non-Game specific libraries and tools*
330 |
331 | * [ArrayRotation](https://gist.github.com/rm-code/4118d4a97d8cde16952199d94b84ead0) - Rotation of two dimensional arrays (square and non-square).
332 | * [cargo](https://github.com/bjornbytes/cargo) - Asset manager.
333 | * [chance.lua](http://ejmr.github.io/chance.lua/) - Library for generating random data.
334 | * [colorchanger](https://github.com/santoslove/colorchanger) - Change the colors in your LÖVE game.
335 | * [Flirt](https://github.com/Alloyed/flirt) - LÖVE version manager; allows to switch between multiple versions of engine on same machine.
336 | * [GifCat](https://github.com/WetDesertRock/GifCat) - A simple module for saving gifs from LÖVE.
337 | * [hex2color](https://github.com/S-Walrus/hex2color/) - A single function to use HEX color values.
338 | * [i18n](https://github.com/excessive/i18n) - Internationalization library designed to help localize your game.
339 | * [Ini Parser](https://github.com/FivosM/ini_parser) - General purpose ini configuration parser.
340 | * [log.lua](https://github.com/rxi/log.lua) - Library for configurable log output.
341 | * [love-loader](https://github.com/kikito/love-loader) - Threaded resource loading.
342 | * [love2d-assets-loader](https://github.com/Yonaba/love2d-assets-loader) - Assets Loader.
343 | * [love-pe](https://github.com/RamiLego4Game/love-pe) - A tool made in LÖVE for changing LÖVE icon itself.
344 | * [lovely-engine](https://github.com/vinnyhorgan/lovely-engine) - A tool that makes setting up and using LÖVE easier and with Moonscript support.
345 | * [Lily](https://github.com/MikuAuahDark/lily) - Async Asset Loader.
346 | * [luasteam](https://github.com/uspgamedev/luasteam) - Lua bindings for the Steamworks API.
347 | * [Luvent](https://github.com/ejmr/Luvent) - Simple event-driven programming.
348 | * [nativefiledialog](https://github.com/Alloyed/nativefiledialog/tree/master/lua) - Open a file picker on Windows/Mac/Linux.
349 | * [nativefs](https://github.com/EngineerSmith/nativefs) - Read and write files outside of LÖVE's allowed paths.
350 | * [Optikon](https://optikon.co.uk/) - WYSIWYG visual level designer.
351 | * [ParticleEditor](https://github.com/MusouCrow/ParticleEditor) - An editor of particle for LÖVE.
352 | * [particle-system-playground](https://github.com/santoslove/particle-system-playground) - A basic LÖVE particle system editor.
353 | * [require.lua](https://github.com/premek/require.lua) - Require all files in a folder.
354 | * [splashy](https://github.com/videah/splashy) - Splash Screen Library.
355 | * [ShakeDetectorLua](https://github.com/azoyan/ShakeDetectorLua) - Uses accelerometer data for shake device detection written in Lua.
356 | * [tick](https://github.com/bjornbytes/tick) - Useful timing tweaks for LÖVE's run loop.
357 |
358 | ## Tutorials
359 | *Blogs and tutorials*
360 |
361 | * [learn2love](https://rvagamejams.com/learn2love/) - Book for learning programming with Lua and LÖVE (Version 11.0+).
362 | * [Using Tiled Maps in LÖVE](http://lua.space/gamedev/using-tiled-maps-in-love) - An article about using maps created with Tiled in your LÖVE game.
363 | * [Tutorial on making an Arkanoid-type game](https://github.com/noooway/love2d_arkanoid_tutorial/wiki) - A complete tutorial on how to make a breakout clone by nooowaay.
364 | * [Simple Game Tutorials](https://simplegametutorials.github.io/) - Tutorials for making simple games with LÖVE (Snake, Sokoban, Tetris, etc.).
365 | * [How to LÖVE](https://sheepolution.com/learn/book/contents) - A book by Sheepolution teaching LÖVE from the ground up.
366 | * [CS50 Introduction to Game Development](https://cs50.harvard.edu/games/) - Harvard Colleges CS50 OpenCourseWare.
367 | * [Building love2d games for the web with love.js and Docker](https://kalis.me/building-love2d-games-web-docker/) - A tutorial on packaging LÖVE games for the web.
368 |
369 | ## IDEs
370 | *Integrated Development Environments and text editor plugins*
371 |
372 | * [Brackets](http://brackets.io/) - A modern, open source text editor by Adobe (obsolete).
373 | * [Lua Syntax Highlighter](https://github.com/ForbesLindesay/brackets-language-extensions) - Add Lua syntax highlighting in Brackets.
374 | * [LÖVE Hints for Brackets.io](https://gitlab.com/sdonalcreative/brackets-love-hints/) - Provides LÖVE code hints.
375 | * [Run LÖVE](https://github.com/instilledbee/run-love2d) - Run LÖVE projects with a hotkey.
376 | * [ZeroBrane Studio](https://studio.zerobrane.com/) - ZeroBrane Studio is a lightweight Lua IDE with code completion, syntax highlighting, live coding, code analyzer, and debugging support.
377 | * [API Syntax Hightlight](https://github.com/flamendless/LOVE-API-Extractor-for-ZeroBraneStudio) - Script to add LOVE API syntax highlighting to ZBS.
378 | * [IntelliJ IDEA](https://www.jetbrains.com/idea/) - Capable and Ergonomic Java IDE.
379 | * [EmmyLua](https://github.com/EmmyLua/VSCode-EmmyLua) - Lua IDE/Debugger Plugin for VSCode.
380 | * [LÖVE IDEA](https://github.com/rm-code/love-IDEA-plugin) - Snippets and code completion for IntelliJ-IDEA.
381 | * [Vim](https://vim.sourceforge.io/) - Vim is a highly configurable text editor built to make creating and changing any kind of text very efficient.
382 | * [Vim LOVE Docs](https://github.com/davisdude/vim-love-docs) - Syntax highlighting for Vim.
383 | * [Notepad++](https://notepad-plus-plus.org) - Notepad++ is a free source code editor and Notepad replacement that supports several languages.
384 | * [LÖVE API for Notepad++](https://github.com/dail8859/love-api-npp) - Code completion and documentation for Notepad++.
385 | * [Visual Studio Code](https://code.visualstudio.com/) - 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.
386 | * [Visual Studio Code LÖVE Launcher](https://marketplace.visualstudio.com/items?itemName=JanW.love-launcher) - A Löve Launcher Extension for Visual Studio Code.
387 | * [Lua for Visual Studio Code](https://marketplace.visualstudio.com/items?itemName=trixnz.vscode-lua) - Provides Intellisense and Linting for Lua in VSCode.
388 | * [Local Lua Debugger](https://marketplace.visualstudio.com/items?itemName=tomblind.local-lua-debugger-vscode) - Simple Lua debugger with no dependencies. Löve specific launch.json example provided.
389 | * [Sublime Text](https://www.sublimetext.com) - Sublime Text is a sophisticated text editor for code, markup and prose. You'll love the slick user interface, extraordinary features and amazing performance.
390 | * [Package Manager](https://packagecontrol.io/) - The Sublime Text package manager that makes it exceedingly simple to find, install and keep packages up-to-date.
391 | * [SublimeLove](https://packagecontrol.io/packages/SublimeLove) - Supports syntax highlighting, auto-completion, and build system.
392 | * [SublimeLinter-luacheck](https://packagecontrol.io/packages/SublimeLinter-luacheck) - Provides linting and static analysis of your Lua code.
393 |
394 | ## Distribution
395 | *Tools that automate game publishing in one way or another*
396 | * [LÖVE Actions](https://github.com/love-actions) - Build & deploy cross-platform game packages on ***ALL*** popular platforms. Supports Android, iOS, Linux, maxOS, Windows.
397 | * [love-packager](https://github.com/simplifylabs/love-packager) - Simple CLI to package your LÖVE Game in seconds.
398 | * [boon](https://github.com/camchenry/boon) - Multi-platform, easy to use tool supporting Windows, macOS, Linux.
399 | * [love-export](https://github.com/dmoa/love-export) - Fast and simple command-line tool that builds binaries for you. Supports Windows, macOS, and Linux.
400 | * [love-release](https://github.com/MisterDA/love-release) - A Lua script that automates game distribution. Supports Windows, macOS, Debian, Linux.
401 | * [makelove](https://github.com/pfirsich/makelove) - Advanced multi-platform tool to fuse your game written in Python 3. Supports Windows and Linux with AppImage.
402 | * [love-deploy](https://github.com/tducasse/love-deploy) - Build and deploy games on itch.io (supports windows and web exports).
403 | * [love-fuser](https://github.com/MikuAuahDark/love-fuser) - Packages LÖVE Games using GitHub Actions. Supports Windows, Linux, and Android.
404 |
405 | ## Related
406 |
407 | * [awesome-lua](https://github.com/LewisJEllis/awesome-lua) - A list like this one, but more general and encompassing all of Lua's uses.
408 | * [awesome-love-shaders](https://github.com/karai17/awesome-love-shaders) - A collection of shaders designed to work in LÖVE.
409 | * [awesome-pico8](https://github.com/pico-8/awesome-PICO-8) - A curated list of PICO-8 resources, tutorials, tools and more.
410 |
411 | Other awesome lists can be found in the [awesome-awesomeness](https://github.com/bayandin/awesome-awesomeness) list.
412 |
--------------------------------------------------------------------------------