Löve (game framework)
{{Short description|Game development framework}}
{{Notability|date=January 2024}}
{{Infobox software
| logo = LÖVE logo.svg
| name = LÖVE
| released = {{Start date and age|2008|01|13}}{{cite web |url=https://love2d.org/wiki/Version_History |title=LÖVE version history |access-date=2019-06-01 }}
| latest release version = 11.5{{cite web |url=https://love2d.org/wiki/11.5 |title=LÖVE 11.5 |access-date=2024-01-07 }}
| latest release date = {{Start date and age|2023|12|03}}
| programming language = C++
| platform = {{ubl|FreeBSD|OpenBSD|NetBSD|Microsoft Windows|Linux|macOS|iOS|Android}}
| genre = Application framework
| license = zlib license
| website = {{URL|https://love2d.org/}}
}}
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 and is still maintained by its original developers. The framework is cross-platform supporting the platforms Microsoft Windows, macOS, Linux, Android, and iOS.
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.{{Cite web|url=https://love2d.org/wiki/0.10.0|title=0.10.0 - LOVE|website=love2d.org|accessdate=7 August 2023}} Fonts can be rendered by the FreeType engine.{{Cite web|language=en| url=http://korben.info/love-framework.html| title=The power of Löve !| author=Korben|date=January 14, 2011| website=Korben.info}} A version of the framework called piLöve has been specifically ported to Raspberry Pi.{{Cite web|language=en|url=http://pilove.mitako.eu/| title=PiLove - LÖVE on RaspberryPI| website=mitako.eu}}
The framework is frequently found in the compositions of video game development competitions, such as the game development competition Ludum Dare.{{Cite web|language=en|url=http://ludumdare.com/compo/tag/love2d/|title=Posts Tagged'love2d'|website=Ludum Dare}} In July 2018, it was the 10th most popular game development software used by independent game developers on the site Itch.io,{{Cite web| url=https://boingboing.net/2018/07/17/the-most-popular-engines-for-i.html| title=The most popular engines for indie games| author=Rob Beschizza| date= July 17, 2018| website=Boingboing}} holding a 1.97% share.
Version history
class="wikitable sortable"
|+ !class=unsortable|Version !class=unsortable|Code name !class=unsortable|Added !Release date |
[https://love2d.org/wiki/0.1.1 0.1.1]
|Santa-Power |
|{{Date table sorting|2008|1|13}} |
[https://love2d.org/wiki/0.2.0 0.2.0]
|Mini-Moose |
|{{Date table sorting|2008|2|6}} |
[https://love2d.org/wiki/0.2.1 0.2.1]
|Impending Doom |
|{{Date table sorting|2008|3|29}} |
[https://love2d.org/wiki/0.3.0 0.3.0]
|Mutant Vermin |
|{{Date table sorting|2008|6|17}} |
[https://love2d.org/wiki/0.3.1 0.3.1]
|Meat Space |
|{{Date table sorting|2008|6|21}} |
[https://love2d.org/wiki/0.3.2 0.3.2]
|Lemony Fresh |
|{{Date table sorting|2008|7|4}} |
[https://love2d.org/wiki/0.4.0 0.4.0]
|Taco Beam |
|{{Date table sorting|2008|8|29}} |
[https://love2d.org/wiki/0.5.0 0.5.0]
|Salted Nuts |
|{{Date table sorting|2009|1|2}} |
[https://love2d.org/wiki/0.6.0 0.6.0]
|Jiggly Juice |
|{{Date table sorting|2009|12|24}} |
[https://love2d.org/wiki/0.6.1 0.6.1]
|Jiggly Juice |
|{{Date table sorting|2010|2|7}} |
[https://love2d.org/wiki/0.6.2 0.6.2]
|Jiggly Juice |
|{{Date table sorting|2010|3|6}} |
[https://love2d.org/wiki/0.7.0 0.7.0]
|Game Slave |
|{{Date table sorting|2010|12|5}} |
[https://love2d.org/wiki/0.7.1 0.7.1]
|Game Slave |
|{{Date table sorting|2011|2|14}} |
[https://love2d.org/wiki/0.7.2 0.7.2]
|Game Slave |
|{{Date table sorting|2011|5|4}} |
[https://love2d.org/wiki/0.8.0 0.8.0]
|Rubber Piggy |
|{{Date table sorting|2012|4|2}} |
[https://love2d.org/wiki/0.9.0 0.9.0]
|Baby Inspector |
|{{Date table sorting|2013|12|13}} |
[https://love2d.org/wiki/0.9.1 0.9.1]
|Baby Inspector |
|{{Date table sorting|2014|4|1}} |
[https://love2d.org/wiki/0.9.2 0.9.2]
|Baby Inspector |
|{{Date table sorting|2015|2|14}} |
[https://love2d.org/wiki/0.10.0 0.10.0]
|Super Toast |
|{{Date table sorting|2015|12|22}} |
[https://love2d.org/wiki/0.10.1 0.10.1]
|Super Toast |
|{{Date table sorting|2016|2|14}} |
[https://love2d.org/wiki/0.10.2 0.10.2]
|Super Toast |
|{{Date table sorting|2016|10|31}} |
[https://love2d.org/wiki/11.0 11.0]
|Mysterious Mysteries |
|{{Date table sorting|2018|4|1}} |
[https://love2d.org/wiki/11.1 11.1]
|Mysterious Mysteries |
|{{Date table sorting|2018|4|15}} |
[https://love2d.org/wiki/11.2 11.2]
|Mysterious Mysteries |
|{{Date table sorting|2018|11|25}} |
[https://love2d.org/wiki/11.3 11.3]
|Mysterious Mysteries |
|{{Date table sorting|2019|10|27}} |
[https://love2d.org/wiki/11.4 11.4]
|Mysterious Mysteries |
|{{Date table sorting|2022|01|22}} |
[https://love2d.org/wiki/11.5 11.5]
|Mysterious Mysteries |
|{{Date table sorting|2023|12|03}} |
[https://love2d.org/wiki/12.0 12.0]
|Bestest Friend | |In development |
Features
The framework provides these features:
- Supports OpenGL pixel shaders GLSL.
- Supports touchscreen for mobile devices.{{Cite web|url=https://love2d.org/wiki/love.touch|title=love.touch - LOVE|website=love2d.org|accessdate=7 August 2023}}
- Supports joysticks by providing interface for connected joysticks.{{Cite web|url=https://love2d.org/wiki/love.joystick|title=love.joystick - LOVE|website=love2d.org|accessdate=7 August 2023}}
- Supports UTF-8.{{Cite web|url=https://love2d.org/wiki/utf8|title=utf8 - LOVE|website=love2d.org|accessdate=7 August 2023}}
- Supports image formats: PNG, JPEG, GIF, TGA and BMP.{{Cite web|url=https://love2d.org/wiki/Image_Formats|title=Image Formats - LOVE|website=love2d.org|accessdate=7 August 2023}}
- Supports audio formats: WAV, OGG, and MP3.{{Cite web|url=https://love2d.org/wiki/Audio_Formats|title=Audio Formats - LOVE|website=love2d.org|accessdate=7 August 2023}}
- Supports video formats: OGV.{{Cite web|url=https://love2d.org/wiki/love.video|title=love.video - LOVE|website=love2d.org|accessdate=7 August 2023}}
- Supports the physics engine Box2D in games, which can be disabled to lighten the library.{{Cite web|url=https://love2d.org/wiki/love.physics|title=love.physics - LOVE|website=love2d.org|accessdate=7 August 2023}}
- Supports the LuaSocket library for network communications TCP/UDP.{{Cite web|url=https://love2d.org/wiki/socket|title=socket - LOVE|website=love2d.org|accessdate=7 August 2023}}
- Supports the lua-enet library, another network library implementing Enet, a reliable protocol based on UDP.{{Cite web|url=https://love2d.org/wiki/lua-enet|title=lua-enet - LOVE|website=love2d.org|accessdate=7 August 2023}}
Notable games
Some of the games that have been made with LÖVE:
- Kingdom Rush (2011){{cite web |title=Kingdom Rush|url=https://steamdb.info/tech/Engine/Love2D/|website=steamdb.info|accessdate=26 March 2024}}
- Mari0 (2012){{Cite web|url=https://github.com/Stabyourself/mari0|title=Mari0 Source|website=github.com|accessdate=26 March 2024}}
- Oh My Giraffe (2014){{Cite web|url=https://www.ohmygiraffe.com/|title=oh my giraffe · a delightful game of survival|website=www.ohmygiraffe.com|accessdate=7 August 2023}}
- Blue Revolver (2016){{Cite web|url=http://bluerevolvergame.com/|title=BLUE REVOLVER|website=bluerevolvergame.com|accessdate=7 August 2023}}{{Cite web|url=https://steamdb.info/tech/Engine/Love2D/|title=BLUE REVOLVER|website=steamdb.info|accessdate=26 March 2024}}
- Move or Die (2016){{cite web |title=Move or Die|url=https://steamdb.info/tech/Engine/Love2D/|website=steamdb.info|accessdate=26 March 2024}}
- Warlock's Tower (2017){{Cite web|url=https://store.steampowered.com/app/530370/Warlocks_Tower/|title=Warlock's Tower on Steam|website=store.steampowered.com|accessdate=7 August 2023}}
- Aeon of Sands - The Trail (2018){{Cite web|url=https://store.steampowered.com/app/907820/Aeon_of_Sands__The_Trail/|title=Aeon of Sands - The Trail on Steam|website=store.steampowered.com|accessdate=7 August 2023}}
- BYTEPATH (2018){{Cite web|url=https://store.steampowered.com/app/760330/BYTEPATH/|title=BYTEPATH on Steam|website=store.steampowered.com|accessdate=7 August 2023}}{{Cite web|url=https://github.com/a327ex/blog/issues/30|title=BYTEPATH development tutorial|website=github.com|accessdate=26 March 2024}}
- Metanet Hunter G4 (2020){{Cite web|url=https://nightkawata.itch.io/metanet-hunter-g4|title=Metanet Hunter G4 by NIGHT KAWATA|website=itch.io|accessdate=7 August 2023}}
- Intravenous series (2021-2024){{Cite web|url=https://www.igdb.com/games/intravenous |title=Intravenous' IGDB bio |website=www.igdb.com |accessdate=August 21, 2024}}
- Gravity Circuit (2023){{Cite web|url=https://www.igdb.com/games/gravity-circuit |title=Gravity Circuit's IGDB bio |website=www.igdb.com |accessdate=August 22, 2024}}{{Cite web |title=Gravity Circuit - LÖVE |url=https://www.love2d.org/forums/viewtopic.php?p=252345 |access-date=2024-12-02 |website=www.love2d.org}}
- Moonring (2023){{cite web |title=Moonring|url=https://dene.itch.io/moonring|website=itch.io|accessdate=12 January 2024}}
- Balatro (2024){{cite web |title=Balatro|url=https://steamdb.info/tech/Engine/Love2D/|website=steamdb.info|accessdate=26 March 2024}}
- Arco (2024)
Libraries and implementations
There are various libraries and forks of LÖVE to improve basic functions, such as OOP with inheritance and overloading, interpolations, cameras, gamestates, etc. This is a small list of some:
- The Simple Tiled Implementation library allows users to load levels as tiles, edit using Tiled{{Cite web|language=en|url=http://www.mapeditor.org/|title=Tiled|website=mapeditor.org}} and display them in games. It works in conjunction with Box2D for collision management with this decor.{{Cite web|url=https://github.com/karai17/Simple-Tiled-Implementation|title=Simple Tiled Implementation|website=github.com|date=8 April 2022}}
- The anim8 library allows users to load animations, for characters for example, from an image grid into a bitmap file (PNG or JPEG).{{Cite web|language=en| url=https://love2d.org/wiki/anim8|title=Anim8|website=love2d.org}}{{Cite web|language=en| url=https://github.com/kikito/anim8| title=An animation library for LÖVE|website=github| date=8 April 2022}}
- LIKO-12 is a free platform inspired by the PICO-8 fantasy console and uses LÖVE. It allows users to develop applications in a limited resolution, backup/restore in the modified PNG format, in the same way as video game cartridges or some of the first microcomputers, and export them to HTML5 or to systems supported by LÖVE.{{Cite web|url=https://love2d.org/forums/viewtopic.php?f=5&t=82913| title=[LIKO-12 V0.0.5 PRE] An open-source pico-8-inspired game dev environment for love2d| website=love2d.org|date= September 18, 2016}}
- Lutro is a Lua game framework for libretro, a partial port of the LÖVE{{Cite web|language=en|url=https://github.com/libretro/libretro-lutro|title=Lutro|website=github|date=2 March 2022}} API. ChaiLove follows a similar path by offering an implementation in ChaiScript, an embedded and cross-platform scripting language for C++ (C++14).{{Cite web|language=en|url=https://www.libretro.com/index.php/chailove/ |title=ChaiLove - Another Take on 2D Game Development| date= December 26, 2017| author=RobLoach| website=libretro}}
- 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.{{Cite web|language=en|url=https://github.com/Davidobot/love.js|title=love.js|website=github.com}}
- 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 and more.{{Cite web|url=https://github.com/groverburger/g3d|title=g3d|website=github.com}}
References
{{reflist|30em}}
External links
- {{official website}}
- {{cite web|title=LÖVE GitHub repository|url=https://github.com/love2d/love|website= on GitHub|date=10 April 2022|language=en}}
- {{cite web|title=Chart of LÖVE engine games on itch.io. 2000+ titles, circa 2024. |url=https://itch.io/games/made-with-love2d |website= on itch.io |access-date=August 21, 2024 |language=en}}
{{Video game engines}}
{{DEFAULTSORT:Love}}
Category:Video game development software
Category:Video game development software for Linux
Category:Cross-platform software
Category:Free computer libraries