VT2020-Godot-Fiche

From air
Revision as of 10:30, 3 January 2021 by Adrien.Artaud (talk | contribs)
Jump to: navigation, search

Le Godot Game Engine est un logiciel open-source permettant la création de jeux vidéos, appelé moteur de jeu, fonctionnant sur plusieurs systèmes d'exploitation et permettant la création de jeux multi-plateformes, tels que l'ordinateur, le smartphone et le web.

Le logiciel inclut des moteurs en 2D et 3D et facilite la création de jeux en intégrant une structure en nœuds, ainsi que des gestionnaires d'animation et de scripts.


Logo du Godot Game Engine


Description

Le Godot Game Engine est un moteur créé initialement en 2007 qui a été ouvert au public en 2014, et qui est régulièrement mis à jour par des bénévoles et des développeurs rémunérés grâce au financement participatif. Il se présente comme un concurrent aux moteurs privés tels que Unity en ayant des fonctionnalités similaires, tels que des librairies d'assets pour faciliter le travail des développeurs ne disposant pas de talents artistiques.

Godot construit un jeu vidéo en le découpant en plusieurs scènes qui elles-mêmes contiennent des nœuds qui correspondent aux entités et éléments du jeu.

Scripts et langages

Godot possède son propre langage pour scripter les nœuds, GDScript, dont la syntaxe est similaire à Python. Il s'agit d'un langage dynamique, le rendant facile à apprendre et à lire, testable sans compilation, mais au prix d'une performance moindre par rapport aux langages statiques. GDScript permet donc la création rapide et simplifiée de jeux. Dans le cas où il est nécessaire d'être plus performant, le Godot Game Engine fonctionne aussi avec du C#, et l'on peut créer facilement. un jeu majoritairement en GDScript pour les taches simples et rajouter un peu de C# aux endroits critiques.

Pour permettre une visualisation du code simplifiée, Godot utilise Visual Script, un outil permettant l'affichage du code de manière visuelle. L'objectif est de permettre aux artistes et aux débutants en code de se lancer dans la création d'un jeu sans devoir devenir un professionnel en programmation.

Il existe aussi un framework nommé GDNative qui permet de facilement rajouter des librairies externes et de supporter différents contrôleurs.

L'image ci-dessous présente un exemple de script de balle dans un jeu de type "Pong".
Un exemple de script d'une balle dans Godot

Moteurs 2D et 3D

Contrairement à Unity qui utilise un moteur 3D pour réaliser tous ses jeux, Godot possède des moteurs 2D et 3D dédiés.

Des exemples de jeux 2D et 3D sur Godot

Le moteur 2D utilise comme unité de distance le pixel, afin de permettre un affichage similaire pour chaque plateforme, en agrandissant le pixel pour l'écran si besoin. Ce moteur inclut des outils pour gérer l'éclairage, le défilement de texture différé ainsi que des effets de particule, permettant une grande possibilité artistique.


Animations

On peut soit écrire directement en WebAssembly, même si cela n'est pas le but de la technologie en elle même. Le but est d'écrire dans un autre langage de programmation (C, C++, Rust, ...). La technologie est encore assez jeune, donc seul un petit ensemble de langage possède un compilateur pour le WebAssembly.

Exemple compilation de code C, en WebAssembly (.wat à gauche et .wasm à droite)


Librairie d'assets

Historique

blablabla

Utilisation

Pour plus d'information pratique sur l'utilisation du WebAssembly voici le lien de la démonstration.

Contribuer

Il est possible de contribuer au projet de WebAssembly si cela vous intéresse. Pour contribuer il faut se rendre sur leur page Github, où l'on peut voir tout leur projet en cours. Page Github.

De plus, il est possible de contribuer pour majorité des compilateurs de WebAssembly notable, comme par exemple:

Référence

  1. https://godotengine.org/
  2. https://github.com/godotengine/godot
  3. https://docs.godotengine.org/en/stable/getting_started/scripting/gdscript/gdscript_basics.html

Veille Technologique 2020