GDevelop
GDevelop est un logiciel permettant de créer des jeux 2D sans utiliser de langage de programmation qui se veut accessible aux plus jeunes grâce à un système de conditions et d'action sous forme de blocs appelé événements. Le programme est gratuit et les jeux créés avec fonctionnent sous Windows, GNU/Linux ou sur le Web (jeux en HTML5) et appartiennent totalement a l'utilisateur qui a le droit d'en faire un usage commercial sans payer de royalties ou de licence.
Créateur | Florian Rival (4ian) |
---|---|
Développé par | Florian Rival (4ian), Victor Levasseur, Aurélien Vivet (Bouh), Arthur Pacaud (arthuro555), Franco Maciel (Lizard-13), Todor Imreorov (blurymind) |
Fichier exécutable | .exe (Windows), .app (Mac OS) |
Première version | 1.0.8504202 Beta () |
Dernière version | 5.0.0-beta103 () |
Version avancée | Page sur les versions avancées |
DĂ©pĂ´t | https://github.com/4ian/GDevelop |
État du projet | En développement actif |
Écrit en | C++, JavaScript |
Système d'exploitation | Microsoft Windows, Linux et macOS |
Environnement | Windows, GNU/Linux, Mac OS (bĂŞta) |
Langues | Français, Anglais, Japonais, Russe, Espagnol, Polonais, Chinois (simplifié), Portugais, Italien |
Type | Moteur de jeux |
Politique de distribution | Gratuit |
Licence | Open source Licence MIT |
Documentation | http://wiki.compilgames.net/doku.php/gdevelop5/ |
Site web | https://gdevelop-app.com/ |
Chronologie des versions
Le code du moteur et de l'environnement de développement intégré qui composent GDevelop sont open-source, toutes personnes voulant y contribuer le peuvent, il est accessible sur le dépôt officiel sur GitHub.
Fonctionnalités
Export en un clic
Un export sans outils spécialisés sous Android, Windows, GNU/Linux et pour le Web est proposé. Il est aussi possible de faire un export local qui permet de build avec Cordova sous iOS. Grâce à l'export vers le Web, il est possible de publier le jeu vers des plateformes comme Kongregate, Itch.io, Gamejolt ou autres.
Les comportements
On peut ajouter des comportements aux objets du jeu, un même objet peut en avoir plusieurs. Définissez en une fois comment l'objet doit agir en lui appliquant le comportement, appliquez le comportement sur des centaines d'objets ils agiront tous de la même manière.
Un comportement permet par exemple d'ajouter un moteur physique (celui inclut dans GDevelop par défaut est Box2D), des algorithmes pour trouver un chemin, agir comme un jeu de plateforme, permettre de déplacer l'objet à la souris ou au tactile, des transitions, etc.
Les extensions
Les extensions contiennent les événements, comportement et fonctions, aussi bien celles pour que GDevelop fonctionne que celles que les utilisateurs ont partagé pour qu'elles soient disponibles au travers d'une bibliothèque communautaire directement dans GDevelop.
Vous pourrez ajouter à votre jeu en quelques clics des événements approuvés et fonctionnels.
Les fonctions
Les fonctions permettent de créer des événements réutilisable dans n'importe quelles feuilles d’événements, événement externe, et même dans les extensions.
JavaScript
L'implémentation du langage JavaScript est un point fort permettant aux utilisateurs avancés d'étendre les possibilités au-delà de la limite d'événements en manipulant directement le moteur de GDevelop. Ceci offre de nouveaux horizons pour tout développeur.
Partout où il est possible d'utiliser un événement classique, il vous est possible d'écrire du JavaScript.
Publicité
Gdevelop supporte AdMob (Google) (plateformes mobiles seulement), et Shopify, ces deux services vous permettent l'ajout de publicité sous forme de vidéo, bannière, écran interstitiel et lien pour Facebook Instant Games. GDevelop supporte Facebook Instant games. Il est donc possible de publier des jeux Facebook et d'interagir avec les services Facebook dans le jeu.achat.
Fonctionnement
Gestionnaire de projet
Lorsqu'un projet est ouvert vous y trouverez les paramètres (niveaux), les scènes et niveaux, les ressources, les feuilles de code externe, les agencements externes, les extensions et les fonctions.
On peut choisir à travers celui-ci la scène à éditer, ainsi que modifier ses principaux paramètres, comme le titre et la couleur de fond. Après avoir choisit la scène à éditer, un éditeur de scène s'ouvre pour la modifier.
Éditeur de scène
L'éditeur de scène permet d'organiser la scène en positionnant les objets voulus. Nous pouvons par exemple positionner l'objet "Héros", créer un décor en installant plusieurs objets "Fond" et "Mur", puis insérer les ennemis en mettant les objets "Méchants". L'éditeur permet de tester directement la scène comme elle sera rendue dans le jeu final en l'affichant dans une fenêtre externe (un débogueur est disponible afin d'obtenir des informations (sur les objets, les variables...) ou encore de modifier les scènes durant le déroulement de celles-ci.
Gestionnaire de ressources
L'éditeur de ressources permet de gérer toutes les images qui vont être utilisées par le jeu par l'intermédiaire des objets.
Il est possible d'utiliser les formats d'image JPG, PNG. GDevelop supporte directement la transparence intégrée aux images.
Vous y trouverez aussi les polices d'écriture (TTF, TTC), la musique, fichiers sons et musique (WAV, MP3, OGG), et les fichiers vidéos (MP4).
Éditeur d'objets
L'éditeur d'objet permet la création des objets (qui peuvent représenter le joueur, une arme, une image d'arrière-plan ou encore une barre de vie) qui seront ensuite affichés sur la scène.
Les objets peuvent, définis par les extensions, être de différents types. Par exemple, les objets "Sprite" (image animée) peuvent disposer de plusieurs animations, contenant elles-mêmes des directions (8 directions ou une seule direction qui tournera à 360°). D'autres types d'objets, tels que les objets "Texte", "Mosaïque" uniquement pour le moment, "Vidéo", "Boite 3D" (GD4), sont aussi utilisées par leur extension respective et au travers d'extensions. Le logiciel possède aussi un objet "Émetteur de particules" permettant d'utiliser des particules simplement dans le jeu.
Les objets supportent depuis un comportements (voir ci-dessus dans fonctionnalités) de jeux de plateforme.
Éditeur de calques
L'éditeur de calques permet de gérer facilement les calques ou les différentes couches qui composent la scène, un objet peut être sur un calque différent d'un autre. Par exemple une (les HUD) barre de vie fixe à l'écran ne sera pas sur les ennemis qui même calquent les entités ainsi que le héros qui se déplace.
Le placement des objets sur les différents calques se fait dans les propriétés de l'objet.
Cela permet d'ordonner plus facilement ces objets, et d'interagir avec un groupe d'entre eux en particulier (par exemple cacher le calque HUD pour cacher les HUD au lieu de cacher chaque objets un par un) via l'éditeur de scènes.
Éditeur d'événements (feuille d'événement)
L'éditeur d'événements permet de programmer grâce à un principe de conditions et actions. Chaque événement est constitué de conditions avec un autre (un objet est-il en collision, le curseur est-il sur un objet, la vitesse de l'objet est-elle supérieure à ... ) et d'actions, qui seront effectuées si les conditions sont remplies (déplacer un objet, créer un objet, afficher un texte, jouer un son...).
Il est possible d'utiliser des sous-événements et d'ajouter des commentaires ou des liens vers les événements des autres scènes du jeu. Le support des boucles ou des événements-fonctions est inclus. Les conditions et actions et types d’événements sont extensibles grâce à des apports créés par la communauté.
Les événements sont améliorés en interne par GDevelop pour une meilleure optimisation lors de l’exécution du jeu.
Compilation des jeux
GDevelop permet de compiler des jeux en des jeux autonomes, ne nécessitant pas le logiciel Electron (pour GDevelopo5). La compilation permet d'exporter pour Windows, MacOS, Gnu/Linux. La compilation via Cordova permet de créer des applications pour IOS ou Android, et enfin il est possible de juste transcrire les évènements en JavaScript pour GDevelop, ou des jeux HTML pour ensuite les mettre en ligne et jouer depuis tout navigateur web récent.
Technologies
L'IDE de GDevelop 5 est écrit en en Javascript. L'interface du logiciel est en React et utilise les bibliothèques material-ui et PIXI pour le rendu. Pour modifier le projet une librairie C++ portée en WebAssembly est utilisée. Les outils Piskel, Jfxr et YarnSpinner sont inclus pour assister le development. Le tout est emballé avec Electron.
GDevelop 4 est écrit en C++ et repose essentiellement sur la bibliothèque SFML pour la gestion du multimédia et sur Widgets pour l'interface de l'éditeur. Le logiciel utilise également Boost et TinyXML.
Le moteur de jeu actuel (GDJS) est fait en Javascript pour la plus grande partie ES5 (On peut trouver des traces d'ES6 ici et la, surtout dans les extensions).
Jusqu'à GDevelop 4, il y avait aussi un moteur Natif en C++ (GDCPP) mais il a été abandonné car non-utilisable sur un navigateur et qu'il n'était plus possible de maintenir deux moteurs. Il est prévu de la supporter a nouveau quand GDJS sera assez stable et complet.
GDevApp
GDevApp est une web application permettant avec le moteur de GDevelop de faire des jeux sans programmation directement depuis un navigateur. La web app est basée sur le code de GDevelop et dispose d'une interface plus simple mais de la même puissance en interne.
GDevApp a désormais été remplacé par l'éditeur de base de GDevelop 5, qui a été reprogrammé en JavaScript et qui est du coup nativement compatible avec le navigateur (l'interface est complète et a presque toutes les fonctionnalités de l'éditeur de bureau).
Financement participatif de mars Ă mai 2014
Un financement participatif a été mis en place sur le site Indiegogo du 23 mars au 18 mai 2014 (Page du projet). Il s'agissait de récolter des fonds pour permettre :
- Le portage de GDevelop sur Gnu/Linux MacOS et un meilleur support pour Ubuntu.
- Le développement d'une option d'export (Cordova) vers iOS et Android pour les jeux HTML5.
- L'accélération du développement de certaines fonctionnalités si les fonds sont suffisants (Éclairages dynamiques ou moteur de particule pour les jeux HTML5 par exemple)
Les contributeurs pouvaient accéder aux versions bêta des nouvelles fonctionnalités en avant-première.
Origine du logo
Selon l'auteur principal du logiciel :
"Le G est une sorte de spirale qui a été coupée (au D de "Développer") (on part du centre et on suit le G, puis on continue une spirale imaginaire jusqu'à l'arc sous le G, puis on continue une spirale imaginaire de l'arc pour faire le tour du G).
Le sens de la spirale est qu'il s'agit d'une forme où l'on part d'un point et où l'on se développe en tournant autour de ce que l'on a déjà . J'ai aimé l'analogie avec la programmation, où vous créez une application/jeu en construisant une abstraction/fonctions/comportements sur des choses simples, alors vous pouvez réutiliser ces abstraction/fonctions/comportements pour rendre les choses encore plus complexes et intéressantes, et ainsi de suite.
Le logo est donc un indice très subtil de l'art de construire des objets (dans notre cas de jeu) en assemblant des blocs de construction - ce qui est maintenant particulièrement le cas avec les comportements personnalisés / extensions utilisant des événements.
Note finale, la spirale comme la propriété intéressante qu'il va dans toutes les directions, remplissant l'espace entier. C'est un indice pour permettre aux gens de créer des choses sans limites - vous n'êtes pas contraint d'aller dans une direction."
Histoire
- La première version de GDevelop est 1.0.8504202 Beta, 11 août 2008.
- La première version de GDevelop 5 est 5.0.0-beta93 , 08 mai 2020.
- La dernière version de GDevelop 4 stable est GDevelop 4.0.97, 3 avril 2018.
- Le forum est ouvert depuis approximativement 2008.
- Le serveur Discord GDevelop est ouvert depuis le 14 décembre 2016.