On Life's Path est un jeu couch game multijoueur local en 3D. Il est réalisé sur Unreal Engine 5 avec du C++.
Embarquez pour un voyage commun afin de guider une âme perdue en quête de paix. Explorez ses souvenirs , affrontez ses regrets et guidez-le vers la lumière à l'intérieur d'un cube mystérieux , où chaque face dévoile un fragment de son passé. À chaque déplacement sur le cube, les joueurs découvrent des souvenirs qui façonnent l' histoire de l'âme , la rapprochant un peu plus de la sérénité .
Mon role était de travailler sur la rotation du cube avec le spawn des faces, la réalisation de plusieurs intéractions (comme le jeu du simon, celui du tampon, etc) et enfin la gameloop du jeu.
Mon premier défi était de trouver le moyen de gérer plusieurs levels en même temps. Nous avons fini par choisir les streaming levels et donc de faire disparaitre les faces qui n'étaient pas sur le haut du cube. Ceci était un choix de design plus que un choix technique. Après avoir réussi à faire apparaitre et disparaitre les levels il fallait s'occuper de faire tourner le cube dans la bonne direction et de spawn le bon level en conséquence. Le problème que j'ai rencontré ici est la rotation avec des angles en degrés. Car unreal n'aime pas ces angles la et après plusieurs rotations il modifie les angles. C'est le Gimbal Lock. J'ai donc du utiliser les quaternions pour faire tourner le cube. J'ai d'ailleurs du les apprendre pour y arriver et je suis très fier d'avoir réussi.
Le deuxième défi était la gameloop. Pour que ce soit plus facile, j'ai fait une base en C++ et chaque étape est créée en BP. J'ai donc fait un simple séquenceur d'étape. Et quand une étape est fini elle le dit au manager qui lui passe à l'étape suivante. Le tout est géré par une liste. On peut donc facilement changer l'ordre des étapes, ainsi que d'en rajouter et d'en enlever. Chaque étape est un BP dans la scène.