Héritage : Septembre - Décembre 2023
Héritage a été développé dans le cadre du cours "Production d'un jeu vidéo". L'équipe avait déjà réalisé la phase de prototypage lors du trimestre précédent et je l'ai rejoint pour la phase de développement. L'objectif était de réaliser un jeu vidéo engagé, c'est pourquoi Héritage est un jeu essentiellement narratif et grand public.
Storytelling
Dans ce jeu narratif, vous incarnez une jeune femme québequoise au début du XXe siècle. Vous allez suivre son histoire et sa réflexion vis à vis des traditions familiales au travers de la capture d'oiseau au fil de sa vie.
Tâches Accomplies
- 3C : Gérer la vitesse du personnage et le mouvement de la caméra de façon analogique en exposant les paramètres afin de pouvoir facilement les modifier pour les tester depuis l'éditeur.
- Implémentation de la furtivité : le joueur peut s'accroupir, dans ce cas sa vitesse est réduite mais les oiseaux ne l'entendent plus. Pour ma rendre intéressante, il a fallu faire en sorte que la vitesse minimale de marche soit supérieure à la vitesse maximale en étant accroupi.
- Implémentation de la capture de l'oiseau : il faut être accroupi pour pouvoir capturer l'oiseau. Si on est suffisament proche, l'UI apparait pour nous indiquer sur quel bouton appuyer puis l'oiseau disparaît. Il faut également vérifier que l'oiseau est bien en face du joueur car sinon l'animation de capture se lancerait et l'oiseau serait capturé sans que le filet ne lui soit passé dessus. Il faut également faire en sorte que si deux oiseaux sont peuvent être capturé en même temps, le joueur peut les capturer l'un après l'autre.
- IA des oiseaux lorsqu'ils ne sont pas en fuite : Ils se déplacent dans un petit périmètres autour d'eux pour donner une impression de naturel, ils ne sont pas confinés dans une zone. L'objectif est de rendre leur déplacement le plus naturel possible afin de bien compléter leur mécanique de fuite elle aussi la plus naturelle possible.
- IA de l'oiseau guide : un oiseau qui se déplace de point en point afin de guider le joueur sur le chemin. Il doit être le plus modulable possible pour que les levels designer puissent lui donner le chemin qu'ils veulent afin de diriger le joueur comme bon leur semble. De plus, il ne doit pas pouvoir être capturé.
- Gestion de l'inventaire : création des différents types de plumes et mise à jour de l'inventaire lorsqu'un oiseau est capturé ou qu'une commande est effectuée. Je vérifie également qu'une commande peu être complétée avant. L'inventaire n'a pas besoin d'être complexe car il n'y a que trois types de plumes mais il devait pouvoir facilement s'intégrer dans le code existant, que ce soit dans l'ajout d'un couleur aux oiseau lors de leur apparition ou dans la mise à jour lorsqu'un oiseau est capturé.
Défis Rencontrés
Les principaux défis ont été de s'intégrer dans une équipe déjà existante et d'apprendre à utiliser Unreal Engine avec le C++ car je n'avais utilisé que le bluerpint jusque là. Heureusement les membres de l'équipe étaient tous très sympas et disponibles en cas d'aide. J'ai ainsi pu me faire la main sur des tâches faciles avant de pouvoir travailler sur les mêmes taches que les autres programmeurs. Passé cette phase d'adaptation, le dernier défis était celui du temps. Nous en avions très peu pour développer tout ce que nous voulions. Toutefois, du côté de la programmation, nous avons réussi à implémenter tout ce que nous souhaitions faire : l'IA des oiseaux, leur capture, la gestion de commandes et l'ajout des graines pour faciliter la capture des oiseaux. Enfin, les dernières semaines ont été passée à régler des bugs plus ou moins importants qui pouvaient altérer l'expérience utilisateur.
Captures d'écran du jeu
.png)
.png)
.png)
.png)
.png)
.png)
Les différentes mécaniques du jeu lors du développement : la narration par le livre, la marche, la furitvité, la capture d'oiseaux et les commandes.