Ajoutez des incitations pour le chemin principal ou les quêtes secondaires de votre jeu, avec des objets de collection enrichissants.

L'ajout de bonus et d'objets de collection à votre jeu Godot peut considérablement améliorer l'expérience du joueur, le rendant plus attrayant et excitant. Les power-ups peuvent accorder des capacités spéciales ou des avantages temporaires au joueur, tandis que les objets de collection peuvent servir de récompenses, augmentant le score du joueur ou offrant d'autres avantages.

Heureusement, la création de bonus et d'objets de collection dans Godot est simple, grâce à son langage de script intuitif et à son moteur physique intégré.

Configurer le jeu Godot

Pour commencer, créez un jeu 2D dans le moteur de jeu Godot et configurez le personnage du joueur. Créez une nouvelle scène et ajoutez un PersonnageCorps2D nœud. À l'intérieur de PersonnageCorps2D, ajouter un CollisionShape2D avec une forme de rectangle pour représenter la zone de collision du joueur et un Sprite2D pour afficher le personnage du joueur.

Le code de cette démo est disponible dans son Référentiel GitHub et est libre d'utilisation sous la licence MIT.

Maintenant, écrivez le code GDScript pour gérer les mouvements du joueur et les collisions avec les limites de l'écran. Voici le code complet pour le mouvement des joueurs :

extends CharacterBody2D

var speed = 200

func _physics_process(delta):
var velocity = Vector2()

if Input.is_action_pressed('ui_right'):
velocity.x += 1

if Input.is_action_pressed('ui_left'):
velocity.x -= 1

if Input.is_action_pressed('ui_down'):
velocity.y += 1

if Input.is_action_pressed('ui_up'):
velocity.y -= 1

velocity = velocity.normalized() * speed
move_and_collide(velocity * delta)

Ce code permet au joueur de se déplacer vers la gauche, la droite, le haut et le bas à l'aide des touches fléchées. Il garantit également que le joueur ne se déplace pas trop vite en normalisant le vecteur vitesse et en appliquant un facteur de vitesse.

De plus, créez des objets ennemis avec leurs propres zones de collision et sprites. Pour gérer le mouvement ennemi, vous pouvez utiliser un similaire _processus_physique fonctionner en tant que joueur.

Créer des objets de collection

Les objets de collection sont essentiels dans de nombreux jeux, et les pièces de monnaie sont un type courant. Créez une pièce à collectionner qui augmente le score du joueur de 20 points lorsqu'elle est récupérée.

Tout d'abord, créez une nouvelle scène et ajoutez un Zone2D nœud comme pièce de collection. À l'intérieur de Zone2D, ajouter un CollisionShape2D avec une forme de cercle pour représenter la zone de collision et un Sprite2D pour afficher la pièce.

Ensuite, ajoutez le code GDScript suivant au script du lecteur :

extends CharacterBody2D

var score = 0

func _on_area_2d_body_entered(body):
get_parent().get_node("Collectibles").queue_free()
score += 20

Ce code utilise le _on_area_2d_body_entered signal pour détecter le moment où le personnage du joueur entre dans la zone de collision de la pièce de collection. S'il détecte le personnage du joueur, il récupère la pièce (l'appel à queue_free() le retire de la scène) et augmente son score de 20 points.

Créer des bonus

Les power-ups peuvent ajouter de l'excitation à votre jeu en offrant au joueur des avantages ou des capacités temporaires. Créez une mise sous tension qui active une minuterie de 10 secondes lorsqu'elle est collectée. Si le joueur touche un ennemi dans ce délai, il détruira l'ennemi.

Pour créer le power-up, créez une nouvelle scène et ajoutez un Zone2D nœud. À l'intérieur de Zone2D, ajouter un CollisionShape2D avec une forme de rectangle et un Sprite2D pour afficher la mise sous tension.

Maintenant, ajoutez le code suivant à votre script de lecteur :

extends CharacterBody2D

var timer_duration = 10
var power_up_active = false

func _on_powerups_body_entered(body):
get_parent().get_node("Powerups").queue_free()
power_up_active = true

# Start the timer
await get_tree().create_timer(10.0).timeout
power_up_active = false

func _on_enemy_body_entered(body):
if power_up_active:
get_parent().get_node("Enemy").queue_free()
else:
queue_free()

Ce code utilise le _on_powerups_body_entered signal pour détecter quand le personnage du joueur récupère le power-up. Quand ils le font, il supprime la mise sous tension de la scène et définit le power_up_active variable à vrai.

La fonction démarre enfin une minuterie en utilisant attendre et create_timer, d'une durée de 10 secondes. Pendant ce temps, si le personnage du joueur touche un ennemi, il le détruit.

Affichage des objets collectés

L'affichage du nombre d'objets de collection que le joueur a collectés peut ajouter un sentiment d'accomplissement et de progrès. Pour ce faire, commencez par créer un Étiquette nœud et en le positionnant dans le coin supérieur gauche de l'écran.

Ajoutez ensuite le code GDScript suivant pour mettre à jour le texte de l'étiquette chaque fois que le joueur récupère un objet de collection :

extends Label

func _ready():
self.text = "Collectibles: 0"

Sur le script Player.gd :

extends CharacterBody2D

var bar

func _ready():
bar = get_parent().get_node("Label")

func _physics_process(delta):
bar.text = "Collectibles: " + str(score / 20)

Ce code met à jour le texte de l'étiquette avec le nombre d'objets de collection obtenus, que vous pouvez calculer en divisant le score du joueur par 20.

Inclure des fonctionnalités supplémentaires

Il existe diverses autres fonctionnalités que vous pouvez ajouter à votre système de bonus et d'objets de collection pour améliorer davantage votre jeu. Voici quelques idées:

Plusieurs niveaux de power-ups

Au lieu d'avoir un seul type de power-up, vous pouvez introduire différents niveaux de power-ups qui accordent des capacités de plus en plus puissantes. Par exemple, vous pouvez mettre à niveau une augmentation de vitesse de base vers une augmentation de vitesse qui rend le joueur encore plus rapide.

Bonus combinés

Créez des combinaisons de power-ups qui offrent des effets uniques et puissants lorsqu'ils sont rassemblés. Encouragez les joueurs à élaborer des stratégies et à expérimenter différentes combinaisons de bonus pour un maximum d'avantages.

Limiter les power-ups

Implémentez un temps de recharge ou une limite à la fréquence à laquelle un joueur peut collecter un bonus spécifique. Cela ajoute un élément de prise de décision pour le joueur, car il doit choisir le bon moment pour activer le power-up.

Variétés de collection

Concevez différents types d'objets de collection avec des récompenses variées. Certains objets de collection pourraient fournir des vies supplémentaires, des buffs temporaires ou débloquer des fonctionnalités spéciales dans votre jeu de plateforme.

Meilleures pratiques pour la mise en œuvre des power-ups et des objets de collection

Lorsque vous implémentez des power-ups et des objets de collection dans votre jeu Godot, tenez compte des meilleures pratiques suivantes :

Équilibre et test de jeu

Testez vos bonus et objets de collection de manière approfondie pour vous assurer qu'ils ne créent pas de déséquilibres dans le jeu. Ajustez les effets et les récompenses pour offrir une expérience équitable et agréable aux joueurs.

Rétroaction visuelle et audio

Utilisez des icônes ou des sprites clairs et visuellement attrayants pour représenter les bonus et les objets de collection. De plus, incluez les effets sonores libres de droit pour fournir des commentaires satisfaisants lorsque les joueurs les collectent.

Interface utilisateur (UI)

Concevez une interface utilisateur claire et intuitive qui affiche des informations pertinentes sur les bonus et les objets de collection. Affichez le temps restant pour les power-ups actifs, le nombre d'objets de collection collectés et tout autre détail pertinent.

Cohérence

Assurez-vous que les bonus et les objets de collection correspondent au thème général et aux mécanismes de votre jeu. La cohérence dans la conception et la mise en œuvre aide à maintenir une expérience de jeu cohérente.

Enregistrer et charger

Si votre jeu comprend des bonus ou des objets de collection qui persistent d'une session de jeu à l'autre, implémentez un système de sauvegarde et de chargement pour conserver la progression du joueur. Cela garantit une expérience fluide et motive les joueurs à revenir au jeu.

En adhérant à ces meilleures pratiques, vous pouvez créer un système de mise sous tension et de collection raffiné et engageant qui enrichit le gameplay de votre jeu Godot, le rendant plus agréable pour les joueurs.

Rendre les jeux Godot plus attrayants avec des power-ups et des objets de collection

L'ajout de bonus et d'objets de collection à votre jeu Godot peut augmenter considérablement son engagement et sa rejouabilité. Les power-ups offrent aux joueurs des avantages passionnants et temporaires.

En concevant et en implémentant avec soin des power-ups et des objets de collection, vous pouvez créer une expérience de jeu plus immersive et agréable pour vos joueurs. La flexibilité et la simplicité de Godot permettent aux développeurs de jeux de créer facilement des bonus et des objets de collection attrayants qui améliorent la mécanique et le plaisir de leur jeu.