★ À maîtriser
🔄 L’installation de Godot se fait en plusieurs étapes :
🔄 La création d’un projet se déroule ainsi :
Les fichiers du projet sont organisés dans le FileSystem, où l’on crée les dossiers asset, scripts et scène avant d’y glisser les fichiers d’assets.
Compléments
📌 La version standard de Godot est conseillée, sauf si l’on prévoit de programmer en C#.
★ À maîtriser
Compléments
Modifier une scène réutilisée met automatiquement à jour ses occurrences dans les autres scènes.
Une scène peut représenter :
Visualise une scène comme un arbre : le nœud racine porte ses nœuds enfants.
Pour créer le décor, on crée une scène 2D principale nommée game, on la sauvegarde dans scène puis on la définit comme scène principale du jeu.
Pour créer un TileSet à partir d’une sprite sheet, on ajoute un TileMapLayer, crée un nouveau TileSet dans l’inspecteur, y glisse la sprite sheet puis accepte la détection automatique des tuiles.
📌 Dans la version de Godot utilisée, TileMap est indiqué comme obsolète et TileMapLayer est présenté comme le choix récent à utiliser.
★ À maîtriser
📌 Les nœuds liés à la physique, comme CharacterBody2D, RigidBody2D, StaticBody2D et Area2D, nécessitent une CollisionShape2D ou un CollisionPolygon2D pour que le moteur connaisse leur forme.
Compléments
Pour attribuer une collision aux tuiles, on ajoute un élément dans les Physics Layers du TileSet, puis on sélectionne cette propriété dans l’éditeur de propriétés et on la peint sur les tuiles concernées.
Les layers et les masques déterminent avec quels objets un objet peut entrer en collision.
Le décor de l’exemple utilise deux TileMap superposés, l’un pour le fond et l’autre pour la plateforme, afin de combler la transparence de certaines tuiles d’herbe.
Multiplier les TileMap superposés peut avoir un impact sur les performances du jeu.
Le StaticBody2D reste immobile, tandis que le CharacterBody2D porte les déplacements du joueur.
Pour créer une animation depuis une sprite sheet, on règle la grille pour isoler un personnage par case, sélectionne les images dans leur ordre de lecture puis les ajoute à l’animation.
Le personnage reçoit une CollisionShape2D dont la forme et la taille sont ajustées à son apparence.
L’animation idle est configurée en autoplay afin qu’elle se lance automatiquement lorsque le personnage est placé dans le jeu.
Les animations du héros sont :
La vitesse d’une animation se règle en modifiant son nombre de FPS.
★ À maîtriser
Compléments
📌 La condition is_on_floor vérifie que le personnage est au sol avant d’autoriser le saut déclenché par l’action de saut.
📌 La condition « être au sol » limite le saut au personnage posé au sol et doit être modifiée pour permettre les doubles ou triples sauts.
Une action abstrait les touches ; une touche codée en dur lie le code au contrôle choisi.
★ À maîtriser
📌 Quand la direction est supérieure à zéro, le personnage regarde à droite sans retournement horizontal ; quand il part à gauche, son animation est retournée horizontalement avec flip_h.
📌 Le personnage joue l’animation idle s’il est au sol et immobile, l’animation de course s’il est au sol et se déplace, et l’animation de saut s’il n’est pas au sol.
Compléments
★ À maîtriser
📌 La roulade se déclenche lorsque le joueur appuie sur l’action dédiée, est au sol et n’est pas déjà en train de rouler.
Compléments
📌 La condition « ne pas être en roulade » empêche les mouvements classiques et leurs animations de remplacer ceux de la roulade pendant qu’elle est active.
📌 La constante roll_speed définit la vitesse de roulade, roll_duration sa durée, is_rolling indique si la roulade est en cours et roll_timer en mesure le temps restant.
Dans l’exemple, roll_duration vaut 0,25 seconde.
Dans l’exemple, l’action « roll » est associée à la touche W, choisie selon le clavier utilisé.
★ À maîtriser
📌 Pour que l’objet entre en collision avec le décor sans bloquer le joueur, son corps rigide utilise le layer 3 et le masque 2, tandis que le masque du joueur ne doit pas inclure le layer 3.
📌 Le collisionneur du corps rigide sert aux collisions physiques avec le décor, tandis que l’Area2D détecte la proximité du joueur pour permettre l’interaction avec l’objet.
Compléments
📌 Après un drop ou un throw, le script réinitialise l’état de prise et rétablit can_pick afin que le joueur puisse attraper un autre objet.
Les actions configurées pour l’interaction avec l’objet sont pick pour l’attraper, drop pour le lâcher et throw pour le lancer ; l’exemple associe Q à pick, S à drop et D à throw.
La configuration proposée place le joueur sur le layer 1, le décor sur le layer 2 et l’objet sur le layer 3 ; le masque du joueur cible le décor et l’Area2D détecte l’entrée du joueur dans sa zone.
Approcher, attraper, lâcher ou lancer.
★ À maîtriser
🔄 Lorsqu’une fléchette touche le joueur, le script :
Quand les points de vie atteignent zéro, le joueur est marqué comme mort, sa vitesse est supprimée, l’animation de mort est lancée et l’écran de défaite est affiché.
📌 Si le joueur est mort, les fonctions de contrôle interrompent leur exécution afin qu’il ne puisse plus se déplacer, sauter ou faire une roulade.
Dans Godot, les éléments game status et restart button sont masqués au départ afin de ne s’afficher qu’à la victoire ou à la défaite.
La méthode set life affiche le nombre de vies restantes, tandis que les méthodes de victoire et de défaite affichent le statut correspondant et rendent visible le bouton restart.
Le joueur commence avec un nombre de points de vie égal à max health, dont la valeur présentée est 10 et qui peut être modifiée, par exemple à 20.
La durée d’invincibilité après un coup est réglée par défaut à 0,15 seconde.
Compléments
📌 Le signal pressed du bouton restart doit être connecté à sa méthode de script pour que l’action de redémarrage soit déclenchée.
Le script attaché au CanvasLayer récupère les références au label des vies, au statut du jeu et au bouton restart.
La scène UI est ajoutée à la scène game au-dessus de TileMap Background Layer pour afficher l’interface par-dessus le jeu.
Après un coup, le joueur est marqué comme blessé, son timer d’invincibilité reçoit la valeur de heat duration et le timer diminue avec delta jusqu’à zéro.
Vie à zéro → mort et écran Game Over
★ À maîtriser
À chaque frame, le script supprime la fléchette si elle sort de l’écran ; sinon, il avance sa position selon sa direction, sa vitesse et delta.
🔄 À chaque expiration du timer, le spawner :
📌 Lorsque la fléchette entre en collision avec un objet nommé Player, elle appelle hit by arrow sur le joueur puis se supprime.
📌 Le signal timeout du timer appelle la méthode de spawn, et la propriété Autostart doit être activée pour que le timer se déclenche sans démarrage manuel.
Compléments
📌 Le signal body entered de l’Area2D de la fléchette doit être connecté à sa méthode de collision pour que celle-ci soit appelée.
La scène d’une fléchette utilise un Area2D, un CollisionShape2D de forme rectangulaire et un Sprite2D pour son apparence.
La vitesse de la fléchette est une variable exportée réglée à 150, ce qui permet de la modifier dans l’inspecteur de Godot.
La direction initiale de la fléchette est Vector2.Left, soit une direction vers la gauche.
Le spawner récupère une référence à la scène de fléchette, au timer spawn timer et à la taille de l’écran.
Le wait time du timer détermine l’intervalle entre les apparitions de fléchettes ; une valeur de 0,5 seconde est choisie dans l’exemple.
Pour choisir le côté, le spawner utilise un nombre entier aléatoire modulo 2, qui produit 0 ou 1 avec une chance sur deux pour chaque résultat.
Pour une fléchette venant de la droite, un tirage aléatoire détermine si elle vise le joueur ou si sa position verticale est choisie dans la partie supérieure de l’écran.
La fonction clamp limite la position de la fléchette afin qu’elle ne sorte pas excessivement de l’écran.
Timer → création → direction → collision
★ À maîtriser
📌 La méthode de collision de la win zone vérifie que l’objet entrant porte le nom Swable Object, puis déclenche les actions de victoire.
Compléments
📌 Le signal body entered de la win zone doit être connecté à sa méthode de collision pour détecter l’objet entrant.
Donut dans le panier → victoire
★ À maîtriser
Pour préparer l’export, il faut installer les modèles d’export via Editor puis Manage Export Templates et Download and Install.
🔄 Pour exporter sur Mac, : activer Advanced Settings dans les paramètres du projet, activer le réglage d’importation ETC, enregistrer et redémarrer Godot, renseigner un Bundle Identifier, exporter le projet
Compléments
Teste tes connaissances sur Créer un jeu 2D avec Godot avec 40 questions à choix multiples et corrections détaillées.
1. Vous téléchargez la version standard de Godot sous forme de fichier ZIP. Quelle démarche permet ensuite de lancer le moteur ?
2. Dans le gestionnaire de projets, une débutante veut créer un projet nommé « Aventure ». Quelle suite d’actions doit-elle effectuer ?
Mémorisez les concepts clés de Créer un jeu 2D avec Godot avec 94 flashcards interactives.
Comment lancer Godot après avoir téléchargé sa version standard ?
Décompresser le fichier ZIP puis lancer l’exécutable, sans installation supplémentaire.
Quelles actions permettent de créer un projet Godot ?
Cliquer sur Create, nommer le projet, puis cliquer de nouveau sur Create.
Quels dossiers crée-t-on dans le FileSystem pour organiser un projet Godot ?
Les dossiers asset, scripts et scène.
Importe ton cours et l'IA génère fiches, QCM et flashcards en 30 secondes.
Générateur de fiches