La création d'un jeu de plateforme nécessite souvent d'aller au-delà du simple saut entre des blocs statiques. Pour enrichir l'expérience de jeu, l'intégration de mécaniques de déplacement vertical, comme l'escalade d'échelles, devient indispensable. Ce guide détaille comment structurer votre environnement et configurer les comportements nécessaires au sein de GDevelop.
Préparation de l'environnement de travail
Avant de plonger dans la logique complexe des échelles, il est essentiel de maîtriser les bases du moteur. Cette version du tutoriel est obsolète. Always download GDevelop from this page to be sure to have the latest version. Click on Create a new project on the start page. Pour commencer, nous devons préparer les éléments visuels de notre projet. For making our game, we will need to have assets that we can use (the player character, a few platforms, items to collect…).

Les scènes sont les composants fondamentaux de votre jeu. Scenes are parts of your game. Scenes contain objects, that are displayed on the screen. Ces éléments, une fois placés dans l'éditeur, deviennent des instances. These objects can be put on the scene to create the levels (these objects are called "instances"). A new scene, called "New scene", is added to the list. The player will be controlling a character that can jump and move on platforms.
Configuration du personnage principal
Sur le côté droit de l'interface, vous trouverez le panneau des objets. On the right, you can see a panel called "Objects". Pour créer votre personnage, vous devez sélectionner le type adéquat. Different kinds of objects provide specific features. Click on Sprite in the list. The object is empty for now. Sprite objects are composed of animations, and each animation can contain one or more images. Let's add an animation! The animation is added but still empty with no images. Choose the image called p1_stand in the project folder.

To display the player in our level, we place it in the scene. Afin de maintenir une organisation rigoureuse, il est crucial de nommer correctement vos ressources. To make it easier to refer to our object, give it a name rather than using the default name. Right click on it (or click on the ⋯ icon) and choose rename.
Mise en place des plateformes et du moteur physique
The level is still empty for now without any platforms. Create a new object by clicking on the + button in the Objects list. The object editor is opened. Click on Select an image and then on Choose a new image. Close the editor by clicking on the "Apply" button in the bottom right corner. The object is added to our scene but it is very tiny.
Il est tentant de vouloir tout programmer manuellement, mais GDevelop offre des solutions optimisées. The movement of the player could be created using the events of GDevelop, but it would be a quite long and difficult task to recreate a good platformer engine. Luckily, GDevelop already comes with a complete platformer engine built-in that we can use. Switch to the Behaviors tab and click on the + button to add a behavior to the object. You can change some properties like the jump speed.
We also need to set objects to be platforms, so the player can walk and jump on them. Otherwise, the player will fall through the object as we didn't tell to our character what to do when they land on it. To set the GrassPlatform object to be a platform, open the GrassPlatform object editor. There are also a few options that you can change. For example, the option "Can grab platform ledges" is there to allow the platformer character to grab the edge of the platform. If we enable this option right now, the result will look strange though, as we don't have an animation to be displayed when the character grabs the edge.
Intégration de la logique de mouvement
Une fois les plateformes configurées, vous devriez obtenir un résultat fonctionnel. You should be able to walk and jump around using the default keys: move the character with the arrow keys, and press Shift or Space to jump! Feel free to add a few other platforms to the scene as we did before. The grey background is a bit boring. Later we can add an image, but for now, let's keep things simple. Our game is very basic at the moment, the player is not animated when jumping or running.
Pour ajouter une échelle, la logique consiste à créer un nouvel objet "Sprite" représentant l'échelle. Contrairement aux plateformes solides, cet objet doit être configuré sans collision physique directe, ou en tant que "plateforme échelle" si le moteur le permet. Vous devrez ensuite utiliser l'éditeur d'événements pour détecter si le joueur est en collision avec l'échelle et s'il appuie sur les touches haut/bas.

Dans les événements, créez une condition : "Le joueur est en collision avec l'objet Échelle". Ajoutez ensuite une action pour désactiver le comportement "Plateforme" du joueur lorsqu'il est sur l'échelle, afin qu'il ne soit pas soumis à la gravité, puis appliquez une force verticale constante en fonction de l'entrée clavier. Cette approche permet de simuler la montée et la descente sans avoir recours à des calculs complexes de physique newtonienne.
Optimisation et gestion des transitions
Lorsque le joueur quitte l'échelle, assurez-vous de réactiver le comportement "Plateforme". Cette transition est cruciale pour éviter que le personnage ne tombe à travers le sol ou ne reste bloqué en l'air. Pensez également à ajouter des conditions de "touches pressées" pour que le mouvement soit fluide. Si vous souhaitez aller plus loin, vous pouvez ajouter une animation dédiée au personnage lorsqu'il est en mode "escalade".
L'utilisation de variables globales ou d'objets invisibles pour délimiter la zone de l'échelle est une pratique courante. Ces zones servent de déclencheurs pour changer l'état du joueur. En structurant ainsi votre code, vous maintenez une lisibilité optimale, ce qui est particulièrement utile lorsque votre projet prend de l'ampleur et que le nombre d'échelles ou de mécaniques verticales augmente significativement.
La gestion des collisions pour les échelles diffère fondamentalement de celle des sols solides. Alors qu'un sol solide bloque le mouvement, l'échelle agit comme un vecteur de mouvement directionnel. En travaillant par étapes, en testant chaque modification et en utilisant les outils intégrés de GDevelop, vous transformez un simple déplacement horizontal en une expérience de plateforme riche et dynamique.