|
@@ -1,9 +1,5 @@
|
|
|
-Faire un jeu avec le Godot Engine
|
|
|
-=================================
|
|
|
-
|
|
|
-
|
|
|
-Ressources et références
|
|
|
-------------------------
|
|
|
+Guide de l'atelier
|
|
|
+==================
|
|
|
|
|
|
### Le jeu
|
|
|
|
|
@@ -15,17 +11,9 @@ Ressources et références
|
|
|
- [Site officiel Godot](https://godotengine.org/)
|
|
|
- [Documentation officielle Godot](https://docs.godotengine.org/en/stable/)
|
|
|
|
|
|
-### Ressources
|
|
|
+## Introduction
|
|
|
|
|
|
-- [Game Impact](https://gameimpact.fr/)
|
|
|
- - [Guide sur l'inclusivité](https://gameimpact.fr/wp-content/uploads/2022/05/Representer-la-diversite-Game-Impact-2021-02-Web.pdf)
|
|
|
-
|
|
|
-Le guide
|
|
|
---------
|
|
|
-
|
|
|
-### Introduction
|
|
|
-
|
|
|
-#### Principe de l'atelier
|
|
|
+### Principe de l'atelier
|
|
|
|
|
|
Vous avez à disposition un **projet starter** en Godot. C'est un casse-brique en 2D que vous aurez la liberté d'améliorer selon vos envies.
|
|
|
|
|
@@ -48,15 +36,30 @@ présentes lors de l'atelier d'orienter leur découverte du Godot Engine
|
|
|
exemple pour ajouter un écran de victoire ou de défaite (élément
|
|
|
d'interface), il faut d'abord que le jeu sache quand est-ce
|
|
|
qu'on gagne ou qu'on perd (fonctionnalité de gameplay).
|
|
|
- - Vous êtes libres de faire les étapes dans l'ordre que vous
|
|
|
+ - Le début de l'atelier est linéaire pour pouvoir prendre en main l'éditeur ;
|
|
|
+ - À partir d'un certain point,
|
|
|
+ vous serez libres de faire les étapes dans l'ordre que vous
|
|
|
voulez, mais attention aux dépendances ! Repérez vous grâce à la
|
|
|
carte fournie.
|
|
|
- - Le nombre de triangles sur chaque case de la carte indique la difficulté. 1 étant facile, et 4 difficile.
|
|
|
|
|
|
<figure>
|
|
|
![Carte des dépendances entre étapes du tutoriel](carte_des_etapes.png)
|
|
|
</figure>
|
|
|
|
|
|
+Légende de la carte :
|
|
|
+
|
|
|
+- Couleurs des cases
|
|
|
+ - Blanc : logique du jeu
|
|
|
+ - Vert : interface utilisateur
|
|
|
+ - Bleu : graphisme ou effets visuels
|
|
|
+ - Jaune : sons ou musique
|
|
|
+ - Gris : exporter son jeu
|
|
|
+- Couleurs des flèches
|
|
|
+ - Vert : parcours architecte
|
|
|
+ - Bleu : artisan débutant
|
|
|
+ - Jaune : artisan novice
|
|
|
+ - Rouge : expert B-)
|
|
|
+- Le nombre de triangles sur chaque case de la carte indique la difficulté. 1 étant facile, et 4 difficile.
|
|
|
|
|
|
|
|
|
Note : Afin que le chacun et chacune puisse ici s'y retrouver, nous
|
|
@@ -65,7 +68,7 @@ difficulté. Ainsi même les débutants vont pouvoir ajouter des
|
|
|
fonctionnalités qui les intéressent à notre casse-brique minimaliste.
|
|
|
|
|
|
|
|
|
-##### Décommenter le code
|
|
|
+#### Décommenter le code
|
|
|
|
|
|
Il y aura du code déjà présent à décommenter dans les scripts. Essayez
|
|
|
de comprendre chaque bout de code vous-même.
|
|
@@ -78,7 +81,7 @@ de documentation (docstrings). Il ne faut pas les décommenter ! Le texte
|
|
|
associé est visible dans l'éditeur.
|
|
|
|
|
|
|
|
|
-#### Description de Godot
|
|
|
+### Description de Godot
|
|
|
|
|
|
|
|
|
|
|
@@ -115,12 +118,12 @@ associé est visible dans l'éditeur.
|
|
|
|
|
|
|
|
|
|
|
|
-#### Éditeur Godot
|
|
|
+### Éditeur Godot
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-#### Concepts Godot
|
|
|
+### Concepts Godot
|
|
|
|
|
|
|
|
|
|
|
@@ -217,9 +220,7 @@ et il est possible d'en créer dans nos scripts.
|
|
|
|
|
|
![Illustration des axes](vector_xy1.png)
|
|
|
|
|
|
-### Étapes
|
|
|
-
|
|
|
-#### Lancer le jeu depuis l'éditeur
|
|
|
+## Lancer le jeu depuis l'éditeur
|
|
|
|
|
|
|
|
|
|
|
@@ -278,14 +279,8 @@ Note : L'ensemble de ses fichiers et dossiers doivent être édité dans
|
|
|
le l'éditeur de Godot et non directement via le navigateur de fichiers
|
|
|
|
|
|
|
|
|
-#### Graphisme
|
|
|
-
|
|
|
-
|
|
|
|
|
|
-En bleu sur la carte.
|
|
|
-
|
|
|
-
|
|
|
-##### Changer l'image de la raquette
|
|
|
+## Changer l'image de la raquette
|
|
|
|
|
|
|
|
|
|
|
@@ -331,7 +326,7 @@ La belle image pour votre raquette est disponible dans `composants/objets/raquet
|
|
|
- Je continue en [changeant la couleur de la raquette](#changer-la-couleur-de-la-raquette)
|
|
|
- Je fais un détour pour [exporter mon jeu au format web](#exportation)
|
|
|
|
|
|
-##### Changer la couleur de la raquette
|
|
|
+## Changer la couleur de la raquette
|
|
|
|
|
|
|
|
|
|
|
@@ -377,7 +372,7 @@ noeud racine `StaticBody2D`, ce qui change la couleur de tous les
|
|
|
enfants, y compris l'image.
|
|
|
|
|
|
|
|
|
-##### Changer la couleur de la brique en fonction de sa vie
|
|
|
+## Changer la couleur de la brique en fonction de sa vie
|
|
|
|
|
|
|
|
|
|
|
@@ -404,7 +399,7 @@ changement de couleur aussi dans l'éditeur lorsque vous fabriquez un
|
|
|
niveau.
|
|
|
|
|
|
|
|
|
-##### Faire une trainée à la balle
|
|
|
+## Faire une trainée à la balle
|
|
|
|
|
|
|
|
|
|
|
@@ -435,7 +430,7 @@ pas sur toutes les machines. Auquel cas, on utilisera CPUParticles2D
|
|
|
(<https://docs.godotengine.org/fr/4.x/classes/class_cpuparticles2d.html#class-cpuparticles2d)>.
|
|
|
|
|
|
|
|
|
-##### Effet impact d'une balle
|
|
|
+## Effet impact d'une balle
|
|
|
|
|
|
|
|
|
|
|
@@ -462,7 +457,7 @@ Niv. 3
|
|
|
|
|
|
|
|
|
|
|
|
-##### Effet de flamme
|
|
|
+## Effet de flamme
|
|
|
|
|
|
|
|
|
|
|
@@ -507,7 +502,7 @@ chaque fois.
|
|
|
@onready image : Sprite2D = $Image
|
|
|
|
|
|
|
|
|
-##### Effet électrique
|
|
|
+## Effet électrique
|
|
|
|
|
|
|
|
|
|
|
@@ -529,7 +524,7 @@ Niv. 4
|
|
|
|
|
|
|
|
|
|
|
|
-##### Effet de récupération de pouvoir
|
|
|
+## Effet de récupération de pouvoir
|
|
|
|
|
|
|
|
|
|
|
@@ -550,7 +545,7 @@ Niv. 4
|
|
|
- Référence :
|
|
|
<https://docs.godotengine.org/fr/4.x/classes/class_animatedsprite2d.html>
|
|
|
|
|
|
-#### Effet d'éruption de la raquette
|
|
|
+## Effet d'éruption de la raquette
|
|
|
|
|
|
- Dépend du pouvoir laser
|
|
|
- Actions
|
|
@@ -564,21 +559,15 @@ Niv. 4
|
|
|
- Brancher le signal `animation_finished` à la méthode `queue_free()` du nœud racine
|
|
|
|
|
|
|
|
|
-#### UI
|
|
|
-
|
|
|
|
|
|
-
|
|
|
-Interface utilisateur.
|
|
|
-
|
|
|
-
|
|
|
-##### Créer un menu d'accueil
|
|
|
+## Créer un menu d'accueil
|
|
|
|
|
|
|
|
|
|
|
|
Sera déjà fait, comme le menu pause.
|
|
|
|
|
|
|
|
|
-##### Afficher le compteur de balles
|
|
|
+## Afficher le compteur de balles
|
|
|
|
|
|
|
|
|
|
|
@@ -599,7 +588,7 @@ Niv. 2
|
|
|
|
|
|
|
|
|
|
|
|
-##### Afficher une jauge de balles
|
|
|
+## Afficher une jauge de balles
|
|
|
|
|
|
|
|
|
|
|
@@ -613,7 +602,7 @@ Remplacer le label par une jauge, dont le nombre de points représente le nombre
|
|
|
|
|
|
|
|
|
|
|
|
-##### Afficher un écran de game over
|
|
|
+## Afficher un écran de game over
|
|
|
|
|
|
|
|
|
|
|
@@ -633,7 +622,7 @@ Niv. 1
|
|
|
|
|
|
|
|
|
|
|
|
-##### Afficher un écran de victoire
|
|
|
+## Afficher un écran de victoire
|
|
|
|
|
|
|
|
|
|
|
@@ -656,7 +645,7 @@ Note : comme les balles créées par le lanceur sont des nœuds enfants,
|
|
|
détruire le lanceur détruit aussi toutes les balles.
|
|
|
|
|
|
|
|
|
-##### Compter et afficher le score
|
|
|
+## Compter et afficher le score
|
|
|
|
|
|
|
|
|
|
|
@@ -664,7 +653,7 @@ Niv. 4 : le·a participant·e se débrouille
|
|
|
|
|
|
|
|
|
|
|
|
-##### Pouvoir scroller les planètes
|
|
|
+## Pouvoir scroller les planètes
|
|
|
|
|
|
|
|
|
|
|
@@ -686,7 +675,7 @@ Niv. 1
|
|
|
|
|
|
|
|
|
|
|
|
-##### Mécanique de pseudo
|
|
|
+## Mécanique de pseudo
|
|
|
|
|
|
|
|
|
|
|
@@ -696,14 +685,9 @@ Niv. 4 : le·a participant·e se débrouille
|
|
|
Idem leaderboard, afficher pseudo en jeu.
|
|
|
|
|
|
|
|
|
-#### Sons
|
|
|
-
|
|
|
-
|
|
|
|
|
|
-Bruitages et musique.
|
|
|
|
|
|
-
|
|
|
-##### Insérer une musique dans un niveau
|
|
|
+## Insérer une musique dans un niveau
|
|
|
|
|
|
|
|
|
|
|
@@ -733,7 +717,7 @@ positionnel en 3 dimensions).
|
|
|
|
|
|
|
|
|
|
|
|
-##### Faire un bruit à l'impact d'une balle
|
|
|
+## Faire un bruit à l'impact d'une balle
|
|
|
|
|
|
|
|
|
|
|
@@ -754,7 +738,7 @@ Niv 1
|
|
|
|
|
|
|
|
|
|
|
|
-##### Faire un bruit au clic sur bouton début
|
|
|
+## Faire un bruit au clic sur bouton début
|
|
|
|
|
|
|
|
|
|
|
@@ -790,7 +774,7 @@ Niv. 2
|
|
|
|
|
|
|
|
|
|
|
|
-##### Faire un bruit au game over
|
|
|
+## Faire un bruit au game over
|
|
|
|
|
|
|
|
|
|
|
@@ -809,7 +793,7 @@ Niv. 1
|
|
|
|
|
|
|
|
|
|
|
|
-##### Bruit lorsqu'un pouvoir est récupéré
|
|
|
+## Bruit lorsqu'un pouvoir est récupéré
|
|
|
|
|
|
|
|
|
|
|
@@ -835,7 +819,7 @@ Niv. 1
|
|
|
|
|
|
|
|
|
|
|
|
-##### Effet audio dynamique : diminuer l'importance de la musique quand un effet sonore joue
|
|
|
+## Effet audio dynamique : diminuer l'importance de la musique quand un effet sonore joue
|
|
|
|
|
|
|
|
|
|
|
@@ -889,7 +873,7 @@ sonores joues (contenu du bus "Bruits").
|
|
|
|
|
|
|
|
|
|
|
|
-##### Effet audio dynamique sur le menu pause
|
|
|
+## Effet audio dynamique sur le menu pause
|
|
|
|
|
|
|
|
|
|
|
@@ -924,10 +908,7 @@ et activer l'un de ses effets.
|
|
|
|
|
|
|
|
|
|
|
|
-#### Exportation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
+## Exportation
|
|
|
|
|
|
|
|
|
|
|
@@ -936,12 +917,7 @@ et activer l'un de ses effets.
|
|
|
|
|
|
|
|
|
|
|
|
-#### Architecte
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-##### Modifier le niveau existant
|
|
|
+## Modifier le niveau existant
|
|
|
|
|
|
|
|
|
|
|
@@ -963,7 +939,7 @@ Image : Capture de la configuration de la grille
|
|
|
![Capture de la configuration de la grille](editor_gd4_raquette_config_grille.png)
|
|
|
|
|
|
|
|
|
-##### Créer un autre niveau
|
|
|
+## Créer un autre niveau
|
|
|
|
|
|
|
|
|
|
|
@@ -985,12 +961,7 @@ Niv. 1
|
|
|
|
|
|
|
|
|
|
|
|
-#### Artisan
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-##### Faire descendre les briques au fil du temps
|
|
|
+## Faire descendre les briques au fil du temps
|
|
|
|
|
|
|
|
|
|
|
@@ -1007,7 +978,7 @@ Complètement facultatif.
|
|
|
|
|
|
|
|
|
|
|
|
-##### Faire perdre la partie si une brique sort du terrain
|
|
|
+## Faire perdre la partie si une brique sort du terrain
|
|
|
|
|
|
|
|
|
|
|
@@ -1026,7 +997,7 @@ Niv. 4
|
|
|
|
|
|
|
|
|
|
|
|
-##### Avoir un nombre limité de vies
|
|
|
+## Avoir un nombre limité de vies
|
|
|
|
|
|
|
|
|
|
|
@@ -1049,7 +1020,7 @@ Niv. 2
|
|
|
|
|
|
|
|
|
|
|
|
-##### Faire accélérer la balle
|
|
|
+## Faire accélérer la balle
|
|
|
|
|
|
|
|
|
|
|
@@ -1078,7 +1049,7 @@ Niv. 2
|
|
|
|
|
|
|
|
|
|
|
|
-##### Passer au niveau suivant une fois un niveau terminé
|
|
|
+## Passer au niveau suivant une fois un niveau terminé
|
|
|
|
|
|
|
|
|
|
|
@@ -1087,7 +1058,7 @@ Niv. 4
|
|
|
Attribut par niveau, script niveau.
|
|
|
|
|
|
|
|
|
-##### Pouvoir configurer le nombre de vies d'une brique
|
|
|
+## Pouvoir configurer le nombre de vies d'une brique
|
|
|
|
|
|
|
|
|
|
|
@@ -1120,7 +1091,7 @@ qui rafraichit la couleur de la brique dès que le nombre de points de
|
|
|
vie est modifié.
|
|
|
|
|
|
|
|
|
-##### Faire un obstacle avec une nouvelle forme
|
|
|
+## Faire un obstacle avec une nouvelle forme
|
|
|
|
|
|
|
|
|
|
|
@@ -1144,7 +1115,7 @@ Niv. 3
|
|
|
|
|
|
|
|
|
|
|
|
-##### Faire une brique avec une nouvelle forme
|
|
|
+## Faire une brique avec une nouvelle forme
|
|
|
|
|
|
|
|
|
|
|
@@ -1164,7 +1135,7 @@ Note : comme votre nouvelle brique a le même script que la brique de
|
|
|
base, les deux ont le même comportement !
|
|
|
|
|
|
|
|
|
-##### Collectibles qui donne des points
|
|
|
+## Collectibles qui donne des points
|
|
|
|
|
|
|
|
|
|
|
@@ -1180,7 +1151,7 @@ Niv. 4
|
|
|
|
|
|
|
|
|
|
|
|
-##### Pouvoir de ralentissement
|
|
|
+## Pouvoir de ralentissement
|
|
|
|
|
|
|
|
|
|
|
@@ -1234,7 +1205,7 @@ Niv. 3
|
|
|
|
|
|
|
|
|
|
|
|
-##### Pouvoir de vie/balles supplémentaires
|
|
|
+## Pouvoir de vie/balles supplémentaires
|
|
|
|
|
|
|
|
|
|
|
@@ -1262,7 +1233,7 @@ Niv. 3
|
|
|
![Capture de l'ajout du groupe des lanceurs](editor_gd4_raquette_ajout_groupe_des_lanceurs.png)
|
|
|
|
|
|
|
|
|
-##### Pouvoir agrandissement raquette
|
|
|
+## Pouvoir agrandissement raquette
|
|
|
|
|
|
|
|
|
|
|
@@ -1281,7 +1252,7 @@ Niv. 4
|
|
|
|
|
|
|
|
|
|
|
|
-##### Malus diminution taille de raquette
|
|
|
+## Malus diminution taille de raquette
|
|
|
|
|
|
|
|
|
|
|
@@ -1292,14 +1263,14 @@ Niv. 4
|
|
|
|
|
|
|
|
|
|
|
|
-##### Faire une carte de niveaux interactive
|
|
|
+## Faire une carte de niveaux interactive
|
|
|
|
|
|
|
|
|
|
|
|
Niv. 4
|
|
|
|
|
|
|
|
|
-##### Pouvoir de feu
|
|
|
+## Pouvoir de feu
|
|
|
|
|
|
|
|
|
|
|
@@ -1323,7 +1294,7 @@ Note : une méthode statique est une fonction qui peut être appelée sans
|
|
|
avoir à créer l'objet associé.
|
|
|
|
|
|
|
|
|
-##### Pouvoir laser
|
|
|
+## Pouvoir laser
|
|
|
|
|
|
Niv. 4
|
|
|
|
|
@@ -1360,7 +1331,7 @@ Permet à la raquette de lancer un javelot à haute énergie qui détruit tout s
|
|
|
- [Référence Area2D](https://docs.godotengine.org/fr/4.x/classes/class_area2d.html)
|
|
|
|
|
|
|
|
|
-##### Pouvoir électrique
|
|
|
+## Pouvoir électrique
|
|
|
|
|
|
Niv. 4
|
|
|
|
|
@@ -1386,7 +1357,7 @@ briques à distance.
|
|
|
|
|
|
|
|
|
|
|
|
-##### Pouvoir balle collante
|
|
|
+## Pouvoir balle collante
|
|
|
|
|
|
|
|
|
|
|
@@ -1396,7 +1367,7 @@ La balle colle à la raquette, et peut être renvoyée avec un clic ou un
|
|
|
appui sur espace.
|
|
|
|
|
|
|
|
|
-##### Pouvoir balle spectrale
|
|
|
+## Pouvoir balle spectrale
|
|
|
|
|
|
|
|
|
|
|
@@ -1410,7 +1381,7 @@ rebond contre un mur.
|
|
|
- [Masques de collision](https://docs.godotengine.org/en/4.2/tutorials/physics/physics_introduction.html#collision-layers-and-masks)
|
|
|
|
|
|
|
|
|
-##### Faire un nouveau pouvoir de balle
|
|
|
+## Faire un nouveau pouvoir de balle
|
|
|
|
|
|
|
|
|
|
|
@@ -1418,3 +1389,15 @@ Niv. 4
|
|
|
|
|
|
À vous de l'imaginer, et de l'implémenter. :-)
|
|
|
|
|
|
+Pour aller plus loin
|
|
|
+====================
|
|
|
+
|
|
|
+Ressources et références
|
|
|
+------------------------
|
|
|
+
|
|
|
+
|
|
|
+### Ressources
|
|
|
+
|
|
|
+- [Game Impact](https://gameimpact.fr/)
|
|
|
+ - [Guide sur l'inclusivité](https://gameimpact.fr/wp-content/uploads/2022/05/Representer-la-diversite-Game-Impact-2021-02-Web.pdf)
|
|
|
+
|