Arène de base
Crée ton jeu d’arène sur Construct ! Sur cette page tu trouveras :
Introduction
Un jeu d’exploration de Donjon en 2D est un jeu en vue du dessus où le joueur incarne un aventurier et doit explorer un donjon, trouver des trésors et tuer des ennemis sur son passage ! Comme les “Zelda”, un grand classique du jeu vidéo !
Ces dernières années, les jeux ont largement évolué. Mais on peut toujours retrouver les fondements de la formule, basé sur l’exploration et l’affrontement de Monstres. Comme “The Binding of Isaac”
Sur Construct on peut Jouer au Démonoire, il s’agit d’un “Beat’em all” à savoir : On doit tuer tous les Monstres d’une salle pour avoir le droit de passer à la suivante, jusqu’à arriver au Boss final.
Jeux Exemples
N’hésite pas à essayer un ou plusieurs de ces jeux exemples.
Récupère les potions dans le bon ordre pour faire apparaître la récompense.
Création du Héros
On crée un nouveau Projet Construct, en pensant bien à cocher la case “Optimiser pour le Pixel Art”, puis télécharger les Assets ci-dessus.
Créer un sprite. Tu peux dessiner un Personnage très simple, tu pourras prendre le temps d’en dessiner un autre sur Construct, Krita ou Piskel plus tard, pas de panique !
Pense bien à orienter le regard du héros vers la droite.
Renomme le “Héros” et ajoutes lui les comportements “8 direction” et “Défiler vers”.
L’Arme du Héros
Créer l’Arme
Création d’un autre sprite qui servira d’Arme épée/ hache/ bâton et Redimensionne l’Arme.
Puis dupliques l’arme (Clic droit) et fais la pivoter vers la droite
Clique sur :
Et modifie le point d’image, pour le positionner sur le manche des 2 épées. Cela permettra que l’arme soit saisie par le manche et non par la lame….Aie !
Ajout comportement “épingle” sur l’épée:
Place l’arme sur la scène, mais en dehors de la page blanche, comme au-dessus par exemple.
Ajout d’un point image supplémentaire sur le joueur,
A gauche de l’écran, Faire un Clic droit en dessous de Origine “Ajouter un point d’image”. On fera apparaître l’arme au niveau de ce nouveau “Point d’image”.
Activer l’Arme
Pour utiliser l’arme du joueur, il faut définir sur quoi le joueur va appuyer quand il veut attaquer. Ça peut être au clic de la souris ou en utilisant une touche du clavier. Dans un cas ou dans l’autre ajouter au projet l’objet qui vous intéresse.
Aller dans la Feuille d’Evénement et coder votre première partie de code :
- Lorsque la touche espace est pressé Alors :
2. Puis cliquer sur Ajouter une Action :
- Héros fait apparaître l’Epee.(au point image 1)
3. Rajouter une Action supplémentaire à ce premier Evènement !
- l’Epée est Epinglé au Heros
4. Puis rajoute une seconde Action à ce premier Evenement :
- l’Epée affiche les deux images de l’épée (pour créer du mouvement)
Désactive l'Arme
Créer votre 2eme Evenement :
Lorsque l’Epée à afficher ses deux images ( à savoir l’animation) elle n’est plus active.
Points de Vie du Héros
Variable Globale pour le PV
On va faire ça avec des variables (pas avec des variables d’Instance mais avec une Variable Globale). Pour permettre au Héro de conserver la valeur de ses PV d’une scène à une autre. Une scène = une salle du donjon.
Créer une variable Globale, lui donner un nom, et une valeur initiale.
exemple : 3 (ça donnera 3 PV au Héros).
Afficher les PV sous forme de Coeur à l’écran
On va faire au plus rapide et simple pour commencer :
- Créer un Arrière Plan Répété, et dessiné ou importé un dessin de Coeur.
- Regarder sa Largeur et retenir le nombre. (dans mon exemple c’est 100, mais chez toi c’est sans doute différent)
Ajoutes lui le comportement Ancre et place le Coeur ou tu veux à l’écran. Habituellement il est en haut à gauche dans les jeux Vidéo.
Ensuite, créer un nouvel événement en sélectionnant « Système » à chaque tick« . Puis, sélectionner « Le Coeur » et Définir sa largeur » en indiquant TA largeur du coeur et en la multipliant « *« par le nom de la variable. « VieHeros« .
A présent tu auras de Coeur à l’écran que de point de vie !!
Faire perdre un PV au Héro
Créer un Piège ou un Ennemi, places le sur le chemin du Héros puis :
Puis lors de la collision du Héros avec le Piège > Retirer 1 à la variable Globale
(C’est tout en bas dans Système !)
Mort du Héro
Il faut redémarrer la scène si les PV du Héros tombent à 0. Penses également à réinitialiser la valeur initiale.
exemple : 3. Pour redonner de la vie au Héro.
(C’est tout en bas dans Système : Comparer la Variable !)
Les Ennemis
PV de l’Ennemi
D’abord créer un Sprite pour l’Ennemi.
Puis, on va donner vie à notre ennemi en lui donnant des points de vie. Et cette fois avec une simple variable d’instance attachée à cet ennemi.
On va lui faire perdre des PV lorsqu’il rentre en contact avec l’Arme du Héro.
On va faire en sorte de pouvoir blesser l’ennemie avec notre Arme. pour se faire : Choisir l’arme en collision avec l’ennemie. Puis dans l’action ajouter Choisir l’Ennemie et Soustraire & à la variable d’instance (c’est tout en bas des évènements)
On va maintenant, tuer l’Ennemie si il n’a plus de point de vie. Choisir l’Ennemie Comparer Variable (c’est tout en bas)
Afficher le cadavre de l'ennemie (optionnel)
Plutôt que de détruire l’Ennemi on peut aussi laisser son cadavre sur place et ce même en changeant de scène.
Ajoute le comportement Persister à l’ennemi.
Puis dupliqué l’animation, renomme la deuxième en Mort
Dans le code Supprimer ou Désactive (clic droit > Basculer) la destruction de l’ennemi.
Puis rajoute le lancement de l’animation de Mort, lorsque l’ennemi n’a plus de PV.
Attaques Ennemis (Distance ou Mêlée)
Ennemi qui tire sur le Héro
En suivant ce lien tu peux trouver une vidéo pour créer une tourelle ennemi.
Mais en voici le résumé :
- Créer un Sprite pour l’objet à lancer par l’ennemi.
- Ajouter à cet Objet le comportement Projectile.
- Ajouter le comportement Tourelle à l’ennemi.
- Puis dans le code :
Ne pas hésiter à modifier la cadence de tir de la tourelle ennemi (pour que l’ennemi utilise son arme plus ou moins souvent).
Il faut bien penser à soustraire 1 PV au Héro lorsqu’il rentre en collision avec l’objet lancé par l’ennemi. On peut également en profiter pour détruire l’Objet à l’impact.
Ennemi qui se dirige vers le Héro
Ajouter le Comportement Ligne de Mire et Déplacer Vers,
Puis :
Tu peux faire quelques réglages des comportements de l’ennemi : regarde la portée dans la Ligne de mire & Déplacer Vers.
Il faut bien penser à soustraire un PV au Héros lorsqu’il rentre en collision avec cet Ennemi.
Et à désactiver les collisions de l’ennemi, après sa mort, pour ne pas blesser le Joueur si il touche son corps inerte.
Les Trésors (récompense)
Tu pourras mettre des coffres qui donnent des récompenses quand tu les casses. Il y a deux façons de le faire :
- Soit le Coffre clignote avant de disparaître, et tu vois la récompense.
- Soit on crée une Animation d’ouverture où le coffre s’ouvre et la récompense sort.
1er Version : Coffre Clignote
Dessiner le Coffre Fermé et donne lui les comportement : Solid / Clignotement et Persister (si tu ne veux pas que le coffre réapparaisse une fois détruit)
Dans les événements, quand l’épée du héros entre en collision avec le coffre :
- le coffre clignote pendant 1 seconde,
- puis on demande d’attendre 1 seconde
- avant que le coffre n’affiche la récompense.
- Enfin, le coffre se détruit.
Voici le Résultat :
2eme Version : Animation d’ouverture
Dessiner le Coffre Fermé et Ouvert, dans deux animations différentes.
Apparition du coffre
Tu peux faire apparaître le coffre, dans cet exemple c’est à la mort de l’ennemi.
Tu peux également effectuer un petit décalage en changeant le point d’image du coffre.
Et voilà le résultat !
Le contenu du Coffre : Une potion
On commence par créer créer en premier l’objet du Loot
Apparition Stylé de la Potion !
Puis on créer une Particule
Paramètres de la Particule :
On met le taux à 1, on met en one shot (essentiel car ainsi elle se détruira après avoir fini son animation), on lui indique qu’elle reprend l’apparence d’un autre objet du projet.
Pour rendre ça juicy : le coffre joue une animation d’ouverture, puis faire apparaître une particule qui utilise l’apparence de la potion.
- Lorsqu’on frappe le coffre, l’animation d’ouverture se lance.
- Puis à la fin de l’animation, la Particule apparaît.
- Et lorsque la Particule disparaît après une seconde elle fait apparaître la Potion.
Quand la particule se détruit, on utilise le système pour faire apparaître le loot à + X de là où était la particule.
Pourquoi utiliser le système ?
Les particules ne peuvent pas faire spawn d’objet. Donc on compense.
Note : par défaut dans Construct les objets regardent vers la droite. C’est aussi le cas des particules.
Les Enigmes
En premier lieu on va créer les objets qui serviront pour l’énigme. Dans cet exemple, on va créer 3 leviers (3 sprites différents) et il faudra les activés dans un sens précis pour réussir l’Énigme.
On va créer une variable Global, qui permettra de savoir où en est l’avancé dans l’énigme.
Toucher les Leviers :
On va définir le chiffre de l’énigme en fonction de l’ordre dans lequel on souhaite qu’il soit touché.
La variable augmente quand on progresse dans l’énigme.
Pour éviter de pouvoir toucher les leviers dans un mauvais ordre, on va rajouter des sous condition.
On s’assure qu’on a atteint la bonne étape pour valider la suite.
On va maintenant envoyer un feedBack (information) au joueur pour lui signifier qu’il a bien touché le bon levier.
Fin de l’énigme :
On fait apparaître la récompense.
Ici je mets la variable à 4 afin qu’on ne génère qu’un loot sinon on a une boucle infinie.
Si le joueur se trompe :
On s’occupe de tous les cas où on se trompe d’ordre dans lequel on active les leviers.
On utilise notre variable d’énigme et dans ce cas on compare si la condition de départ n’est pas respectée
exemple : pour toucher le levier vert on doit avoir valider le bleu et donc être à 1).
Mais on vérifie aussi que la condition de réussite de cette étape n’est pas validée (ici quand on avait bien touché le bleu et qu’on touche le vert on passe à 2, il faut donc aussi s’assurer qu’on est pas sur 2 sinon on pourrait invalider toute l’énigme).