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.

ReleaseJanuary 13, 2008; 18 years ago (2008-01-13)[1]
Stable release
11.5[2] / December 3, 2023; 2 years ago (2023-12-03)
Written inC++
Platform
Quick facts Release, Stable release ...
LÖVE
ReleaseJanuary 13, 2008; 18 years ago (2008-01-13)[1]
Stable release
11.5[2] / December 3, 2023; 2 years ago (2023-12-03)
Written inC++
Platform
TypeApplication framework
Licensezlib license
Websitelove2d.org
Repository
Close

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

More information Version, Code name ...
Version Code name Added Release date
0.1.1 Santa-Power
  • Reading and displaying images.
  • Reading and playing sounds.
  • Loading and rendering fonts.
  • Keyboard and mouse support.
January 13, 2008
0.2.0 Mini-Moose
  • Added a screen that displays if no game is loaded.
  • Adding an animation system.
  • Added text formatting functions.
February 6, 2008
0.2.1 Impending Doom
  • Added many filesystem functions.
  • Added dedicated save folders for games.
March 29, 2008
0.3.0 Mutant Vermin
  • Addition of the particle system.
June 17, 2008
0.3.1 Meat Space
  • Bug fixes.
June 21, 2008
0.3.2 Lemony Fresh
  • Added several graphical functions.
July 4, 2008
0.4.0 Taco Beam August 29, 2008
0.5.0 Salted Nuts
  • Added joystick support.
  • Support of protocols TCP/UDP using luasocket.
January 2, 2009
0.6.0 Jiggly Juice
  • Removed the animation system.
  • Added support for managing events like key presses.
December 24, 2009
0.6.1 Jiggly Juice
  • Added function to set and get a Box2D body's fixed rotation.
  • Added function to set the inertia of a Box2D body.
February 7, 2010
0.6.2 Jiggly Juice
  • Bug fixes.
March 6, 2010
0.7.0 Game Slave
  • Added support for working with fonts.
December 5, 2010
0.7.1 Game Slave
  • Bug fixes.
February 14, 2011
0.7.2 Game Slave
  • Updated libraries for Windows version.
May 4, 2011
0.8.0 Rubber Piggy
  • Added UTF-8 support for fonts.
  • Added PNG and JPEG encoding.
April 2, 2012
0.9.0 Baby Inspector
  • Added better multiplayer networking support.
December 13, 2013
0.9.1 Baby Inspector
  • Added support for opening a URL with a web or file browser.
April 1, 2014
0.9.2 Baby Inspector
  • Added UTF-8 encoding support.
February 14, 2015
0.10.0 Super Toast
  • Supports Android and iOS.[10]
  • Added touch screen support.
  • Added video support.
December 22, 2015
0.10.1 Super Toast
  • Added configuration option for saving files in internal or external storage on Android devices.
February 14, 2016
0.10.2 Super Toast
  • Added the ability to restart the application.
October 31, 2016
11.0 Mysterious 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.
April 1, 2018
11.1 Mysterious Mysteries
  • Bug fixes.
April 15, 2018
11.2 Mysterious Mysteries
  • Added functions to set and get a Box2D body's transform.
November 25, 2018
11.3 Mysterious 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.
October 27, 2019
11.4 Mysterious Mysteries
  • Added native Apple Silicon support on macOS.
January 22, 2022
11.5 Mysterious Mysteries
  • Added new game launcher on Android for easier loading of games.
December 3, 2023
12.0 Bestest Friend In development
Close

Features

Features include:

Notable games

Games made with LÖVE include:

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]

Educational use

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

References

Related Articles

Wikiwand AI