La structure de Godot

Godot Engine est un moteur de jeu complet qui repose principalement sur 3 parties :

  • le runtime engine [moteur de durée d’exécution], qui lie vos données de jeu dans la plate-forme actuelle et exécute effectivement le jeu.
  • le export process [processus d’exportation], qui permet de faire fonctionner le jeu sur différentes plates-formes et s’occupe des spécificités de chacune.
  • le graphical editor [éditeur graphique], qui est la partie la plus visible puisqu’il aide à placer et configurer le monde, les joueurs et les objets.

L’équipe de conception de jeu va rarement perdre du temps sur le runtime [durée d’exécution] et le export engine [moteur d’exportation] (à moins qu’elle veuille ajouter des fonctionnalités spécifiques ou y contribuer puisque Godot est un logiciel libre). L’effort de création de jeu, en particulier pour le pointer et cliquer, se fera surtout dans le editor [éditeur], dans lequel les scènes seront créées et les objets placés.

Pour utiliser le editor [éditeur], il faudra principalement :

  • obtenir des assets [ressources], essentiellement des images pour les objets et les joueurs, de la musique et des sons
  • créer des scènes et des objets Godot pour utiliser les assets [ressources] dans le contexte du jeu.

Noeuds et scènes

La logique de Godot repose sur deux principaux concepts : les nodes [nœuds] et les scenes [scènes].

Une scène est similaire à une scène de théâtre, où votre jeu se déroule. De cette façon, vous pouvez définir votre jeu de pointer et cliquer comme une série de scènes dans lesquelles et entre lesquelles le joueur se déplace et interagit avec les objets placés à l’intérieur.

Le jeu n’est pas seulement une série de scènes, mais c’est plutôt une sorte d’arbre, où une scène contient une autre scène, qui contiendra d’autres scènes ou actifs, etc.

Enfin, lors de la création de scènes, il faudra définir les fonctionnalités que nous utiliserons. Godot doit savoir si ce que nous ajoutons est une étiquette, une image statique, une image animée, un son, un script… Cette approche spécialisée permettra de prévenir des erreurs dans le jeu, car, en fait, l’utilisateur peut saisir un objet représenté par une image, mais plus rarement veut-on que cet objet ne soit qu’un son. Le fait de disposer d’un type spécial d’élément rend les choses plus claires. Aussi, cela optimise mieux le jeu, parce que chaque type d’élément aura des capacités qui utiliseront de la mémoire : plus il y a de capacités, plus il faut de mémoire. Le fait d’avoir une approche précise aide le jeu à fonctionner sur des machines plus petites ou plus anciennes et, dans tous les cas, rend le jeu plus fluide.

Dans Godot, les types d’éléments par défaut sont appelés nodes [nœuds]. Il y en a plusieurs et c’est certainement la partie la plus difficile de Godot, soit de savoir quel nœud utiliser pour une situation donnée. Heureusement, dans un pointer et cliquer, les types de nodes [nœuds] utiles sont limités (Node2d, TextureFrame, animations, sons…) et ils seront mélangés dans la scène d’objet et la mise en scène pour rendre le jeu plus agréable.

Mais si vous avez un objet animé qui produit un son d’ambiance, imaginez combien il pourrait être difficile de redéfinir la manière dont les assets [ressources] se mélangeront dans chaque cas. En fait, pour vous aider à rendre votre travail réutilisable, vous pouvez aussi imaginer n’importe quel objet comme une scène en soi. Dans cette scène, vous importerez tout ce qui est constitutif de cet objet. Ensuite, au lieu d’utiliser directement la asset [ressource] dans la scène, vous utiliserez « Créer une instance » de cet objet. Ce qui est bien, c’est que le fait de changer l’original modifie toutes les instances, ce qui permet d’améliorer le jeu étape par étape.

Scripts

La dernière chose dont l’on pourrait parler sur le concept de Godot est le script. En effet, puisque tous les jeux ont des interactions et des conditions d’interactions, le script aide à définir comment elles se produisent. Le langage de script de Godot est appelé GDscript et est inspiré du langage de programmation Python. Dans la plupart des jeux, l’écriture du script nécessitera des connaissances en programmation et chaque joueur ou objet sera associé à son propre script. Dans un pointer et cliquer, puisque les types d’interaction sont standardisés, les modèles d’Escoria fournissent des scripts prêts à l’emploi qui devront être attachés aux scènes et aux objets. Ensuite, tout sera fait dans le scénario d’Escoria, sans qu’aucune autre programmation ne soit nécessaire. Ce livre explique comment utiliser ces actions prédéfinies.