Utilisateur:Lorèloi/Brouillon/Godot
- → N'hésitez pas à publier sur le brouillon un texte inachevé et à le modifier autant que vous le souhaitez.
- → Pour enregistrer vos modifications au brouillon, il est nécessaire de cliquer sur le bouton bleu : « Publier les modifications ». Il n'y a pas d'enregistrement automatique.
Si votre but est de publier un nouvel article, votre brouillon doit respecter les points suivants :
- Respectez le droit d'auteur en créant un texte spécialement pour Wikipédia en français (pas de copier-coller venu d'ailleurs).
- Indiquez les éléments démontrant la notoriété du sujet (aide).
- Liez chaque fait présenté à une source de qualité (quelles sources – comment les insérer).
- Utilisez un ton neutre, qui ne soit ni orienté ni publicitaire (aide).
- Veillez également à structurer votre article, de manière à ce qu'il soit conforme aux autres pages de l'encyclopédie (structurer – mettre en page).
- → Si ces points sont respectés, pour transformer votre brouillon en article, utilisez le bouton « publier le brouillon » en haut à droite. Votre brouillon sera alors transféré dans l'espace encyclopédique.
État du projet | Développement actif |
---|---|
Écrit en | C++ [1] |
Environnement |
Création : Windows, MacOS, Linux, FreeBSD, OpenBSD, Haiku [2] Déploiement : Windows, MacOS, Linux, BSD, Haiku, iOS, Android, BlackBerry, HTML5[2] |
Langues | Multilingue (Support partiel du français) |
Type | Moteur de jeu |
Politique de distribution | Gratuit (Don) |
Licence | Licence MIT |
Site web | godotengine.org |
Godot (Moteur de jeu)
modifierGodot est un moteur de jeu multiplateforme capable de rendus 2D et 3D. Il est depuis janvier 2014 ouvert au public et disponible sous licence MIT, ce qui fait de lui un logiciel libre.
Conception de Godot
modifierHistoire du projet
modifierJuan Linietsky[réf. souhaitée] et Ariel Manzur avaient commencé à développer un moteur de jeu depuis 2001. Cependant, en 2007, ce moteur fut mis à mal par quelques particularités de conception apparues avec certaines machines telles que l'iPhone ou la PlayStation3. En effet, une gestion de la mémoire différente et les microprocesseurs multi-cœur demandaient d'importantes modifications dans la façon de développer des jeux. Ils furent donc obligés de se séparer de l'architecture du moteur qu'ils avaient alors, et de repartir sur une autre base. Leur nouveau moteur de jeu est celui qui deviendra Godot. Ils avaient pour idée de le rendre libre dès le départ, mais préféraient le développer en interne et attendre que le projet ait une certaine maturité avant de le publier. Cinq à six ans après que le nouveau moteur de jeu ait été commencé, il commença à être utilisé au sein de OKAM studio. Cela leur permit de se focaliser sur la préparation du moteur pendant que le reste de l'équipe concevaient des jeux en l'utilisant. [3]
Le 14 janvier 2014, la première version ouverte au public fut publiée sous licence MIT, via le site officiel. Il s'agissait d'une version béta.[4][5] Godot a aussi été publié sur Steam deux ans plus tard (le 24 février 2016[6]), ce qui, d'après Ariel Manzur, a fait gagner énormément de crédibilité au projet.[3]
Choix du nom
modifierLe nom "Godot" a été choisi en référence à la pièce de théâtre En attendant Godot de Samuel Beckett.
Le moteur de jeu ne s'est pas toujours appelé "Godot". Cependant, avant qu'il ne le soit définitivement, ce nom était déjà utilisé en tant que nom de code pendant le développement en interne. Il désignait ce que ce projet pourrait devenir, à savoir, un moteur de jeu ayant des objectifs assez généraux, et doté d'une interface utilisateur décente. Un tel projet demandera beaucoup de temps avant d'aboutir (si il aboutit), d'où la référence à En attendant Godot, dont l'attente est un thème de prédilection.[7]
Juan Linietsky justifie a posteriori le choix de garder officiellement ce nom. En effet, les personnages de la pièce attendent en permanence un individu nommé Godot sans que personne ne sache s'il viendra effectivement un jour. Juan compare ces personnages avec les utilisateurs de Godot, qui sont en permanence dans l'attente de nouvelles fonctionnalités pour le moteur.[8]
Fonctionnalités
modifierEn tant qu'outil de création de jeux vidéo, Godot couvre de nombreux aspects de leur réalisation. L'utilisateur de Godot a la possibilité d'importer du contenu (images, son, modèles 3D), de créer des animations, de programmer le comportement de différents éléments du jeu grâce à un langage de script, de soumettre des objets à une physique (forces, collisions), de placer des sources de lumière, de créer un niveau constitué de tuiles au sein de l'éditeur, etc.
Rendu
modifierGodot possède à la fois un moteur de rendu 3D et un moteur de rendu 2D dédiés. Cette approche est différente de certains autres moteurs de jeu tels que Unity, qui manipulent une scène 3D dans tous les cas, et utilisent une caméra orthogonale pour restituer "l'effet 2D".
Moteur de rendu 2D
modifierLe moteur de rendu 2D de Godot utilise le pixel en tant qu'unité de distance, quitte à utiliser des agrandissements pour obtenir les dimensions d'image voulues sur l'écran. Il est capable de gérer les rendus[9] :
- De sprites statiques,
- D'animations, soit avec des sprites animées (succession d'images), soit par utilisation d'un squelette,
- De défilement différentiel (ou parallaxe), technique utilisée pour faire défiler plusieurs plans d'un décor à des vitesses différentes pour donner l'illusion de profondeur,
- D'effets de particules,
- D'effets de lumière ; les éclairages et les ombres.
Moteur de rendu 3D
modifierArbre de scène
modifierUne des particularités de Godot réside dans son concept de scène. Une scène, dans Godot, est un ensemble de nœuds organisés en arbre[10]. Ces nœuds peuvent être des sprites, des formes servant de masques de collision, des sources lumineuses, des sources sonores, des objets physiques, des gestionnaires d'animation, ou d'autres choses encore. Par exemple, on peut créer une scène "personnage" composée d'une sprite, d'un objet physique et d'une forme de collision.
Il est important de noter qu'un nœud d'une scène peut aussi être l'instance d'une autre scène. Il est ainsi possible de réutiliser une scène définie séparément en l'imbriquant dans une autre. En reprenant l'exemple précédent, on peut tout à fait créer une scène principale "niveau" qui est contient plusieurs scènes "personnage", entre autres nœuds.
Chaque scène est enregistré sous forme de fichier, qui peut être un fichier texte pour faciliter la gestion de versions.[10]
Langage de script
modifierGodot permet d'attacher un script à n'importe quel nœud présent dans l'arbre de scène, afin de programmer le comportement de ce nœud. Le langage de programmation utilisé pour ce faire est le GDScript, qui est une variante de Python conçue pour fonctionner plus harmonieusement avec Godot.[10][11]
Plusieurs raisons ont été évoquées pour justifier ce choix, qui a été préféré aux langages Lua, Python, Squirrel ou Javascript utilisés avec leurs interprètes. Ces raisons sont :[12][8]
- La relative facilité d'apprentissage de ce nouveau langage,
- La possibilité de fournir plus facilement un meilleur éditeur de code source dans l'interface utilisateur de Godot. En effet, GDScript permet plus aisément le support du complètement et le support de l'édition de code pendant le fonctionnement du jeu (Live editing),
- D'autres raisons plus techniques, comme l'interfaçage plus simple entre ce langage et le C++, la gestion plus adaptée du ramasse-miette, la possibilité d'ajouter de manière native dans le langage des types de variables telles que les vecteurs et les matrices, ou le support de threads.
Dans le cas où une portion de code doit être programmé avec un fort souci d'optimisation et de performance, Godot permet aussi de remplacer une classe GDScript par une classe C++ sans incidence avec le reste du jeu.[11]
Voir aussi
modifierRéférences
modifier- « Page GitHub de Godot. On y voit qu'environ 90% du code est écrit dans le langage C++. » (consulté le )
- « Fonctionnalités de Godot (site officiel) » (consulté le )
- (en) « SteamLUG Cast s04e05 – Waiting For VR », sur steamlug.org (consulté le )
- « Annonce du passage de Godot à la license MIT sur developpez.com » (consulté le )
- Godot Engine, « Godot Engine - First public release! », sur godotengine.org (consulté le )
- « Informations - Toutes les informations », sur store.steampowered.com (consulté le )
- Godot Engine, « Godot Engine - Godot history in images! », sur godotengine.org (consulté le )
- « Introduction au moteur Godot, conférence de Juan Linietsky, 7 juillet 2015 », sur RMLL - Web TV (consulté le )
- « Godot : un game engine multi-plateformes opensource », Le rdv des passionnés de technologies, de jeux vidéo et de programmation, (lire en ligne, consulté le )
- « Publication de la version 2.0 du moteur de jeu libre Godot Engine - LinuxFr.org », sur linuxfr.org (consulté le )
- (en) « Scripting — Godot Engine 2.1 documentation », sur docs.godotengine.org (consulté le )
- (en) « Frequently asked questions — Godot Engine 2.1 documentation », sur docs.godotengine.org (consulté le )
{{Palette|Moteurs de jeux vidéo}} [[Catégorie:Moteur de jeu vidéo]]