Godot
Cet article est en construction: un auteur est en train de le modifier.
En principe, le ou les auteurs en question devraient bientôt présenter une meilleure version.
Présentation
Fiche technique
Nom du programme | Godot |
Dernière version | 3.2.3 (17 septembre 2020) |
Site web | https://godotengine.org/ |
Auteur | Juan Linietsky et Ariel Manzur |
Première année de sortie | 2014 |
Lien Github | https://github.com/godotengine/godot |
Liens de téléchargement | Windows |
Langage supporté | GdScript, C++, C#, Python, Nim et D |
Environnement | Windows, Mac, Linux, FreeBSD, OpenBSD, Haiku |
Déploiement | Windows, MacOS, Linux, BSD, Haiku, iOS, Android, BlackBerry, HTML5 |
Langue | Multilingue dont l’anglais (principal) et le français. |
Licence | Licence MIT |
Documentation française | https://docs.godotengine.org/fr/stable/ |
Description générale
Godot est un moteur de jeu open source permettant de créer des jeux en 2D et 3D. Son langage de programmation principal est GdScript, un langage basé sur Python et développé expressément pour Godot. Il est également possible d’utiliser un langage de programmation visuel, VisualScript, qui s’appuie sur une interface graphique. Toutefois, depuis la dernière version 3.0, Godot est compatible avec les langages C++, C#, Python, Nim et D.
Dans l'introduction de sa documentation officielle, Godot se présente de la manière suivante :
“Godot Engine est un moteur de jeu multiplateforme riche en fonctionnalités pour créer des jeux 2D et 3D à partir d'une interface unifiée. Il fournit une série d'outils usuels afin que les utilisateurs puissent se concentrer sur la création de jeux sans avoir à réinventer la roue. Les jeux peuvent être exportés en un seul clic vers un grand nombre de plateformes, incluant les principales plateformes de bureau (Linux, MacOs, Windows) ainsi que mobiles (Android, iOS) et web (HTML5). Godot est complètement libre et open source sous la très permissive licence MIT. Sans conditions liées, sans royalties, rien. Les jeux des utilisateurs sont les leurs, jusqu'à la dernière ligne de code du moteur. Le développement de Godot est totalement indépendant et piloté par sa communauté, ce qui donne la possibilité aux utilisateurs d'aider à façonner leur moteur pour le faire correspondre à leurs attentes. Il est soutenu par la fondation à but non lucratif Software Freedom Conservancy.”[1]
Godot est souvent comparé à Unity. Tout comme ce dernier, Godot possède une « assets library » permettant de charger des démos, des projets, des outils ou encore des plugins. Vous trouverez des exemples de jeux développés sur Godot dans le showcase leur site officiel.
Communauté
La communauté Godot est particulièrement active afin de soutenir tout développeur, qu’il soit novice ou expert. Il existe des communautés aussi bien en ligne que physique. Concernant les groupes d’utilisateurs, Godot en recense 12 soit : Q&A officiel, Forum officiel, Discord, Godot Contributors Chat, Facebook, Reddit, GitHub (report de bug), Twitter, Steam Community, Youtube, IRC et Matrix.
Godot organise également des évènements telle que des conférences, des workshops ou des rencontres de développeurs.
Enfin, une multitude de tutoriels existent afin d’apprendre à utiliser Godot. Un large panel est disponible allant d’un premier jeu sans aucune expérience à des tutoriels pour développeurs. La page officielle de Godot à propos des tutoriels et des ressources (angl.) vous donnera toutes les informations à ce sujet.
Alternatives
Godot est souvent comparé à Unity, autre moteur de jeu réputé dans le domaine de la programmation de jeu vidéo. La communauté web contient de nombreux d’articles et vidéos comparant ces deux moteurs de jeu, chaque développeur ayant sa préférence. Pour une comparaison des deux moteurs de jeux, le site internet GameDesignig propose un article appelé : Unity vs. Godot: Performance, Community Support, Ease of Use, & Pricing
Guide d'utilisation
Téléchargement et installation
Vous pouvez télécharger Godot gratuitement aux liens suivants : Windows, Mac, Linux. Suivez ensuite les instructions sur la page de téléchargement. Godot se télécharge et s'installe de manière classique.
Mac
Attention, sur Mac, à la première ouverture, un message d'avertissement apparait et vous ne pourrez ouvrir Godot. Vous devez aller dans les "préférences système", sous "Sécurité et confidentialité". Dans l'onglet "Général", vous devez autoriser l'ouverture de l'application en cliquant sur "Ouvrir quand même".
Windows
Deux versions vous sont proposées, soit 32 bits ou 64 bits. Afin de savoir quelle version est adaptée à votre ordinateur, vous devez répondre aux deux questions suivantes : (1) votre ordinateur a-t-il un processeur 32 ou 64 bits ? (2) Le système d’exploitation de mon ordinateur est-il en 32 ou 64 bits ? En effet, selon un post du Techsoup “a computer with a 32-bit processor can only run a 32-bit operating system and 32-bit software. A computer with the more advanced 64-bit processor can run both 64-bit and 32-bit operating systems and software. However, if a 64-bit computer has a 32-bit operating system installed, it can only run 32-bit software.”[2]
Comment savoir ?
- Système d’exploitation vous pouvez en savoir plus sur votre système d’exploitation grâce à la FAQ suivante de Microsoft.
- Processeur ouvrez les Informations Système (ou faite une recherche pour les trouver). Dans le résumé du système puis type de système, vous trouverez l’information "x86-based PC" si vous êtes en 32 bits et "x64-based PC" si vous êtes en 64 bits.
Première ouverture et gestionnaire de projets
A la première ouverture de Godot, le gestionnaire de projet s'ouvrira automatiquement. N'ayant pas de projet, vous pouvez soit annuler le message d'avertissement ou accéder à la bibliothèque de projet Godot. En cliquant sur annuler, vous resterez dans l'onglet "Projets". En cliquant sur "accéder à la bibliothèque de projet, l'onglet "Modèles" s'ouvrira automatiquement.
Voici les actions que vous pouvez faire depuis cette première fenêtre:
- Accéder aux projets aux aux modèles
- Changer la langue
- Scanner un dossier à la recherche de projets Godot
- Créer un nouveau projet
- Importer un projet (fichier projet.godot)
Interface
Une fois un projet ouvert, l'interface de l'éditeur de Godot s'ouvre. Cette interface est divisée en trois grande parties :
- Une première colonne à gauche (orange) permet d’avoir accès aux différents Docks, soit le Dock des scènes (haut) qui répertorie les nœuds de la scène en cours et permet d’importer des objets, ainsi que le Dock du système des fichiers (bas) qui correspond à l’organisation des fichiers, dossiers et ressources de votre projet, tels que présent sur votre ordinateur.
- La colonne de droite (rouge) est en lien avec le Dock des scènes. Les onglets « inspecteur » et « nœuds », permettent de paramétrer chaque élément sélectionné dans la colonne de gauche. En d’autres termes, cliquant dans la colonne de gauche sur un nœud de votre scène, l’inspecteur se déploie à droite afin de paramétrer ce nœud. L’onglet nœud permet de créer des signaux et des groupes.
- La zone du milieu (bleu) est la zone d’affichage. Grâce aux quatre boutons tout en haut de cette zone (bleu clair), vous pouvez choisir entre les affichages 2D, 3D, Script ou Assets. Cette zone d’affichage peut contenir différents onglets (icône +) vous permettant de naviguer entre les scènes de votre projet. Dans les modes 2D et 3D (bleu clair), une barre d’outils vous permet d’effectuer des modifications.
A cela s'ajoute un panneau en bas (vert) donnant accès aux sorties, à la console de débogage, au mixeur audio et à l'éditeur des animations. Vous pouvez agrandir ce panneau en cliquant simplement dessus. Une fenêtre plus grande s'ouvre afin d'avoir accès aux informations y relatives.
Pour finir, deux menus (de gauche à droite) permettent l'accès aux réglages Godot et aux boutons de test du projet.
Modification de l'interface
L'interface Godot est personnalisable. En cliquant sur les trois points verticaux (bleu), vous pouvez choisir l'emplacement des Docks. Dans la zone d’affichage, en cliquant sur les flèches disposées en carrés (jaune), vous pouvez agrandir la zone pour travailler en plein écran. Enfin, les colonnes sont redimensionnable en positionnant la souris au bord de n'importe quel panneau.
L'interface Godot permet égalemetn de travailler en mode "splitview". Dans la barre d'outil du menu 2D ou 3D, cliquer sur le bouton "Affichage" (vert) afin de visualiser les différentes possibilités pour séparer la zone d'affiche de manière horizontale ou verticale.
Les nœuds
Généralités
Godot fonctionne avec un système de nœuds. Il existe 4 principaux types de nœuds :
- Nœuds 2D (en violet)
- Nœuds 3D (en rouge)
- Nœuds Interface Utilisateur (UI) (en vert)
- Autres nœuds (animation, timer, environnement, vewport, etc.)
Dans Godot, un nœuds peut-être aussi bien un objet, une image, un text qu'un son, une animation ou un timer. Tous les nœuds ont toutefois ces éléments en communs[3] :
- Un nom
- Des propriétés éditables
- Possibilité de recevoir une fonction de rappel à traiter à chaque trame.
- Possibilité d'être étendu (pour avoir plus de fonctions).
- Possibilité d'être ajouté à un autre nœud en tant qu'enfant.
Organisation
Dans un Godot, un projet est donc un ensemble de nœuds formant une scène. Un nœud peut avoir différent nœuds enfants de sorte qu'un les nœuds s'organise en un arbre.
Dans l'exemple ci-dessous, tous les nœuds sont verts. Il s'agit donc de nœuds d'UI. Le noeud parent est "End Screen". Il a comme enfant quatre nœuds: "background", "Title", "Label" et "Menu". Ce dernier noeud est à son tour le parent de deux enfants "PlayButton" et "QuitButton".
Type de nœuds
Bien qu'un nœud soit toujours d'un type précis, son nom dans l'arborescence peut être modifié à tout moment.
Les signaux
Langage de programmation
Godot offre la possibilité de travailler avec différents langage de programmation. Le plus courant est de travailler avec GdScript ou VisualScript (langage de type blocs), des langages utilisés et créés spécialement pour Godot et directement intégré dans l'éditeur. Toutefois, depuis la dernière version de Godot 3.2, il est également possible de programmer en C# ou C++ en utilisant environnement différent (Visual Studio par exemple).
GdScript
Dans la documentation officielle, Godot décrit GDScript comme "un langage de haut niveau à typage dynamique utilisé pour créer du contenu. Il utilise une syntaxe similaire au langage Python (les blocs sont identifiés par l'indentation et une grande partie des mots clés sont similaires)" [4].
Afin de découvrir le langage de GDScript, cette vidéo en anglais de GDQuest de 45 minutes propose d'aborder les bases du langage. Vous y trouverez des explications à propos des éléments suivants:
- Variables
- Constantes
- Type de variables / constantes
- Conventions d’écriture (majusucle, minuscule, etc.)
- Opération and opérateur (+, -, *, /, %, <, >, etc.)
- Valéeurs booléenne
- Conditions
- Listes (Array)
- Loop
- Objets, propriétés, méthodes et classes
La plateforme Skillshare propose également un cours (gratuit si vous vous inscrivez pour le plan d'essai) abordant globalement les mêmes thématiques tout en proposant des exercices afin de mettre en pratique les apprentissage. Enfin, la documentation de Godot propose un apport spécifique sur GDScript qui abordent ce langage en proposant de s'attarder directement sur des exemples de syntaxe.
Exemple de code en GDScript
Exemple tiré du cours skillshare, vidéo 18 à 21
extends Control
var first_name = "Maëlle "
var second_name = "Anabelle "
var last_name = "Schmidt"
var age = 31
# Vidéo 18 - 19 - 20 - 21
func _ready():
if age == 31 and first_name == "Maëlle " and second_name == "Anabelle ":
$TextEdit.text = "Tu es " + first_name + second_name + last_name + "."# if age && first_name && second_name are true, write...
elif age < 0 or age >= 120:
$TextEdit.text = "Tu te trompes sur ton age. Ou tu n'es pas humain... " # if the age is lower than 0 or bigger or equal to 120, write...
elif age >= 18:
$TextEdit.text = "Tu es majeur-e." # if the age is greater or equal to 18, write ...
elif age >= 16 && age < 18:
$TextEdit.text = "Tu es bientôt majeur-e." # if the age is between 16 and 18, write ...
else:
$TextEdit.text = "Tu es mineur-e." # if the age is something else, write...
Raccourcis
Comme tout programme, Godot possède des raccourcis afin de faciliter mes manipulation.
Mac
Voici une liste des raccourcis fréquemment utilisés:
Action | Raccourci |
---|---|
Ouvrir une scène | cmd + O |
Enregistrer la scène | cmd + S |
Fermer la scène | shift + cmd + W |
Ajouter un noeud | cmd + A |
Annuler | cmd + Z |
Refaire | shift + cmd + Z |
Jouer le jeu | cmd + B |
Jouer la scène | cmd + R |
Quitter | cmd + Q |
Quitter vers la zone de projet | shift + cmd + Q |
Action | Raccourci |
---|---|
Accès zone affichage 2D | alt + 1 |
Accès zone affichage 3D | alt + 2 |
Accès zone affichage Script | alt + 3 |
Barre d'outil - Sélection (flèche) | q |
Barre d'outil - Mode déplacement | w |
Barre d'outil - Mode rotation | e |
Barre d'outil - Mode mise à l'échelle | r |
Documentation sur la méthode
(zone script uniquement) |
cmd + "Clic sur la méthode" |
- voir https://www.youtube.com/watch?v=VeCrE-ge8xM&list=PLda3VoSoc_TSBBOBYwcmlamF1UrjVtccZ&index=1 pour les raccourcis
Exportations
Liens
Officiels
Tutoriels
Sur internet, vous trouverez une multitude de tutoriels pour apprendre à utiliser Godot. Tout d'abord, la documentation officielle existe aussi bien en français qu'en anglais. Vous y trouverez des tutoriels écrits de qualité permettant de prendre en main le moteur de jeu. De plus, la page Tutoriel Vidéo liste différentes ressources de tutoriels vidéo disponibles sur la toile. Parmi ces tutoriels vidéo se trouve ceux de GD Quest qui propose notamment un "learning path beginner". Ce chemin d'apprentissage permet de partir de 0 et propose aussi bien des tutoriels généraux sur la création de jeux et sur le langage de programmation (GD Script) que des tutoriels permettant de créer ses premiers jeux 2D et 3D.
Chemin d'apprentissage proposé
Dans le cadre de crédits libres du Master MALTT de l'Université de Genève, un chemin d'apprentissage a été testé. Celui-correspond à environ 3 crédits de travail, selon les connaissances préalables de chacun. Il a été suivi début 2021 par Rachel Egg. Les différents projets sont codés et commentés de manière personnelle, dans un but d'apprentissage et de réinvestissement futur.
Inspiré du learning path beginner de GD Quest, les différents tutoriels suivis ont été les suivants. Pour ouvrir les projets Godot, il est nécessaire de dezipper le fichier puis d'ouvrir le fichier avec l'extension project.godot. Evidemment, il est indispensable d'avoir le moteur de jeu installé sur sa machine (c.f. téléchargement et installation).
Titre | Temps | Type | Auteurs | Projet Godot | Programme (MAC) | Difficulté du tutoriel |
---|---|---|---|---|---|---|
Learning path - beginner | 00:10:00 | Page de lecture | GD Quest | - | - | - |
Making your first game basic | 00:36:00 | Youtube vidéo | Extra Credits | - | - | - |
Become a Game Developer: how to learn to code | 00:26:00 | Page de lecture | GD Quest | - | - | - |
Game Engine : what are they and how to choose the right one | 00:05:00 | Youtube vidéo | GD Quest | - | - | - |
Intro to GDScript for Programming Beginners | 00:45:00 | Vidéo | GD Quest | - | - | Facile |
Learn The GDScript Programming Language (Skillshare) | 04:15:00 | Vidéo | Skillshare
Michael McGuire |
Lien | - | Facile |
First 2D game | 04:30:00 | Youtube vidéo | GD Quest | Lien | Lien Mac
Bougez avec les flèches du clavier. Sautez avec la flèche du haut. |
Moyen |
Mobile game: circle Jump | 02:50:00 | Page de lecture
Youtube vidéo |
KidsCanCode | Lien | Lien Mac
Cliquez sur la souris pour sauter de cercle en cercle. Certains bugs subsistent. |
Difficile |
3D Roll the ball | 05:00:00 | Youtube vidéo | BornCG | Lien | Lien Mac
Lien PC (export PC pas optimal au niveau des couleurs) Bougez avec les flèches du clavier. Récoltez toutes les pièces pour gagner. Attention, le chargement est long. Soyez patient même en cas de message d'erreur. |
Moyen |
Create your first complete 3D game | 01:30:00 | Youtube vidéo | GD Quest | Lien | Lien Mac
Bougez avec les flèches du clavier. Sautez avec la barre d'espace. Tuez le plus d'ennemis possible. |
Facile |
Make a 3d Maze game in Godot | 00:50:00 | Youtube vidéo | GD Quest | Lien | Lien Mac
Lien PC (export PC pas optimal au niveau des couleurs) Bougez avec les flèches du clavier. Trouvez la sphère blanche pour gagner. |
Facile |
Let’s build Memory | 03:20:00 | Youtube vidéo | BornCG | Lien | Lien Mac
Cliquez sur les cartes pour trouver les paires de valeur (2, 3, 4, etc). La couleurs (coeur, pique etc.) ne compte pas. |
Moyen |
Références
Sources générales
https://fr.wikipedia.org/wiki/Godot_(moteur_de_jeu)
https://en.wikipedia.org/wiki/Godot_(game_engine)
https://docs.godotengine.org/fr/stable/
Citations
- ↑ https://docs.godotengine.org/fr/stable/about/introduction.html
- ↑ https://www.techsoup.org/support/articles-and-how-tos/do-i-need-the-32bit-or-64bit
- ↑ https://docs.godotengine.org/fr/stable/getting_started/step_by_step/scenes_and_nodes.html#
- ↑ https://docs.godotengine.org/fr/stable/getting_started/scripting/gdscript/gdscript_basics.html#doc-gdscript