Je suis un ingénieur en informatique diplômé de l'ENSIIE
ayant également une Maîtrise en informatique (jeux vidéo)
délivrée par l'Université du Québec à Chicoutimi.
En participant au
Concours Universitaire Ubisoft 2021
, mon équipe et moi avons pu remporter
2 prix sur les 8 face à 20 équipes préselectionnées grâce à Spook'n Splash :
Prix des Meilleurs défi et innovation techniques.🏆
Prix de la Meilleure expérience utilisateur.🏆
À la suite de ce concours, j'ai pu rejoindre Ubisoft Montréal en tant que Gameplay Programmeur de août 2021 jusqu'à aujourd'hui.
Spook'n Splash
est un top-down shooter en ligne dans lequel les joueurs vont devoir coopérer
afin d'éliminer les petits fantômes colorés d'une mine.
Le jeu se joue de 2 à 4 joueurs en ligne.
Ils seront répartis dans deux équipes ayant chacune une couleur distincte.
La particularité du jeu est qu'un fantôme coloré ne peut être éliminé que
par l'équipe dont la couleur lui correspond. De plus, certains fantômes
ne sont visibles que par l'équipe dont la couleur ne correspond pas.
Les joueurs vont donc devoir éliminer les fantômes de leur couleur tout en
révélant ceux qui sont invisibles pour l'autre équipe grâce à leur révélateur.
Combien de temps pourront-ils tenir au sein de cette mine hantée ? 👻
Ma contribution personnelle :
Durant la phase de développement de ce jeu, j'étais responsable de l'intelligence artificielle
des fantômes (automate muni d'un système de noeuds de navigation que j'ai entièrement développé).
J'ai également participé au développement du tutoriel,
réalisé le splashing screen (montage vidéo),
fait le back-end de l'UI et ses transitions
et aidé à l'intégration au réseau de nos fantômes avec notre programmeur réseau.
J'ai aussi épaulé mon équipe en apportant mon aide sur d'autres fonctionnalités du jeu
comme les projectiles ou les animations par exemple.
Le NaviBoard+
3 mois / Seul
Contexte :
J'ai rejoint durant mon stage de 2ème année le projet de réalité virtuelle
franco-allemand appelé PEDSIVAL au sein du laboratoire PICS-L en partenariat
avec l'Université Technique de Munich.
Objectif :
Le projet consiste à valider deux types de simulateurs piétons
(CAVE et HMD) en les comparant avec une situation réélle afin de pouvoir
ensuite les exploiter dans un environnement urbain dans le cadre de
la recherche sur la sécurité routière.
Mon travail :
Mon travail était de développer une nouvelle méthode de navigation sur
Oculus Quest grâce au framework VRTK4 de Unity.
J'ai donc conçu le NaviBoard+ ainsi qu'une scène expérimentale afin de
faire des tests auprès de sujets.
Ayant terminé plus tôt que prévu, j'ai généré une ville avec City Engine
afin de plonger les utilisateurs dans un environnement urbain où il doivent traverser
une route sur laquelle des véhicules circulent grâce à un système
de trafic contrôlé que j'ai conçu.
Le rapport de mon travail a été publié par le laboratoire et est disponible sur
ce lien.
L'utilisation de Mixed Reality Capture, OBS Studio et DaVinci Resolve
m'a permis de monter la courte vidéo ci-dessus illustrant mon travail.
Genetic Cars est une application permettant d'entraîner des
voitures à conduire sur
un circuit grâce à l'apprentissage profond.
Ce projet a été entièrement développé en C++ en utilisant uniquement
OpenGL et la SDL.
Le réseau de neurones, l'algorithme génétique permettant d'entraîner notre modèle,
l'affichage et la physique ont été réalisés de partir de zéro.
La particularité de notre projet est qu'on a également décidé de rajouter des
piétons qui traversent la route.
Les voitures vont donc devoir
éviter de les renverser tout en essayant d'arriver au bout du circuit le plus
rapidement possible.
Explications :
Chaque voiture possède un certain
nombre de capteurs de chaque côté afin de pouvoir analyser leur environnement.
La vitesse courante et les distances calculées par ces capteurs constituent
les entrées du réseau qui, après propagation avant, nous fournit la vitesse
angulaire et l'accélération futures de la
voiture.
Fonctionnalités supplémentaires :
Notre application permet d'entrainer notre modèle tout en visualisant les
différentes étapes de l'apprentissage. En effet, ses étapes clés sont enregistrées
afin de pouvoir revenir facilement en arrière en cas de surapprentissage. De plus,
un affichage du réseau de neurone courant est disponible en haut à gauche
de la fenêtre afin de pouvoir visualiser les couches et différents poids entre
chacun des neurones de ce réseau. Un graphe est affiché en haut à droite
de la fenêtre afin d'observer l'évolution du modèle en fonction du nombre
d'étapes de l'apprentissage effectuées.
Jeu d'Awalé
2 semaines / 2 personnes
Contexte :
Nous avons conçu le jeu d'Awalé sous Unity grâce au kit de développement Vuforia.
La création de cette application mobile m'a permis de faire un premier
projet de Réalité Augmentée amusant. Dans ce jeu, le plateau a été modélisé sous Blender.
L'image cible sélectionnée permet à l'application de fonctionner de manière optimale :
Présentation :
Le jeu d'Awalé est un jeu de plateau où deux joueurs s'affrontent afin d'obtenir le plus de graines dans les
12 greniers disponibles.
Pour se faire, chaque joueur fait à tour de rôle des des semailles afin de pouvoir réaliser des récoltes.
Une récolte est un gain de graine(s)
définitif pour le joueur.
Pour effectuer une semaille, le joueur prend les graines dans l'un de ses 6 greniers situés de son côté puis
les
dépose une à une dans les greniers qui suivent (le sens trigonométrique opère).
Une récolte dans un grenier se fait après une semaille et est uniquement possible lorsque :
La dernière graine de la semaille arrive dans le camp de l'adversaire.
Il n'y avait qu'une ou deux graines dans le grenier avant la semailles.
Le joueur qui obtient le plus de graines gagne la partie !
Nous avons ainsi pu réaliser Lazarus afin de pouvoir souder
notre équipe avant le début de notre aventure de 10 semaines.
Vous pouvez y jouer directement ci-dessous :
KABOOM
1 mois / Seul
Contexte :
KABOOM est un jeu que j'ai entièrement développé dans le cadre d'un
concours organisé par l'UQAC et l'ENSIIE que j'ai remporté 🏆.
Lien du concours.
L'idée du jeu m'est venue un jour de manière assez hasardeuse.
Je l'ai simplement notée et j'ai ressorti cette vieille note au début du
concours quand je cherchais une idée. Je voulais créer un jeu pour deux joueurs qui
soit amusant tout en amenant les joueurs à réfléchir en permanence.
Présentation :
Le jeu se déroule sur une simple grille où l'objectif du joueur est de la traverser sans mourir. Pour cela,
il doit se déplacer de case en case en esquivant des pièges mortels.
À son arrivée au bout de la grille, c'est au second joueur de faire la même chose.
La particularité est qu'un joueur peut poser un piège qui disparaîtra juste après sa
traversée. C'est donc la mémoire des deux joueurs qui sera mise à l'épreuve pendant la partie.
Pendant le développement du jeu, j'ai décidé de lui accorder quelques features en plus comme
l'ajout de pièges pousseurs, de blocs amovibles, de blocs immobiles afin de
rajouter un peu plus de stratégie.
Fonctionnalité supplémentaire :
Le jeu destiné à être joué en duo mais un mode solo est également disponible pour résoudre
de petites enigmes. J'ai également conçu un outil de conception de map afin de
pouvoir créer la carte de son choix.
Celles-ci peuvent être chargées dans le mode de jeu de son choix.