Löve (stylized in all caps) is a free, open-source, cross-platform framework released under the zlib license for developing video games. The framework is written in C++ and uses Lua as its scripting language, is still maintained by its original developers, and supports Microsoft Windows, macOS, Linux, Android, and iOS.

The framework's API accesses the host machine's video and sound functions through the libraries SDL and OpenGL, or since version 0.10 also OpenGL ES 2 and 3. Fonts render via the FreeType engine. A port called piLöve targets the Raspberry Pi.

The framework is frequently used in video game development competitions such as Ludum Dare. In July 2018, it was the 10th most popular game development software used by independent game developers on the site Itch.io, holding a 1.97% share.

The 2024 roguelike deck-building game Balatro, built with LÖVE, became a commercial hit without a mainstream engine such as Unity, Unreal Engine, or Godot.

Version history +VersionCode nameAddedRelease date0.1.1Santa-Power Reading and displaying images. Reading and playing sounds. Loading and rendering fonts. Keyboard and mouse support.0.2.0Mini-Moose Added a screen that displays if no game is loaded. Adding an animation system. Added text formatting functions.0.2.1Impending Doom Added many filesystem functions. Added dedicated save folders for games.0.3.0Mutant Vermin Addition of the particle system.0.3.1Meat Space Bug fixes.0.3.2Lemony Fresh Added several graphical functions.0.4.0Taco Beam Added physics engine Box2D.0.5.0Salted Nuts Added joystick support. Support of protocols TCP/UDP using luasocket.0.6.0Jiggly Juice Removed the animation system. Added support for managing events like key presses.0.6.1Jiggly Juice Added function to set and get a Box2D body's fixed rotation. Added function to set the inertia of a Box2D body.0.6.2Jiggly Juice Bug fixes.0.7.0Game Slave Added support for working with fonts.0.7.1Game Slave Bug fixes.0.7.2Game Slave Updated libraries for Windows version.0.8.0Rubber Piggy Added UTF-8 support for fonts. Added PNG and JPEG encoding.0.9.0Baby Inspector Added better multiplayer networking support.0.9.1Baby Inspector Added support for opening a URL with a web or file browser.0.9.2Baby Inspector Added UTF-8 encoding support.0.10.0Super Toast Supports Android and iOS. Added touch screen support. Added video support.0.10.1Super Toast Added configuration option for saving files in internal or external storage on Android devices.0.10.2Super Toast Added the ability to restart the application.11.0Mysterious Mysteries Support for meshes. Various additions to shaders (such as the effect method). Ability to record from a microphone. Consolidation of many object methods into new methods. Added many new formats to stencil/depth buffers. Audio effects such as reverberation and echoing. Added support for Base64 encoding, MD5 hashing, and more.11.1Mysterious Mysteries Bug fixes.11.2Mysterious Mysteries Added functions to set and get a Box2D body's transform.11.3Mysterious Mysteries Added support for loading FLAC audio files. Added support for recording audio from the microphone on Android devices. Added support for uncompressed DirectDraw Surface files.11.4Mysterious Mysteries Added native Apple Silicon support on macOS.11.5Mysterious Mysteries Added new game launcher on Android for easier loading of games.12.0Bestest FriendIn development

Features Features include: OpenGL pixel shaders GLSL. Touchscreen for mobile devices. Joysticks by providing interface for connected joysticks. UTF-8. Image formats: PNG, JPEG, GIF, TGA and BMP. Audio formats: WAV, OGG, and MP3. Video formats: OGV. The physics engine Box2D, which can be disabled to lighten the library. LuaSocket library for network communications TCP/UDP. Lua-enet library, implementing the reliable Enet protocol over UDP.

Notable games Games made with LÖVE include:

Kingdom Rush (2011) Mari0 (2012) Oh My Giraffe (2014) Blue Revolver (2016) Move or Die (2016) Warlock's Tower (2017) Aeon of Sands - The Trail (2018) BYTEPATH (2018) Metanet Hunter G4 (2020) Intravenous series (2021-2024) Gravity Circuit (2023) Moonring (2023) Balatro (2024) Arco (2024)

Libraries and implementations There are various libraries and forks of LÖVE that add OOP with inheritance and overloading, interpolations, cameras, gamestates, and more. Notable examples include:

The Simple Tiled Implementation library lets users load levels as tiles, edit them using Tiled and display them in games, working with Box2D for collision management. The anim8 library loads animations, such as for characters, from an image grid into a PNG or JPEG bitmap file. LIKO-12 is a free platform inspired by the PICO-8 fantasy console and uses LÖVE. It lets users develop applications in a limited resolution, save and load them in a modified PNG format, and export them to HTML5 or to systems supported by LÖVE. Lutro is a Lua game framework for libretro, a partial port of the LÖVE API. ChaiLove offers a similar implementation in ChaiScript, an embedded, cross-platform scripting language for C++ (C++14). love.js is a port that lets LÖVE games run on the web via HTML5, WebGL, and Emscripten. g3d is a 3D engine for LÖVE, providing 3D model rendering, .obj file loading, first person movement and camera controls, perspective and orthographic projections, and 3D collisions.

Educational use LÖVE is used in Harvard University's CS50's Introduction to 2D Game Development course and is the subject of Packt Publishing's 2013 book LÖVE for Lua Game Programming.

References

External links