« Godot » : différence entre les versions

De EduTech Wiki
Aller à la navigation Aller à la recherche
Ligne 136 : Ligne 136 :
* Objets, propriétés, méthodes et classes       
* Objets, propriétés, méthodes et classes       


La plateforme [https://www.skillshare.com/ Skillshare] propose également [https://www.skillshare.com/classes/Learn-The-GDScript-Programming-Language/1750685724?via=browse-rating-godot-layout-grid 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.  
La plateforme [https://www.skillshare.com/ Skillshare] propose également [https://www.skillshare.com/classes/Learn-The-GDScript-Programming-Language/1750685724?via=browse-rating-godot-layout-grid 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 [https://docs.godotengine.org/fr/stable/about/index.html documentation de Godot] propose un [https://www.skillshare.com/classes/Learn-The-GDScript-Programming-Language/1750685724?via=browse-rating-godot-layout-grid apport spécifique sur GDScript] qui abordent ce langage en proposant de s'attarder directement sur des exemples de syntaxe.  
 
Enfin, la [https://docs.godotengine.org/fr/stable/about/index.html documentation de Godot] propose un [https://www.skillshare.com/classes/Learn-The-GDScript-Programming-Language/1750685724?via=browse-rating-godot-layout-grid 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 de code en GDScript =====
Exemple tiré du cours skillshare, vidéo 18 à 21
Exemple tiré du [https://www.skillshare.com/classes/Learn-The-GDScript-Programming-Language/1750685724?via=browse-rating-godot-layout-grid cours skillshare], vidéo 18 à 21


<syntaxhighlight lang="python3">
<syntaxhighlight lang="python3">

Version du 13 juin 2021 à 12:58


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

Logo officiel

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

Mac

Linux

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 ?

  1. Système d’exploitation vous pouvez en savoir plus sur votre système d’exploitation grâce à la FAQ suivante de Microsoft.
  2. 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:

  1. Accéder aux projets aux aux modèles
  2. Changer la langue
  3. Scanner un dossier à la recherche de projets Godot
  4. Créer un nouveau projet
  5. Importer un projet (fichier projet.godot)
Godot ouverture.png

Interface

Une fois un projet ouvert, l'interface de l'éditeur de Godot s'ouvre. Cette interface est divisée en trois grande parties :

  1. 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.
  2. 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.
  3. 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.

Interface d'un projet Godot à son ouverture

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.

Interface Godot avec le panneau inférieur de sortie ouvert.

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)" [3].

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:

Général
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
Navigation dans la zone d'affichage
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

Lien PC

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

Lien PC

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

Lien PC

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

Lien PC

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