Open main menu

LÖVE (or Love2D) is an open-source cross-platform engine for developing 2D computer games. Designed in C++, it uses Lua as a programming language. It is published under the zlib license.

LÖVE
Initial releaseJanuary 13, 2008; 11 years ago (2008-01-13)[1]
Stable release
11.2[2] / November 25, 2018; 7 months ago (2018-11-25)
Written inC++, Lua
PlatformMicrosoft Windows
Linux
Mac OS X
iOS, Android, other
TypeGame engine
Licensezlib license
Websitelove2d.org

The API provided by the engine 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 engine FreeType.[4] A version of the engine called piLöve, has been specifically ported to Raspberry Pi.[5]

It also provides a basic "sandbox" management of the files in order to avoid giving access to all its disk to the executed games.

Löve is still maintained by its original developers.

This engine is frequently found in the compositions of video game development competitions, such as the international competition Ludum Dare.[6]

In July 2018, it was the 10th game engine most used by independents on the site itch.io.[7]

Contents

HistoryEdit

Version Code name Added Release date
0.1.1 Santa-Power
  • Reading and displaying images
  • Reading and playing sounds
  • Load and use fonts
January 13, 2008
0.2.0 Mini-Moose
  • Added a screen that displays if no game is loaded
  • Adding an animation system
February 6, 2008
0.2.1 Impending Doom
March 29, 2008
0.3.0 Mutant Vermin
  • Addition of the particle system
June 2008
0.3.1 Meat Space
June 2008
0.3.2 Lemony Fresh
August 29, 2008
0.4.0 Taco Beam July 4, 2008
0.5.0 Salted Nuts
  • Joystick support
  • Support of protocols TCP/UDP using luasocket
January 2, 2009
0.6.0 Jiggly Juice
  • Removes the animation system
December 24, 2009
0.6.1 Jiggly Juice
February 7, 2010
0.6.2 Jiggly Juice
March 6, 2010
0.7.0 Slavic Game
December 5, 2010
0.7.1 Slavic Game
February 14, 2011
0.7.2 Slavic Game
May 5, 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

Lutro is a lua game framework for libretro, partial port of the LÖVE[10] API. ChaiLove follows a similar path by offering an implementation in ChaiScript an embedded and cross-platform scripting language for C++ (C++14).[11]

FeaturesEdit

These features come with the game engine:

  • support of Open GL pixel shaders GLSL,
  • touch screen support,
  • support UTF-8,
  • supports image formats PNG, JPEG, GIF, TGA and BMP,[12]
  • possibility to use the physics engine in 2D 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
  • native management of tiles created by the Tiled.[13]

Portability and UsageEdit

Löve is based on a language and libraries that aim to be cross-platform. Löve is therefore cross-platform.

Application compatibility is not ensured between different Löve versions.

Additional librariesEdit

There are various libraries to improve basic functions, such as object programming with Inheritance and overload, interpolations, camera management, network multiplayer management, game state management, configuration etc.

The Simple Tiled Implementation library allows you to load levels as tiles, edit using Tiled[14] and display them in games. It works in conjunction with Box2D for collision management with this decor.[15]

The anim8 library allows you to load animations, for characters for example, from an image grid into a bitmap file (PNG or JPEG).[16][17]

There is also 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.[18]

BibliographyEdit

  • Damilare Darmie Akinlaja (2013). LÖVE2d for Lua Game Programming -master the Lua programming language and build exciting strategy-based games in 2D using the LÖVE framework. PacktPub. ISBN 9781461946038. OCLC 864886612.
  • Jayant Varma (2012). Learn Lua for iOS game development. Apress. ISBN 9781430246633. OCLC 834071764.

ReferencesEdit

  1. ^ "LÖVE version history". Retrieved 2019-06-01.
  2. ^ "LÖVE 11.2". Retrieved 2019-06-01.
  3. ^ https://love2d.org/wiki/0.10.0
  4. ^ Korben (January 14, 2011). "The power of Löve !". Korben.info.
  5. ^ "PiLove - LÖVE on RaspberryPI". mitako.eu.
  6. ^ "Posts Tagged'love2d'". Ludum Dare.
  7. ^ Rob Beschizza (July 17, 2018). "The most popular engines for indie games". Boingboing.
  8. ^ Florent Zara (September 1, 2008). "Löve Output 0.4.0 free game engine, 2D". Linux.
  9. ^ Christian Nutt (December 22, 2015). "New version of free LÖVE 2D game framework adds mobile support". Gamasutra.
  10. ^ "Lutro". github.
  11. ^ RobLoach (December 26, 2017). "ChaiLove - Another Take on 2D Game Development". libretro.
  12. ^ Marius Nestor. "An Open Source and cross-platform 2D game engine that provides dynamic gaming experiences". Softpedia (in lang-en).CS1 maint: Unrecognized language (link)
  13. ^ Landon Manning (December 21, 2015). "Using Tiled Maps in LÖVE". lua.space.
  14. ^ "Tiled". mapeditor.org.
  15. ^ "Simple Tiled Implementation". github.com.
  16. ^ "Anim8". love2d.org.
  17. ^ "An animation library for LÖVE". github.
  18. ^ "[LIKO-12 V0.0.5 PRE] An open-source pico-8-inspired game dev environment for love2d". love2d.org. September 18, 2016.

External linksEdit