

17 mars 2025
4 semaines

Goemon: Gyakusatsu est un jeu d'action/infiltration dans lequel le joueur incarne un ninja de l'empire féodal du japon en 2049. Le joueur suit l'histoire de Goemon, l'un des meilleurs ninjas de l'armée japonaise. Il se voit devoir exécuter de nombreuses missions d'assassinat sur des personnalités importantes de l'Empire Coréen en se servant de ses pouvoirs de ninja. Le plus puissant étant qu'il peut naviguer dans les ombres.
Personnage Joueur
Combat

J'ai commencé par développer mon personnage joueur. Je suis parti du modèle FPS du moteur de jeu Unreal Engine fournit par Epic Games. Le premier élément que j'ai modifié est le tir. Mon intention dans le gameplay de tir était d'avoir un jeu assez difficile. J'ai donc fait en sorte d'avoir un viseur au centre de l'écran qui serait donc l'endroit où vise et tir le joueur. Pour ce faire, j'ai utilisé un système de raycast.

Dans le cadre du gameplay d'infiltration, j'ai également implémenté une mécanique d'assommage. Si le joueur est dos à un ennemi et assez proche de lui, il peut l'assommer.
Mouvements

J'ai ensuite modifié les déplacements du personnage. Je lui ai ajouté la possibilité de courir/marcher, s'accroupir et de glisser. Ces éléments sont importants pour à la fois la mécanique de combat et celle d'infiltration. Le but étant d'avoir des mouvements fluides ainsi que de pouvoir faire plus ou moins de bruit en fonction du mode de déplacement.
Pouvoirs
Il fallait désormais que j'implémente les pouvoirs. Pour une question de temps, j'ai décidé de n'en faire qu'un. J'ai alors développé le déplacement dans les ombres.


Une fois que le joueur a interagit avec une ombre afin de rentrer dans celle-ci, je le passe en mode de déplacement libre. Il peut alors monter, descendre et naviguer dans la boîte de collision.
J'ai fait une version prototype de la mécanique : j'ai créé un acteur qui contient une boîte de collision. Cette boîte de collision serait les limites de l'ombre. Le joueur ne pourrait pas en sortir lorsqu'il se déplacerait dans ce mode.

Intelligence Artificielle
Je voulais que mes IA aient quatre paternes de comportement : patrouiller, être avertie (lorsqu'elles entendent un son par exemple), être alertée lorsqu'elles aperçoivent le joueur, et se retirer lorsqu'elles sont bas en points de vie.


Dans le contexte du prototype, je n'ai pas fait l'état de retraite et j'ai simplifié l'état d'alerte (l'IA a une taille de chargeur illimitée, ne cherche pas à se mettre à couvert, ne se soignent pas et ne lance pas de grenade).
Une fois dans le moteur, j'ai alors récréé cette boucle de comportement dans un arbre de comportement.
J'ai travaillé de sorte que le système soit simple à approfondir. Il est aisé de créer de nouvelles tâches, de nouveaux comportements, etc.

Comportement de fin de patrouille

Sens de l'IA




