Atelier Orientant : Jeux Vidéo¶
Atelier sur la programmation d'un jeu vidéo — Cégep de Shawinigan
Faire un Jeu Vidéo¶
Qu'est-ce qu'il faut ?¶
- Vouloir apprendre
- Être autodidacte
- Modérer ses attentes
Top-Down Shooter avec Godot¶
Objectif de l'atelier¶
Créer le début d'un petit jeu de type Top-Down Shooter. Étant donné le temps limité, certains éléments sont fournis et préparés d'avance.
Nous allons utiliser le moteur Godot Engine, car il est gratuit, open-source, et relativement facile à apprendre pour les débutants.
Étape 1 - Installation et exécution de Godot¶
- Télécharge Godot Engine à partir de son site officiel : https://godotengine.org/download
- Clique sur le bouton inscrit "Godot Engine" pour télécharger la version stable la plus récente.

- Une fois le téléchargement terminé, sélectionne le fichier téléchargé qui devrait être nommé quelque chose comme
Godot_vX.X.X-stable_win64.exe.zip. - Tu devrais voir un bouton "Extraire tout" dans l'explorateur de fichiers. Clique dessus et suis les instructions pour extraire le contenu.
- Après l'extraction, tu devrais trouver un fichier exécutable nommé
Godot_vX.X.X-stable_win64.exe. Double-clique dessus pour lancer Godot.
Étape 2 - Télécharger les ressources¶
- Va à l'adresse suivante pour télécharger le projet de départ :
https://tinyurl.com/g4jeutds - Un fichier nommé
top_down_polygon_shooter.zipsera téléchargé dans ton dossier Téléchargements.
Étape 3 - Ouvrir Godot¶
- Si tu as bien suivi l'étape d'exécution de Godot, tu devrais voir une fenêtre d'accueil avec plusieurs options.
- Glisse et dépose le fichier
top_down_polygon_shooter.zipque tu as téléchargé dans la fenêtre de Godot. - Clique sur "Installer" pour charger le projet.
- Il se peut que tu aies une fenêtre d'avertissement de conversion du projet. Appuie sur "Ok" pour continuer.
- La fenêtre de Godot devrait maintenant afficher le projet
top_down_polygon_shooter.

Étape 4 - Découverte de l'environnement¶
L'environnement de travail des développeurs varie selon leur emploi (éditeur de texte simple, gestionnaires de réseaux complexes, outils spécialisés). Godot est un environnement propre au développement de jeux.

Dans la capture d'écran ci-dessus, on peut voir :
- Le volet scène (à gauche) : Affiche la hiérarchie des éléments de la scène active.
- Le système de fichiers (en bas à gauche) : Affiche les ressources du projet (images, sons, scripts, etc.).
- La zone de travail (au centre) : C'est là que tu construis ta scène, en assemblant les éléments graphiques, les personnages, les ennemis, etc.
- Les boutons de contrôle (en haut à droite) : Permettent de lancer le jeu, de faire des tests, etc.
- Ce que l'on utilisera principalement est le bouton Play (triangle) pour tester le jeu.
La zone de travail¶
- Étant donné que l’on part avec un projet déjà débuté, la première chose qu’il faut c’est de regarder c’est quoi les ressources que l’on a.
- Les ressources peuvent être des images, des sons ou des éléments du jeu comme un personnage
- On remarque que la zone de travail a un onglet nommé
World - Il s’agit de la scène World
Étape 5 - Exploration du projet¶
- Le volet Scène (à gauche) : Affiche la scène active.
- Une scène est comme une pièce de théâtre (assemblage du personnage, décor, ennemis, PNJ, etc.).
- Les ressources : Images, sons ou éléments de jeu (comme un personnage).
- Zone de travail : Un onglet nommé
Worldreprésente la scène principale. - Système de fichiers (en bas à gauche) : On y voit
res://et le dossierassets.
Explorer les ressources¶
- Dans les fichiers, tu peux voir le fichier
World.tscnqui correspond à la scèneWorldque tu vois dans la zone de travail. - Pour l'instant il n'y a pas grand-chose dans la scène
World, mais on va le remplir au fur et à mesure. - Recherche le fichier
Player.tscndans le système de fichiers et double-clique dessus pour ouvrir la scène du joueur dans un nouvel onglet. - Maintenant tu devrais voir la scène du joueur dans la zone de travail, avec les différentes ressources qui la composent (polygone, collision, caméra, etc.).
- Tu remarque aussi que l'onglet
Worldest toujours ouvert, tu peux basculer entre les deux scènes en cliquant sur les onglets correspondants.
Étape 6 - Configuration du Joueur (Player)¶

La scène du joueur est composée de Nœuds (éléments de base dans Godot) :
- Player (Nœud parent) : De type
CharacterBody2Dpour gérer la physique du personnage. - Polygon2D : Le polygone représentant graphiquement le personnage.
- CollisionPolygon2D : Zone de collision (rectangle turquoise).
- Area2D : Gère les collisions avec d'autres éléments.
- Camera2D : La caméra qui suit le personnage (rectangle rose).
- PointLight2D : Effet lumineux qui suit le personnage.
Note de navigation : Utilisez la molette de la souris (ou deux doigts sur trackpad) pour zoomer et vous déplacer dans la zone de travail.
J'ai déplacé le personnage !
Si tu as accidentellement déplacé le personnage dans la scène Player, tu peux réinitialiser sa position en sélectionnant le nœud Player et en appuyant sur la combinaison de touches Ctrl + z pour annuler le déplacement.
Sinon, tu peux aller dans le volet "Inspecteur" (à droite) et rechercher pour la propriété "Transform" -> "Position". Clique sur la petite flèche circulaire à côté de "Position" pour réinitialiser les coordonnées du personnage à (0, 0).
Étape 7 - Placer le joueur dans le monde¶
- Tu peux fermer l'onglet
Playeren cliquant sur la croix à côté de son nom.- Si tu as fait des modifications dans la scène
Player, Godot te demandera si tu veux les enregistrer. Clique surNe pas enregistrerpour ne pas enregistrer les modifications.
- Si tu as fait des modifications dans la scène
- Sélectionne la scène
World. - Glisse et dépose le fichier
Player.tscnsur le logo dans la zone de travail de la scèneWorld(ou sur le nœudworlddans le volet Scène). - Repositionne le personnage pour qu'il soit bien placé afin de voir le logo.
- Le logo nous sert de point de repère pour savoir où se trouve le personnage dans la scène.
-
Clique sur le bouton Play (en haut à droite) pour tester.
6. Appuie sur le Xpour fermer la fenêtre de test du jeu.
Étape 8 - Programmation du Joueur¶
- Ouvre l'onglet
Player - Sélectionne le nœud
Playerdans le volet scène (Rappel : utilise le volet Scène pour naviguer entre les nœuds). - Clique-droit sur le nœud
Player-> Sélectionne Attacher un script.... - Dans la fenêtre, cliquez sur Créer.
- Godot va automatiquement créer un fichier de script nommé
Player.gdet l'ouvrir dans l'éditeur de code intégré. - Il y aura du code de base généré automatiquement.
- Teste le jeu pour voir ce que fait le code de base.
Que fait le code de base?
Étant donné que le joueur est de type CharacterBody2D, le code de base inclut le code pour gérer les mouvements de base du personnage (gravité, déplacement, etc.) pour un modèle de jeu de plateforme (side-scroller). Cependant, comme nous faisons un jeu top-down, ce code ne correspond pas à nos besoins. Nous allons donc le remplacer par du code adapté à un jeu top-down.
Remplacer le code de base¶
- Efface tout le code de base généré par Godot. Clique n'importe où dans le code, sélectionne tout (
Ctrl + A) et supprime (ToucheSuppr). - Dans les fichiers, tu devrais retrouver
codeA.txt. - Double-clique dessus pour l'ouvrir.
- Sélectionne tout le code dans
codeA.txt(Ctrl + A) et copie-le (Ctrl + C). - Dans l'éditeur de code, tu devrais voir le fichier
Player.gddans les fichiers ouverts. Sélectionne-le. - Ensuite, colle le contenu copié (
Ctrl + V). - Testez le jeu : vous pouvez maintenant déplacer le personnage avec les touches WASD.
Orienter le personnage avec la souris¶
Dans le code, regarde vers la ligne 22, tu devrais voir une ligne qui ressemble à ceci :
#look_at(get_global_mouse_position())
Il s'agit d'une ligne de code commentée (le # au début indique que c'est un commentaire, donc cette ligne n'est pas exécutée). Cette ligne est censée faire en sorte que le personnage regarde vers la position de la souris.
Retire le # au début de la ligne pour décommenter le code, puis teste le jeu. Tu devrais voir que le personnage s'oriente maintenant vers la position de la souris.
Il y a une ligne rouge
Si tu vois une ligne rouge après avoir supprimé le #, cela signifie que tu as peut-être accidentellement supprimé la tabulation qui se retrouve au début de la ligne. Assure-toi que la ligne look_at(get_global_mouse_position()) est bien alignée avec les autres lignes de code (c'est-à-dire qu'elle doit commencer à la même position que les autres lignes, sans espace ou tabulation supplémentaire au début).
Ajouter le système de tir¶
- Va à la fin du code actuel et appuie sur
Entréepour créer une nouvelle ligne. - Supprime les espaces ou tabulations au début de cette nouvelle ligne pour que le curseur soit aligné tout à gauche.
- Ouvre le fichier
codeB.txtet copie tout son contenu. - Reviens sur le fichier
Player.gdet colle le code copié à la fin du fichier. - Regarde vers la ligne 24, tu devrais voir une ligne qui ressemble à ceci :
#if (Input.is_action_just_pressed("fire")): #fire() - Retire les
#au début de ces deux lignes pour décommenter le code. - Teste le jeu et appuie sur le bouton de la souris pour tirer un projectile.
- Tu peux maintenant revenir en mode "2D"
- Clique sur le bouton "2D" au centre de la fenêtre de Godot pour basculer en mode d'édition 2D.
- Ferme l'onglet
Playerpour revenir à la scèneWorld.
Étape 9 - Ajout des Murs (Décors)¶
- Glisse et dépose le fichier
Level.tscndans la zone de travail en prenant soin de faire en sorte que le joueur ne soit pas sur un mur. - Teste le jeu.
Étape 10 - Ajout des Ennemis¶
- Reviens à la scène
World. - Recherche le fichier
Enemy.tscndans le système de fichiers. - Glisse le fichier
Enemy.tscndans la zone de travail pour l'ajouter à la scèneWorld. - Testez le projet pour voir l'ennemi apparaître.
Étape 11 - Dupliquer les Ennemis¶
- Ajoute plusieurs ennemis dans le jeu
- Tu peux dupliquer un ennemi déjà placé en le sélectionnant dans la scène
World, puis en appuyant surCtrl + Dpour créer une copie de cet ennemi. Positionne les ennemis dupliqués à différents endroits de la scène. - Teste le jeu pour voir tous les ennemis que tu as ajoutés.
Fonctionnalités Extra (Bonus)¶
Système de Pointage¶
- Ouvre la scène
World. - Dans le Système de fichiers, recherche
hud.tscn. - Glisse-le sur la zone de travail n'importe où dans la scène
Worldpour l'ajouter. - Teste le jeu pour voir le score s'afficher.
Génération automatique (Spawning)¶
- Dans le volet Scène, sélectionnez le noeud
world. - Dans la scène
World, fais un clic-droit sur le nœudworld. - Clique sur Ajouter un nœud enfant…
- Recherche et sélectionne Timer.
- Renommerce nœud exactement :
MobTimer(attention aux majuscules!). - Teste la génération automatique des ennemis.
Modification des Murs et du Code¶
- Éditer la carte :
- Double-clique sur
Level.tscn. - Sélectionne le nœud
Tilemap. - Dans le panneau du bas, sélectionnez l'icône de crayon
- Clique sur le carré jaune pour dessiner des murs (clic gauche pour ajouter, clic droit pour retirer).
- Double-clique sur
- Ajuster les variables :
- Double-clic sur le fichier
Player.gdpour ouvrir le code du joueur. - Modifie les variables
speedoubullet_speedpour ajuster la vitesse du joueur ou des projectiles.
- Double-clic sur le fichier
Résumé et Conclusion¶
- Un simple jeu 2D peut prendre plusieurs jours, voire des mois à compléter.
- Derrière chaque jeu, il y a une équipe de spécialistes :
- Programmation
- Level Designer
- Programmation de la physique et du moteur, etc.
- Ce sont pour la plupart des personnes qui ont une formation en informatique.