Comment créer des ennemis dans les jeux Godot
MaisonMaison > Nouvelles > Comment créer des ennemis dans les jeux Godot

Comment créer des ennemis dans les jeux Godot

Jul 17, 2023

De nombreux jeux incluent une sorte d’ennemi avec lequel se battre. Explorez les différentes manières d'ajouter (et d'affiner) le combat ennemi.

Les ennemis jouent un rôle crucial en rendant les jeux passionnants et stimulants pour les joueurs. Que vous créiez un jeu de plateforme 2D, un jeu de tir vue de dessus ou un jeu de rôle, l'ajout d'ennemis peut améliorer considérablement l'expérience de jeu.

L'interface conviviale de Godot et le langage de script intuitif, GDScript, rendent le processus efficace et agréable.

Avant de plonger dans la création d'ennemis, configurez la structure de base de votre jeu 2D dans le moteur de jeu Godot.

Créez un nouveau projet 2D dans Godot. Dans la scène principale, créez un nouveauCorps cinématique2Dnœud et nommez-leJoueur . À l'intérieur du nœud du joueur, ajoutez unCollisionForme2D en forme de rectangle, qui sera la hitbox du joueur. Ajoutez également unLutinnœud comme représentation visuelle du personnage du joueur.

Le code utilisé dans cet article est disponible dans ce référentiel GitHub et vous pouvez l'utiliser gratuitement sous la licence MIT.

Joignez le code GDScript suivant auJoueurnœud pour permettre le mouvement de base :

Avec ce code, le joueur peut se déplacer vers la gauche, la droite, le haut et le bas à l'aide des touches fléchées ou des touches WASD.

Maintenant que vous avez configuré un personnage joueur, vous pouvez créer un ennemi simple.

Créez une nouvelle scène et ajoutez unCorpsStatique2Dnœud nomméEnnemi . À l'intérieur du nœud Enemy, ajoutez unCollisionForme2D nœud en forme de cercle pour définir la hitbox de l'ennemi. Ajoutez également unLutinnœud pour représenter visuellement l’ennemi.

Une fois la collision configurée, l'ennemi sera prêt à interagir avec le joueur et d'autres éléments de votre monde de jeu.

Créer des ennemis qui suivent le joueur ajoute un nouveau niveau de défi au jeu.

Créez une nouvelle scène pour le type d'ennemi suivant et ajoutez unCorps cinématique2Dnœud nomméSuivreEnemy avec un CollisionShape2D. Attachez le code GDScript suivant au nœud FollowEnemy pour qu'il suive le joueur :

Maintenant leSuivreEnemyse déplacera vers la position du joueur dans chaque image.

Désormais, vous pouvez obliger l'ennemi à tirer des balles vers le joueur. Créez une nouvelle scène et nommez-laBullet.tscn . Ajouter unCorps cinématique2D nœud à la scène. Attachez leBalle.gd script au nœud KinematicBody2D dans la scène Bullet.tscn. Ajoutez le code suivant pour définir la classe Bullet :

Maintenant, créez un nouveau nœud pour l'ennemi avec des balles et nommez-leTirEnnemi . Dans le nœud ShootingEnemy, ajoutez unCollisionForme2Dnœud avec une forme de rectangle comme hitbox.

Attachez le code GDScript suivant au nœud ShootingEnemy pour lui faire tirer des balles :

L'ennemi tirera désormais périodiquement des balles vers la position du joueur. Utiliser un conditionnelsidéclaration pour vérifier si leshoot_timerest inférieur à 0. Si c’est le cas, tirez la balle.

En plus des ennemis qui suivent ou tirent sur le joueur, un ennemi se déplaçant de manière aléatoire peut injecter un élément d'imprévisibilité et de défi dans votre jeu. Créer un ennemi avec des schémas de mouvement aléatoires nécessite une combinaison de logique simple et de génération de nombres aléatoires.

Commencez par créer une nouvelle scène et ajoutez unCorps cinématique2Dnœud nomméEnnemi aléatoire . Créez un nouveau script nomméRandomEnemy.gd et attachez-le au nœud RandomEnemy. Le script gérera la logique de mouvement aléatoire.

Il existe de nombreuses fonctionnalités supplémentaires que vous pouvez ajouter à vos ennemis pour rendre le gameplay plus intéressant.

Les combats de boss constituent des moments culminants de votre jeu, offrant des rencontres mémorables et stimulantes qui mettent à l'épreuve les compétences et la persévérance des joueurs. Les boss ennemis sont généralement plus grands et plus puissants que les ennemis ordinaires, ce qui oblige les joueurs à employer des stratégies et des tactiques spécifiques pour les vaincre.