Crée ton jeu d’arène sur Construct ! Sur cette page tu trouveras :
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.
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”.
Création d’un autre sprite qui servira d’Arme épée/ hache/ bâton.
Puis dupliques l’arme 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”.
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.
Dans cette exemple, c’est la touche Espace du clavier qui activera l’Arme du Héros :
Dans l’ordre :
2. Lorsque l’Epée à afficher ses deux images elle n’est plus active.
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).
On va faire au plus rapide et simple pour commencer :
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
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.
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.
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.
En suivant ce lien tu peux trouver une vidéo pour créer une tourelle ennemi.
https://ressources.magicmakers.fr/ressources-decouvre-construct-general/
Mais en voici le résumé :
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.
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.
Dessiner le Coffre Fermé et Ouvert, dans deux animations différentes.
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 resultat
On commence par créer créer en premier l’objet du Loot
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.
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.
Voici des liens de téléchargement de plusieurs Assets avec une prévisualisation de leur contenu. A vous de choisir votre préféré. Une fois le fichier téléchargé sur votre ordinateur.
Effectuer un clic droit sur le dossier compressé et sélectionner “Extract Here”
Pour garder une cohérence graphique, je vous invite à ne pas mélanger les assets, mais d’utiliser les personnages, objets et décors d’un seul package.
kenney_tinydungeon.zip pack de tuilage utilisé dans les projets de tests/démos.
dungeon_crawler.zip un package avec :
Dungeon_Tile.zip un autre package, il y a peu de décor mais une grande diversité de Personnages / Ennemies
Shikashi.zip pack pour avoir des Armes & Objets
Une tilemap (littéralement une « carte de tuile ») est une grille que l’on utilise pour “peindre” le décor d’un jeu. Elle permet de facilement poser des éléments et des murs, en utilisant des tuiles réutilisables. Ces dernières sont aussi moins lourdes que les sprites et on peut donc faire des niveaux bien plus grands vu qu’on met techniquement moins d’éléments dedans!
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.
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.
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.
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).