5. Création d'un ennemi dynamique et aménagement de niveau

Note : Cet article est une archive pédagogique du cinquième épisode de ma série sur la création d’un jeu de plateforme avec Construct 2.

Points clés abordés#

  • Amélioration du Level Design : Conseils pour rendre vos niveaux plus visuels et attrayants en modifiant la disposition des éléments de décor.
  • IA d’ennemi basique : * Mise en place d’un ennemi qui se déplace automatiquement de gauche à droite.
    • Utilisation de la logique de retournement automatique pour simuler une patrouille.
  • Organisation du code : * Introduction aux Groupes d’événements : création d’un groupe dédié (AnimJackEnemy) pour isoler la logique de l’ennemi.
    • Activation/Désactivation des groupes au démarrage pour optimiser la lisibilité et la maintenance du projet.
  • Gestion des bugs de collision : Identification et résolution de problèmes liés aux chutes non désirées à travers les plateformes (complémentaire au tutoriel de debug).

Conseils d’organisation pour vos feuilles d’événements#

À mesure que votre projet gagne en complexité, la structure de votre feuille d’événements devient cruciale :

6. Créer des falaises et des cascades

Apprenez à donner du relief à vos environnements dans Intersect Engine en maîtrisant la création de cartes connectées, de falaises et d’effets de cascades dynamiques pour vos zones de jeu.

Notions clés abordées#

  • Gestion des cartes connectées : Utilisation de la Map List et du Map Grid pour lier deux zones adjacentes et assurer une continuité fluide dans votre monde.
  • Utilisation des calques (Layers) : Maîtrise des calques Ground, Mask et Fringe pour superposer les éléments de décor et gérer les priorités d’affichage.
  • Création de reliefs : Utilisation des Tile Types (Montagnes et Cliffs) pour structurer le terrain et créer des dénivelés visuels.
  • Effets animés : Intégration de tuiles Animated pour l’eau et utilisation du type Waterfall pour créer des cascades.
  • Astuces de collision : Utilisation du calque Fringe pour permettre au joueur de passer derrière des éléments de décor, comme une cascade, ajoutant ainsi de la profondeur au gameplay.

Ce qui reste d’actualité aujourd’hui#

Bien que les versions d’Intersect Engine évoluent, les fondamentaux du mapping restent inchangés. La gestion des calques (Ground/Mask/Fringe) demeure la pierre angulaire pour créer des environnements immersifs. La technique consistant à lier des cartes via le Map Grid est toujours la méthode standard pour construire des mondes ouverts sans surcharger la mémoire du client. Enfin, l’utilisation des tuiles animées et des propriétés de collision reste une compétence indispensable pour tout développeur souhaitant créer des zones interactives et vivantes dans son MMORPG.

6. Gérer la Vie, Créer un Menu et Optimiser son Jeu

Dans ce sixième épisode de notre série dédiée à Construct 2, nous allons approfondir la gestion des packs de vie, structurer notre jeu avec un menu d’accueil et peaufiner les performances et l’organisation de notre projet.

Résumé des notions clés#

  • Gestion des Packs de Vie (Health Packs)
    • Création du sprite “Elpack” (Health Pack) et ajout d’une variable d’instance pv (points de vie) pour définir la quantité de soin.
    • Ajout d’une variable d’instance MaxV (vie maximale) au joueur pour définir sa capacité de vie maximale.
    • Initialisation de la vie du joueur à MaxV au démarrage du layout pour garantir une vie pleine au début.
    • Implémentation de deux logiques de ramassage pour les packs de vie :
      • Ajout des pv du pack à la vie du joueur si cela ne dépasse pas MaxV.
      • Réinitialisation de la vie du joueur à MaxV si le ramassage du pack le ferait dépasser, évitant ainsi de soigner au-delà du maximum.
  • Création d’un Menu Principal
    • Ajout d’un nouveau layout “Menu” et d’une feuille d’événements dédiée “ES_Menu” pour gérer la logique du menu.
    • Intégration d’un bouton “Jouer” sur le menu qui, une fois cliqué, redirige le joueur vers le “Level 1” (le jeu).
    • Modification de l’événement de mort du joueur pour qu’il revienne au menu principal plutôt que de simplement disparaître.
  • Optimisation et Améliorations du Jeu
    • Nettoyage des balles: Ajout d’un événement pour détruire automatiquement les balles qui sortent du layout, économisant ainsi des ressources.
    • Point de sortie du tir: Création d’un “Image Point” nommé “gun” sur le sprite du joueur, permettant aux balles de partir de l’extrémité de l’arme pour un rendu plus réaliste.
    • Organisation du code: Utilisation de groupes d’événements (“System”, “Marine”, “Balles”) pour structurer et rendre plus lisible la feuille d’événements.
    • Exportation du jeu: Explication du processus d’exportation du projet en “HTML5 Website” et des étapes pour le déployer sur un hébergement web.
  • Devoir Maison
    • Appliquer la logique de “vie maximale” aux munitions : faire en sorte que ramasser un chargeur ne permette pas de dépasser la capacité maximale du chargeur du joueur.

Ce qui reste d’actualité aujourd’hui#

Bien que Construct 2 ait évolué vers Construct 3, les principes fondamentaux abordés dans ce tutoriel restent des piliers du développement de jeux vidéo et sont applicables à la plupart des moteurs de jeu modernes :

6. Limiter les déplacements de votre vaisseau

Apprenez à restreindre les déplacements de votre vaisseau à l’intérieur de votre zone de jeu pour éviter qu’il ne disparaisse hors de l’écran grâce à la fonction clamp.

Résumé des notions clés#

  • L’événement Step : Comprendre que cet événement s’exécute à chaque image (60 fois par seconde selon la vitesse de votre room), ce qui est idéal pour les vérifications constantes de position.
  • La fonction clamp() : Utilisation de cette fonction intégrée à Game Maker pour contraindre une valeur entre un minimum et un maximum.
  • Gestion de l’origine du sprite : Importance de prendre en compte le point d’origine de votre sprite (souvent au centre) pour calculer correctement les limites de collision avec les bords de l’écran.
  • Calcul des marges : Ajustement des valeurs de clamp en fonction de la taille réelle de votre objet (hauteur/largeur) pour que le vaisseau reste entièrement visible à l’écran.

Ce qui reste d’actualité aujourd’hui#

Bien que les versions de Game Maker aient évolué, les principes fondamentaux abordés ici restent des piliers du développement 2D :

6. Gestion des collisions, HUD et interface

Note : Cet article est une archive pédagogique du sixième épisode de ma série sur la création d’un jeu de plateforme avec Construct 2.

Programme de l’épisode#

  • Gestion avancée des collisions : Distinguer l’interaction “saut sur l’ennemi” (destruction) de l’interaction “contact latéral” (perte de vie/redémarrage).
  • Interface (HUD) : Création d’une interface fixe pour afficher la vie (cœurs) et le score.
  • Optimisation UI : Utilisation du comportement Anchor pour maintenir l’interface à l’écran pendant le défilement.
  • Ajout d’objets : Intégration de pièces à collecter.

Logique des collisions (Feuille d’événement)#

Pour gérer la différence entre écraser un ennemi et se faire toucher, on utilise des sous-événements basés sur l’état vertical du joueur :

8. Créer et équilibrer vos classes de personnages

La création des classes de personnages est une étape fondamentale dans le développement de votre MMORPG avec Intersect Engine, car elle pose les bases de l’identité de jeu et de l’équilibrage global.

Résumé des notions clés#

La création de classes dans Intersect Engine se déroule au sein du Content Editor. Voici les points essentiels à retenir pour configurer vos archétypes :