Chap 5 – Ajout de la Mécanique de Plateforme avec Odin & Raylib

Introduction

Dans cette cinquième partie de la série sur la création de jeux avec Odin et Raylib, l’accent est mis sur l’ajout de mécaniques de plateforme. Le développeur guide à travers plusieurs étapes pour introduire des plateformes sur lesquelles les joueurs peuvent sauter, ainsi que les ajustements nécessaires pour améliorer l’expérience de jeu. En particulier, il explique comment structurer le code, ajuster la caméra, ajouter des colliders pour la gestion des collisions et utiliser des outils de débogage pour valider les comportements du joueur.

Définir les Bases du Platforming

Ajout des Colliders et Gestion des Sauts

L’un des premiers aspects abordés dans cette vidéo est l’ajout de colliders, essentiels pour gérer la manière dont le personnage interagit avec les plateformes. Le joueur peut sauter entre plusieurs plateformes et la détection de collision permet de s’assurer que le joueur peut atterrir dessus et ne pas passer à travers. Une fois les colliders en place, un mécanisme simple est utilisé pour détecter quand le joueur atterrit sur une plateforme.

player_feet_collider : Rectangle

Caméra et Redimensionnement de Fenêtre

Le développeur met également en place un système de caméra pour améliorer la manière dont le joueur est centré à l’écran. Plutôt que d’ajuster manuellement la taille du personnage, un zoom dynamique est utilisé pour permettre à la caméra de suivre le joueur avec fluidité, en particulier lorsque la fenêtre du jeu est redimensionnée.

zoom := screen_height / pixel_window_height

Cette approche permet de garantir que le redimensionnement de la fenêtre n’affecte pas la manière dont les éléments de gameplay apparaissent, tout en maintenant l’échelle correcte des objets.

Ajout de Graphismes Personnalisés

Remplacement des Rectangles Simples par des Textures

fichier platform.png

Les plateformes sont initialement représentées sous forme de rectangles rouges, mais à la fin de la vidéo, des textures plus esthétiques sont introduites pour améliorer l’apparence visuelle du jeu. L’ajout de textures personnalisées rend les plateformes plus immersives et visuellement attrayantes.

platform_texture := load_texture("platform.png")

La texture est ensuite dessinée à la place des rectangles simples, ce qui donne aux plateformes un aspect plus professionnel.

Détection de Collision et Optimisation des Performances

Types de Collision

Le système de collision est conçu pour permettre au joueur de sauter à travers les plateformes par en dessous, mais de les utiliser comme surfaces solides en sautant dessus. Cette méthode est similaire à celle utilisée dans de nombreux jeux de plateforme.

if check_collision_recs(player_feet_collider, platform) {
  // Gérer la collision
}

L’approche utilisée est basique mais efficace. Cependant, la vidéo explore des moyens d’implémenter des détections de collisions plus complexes, notamment avec des bibliothèques de physiques externes comme Box2D.

Limitation du Framerate

Pour garantir une jouabilité fluide et éviter des problèmes de performances, un limiteur de framerate est ajouté, assurant que le jeu ne dépasse pas une certaine limite de FPS. Cela empêche le GPU de surchauffer inutilement et améliore la gestion des ressources du jeu.

Cette pratique permet de maintenir un équilibre entre performance et qualité de jeu.

Améliorations Futures et Débogage

Visualisation de Débogage

L’utilisation d’outils de débogage pour afficher visuellement les colliders permet de s’assurer que les objets sont correctement positionnés et que les collisions sont correctement détectées. Cela aide à valider les hypothèses sur la manière dont les éléments du jeu interagissent.

Optimisation de la Gravité et des Vitesse de Mouvement

Après l’ajout des mécanismes de caméra et de plateforme, il devient nécessaire d’ajuster les paramètres de gravité et de vitesse du joueur pour éviter que le personnage ne bouge trop rapidement. Des ajustements sont effectués dans le code pour améliorer la sensation de jeu.

player_velocity.y := -300

En ajustant ces valeurs, le développeur affine les mouvements du joueur pour une jouabilité plus fluide.

Conclusion

Cette partie de la série de développement de jeux avec Odin et Raylib apporte des mécaniques de plateforme fondamentales au projet. En gérant les collisions, en ajustant la caméra et en améliorant les graphismes, le jeu prend forme et offre une meilleure expérience utilisateur.

By laurent

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur la façon dont les données de vos commentaires sont traitées.