Sorry, this page is no longer available
We may earn an affiliate commission when you visit our partners.
Course image
Anthony Cardinale | C#, Unity, Blender, Unreal, IA and Formation-Facile.Fr | Tutos développement de jeux vidéo

Cette formation va vous initier à la conception de jeux 2D avec LÖVE. Vous n'avez pas besoin de connaissances particulières, simplement avoir envie d'apprendre avec un expert certifié et reconnu qui vous transmettra les bonnes pratiques.

Cette formation débutera par des notions fondamentales afin que vous puissiez prendre en main LÖVE et LUA puis nous poursuivrons notre apprentissage de la création de jeux 2D en développant un petit projet. Nous mettrons donc en pratique nos connaissances afin de bien assimiler toutes les notions.

Read more

Cette formation va vous initier à la conception de jeux 2D avec LÖVE. Vous n'avez pas besoin de connaissances particulières, simplement avoir envie d'apprendre avec un expert certifié et reconnu qui vous transmettra les bonnes pratiques.

Cette formation débutera par des notions fondamentales afin que vous puissiez prendre en main LÖVE et LUA puis nous poursuivrons notre apprentissage de la création de jeux 2D en développant un petit projet. Nous mettrons donc en pratique nos connaissances afin de bien assimiler toutes les notions.

Nous apprendrons à programmer avec LUA, langage extrêmement simple à utiliser et nous verrons les différentes fonctions proposées par Löve2D. LÖVE est basé sur la SDL, c'est à dire qu'il propose les fonctionnalités de la SDL mais utilise le langage LUA. Cela vous permet de faire la même chose qu'avec la SDL mais sans la complexité du langage C.

Les outils de développement présentés dans ce cours sont ceux utilisés dans le jeu Balatro. Cela vous donne une idée de ce qu'il est possible de réaliser avec Love et LUA.

A l'issue de cette formation vous maîtriserez les principales fonctionnalités du framework. Vous serez en mesure de développer vos jeux 2D avec LÖVE. Nous verrons même comment créer un mode multijoueur en ligne grâce aux sockets.

Il s'agit donc d'une formation complète qui vous permettra de faire un premier pas dans le monde du développement de jeux vidéo.

Nous allons faire le tour des principales fonctionnalités de Löve2D à savoir :

  • Créer un projet

  • Utiliser les variables et tableaux

  • Programmer des conditions

  • Gérer les entrées clavier / souris

  • Afficher des éléments à l'écran

  • Déplacer un personnage avec le clavier

  • Gérer les collisions

  • Jouer du son

  • Utiliser des tiles pour créer nos maps

  • Mettre en réseau un jeu avec les sockets

  • Tirer sur des ennemis

  • Ramasser des objets

  • Changer d'écran de jeu

  • Animer les personnages

  • Gérer un inventaire

  • Compiler le projet

  • ...

C'est l'idéal pour débuter dans la création de jeux vidéo de façon simple, rapide et concrète.

N'attendez plus, rejoignez ma formation, vous ne le regretterez pas, c'est satisfait ou 100% remboursé .

Enroll now

What's inside

Learning objectives

  • Utiliser le framework löve2d
  • Programmer avec le langage lua
  • Créer des jeux 2d facilement
  • Apprendre les bonnes pratiques avec un expert
  • S'initier à la programmation
  • Faire un premier pas en tant que développeur de jeux indépendant
  • Apprendre les mêmes outils que ceux utilisés pour le jeu balatro

Syllabus

Les notions fondamentales de la création de jeux avec Löve2D et le langage LUA

Dans cette première vidéo nous allons découvrir le framework LÖVE que nous utiliserons pour la création de jeux. Nous allons télécharger cet outil et découvrir des projets réalisés avec Löve2D.

Read more

Dans cette seconde vidéo nous allons voir comment créer un nouveau projet LÖVE, comment le lancer et nous allons écrire quelques lignes de code en LUA.

Pensez à télécharger les ressources. Je vous donne tout le code source pour chaque vidéo afin que vous puissiez vérifier votre code.

Dans cette vidéo nous allons découvrir LUA, le langage de programmation que nous allons utiliser tout au long de cette formation.

Nous allons découvrir comment coder des conditions afin de tester des variables pour déclencher un scénario différent en fonction de la valeur de ces variables.

Nous allons voir comment détecter lorsque le joueur appuie sur une touche du clavier afin de déclencher un événement en fonction de la touche utilisée.

Il est possible de créer un jeu basé sur du texte, mais le mieux est de dessiner des choses à l'écran ! Nous allons découvrir comment dessiner des formes à l'écran avec les outils proposés par Löve2D.

Actuellement nos textes sont trop petits et peu lisibles. Nous allons voir comment utiliser d'autres polices d'écriture (fonts) et comment les modifier.

Nous savons afficher des formes, nous savons détecter les touches du clavier alors nous allons programmer le mouvement d'une forme en fonction des flèches du clavier utilisées.

Actuellement nous n'affichons que des formes basiques à l'écran. Nous allons découvrir comment afficher des images afin d'obtenir de beaux rendus.

Les collisions sont essentielles dans le jeu vidéo. Nous allons programmer notre première HitBox afin de détecter la collision entre deux éléments 2D.

Nous allons apprendre à travailler avec le son. Nous pourrons alors ajouter de la musique et ajouter des effets sonores (SFX) par exemple lorsque le joueur rentre en collision avec un autre objet.

Les boucles sont très utilisées en programmation. Elles permettent de répéter une opération plusieurs fois. Cela va permettre, dans notre cas, d'afficher des tuiles à l'écran pour dessiner la map (tilemap).

En programmation, lorsque nous réalisons des opérations complexes, cela peut consommer beaucoup de ressources. Je vais vous montrer comment optimiser votre code afin d'obtenir de meilleures performances (plus d'images par seconde).

Je vais vous montrer comment changer d'écran pour par exemple passer de l'écran du menu à l'écran de jeu.

Pour le moment nos maps sont conservées dans notre code principal. Nous allons voir comment séparer le code dans plusieurs fichiers afin que le tout reste lisible et maintenable. 

Nous allons créer une seconde map afin d'enrichir notre projet.

Nous allons voir comment passer d'un écran à un autre afin que le joueur puisse se balader dans notre monde virtuel.

Dans la plupart des jeux nous avons un système d'inventaire. Nous allons voir comment ramasser une clé et comment l'ajouter à l'inventaire.

En général, pour les jeux 2D, les personnages sont sous feuille de sprites. Nous allons voir comment charger le personnage et comment affiche une partie de notre feuille de sprites.

Nous avons réussi à afficher notre personnage. Nous allons maintenant voir comment l'animer.

Nous allons voir comment créer un jeu en réseau avec les sockets. Nous allons commencer par programmer le serveur qui gérera les clients.

Notre serveur est prêt. Nous allons maintenant gérer les clients, c'est à dire les différents joueurs qui se connecteront au serveur.

Nous allons voir comment modifier rapidement le design du jeu sans avoir besoin de modifier le code. Grâce au système de tiles, nous pouvons remplacer les tiles pour changer le visuel.

Nous allons programmer le projectile (flèche) que le joueur pourra tirer sur les ennemis. Je vous présenterai un script qui vous fera gagner beaucoup de temps.

Maintenant que le projectile est prêt, nous allons programmer la fonction de tir de la flèche. Nous allons voir comment détecter la collision entre la flèche et les ennemis.

Nous allons voir comment générer l'exécutable du jeu et comment le publier sur itch.io.

Faire en sorte qu'un jeu soit compatible avec une manette / joystick connecté en USB.

Pour répondre à la question "Peut on envoyer et recevoir des informations par UDP ?" ou encore "Comment transmettre des infos du client au serveur et inversement via UDP ?" j'ai réalisé une petite vidéo. Vous y apprendrez à ajuster la partie réseau / sockets pour une communication bidirectionnelle entre client/serveur.

Traffic lights

Read about what's good
what should give you pause
and possible dealbreakers
Uses LUA, a language known for its simplicity, making it accessible for those new to game development and programming in general
Covers essential game development concepts such as collision detection, character movement, and sound integration, which are fundamental for building interactive experiences
Explores advanced topics like networking with sockets, offering learners the chance to implement online multiplayer functionality in their 2D games
Demonstrates industry-relevant practices by showcasing tools used in the development of the game Balatro, providing insights into real-world game development workflows
Includes a section on compiling the project and publishing it on itch.io, guiding learners through the process of sharing their games with the world
Requires learners to download LÖVE, which may require some learners to upgrade their computer's operating system to a more recent version

Save this course

Create your own learning path. Save this course to your list so you can find it easily later.
Save

Reviews summary

Création de jeux 2d avec löve et lua

Selon les apprenants, ce cours est un excellent point de départ pour débuter dans la création de jeux 2D, même sans expérience préalable en programmation. L'instructeur présente le framework LÖVE2D et le langage LUA de manière claire et progressive. Les activités pratiques et la construction d'un petit projet concret tout au long du cursus aident à bien assimiler les notions fondamentales. Le cours couvre les bases essentielles de la création de jeux (collisions, tilemaps, animation) et aborde des aspects plus avancés comme le réseau et la publication, le rendant particulièrement pertinent pour les développeurs indépendants souhaitant publier leurs créations.
Utile pour jeux indépendants.
"Le module sur le réseau était inattendu et très intéressant."
"Apprendre à compiler et publier sur itch.io est super utile pour se lancer."
"Ces sections bonus ajoutent une vraie valeur pour les développeurs indépendants."
Introduction solide aux outils.
"J'ai maintenant une bonne compréhension des bases de LÖVE2D."
"Introduction efficace au langage LUA."
"On voit les fonctions essentielles de LÖVE pour démarrer ses propres projets."
Apprentissage par la pratique efficace.
"Construire un petit jeu en parallèle des leçons rend l'apprentissage très concret."
"Le projet final permet de bien mettre en pratique tout ce qu'on a appris."
"J'apprécie l'approche 'learning by doing' du cours."
Les concepts sont bien expliqués et faciles à suivre.
"L'instructeur explique les concepts très clairement et prend son temps."
"J'ai trouvé ses explications faciles à comprendre."
"La manière dont il explique les choses est vraiment top, très pédagogique."
Excellent premier pas en développement de jeux.
"Je suis débutant complet et j'ai pu suivre sans problème. Super pour commencer !"
"C'était mon premier cours de programmation et développement de jeux, très accessible."
"Idéal si vous n'avez jamais touché à LÖVE2D ou LUA avant."
Organisation parfois perfectible.
"Parfois le code fourni dans les ressources est un peu désordonné."
"J'ai dû passer un peu de temps à réorganiser le code pour mieux comprendre."
"L'organisation des fichiers de code pourrait être améliorée."
Pas assez avancé pour confirmés.
"Si vous cherchez des techniques avancées, ce cours reste assez basique."
"C'est une introduction solide, mais pas un cours de perfectionnement."
"Les sujets pourraient être approfondis pour les niveaux intermédiaires."

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in LÖVE 2D : Apprenez à créer des jeux 2D facilement avec LUA with these activities:
Lecture: Programming in LUA
Approfondir la connaissance du langage LUA avec un ouvrage de référence pour une meilleure maîtrise de LÖVE2D.
Show steps
  • Lire les chapitres sur les bases du langage LUA.
  • Expérimenter avec les exemples de code du livre.
  • Utiliser le livre comme référence pour résoudre des problèmes de programmation dans LÖVE2D.
Créer un jeu de pong simple
Mettre en pratique les concepts appris dans le cours en développant un jeu simple mais complet.
Show steps
  • Créer un nouveau projet LÖVE2D.
  • Implémenter le mouvement des raquettes et de la balle.
  • Gérer les collisions avec les bords de l'écran et les raquettes.
  • Ajouter un système de score.
Créer un tutoriel vidéo sur les collisions
Solidifier la compréhension des collisions en expliquant le concept à d'autres.
Show steps
  • Revoir la section du cours sur les collisions.
  • Préparer un script expliquant les différents types de collisions et comment les implémenter dans LÖVE2D.
  • Enregistrer une vidéo claire et concise expliquant le concept.
  • Partager la vidéo sur un forum ou une plateforme de partage de vidéos.
Three other activities
Expand to see all activities and additional details
Show all six activities
Game Programming Patterns
Apprendre les patrons de conception utilisés dans le développement de jeux pour améliorer la qualité du code.
Show steps
  • Lire les chapitres sur les patrons de conception pertinents pour le développement de jeux 2D.
  • Essayer d'appliquer ces patrons dans des projets LÖVE2D.
  • Réfléchir à la façon dont ces patrons peuvent améliorer la structure et la maintenabilité du code.
Contribuer à un projet LÖVE2D open source
Améliorer ses compétences en travaillant sur un projet réel et en collaborant avec d'autres développeurs.
Show steps
  • Trouver un projet LÖVE2D open source sur GitHub ou GitLab.
  • Identifier un bug ou une fonctionnalité à implémenter.
  • Soumettre une pull request avec les modifications.
  • Répondre aux commentaires et suggestions des autres contributeurs.
Créer un prototype de jeu de plateforme
Développer un prototype de jeu de plateforme pour mettre en œuvre les compétences acquises dans le cours et explorer des concepts plus avancés.
Show steps
  • Concevoir les niveaux et les mécaniques de jeu.
  • Implémenter le mouvement du personnage, les sauts et les collisions avec l'environnement.
  • Ajouter des ennemis et des obstacles.
  • Implémenter un système de score et de fin de partie.
  • Tester et itérer sur le prototype pour améliorer le gameplay.

Career center

Learners who complete LÖVE 2D : Apprenez à créer des jeux 2D facilement avec LUA will develop knowledge and skills that may be useful to these careers:
Développeur Indépendant
Un développeur indépendant travaille sur ses propres projets de jeux vidéo, de la conception à la commercialisation. Ce cours est spécialement conçu pour ceux qui souhaitent faire leurs premiers pas en tant que développeur de jeux indépendant. Il fournit les outils et les connaissances nécessaires pour créer des jeux 2D simples mais complets avec LÖVE et LUA. L'accent mis sur les bonnes pratiques et le développement d'un petit projet permet d'acquérir une expérience pratique précieuse. La possibilité de créer un mode multijoueur en ligne grâce aux sockets est un atout supplémentaire. L'utilisation de ces compétences permet de commercialiser des jeux 2D, un atout certain pour un développeur indépendant.
Développeur de Jeux Vidéo
Le rôle de développeur de jeux vidéo implique la création de jeux interactifs pour diverses plateformes. Ce cours, axé sur la conception de jeux 2D avec LÖVE et le langage LUA, peut être très pertinent pour un futur développeur de jeux vidéo. Il aborde les notions fondamentales et les bonnes pratiques, en mettant l'accent sur des projets concrets. L'utilisation de LUA, un langage simple, permet de se concentrer sur la logique du jeu plutôt que sur la complexité du code. De plus, il détaille des fonctionnalités essentielles telles que la gestion des entrées clavier et souris, l'affichage d'éléments à l'écran, la gestion des collisions, la lecture de sons et la mise en réseau via des sockets. L'utilisation de ces compétences permet de créer des jeux 2D, un atout certain pour un développeur de jeux vidéo. On notera que ce cours utilise le même type d'outils que ceux utilisés pour le jeu Balatro.
Programmeur LUA
Le rôle de programmeur LUA est de coder des applications ou des jeux en utilisant ce langage de script. Ce cours est un excellent point de départ pour quiconque souhaite devenir programmeur LUA, car il enseigne les bases du langage dans un contexte concret de développement de jeux 2D. Il aborde les notions fondamentales telles que les variables, les conditions, les boucles et les fonctions, tout en les appliquant à des problèmes réels de développement de jeux. En outre, il couvre les fonctionnalités spécifiques offertes par LÖVE, telles que la gestion des entrées, l'affichage graphique et la gestion du son. Les modules du cours permettent de créer des projets concrets, un atout certain pour un programmeur LUA.
Concepteur de Jeux
Un concepteur de jeux est responsable de la vision créative et du design des jeux vidéo. Ce cours pourrait être utile pour un concepteur de jeux en herbe, car il offre une base solide dans la création de jeux 2D avec LÖVE et LUA. Bien qu'il se concentre sur les aspects techniques, il offre une compréhension pratique des contraintes et des possibilités de développement. Le concepteur de jeux peut ainsi mieux appréhender la faisabilité de ses idées et collaborer plus efficacement avec les développeurs. L'apprentissage de la gestion des entrées, de l'affichage d'éléments et des collisions permet de mieux comprendre les mécanismes de jeu fondamentaux. L'utilisation de ces compétences permet de collaborer efficacement avec les développeurs, un atout certain pour un concepteur de jeux.
Professeur de Programmation de Jeux
Le rôle de professeur de programmation de jeux est d'enseigner les concepts et les techniques de développement de jeux vidéo à des étudiants. Ce cours peut être un excellent outil pour un professeur souhaitant enseigner la création de jeux 2D avec LÖVE et LUA. Le cours fournit une structure claire et des exemples concrets qui peuvent être utilisés comme base pour des leçons et des exercices pratiques. L'accent mis sur les bonnes pratiques et le développement d'un petit projet est particulièrement utile pour les étudiants débutants. L'utilisation de ces compétences permet de créer des jeux 2D, un atout certain pour un professeur de programmation de jeux.
Développeur de jeux mobile
Un développeur de jeux mobile crée des jeux pour les appareils mobiles tels que les smartphones et les tablettes. Ce cours, axé sur la création de jeux 2D avec LÖVE, peut être un bon point de départ pour le développement de jeux mobile, car LÖVE peut être utilisé pour créer des jeux qui fonctionnent sur différentes plateformes, y compris Android. L'apprentissage de la gestion des entrées tactiles et de l'optimisation des performances est particulièrement important pour le développement mobile. L'utilisation de ces compétences permet de créer des jeux 2D, un atout certain pour un développeur de jeux mobile.
Intégrateur de Jeux
Un intégrateur de jeux est responsable de la mise en œuvre et de l'assemblage des différents éléments d'un jeu, tels que les graphismes, le son et le code. Ce cours peut être utile pour un intégrateur en lui donnant une compréhension des différents aspects du développement de jeux 2D avec LÖVE. L'apprentissage des fonctions spécifiques de LÖVE et de la manière dont elles interagissent peut aider l'intégrateur à assembler les différents éléments de jeu de manière efficace. L'utilisation de ces compétences permet de créer des jeux 2D, un atout certain pour un intégrateur de jeux.
Consultant en Développement de Jeux
Un consultant en développement de jeux fournit des conseils et une expertise aux studios de jeux vidéo sur divers aspects du développement. Ce cours peut être utile pour un consultant en lui donnant une base solide dans la création de jeux 2D avec LÖVE et LUA. Cette connaissance pratique peut aider le consultant à mieux comprendre les défis auxquels les développeurs sont confrontés et à proposer des solutions plus efficaces. La compréhension des différentes étapes du développement, de la conception à la publication, est particulièrement importante. L'utilisation de ces compétences permet de créer des jeux 2D, un atout certain pour un consultant en développement de jeux.
Chef de Projet de Jeux Vidéo
Un chef de projet de jeux vidéo est responsable de la planification et de la coordination du développement d'un jeu. Bien que ce cours ne se concentre pas directement sur la gestion de projet, il peut être utile pour un chef de projet en lui donnant une meilleure compréhension du processus de développement et des défis auxquels les développeurs sont confrontés. Cette compréhension peut aider le chef de projet à mieux planifier les tâches, à allouer les ressources et à communiquer avec l'équipe de développement. L'utilisation de ces compétences permet de créer des jeux 2D, un atout certain pour un chef de projet de jeux vidéo.
Développeur de Jeux Web
Le rôle de développeur de jeux web est de créer des jeux qui peuvent être joués directement dans un navigateur web. Ce cours peut être pertinent car les compétences acquises dans la création de jeux 2D avec LÖVE peuvent être transférées au développement de jeux web. Bien que LÖVE ne soit pas directement compatible avec le web, les concepts et les techniques appris dans le cours, tels que la gestion des entrées, l'affichage graphique et la logique de jeu, peuvent être appliqués à d'autres frameworks de développement de jeux web. L'utilisation de ces compétences permet de créer des jeux 2D, un atout certain pour un développeur de jeux web.
Testeur de Jeux Vidéo
Le rôle de testeur de jeux vidéo est d'identifier et de signaler les bugs et les problèmes dans les jeux en cours de développement. Bien que ce cours ne se concentre pas directement sur le test de jeux, il peut fournir une meilleure compréhension du processus de développement et des défis auxquels les développeurs sont confrontés. Cette compréhension peut aider un testeur à mieux cibler ses tests et à communiquer plus efficacement avec l'équipe de développement. L'apprentissage des bases de la programmation et de la logique de jeu permet de mieux comprendre les causes potentielles des bugs. L'utilisation de ces compétences permet de tester des jeux 2D, un atout certain pour un testeur de jeux vidéo.
Designer d'expérience utilisateur
Un designer d'expérience utilisateur se concentre sur la création d'interfaces intuitives et agréables pour les jeux. Ce cours peut être utile pour un designer d'expérience utilisateur en lui donnant une meilleure compréhension des mécanismes de jeu et des contraintes techniques. Cette connaissance peut aider le designer à concevoir des interfaces plus adaptées au jeu et à l'expérience du joueur. L'apprentissage de la gestion des entrées et de l'affichage d'informations est particulièrement pertinent. Bien que focalisé sur le développement, il permet au designer d'expérience utilisateur de créer des jeux 2D, un atout certain pour sa fonction.
Artiste de Pixel
Le métier d'artiste de pixel consiste à créer des graphiques en pixel art pour les jeux vidéo et autres médias numériques. Bien que ce cours ne soit pas spécifiquement axé sur la création d'art en pixels, il peut être utile pour un artiste de pixel en lui donnant une compréhension des contraintes techniques et des possibilités offertes par un moteur de jeu 2D comme LÖVE. Cette compréhension peut aider l'artiste à créer des éléments visuels plus adaptés au jeu et à collaborer plus efficacement avec les développeurs. Les compétences acquises dans ce cours peuvent aider un artiste de pixel à mieux intégrer ses créations dans un jeu LÖVE. L'utilisation de ces compétences permet de créer des jeux 2D, un atout certain pour un artiste de pixel.
Graphiste de Jeux Vidéo
Un graphiste de jeux vidéo est responsable de la création des éléments visuels d'un jeu, tels que les personnages, les environnements et les interfaces. Bien que ce cours ne se concentre pas sur la création graphique, il peut être utile pour un graphiste en lui donnant une meilleure compréhension des contraintes techniques et des possibilités offertes par un moteur de jeu 2D comme LÖVE. Cette compréhension peut aider le graphiste à créer des assets plus adaptés au jeu et à collaborer plus efficacement avec les développeurs. L'étude des fonctionnalités d'affichage et d'animation peut être particulièrement pertinente. L'utilisation de ces compétences permet de créer des jeux 2D, un atout certain pour un graphiste de jeux vidéo.
Créateur de Contenu de Jeux Vidéo
Un créateur de contenu de jeux vidéo produit du contenu écrit ou vidéo sur les jeux vidéo, tel que des critiques, des guides, des tutoriels et des analyses. Ce cours peut être utile pour un créateur de contenu en lui donnant une meilleure compréhension du processus de développement et des mécanismes de jeu. Cette connaissance peut aider le créateur à produire du contenu plus informé et plus perspicace. L'apprentissage des bases de la programmation et de la logique de jeu est particulièrement pertinent. L'utilisation de ces compétences permet de créer des jeux 2D, un atout certain pour un créateur de contenu de jeux vidéo.

Reading list

We've selected one books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in LÖVE 2D : Apprenez à créer des jeux 2D facilement avec LUA.
Is considered the canonical reference for the Lua programming language. It provides a comprehensive overview of the language's syntax, semantics, and standard libraries. It is particularly useful for understanding the underlying principles of Lua and how it interacts with LÖVE2D. While not strictly necessary, it offers a deeper understanding of the language used in the course.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Similar courses are unavailable at this time. Please try again later.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2025 OpenCourser