LÖVE

Löve Description de l'image LÖVE logo.svg.

Informations
Développé par Anders Ruud, Michael Enger, Tommy Nguyen
Première version 13 janvier 2008
Dernière version 11.5 (3 décembre 2023)
Dépôt github.com/love2d/love
État du projet En développement actif
Écrit en C++
Supporte les langages Lua
Système d'exploitation Android, iOS, Linux, macOS et Microsoft Windows
Langues Anglais
Type Moteur de jeu
Licence Licence zlib
Site web love2d.org

LÖVE (ou Love2D) est un moteur libre multiplate-forme de développement de jeux informatiques 2D. Conçu en C++, il utilise Lua comme langage de programmation. Il est publié sous la licence zlib.

L'API fournie par le moteur donne accès aux fonctions vidéo et sonores de la machine hôte grâce aux bibliothèques SDL et OpenGL, ou depuis la version 0.10 également OpenGL ES 2 et 3. Les polices de caractères peuvent être rendues par le moteur FreeType. Une version du moteur appelée piLöve, a été portée spécifiquement sur Raspberry Pi.

À noter également, une gestion « bac à sable » des fichiers afin d'éviter de donner l'accès à tout son disque aux jeux exécutés.

Löve est toujours maintenu par ses développeurs originaux.

On retrouve fréquemment ce moteur dans les compositions des compétitions de développement de jeux vidéo, comme la compétition internationale Ludum Dare. Il existe également une compétition LÖVE jam, l'édition 2019 de la compétition comportait 37 entrées.

En juillet 2018, il était le 10e moteur de jeu le plus utilisé par les indépendants sur le site itch.io.

Implémentations de frameworks compatibles

Lutro est un framework de jeu en Lua pour libretro, port partiel de l'API de LÖVE. ChaiLove suit un peu le même chemin en proposant une implémentation en ChaiScript un langage de script embarqué et multi-plateforme pour C++ (C++14).

Fonctionnalités

Ces fonctionnalités viennent avec le moteur de jeu :

La version 12, supportera l'API Vulkan sur l'ensemble des plateformes, ainsi que l'API Metal sur OS-X.

Portabilité et utilisation

Löve est basé sur un langage et des bibliothèques qui ont pour objectif d'être multiplate-forme. Löve est donc multiplate-forme.

La compatibilité des applications n'est pas assurée entre Love 0.9 et love-0.10.

Bibliothèques supplémentaires

Il existe différentes bibliothèques permettant d'améliorer les fonctions de base, telle que la programmation objet avec héritage et surcharge, des interpolations, des gestions de caméra, de la gestion multijoueur en réseau, de la gestion d'état de jeu, de sauvegarde/restauration de configuration, etc..

La bibliothèque Simple Tiled Implementation permet de charger des niveaux sous forme de tuiles, de les éditer à l'aide de Tiled et de les afficher au sein des jeux. Il fonctionne de pair avec Box2D pour la gestion de la collision avec ce décor.

La bibliothèque anim8 permet de charger des animations, pour les personnages par exemple, à partir d'une grille d'image dans un fichier bitmap (PNG ou JPEG),.

Il existe également une plateforme libre (GPLv3) appelée LIKO-12, inspiré par PICO-8 fantasy console et utilisant LÖVE, permettant de développer des applications dans une résolution limitée, la sauvegarde/restauration dans le format PNG modifié, à la manière des cartouches de jeu vidéo des consoles de jeu ou de certains des premiers micro-ordinateurs, et de les exporter en HTML5 ou vers les systèmes supportés par LÖVE.

Historique

Version Nom de code Ajouts Date de sortie
0.1.1 Santa-Power
  • Lire et afficher des images
  • Lire et jouer des sons
  • Charger et utiliser des polices de caractères
13 janvier 2008
0.2.0 Mini-Moose
  • Ajout d'un écran qui s'affiche quand aucun jeu n'est chargé
  • Ajout d'un système d'animation
6 février 2008
0.2.1 Impending Doom 29 mars 2008
0.3.0 Mutant Vermin
  • Ajout du système de particules
Juin 2008
0.3.1 Space Meat Juin 2008
0.3.2 Lemony Fresh 29 Aout 2008
0.4.0 Taco Beam 4 juillet 2008
0.5.0 Salted Nuts
  • Support des Joystick
  • Support des protocoles TCP/UDP grâce à luasocket
2 janvier 2009
0.6.0 Jiggly Juice
  • Retire le système d'animation
24 décembre 2009
0.6.1 Jiggly Juice 7 février 2010
0.6.2 Jiggly Juice 6 mars 2010
0.7.0 Game Slave 5 décembre 2010
0.7.1 Game Slave 14 février 2011
0.7.2 Game Slave 5 mai 2011
0.8.0 Rubber Piggy 2 avril 2012
0.9.0 Baby Inspector 13 décembre 2013
0.9.1 Baby Inspector 1er avril 2014
0.9.2 Baby Inspector 14 février 2015
0.10.0 Super Toast 22 décembre 2015
0.10.1 Super Toast 14 février 2016
0.10.2 Super Toast 31 octobre 2016
11.0 Mysterious Mysteries 1er avril 2018
11.1 Mysterious Mysteries 15 avril 2018
11.2 Mysterious Mysteries 25 novembre 2018
11.3 Mysterious Mysteries 27 octobre 2019
11.4 Mysterious Mysteries
  • LuaJIT 2.1 est désormais utilisé dans toutes les versions où LuaJIT est intégré avec LÖVE (macOS, Windows, iOS, Android, Linux AppImage)
2 janvier 2022
11.5 Mysterious Mysteries
  • Correction de bug dans l'itérateur de paires de LuaJIT, d'une erreur de jointure sur les lignes parallèle, un nouveau lanceur pour Android et la désactivation du JIT sur les Apple Silicon qui y épuisait rapidement la mémoire.
3 décembre 2023
12.0 à venir

Quelques projets notoires

Annexes

Notes et références

  1. « https://love2d.org/forums/viewtopic.php?t=95265 »
  2. (en) « 0.10.0 », sur love2d.org (consulté le 20 novembre 2023).
  3. Korben, « The power of Löve ! », sur Korben.info, 14 janvier 2011
  4. (en) « PiLove - LÖVE on RaspberryPI », sur mitako.eu
  5. (en) « Posts Tagged ‘love2d’ », sur Ludum Dare
  6. (en) Pablo Ariel Mayobre, « LÖVE Jam 2019 », sur Itch.io
  7. Rob Beschizza, « The most popular engines for indie games », sur Boing Boing, 17 juillet 2018
  8. (en) « Lutro », sur github
  9. (en) RobLoach, « ChaiLove – Another Take on 2D Game Development », sur libretro, 26 décembre 2017
  10. (en) Marius Nestor, « An Open Source and cross-platform 2D game engine that provides dynamic gaming experiences », sur Softpedia
  11. (en) Landon Manning, « Using Tiled Maps in LÖVE », sur lua.space, 21 décembre 2015
  12. https://love2d.org/wiki/12.0
  13. (en) « Category:Libraries », sur love2d.org
  14. (en) « Tiled », sur mapeditor.org
  15. (en) « Simple Tiled Implementation », sur github.com
  16. (en) « Anim8 », sur love2d.org
  17. (en) « An animation library for LÖVE », sur github
  18. (en) «  An open-source pico-8-inspired game dev environment for love2d », sur love2d.org, 18 septembre 2016
  19. Florent Zara, « Sortie de Löve 0.4.0, moteur libre de jeu en 2D », sur LinuxFR, 1er septembre 2008
  20. (en) Christian Nutt, « New version of free LÖVE 2D game framework adds mobile support », sur Gamasutra, 22 décembre 2015
  21. (en) Peter Kirn, « Chill out to some granular goodness in Modular Play on Playdate portable », sur CDM, 28 décembre 2023

Bibliographie

Tutoriels en ligne

Liens externes