Dungeon Crawler

Un dungeon crawler 2D incluant un système création de donjon et un système d’attaque.

Projet personnel !

image du jeu Dungeon Hell

Utilisation de Unity pour construire mon jeu. Utilisation du système de Tilemap(ruleTile), de ScriptableObjects, du système de particule et autres.

Utilisation du C# pour coder les systèmes. Approche OOP pour créer des outils personnalisés à l’intérieur de Unity

Utilisation d’aseprite pour créé l’interface utilisateur et les sprites de personnages d’objets et de décors.

image du jeu Dungeon Hell

Descripton du projet

Le joueur explore un donjon segmenté par des salles. À l'intérieur des salles, le joueur affronte des vagues d'ennemis afin d'avancé dans le donjon.

Pour respecter le thème du jam, j'ai un ajouté chronomètre à chaqune des salles. Plus le joeur fini une salle rapidement, plus la récompense est élevé.

Entre chaque donjon, le joueur peut dépensser la monnaie accumulé pour augmenter la puissance du personnage.

Système du donjon et des ennemis

script d'une salle

Dans chacune des salles du donjon, on donne à la salle un patron de salle. Ce patron détient l'information concernant les vagues d'ennemis ainsi que la récompense minimum et maximum disponible au joueur.

script d'une vague d'ennemis

Chacune des vagues détient sur le type d'ennemis ainsi que le d'ennemis qu'il va y avoir dans une vague.

script d'un enemis

Chaque ennemis connait une série d'attaque possible. À chauqe fois que l'ennemis est sur le point d'attaquer, il choisit au hazard une attaque et l'éxécute. C'est aussi depuis ce script qu'on les points de vie ainsi que la vitesse de l'entité.

script d'une attaque d'ennemis

Chaque attaque peut être modifier pour modifier le nombre de projectile, la grosseur de l'angle où les projectiles vont être instanciés, le délai entre chaque apparition de projetiles et plusieurs autres options.

script d'object pooling

Finalement, puisqu'il y a beaucoup de projectiles qui doivent êter instanciés et détruit très souvent, j'ai créé un système d'object pooling pour l'imiter l'impact d'apparaitre et de détruire beaucoup d'objets.