Löve (game framework)
Game development framework
From Wikipedia, the free encyclopedia
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.
| LÖVE | |
|---|---|
| Release | January 13, 2008[1] |
| Stable release | 11.5[2]
/ December 3, 2023 |
| Written in | C++ |
| Platform | |
| Type | Application framework |
| License | zlib license |
| Website | love2d |
| Repository | |
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.[3] Fonts render via the FreeType engine.[4] A port called piLöve targets the Raspberry Pi.[5]
The framework is frequently used in video game development competitions such as Ludum Dare.[6] In July 2018, it was the 10th most popular game development software used by independent game developers on the site Itch.io,[7] 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.[8]
Version history
| Version | Code name | Added | Release date |
|---|---|---|---|
| 0.1.1 | Santa-Power |
|
January 13, 2008 |
| 0.2.0 | Mini-Moose |
|
February 6, 2008 |
| 0.2.1 | Impending Doom |
|
March 29, 2008 |
| 0.3.0 | Mutant Vermin |
|
June 17, 2008 |
| 0.3.1 | Meat Space |
|
June 21, 2008 |
| 0.3.2 | Lemony Fresh |
|
July 4, 2008 |
| 0.4.0 | Taco Beam |
|
August 29, 2008 |
| 0.5.0 | Salted Nuts |
|
January 2, 2009 |
| 0.6.0 | Jiggly Juice |
|
December 24, 2009 |
| 0.6.1 | Jiggly Juice | February 7, 2010 | |
| 0.6.2 | Jiggly Juice |
|
March 6, 2010 |
| 0.7.0 | Game Slave |
|
December 5, 2010 |
| 0.7.1 | Game Slave |
|
February 14, 2011 |
| 0.7.2 | Game Slave |
|
May 4, 2011 |
| 0.8.0 | Rubber Piggy |
|
April 2, 2012 |
| 0.9.0 | Baby Inspector |
|
December 13, 2013 |
| 0.9.1 | Baby Inspector |
|
April 1, 2014 |
| 0.9.2 | Baby Inspector |
|
February 14, 2015 |
| 0.10.0 | Super Toast | December 22, 2015 | |
| 0.10.1 | Super Toast |
|
February 14, 2016 |
| 0.10.2 | Super Toast |
|
October 31, 2016 |
| 11.0 | Mysterious Mysteries |
|
April 1, 2018 |
| 11.1 | Mysterious Mysteries |
|
April 15, 2018 |
| 11.2 | Mysterious Mysteries |
|
November 25, 2018 |
| 11.3 | Mysterious Mysteries |
|
October 27, 2019 |
| 11.4 | Mysterious Mysteries |
|
January 22, 2022 |
| 11.5 | Mysterious Mysteries |
|
December 3, 2023 |
| 12.0 | Bestest Friend | In development |
Features
Features include:
- OpenGL pixel shaders GLSL.
- Touchscreen for mobile devices.[11]
- Joysticks by providing interface for connected joysticks.[12]
- UTF-8.[13]
- Image formats: PNG, JPEG, GIF, TGA and BMP.[14]
- Audio formats: WAV, OGG, and MP3.[15]
- Video formats: OGV.[16]
- The physics engine Box2D, which can be disabled to lighten the library.[17]
- LuaSocket library for network communications TCP/UDP.[18]
- Lua-enet library, implementing the reliable Enet protocol over UDP.[19]
Notable games
Games made with LÖVE include:
- Kingdom Rush (2011)[20]
- Mari0 (2012)[21]
- Oh My Giraffe (2014)[22]
- Blue Revolver (2016)[23][20]
- Move or Die (2016)[20]
- Warlock's Tower (2017)[24]
- Aeon of Sands - The Trail (2018)[25]
- BYTEPATH (2018)[26][27]
- Metanet Hunter G4 (2020)[28]
- Intravenous series (2021-2024)[29]
- Gravity Circuit (2023)[30][31]
- Moonring (2023)[32]
- Balatro (2024)[20]
- 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[33] and display them in games, working with Box2D for collision management.[34]
- The anim8 library loads animations, such as for characters, from an image grid into a PNG or JPEG bitmap file.[35][36]
- 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.[37]
- Lutro is a Lua game framework for libretro, a partial port of the LÖVE[38] API. ChaiLove offers a similar implementation in ChaiScript, an embedded, cross-platform scripting language for C++ (C++14).[39]
- love.js is a port that lets LÖVE games run on the web via HTML5, WebGL, and Emscripten.[40]
- 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.[41]