LÖVE (game framework)
LÖVE is a free, open-source, cross-platform framework released under the zlib license for developing 2D video games. The framework is written in C++ and uses Lua as its scripting language and is still maintained by its original developers.
![]() | |
Initial release | January 13, 2008[1] |
---|---|
Stable release | 11.4[2]
/ January 2, 2022 |
Repository | |
Written in | C++ |
Platform | Microsoft Windows, Linux, macOS, iOS, Android |
Type | Application framework |
License | zlib license |
Website | love2d |
The API provided by the framework gives access to the video and sound functions of the host machine through the libraries SDL and OpenGL, or since version 0.10 also OpenGL ES 2 and 3.[3] Fonts can be rendered by the FreeType engine.[4] A version of the framework called piLöve has been specifically ported to Raspberry Pi.[5]
The framework is frequently found in the compositions of video game development competitions, such as the game development competition 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.
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 |
12.0 | TBA | In Development |
Features
These features come with the framework:
- support of OpenGL pixel shaders GLSL,
- touchscreen support,
- joystick support
- support for UTF-8,
- supports image formats: PNG, JPEG, GIF, TGA and BMP,[10]
- supports audio formats: WAV, OGG, and MP3
- supports video formats: OGV
- supports using the 2D physics engine Box2D (can be disabled, to lighten the library),
- luasocket library for network communications TCP/UDP,
- lua-enet library, another network library implementing Enet, a reliable protocol based on UDP
- provides a basic "sandbox" management of the files in order to avoid giving access to all its disk to the executed games.
Additional Libraries & Implementations
There are various libraries and forks of Löve to improve basic functions, such as object-oriented programming with inheritance and overloading, interpolations, camera management, network multiplayer management, game state management, configuration, etc.
- The Simple Tiled Implementation library allows users to load levels as tiles, edit using Tiled[11] and display them in games. It works in conjunction with Box2D for collision management with this decor.[12]
- The anim8 library allows users to load animations, for characters for example, from an image grid into a bitmap file (PNG or JPEG).[13][14]
- There is a free platform (GPLv3) called LIKO-12, inspired by the PICO-8 fantasy console and using Löve, allowing to develop applications in a limited resolution, backup/restore in the modified PNG format, in the same way as the video game cartridges of the game consoles or some of the first microcomputers, and export them to HTML5 or to systems supported by Löve.[15]
- Lutro is a Lua game framework for libretro, a partial port of the Löve[16] API. ChaiLove follows a similar path by offering an implementation in ChaiScript, an embedded and cross-platform scripting language for C++ (C++14).[17]
- love.js is a port of Löve that aims to make it possible to run Löve games on the web via HTML5, WebGL, and Emscripten. [18]
- g3d is a 3D engine that simplifies 3D capabilities in LÖVE, it allows for: 3D model rendering, .obj file loading, first person movement and camera controls, perspective and orthographic projections, 3D collisions, etc. [19]
References
- "LÖVE version history". Retrieved 2019-06-01.
- "LÖVE 11.4". Retrieved 2022-01-20.
- "0.10.0 - Love".
- Korben (January 14, 2011). "The power of Löve !". Korben.info.
- "PiLove - LÖVE on RaspberryPI". mitako.eu.
- "Posts Tagged'love2d'". Ludum Dare.
- Rob Beschizza (July 17, 2018). "The most popular engines for indie games". Boingboing.
- Florent Zara (September 1, 2008). "Release of Löve 0.4.0, a free 2D game engine". LinuxFr.
- Christian Nutt (December 22, 2015). "New version of free LÖVE 2D game framework adds mobile support". Gamasutra.
- Marius Nestor (17 September 2018). "An Open Source and cross-platform 2D game engine that provides dynamic gaming experiences". Softpedia.
- "Tiled". mapeditor.org.
- "Simple Tiled Implementation". github.com. 8 April 2022.
- "Anim8". love2d.org.
- "An animation library for LÖVE". github. 8 April 2022.
- "[LIKO-12 V0.0.5 PRE] An open-source pico-8-inspired game dev environment for love2d". love2d.org. September 18, 2016.
- "Lutro". github. 2 March 2022.
- RobLoach (December 26, 2017). "ChaiLove - Another Take on 2D Game Development". libretro.
- "love.js". github.com.
- "g3d". github.com.
External links
- Official website
- "Love Repository". on GitHub. 10 April 2022.