Vinarnt Portfolio

Amazehing

Amazehing, nom composé de A maze, signifiant litéralement Un labyrinthe, et hing pour faire référence au mot amazing.
Il s'agit d'un jeu sous forme de RPG dans lequel le joueur doit traverser un labyrinthe généré procéduralement infesté de monstres.

Le labyrinthe est généré grâce à l'algorightme de génération Recursive Backtracker . Des salles contenant un boss à vaincre pour continuer sont intégrées avant de générer le tracé du labyrinthe.

La première difficulté a été de trouver la meilleure façon de générer les murs, communs entre cellules ou indépendamment des autres cellules, comme on peut le remarquer dès les images ci-après. Ensuite pour optimiser le rendu et le moteur physique gérant les collisions, j'ai rassemblé les murs pouvant n'en former qu'un. Un système de paging est également implémenté pour ne gérer que les entités présentes dans le secteur actif et aux secteurs alentours.

Java ne possédant pas d'héritage multiple hormis les interfaces, l'utilisation d'un système d'entité par composants est indispensable.
L'intelligence artificielle est implémentée à l'aide d'un arbre comportemental, pour la logique, couplé à un système de steering behavior, pour les déplacements.