Löve par l'exemple

Traduction du site Sheepolution

Je me lance dans la traduction des nouveaux tutoriels de Sheepolution.
Pourquoi traduire du Lua et non du Go ? La réponse est simple : il existe de nombreuses bibliothèques 2D en Go, mais aucune n’est finalisée ni réellement exploitable à l’heure où j’écris ces lignes. Cela s’explique par la jeunesse de l’écosystème. Autant se faire la main sur une base solide, bien documentée.

Pourquoi “nouveaux” tutoriels ?

Je les avais déjà traduits auparavant, mais lors de ma dernière visite, j’ai constaté qu’ils avaient tous été refaits.

Ensuite, je cherchais :

  • une bibliothèque libre — exit Unity3D, Unreal Engine, etc.
  • une bibliothèque portable (Linux, Windows, et pourquoi pas Android ou davantage)
  • et surtout, hors de question de tout coder en C/C++/Java : je n’ai plus le temps ni l’envie

Après plusieurs jours de recherches, mon choix s’est réduit à Python (pygame) et Lua (Löve entre autres).
Ne connaissant que très peu Lua, et désireux d’élargir mes compétences, je me lance donc dans l’aventure avec Lua et Löve (aussi appelé love2d).

Ce qui m’a également freiné avec pygame, c’est son aspect très bas niveau, nécessitant beaucoup de lignes de code pour peu de résultats. Attention, Löve n’est pas non plus magique : il faudra aussi écrire du code, mais le gain en expressivité et en structure vaut l’effort.

Les quatre premiers articles sont des tutoriels sur le langage Lua, orientés conception de jeux. J’ai déjà abordé le sujet avec Lua par l’exemple.

À noter que sur le site de Sheepolution, ces tutoriels existent également au format vidéo.

Avant d’entrer dans le vif du sujet, je précise que j’ajouterai, au besoin, des remarques personnelles pour améliorer la compréhension des articles.

C’est parti !

Sommaire

  1. Introduction
  2. Installation
  3. Variables
  4. Fonctions
  5. LÖVE
  6. Déplacer un rectangle
  7. La condition if
  8. Les tables et les boucles for
  9. Les objets
  10. Fichiers multiples et portée des variables
  11. Les bibliothèques
  12. Les classes
  13. Les images
  14. Les collisions
  15. Jeu : tirer sur un ennemi
  16. Partager votre jeu
  17. Angles et distances
  18. Animation
  19. Les tuiles
  20. L’audio
  21. Le debugging
  22. Sauvegarde et chargement
  23. Les caméras et les cadres
  24. Résolution des collisions
  25. Jeu de plateforme