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
- Introduction
- Installation
- Variables
- Fonctions
- LÖVE
- Déplacer un rectangle
- La condition if
- Les tables et les boucles for
- Les objets
- Fichiers multiples et portée des variables
- Les bibliothèques
- Les classes
- Les images
- Les collisions
- Jeu : tirer sur un ennemi
- Partager votre jeu
- Angles et distances
- Animation
- Les tuiles
- L’audio
- Le debugging
- Sauvegarde et chargement
- Les caméras et les cadres
- Résolution des collisions
- Jeu de plateforme