Justin Renaud-Gélinas - Portfolio


Déchus en mer est une expérience interactive dans laquelle vous et deux autres de vos amis naviguez à travers une mer des morts, remplie de dangers. Votre objectif sera de collecter les fragments d'artéfacts à travers celle-ci pour former l'artéfact de la vie et revenir dans la dimension réelle.
J'ai collaboré sur ce projet en tant que programmeur généraliste, d'IA ainsi qu'intégrateur d'animations et audio.
À noter que ce projet est sujet à changements,
il ne s'agit donc pas nécessairement du produit final!
Gameplay
(prototype)
Mes tâches
Intelligence Artificielle
Dans Déchus en mer, je me suis occupé de l'intelligence artificielle d'ennemis: les bateaux pirates et les avant-postes.
Les bateaux pirates
Les bateaux pirates pivotent pour faire face au bateau du joueur du côté paramétré. Ce système customisé est en corrélation avec le système de prédiction; l'intelligence artificielle prédit où les joueurs se déplaceront dans l'avenir.
Après quelques secondes, il tire avec une dispersion aléatoire paramétrée en but de balancer les précédents systèmes.
Les avant-postes
Similairement aux bateaux pirates, les avant-postes prédisent la direction dans laquelle le joueur se dirige. L'ennemi ne bouge pas, en conséquent le système est encore plus précis que celui du bateau pirate. Divers paramètres peuvent être changés afin d'altérer ses attaques: le nombre de boulets tirés par salve, le temps entre chaque coup et attaques, le nombre de PVs, etc.
Feedbacks des ennemis
Également, j'ai créé des feedbacks qui permettent aux joueurs de savoir l'état des ennemis. Vous avez peut-être pu voir ceux-ci au-dessus des ennemis.
Préparé à tirer
Idle
Joueur détecté



Programmation
Navigation du bateau
Nous utilisons les technologies du gyroscope du Joycon de la Nintendo Switch pour capter la direction indiquée par le joueur.
Dans l'installation interactive, nous utilisons un vrai volant (avec un Joycon); pour la simplicité d'expliquer, j'utiliserai simplement un Joycon.
Quand on pivote celui-ci, le bateau change de direction, qui interagit réalistiquement avec les physiques d'eau.
Pour forcer le joueur à devoir aller de l'avant, une limite d'angle paramétrée sécurise que le joueur ne puisse sortir des limites du jeu.
De plus, on peut changer la vitesse de croisière. Nous avons simplifié la mécanique en ayant simplement 2 vitesses: une lente et une rapide.
Outils divers
J'ai créé quelques outils pour aider les autres dans la conception du jeu.
Voici quelques exemples:
Système de respawn
De plus, j'ai codé un petit système de respawn qui permet de replacer les joueurs en jeu si jamais ils se coincent dans un endroit.
Spawner de ressources
Lors de la construction de niveaux, je me suis aperçu que le level artist peinait à mettre un par un des ressources. Je lui ai alors créé un outil qui permet de simplifier sa tâche en créant simplement la quantité de ressources qu'il lui faut dans un rayon choisi.


Barrière de fumée
De plus, j'ai créé un objet qui permet de repousser le joueur s'il essaie de sortir de la zone de jeu. Le level artist l'utilise dans le cas où il veut créer un environnement plus ouvert, mais dans le cas où il veut quand même limiter la zone de jeu.

Checkpoints
Dans le cas où le joueur se fait détruire son bateau, il perd la partie. Le joueur revient donc au dernier point passé. Le level designer peut donc simplement placer celui-ci en jeu et le connecter avec le point où le joueur commence le jeu.
J'ai donc dû également établir un système de sauvegarde en même temps. Ce ne fut pas une très grande tâche; j'en avais déjà fait plusieurs auparavant.

Intégration de l'audio
Avec François-Xavier Boisvert, nous avons pu fournir une expérience sonore de notre oeuvre. Je me suis alors occupé en partie d'être l'ingénieur son de notre jeu en balancant le volume et les effets des différentes sources sonores.
Mon rôle a aussi été de le rendre dynamique en y appliquant des effets en jeu, rendant le son réaliste. Par exemple, un effet sonore peut sembler étouffer lorsqu'il est loin.
Vous avez peut-être remarqué qu'une trame sonore joue quand on se fait détecter. Le système de combat permet de jouer la musique de combat tant aussi longtemps que les joueurs sont détectés par les ennemis.