PROJETS

2023

ENCADRÉ

UE5.2.1

Présentation

"Encadré" est un jeu réalisé dans le cadre d'un cours de production de jeu de ma formation à l'UQAC. C'est ma première expérience avec une équipe comprenant des étudiants en art pour la production des assets.

Le sujet du jeu porte sur la diversité et l'inclusivité ayant pour but de faire réfléchir le joueur sur ses aspects de notre société de manière subtile.

"Encadré" est donc un jeu sérieux dans lequel on incarne une photographe souhaitant participer à un concours de photos portant sur les oiseaux. Celle-ci rencontrera un vieux pêcheur nostalgique qui accompagnera l'accompagnera dans sa quête de réussite. Le pêcheur fera aussi réfléchir le joueur sur les thèmes de la diversité et l'inclusivité via les clichés pris en jeu. En effet, la mécanique principale du jeu est de pouvoir prendre en photos les oiseaux présents dans l'environnement et de les perfectionner via un système de score permettant d'évaluer la qualité des clichés de l'album.

Mon travail

J'ai donc travaillé 10 semaines sur ce projet jusqu'à sa publication. Je me suis occupé de l'implémentation de nombreuses des features principales du jeu tel que le système de prise de photo et les quêtes du pêcheur.

Système de prise de photos

Le système de prise de photos est celui qui m'a donné le plus défis techniques:


Pour ce faire lorsque le joueur souhaite prendre une photo, j'utilise un moyen de récupérer le rendu à l'instant T afin de le stocker dans une texture 2D. Les textures sont sauvées temporairement en mémoire pour ainsi être accessible depuis l'album dans le but d'être affichées.


Dans ce cas il a fallu réaliser une projection mathématique de la vue de la caméra au moment du cliché en fonction du champ de vision de celle-ci. Le but étant de pouvoir comparer la position des oiseaux présents dans le monde en fonction de la projection de la vue de la caméra afin de déterminer si l'oiseau est dans le champ de vision ou non. Une couche de logique supplémentaire a aussi été apporté afin de vérifier si l'oiseau présent dans le champ de vision n'est pas obstrué par un obstacle.

De plus, afin de pouvoir noter le cliché, les photos prises sont dotées de méta datas afin de pouvoir stocker tout un tas d'informations tel que la distance de l'oiseau par rapport à la lentille, si l'oiseau est centré etc...


Système de quêtes du pêcheur

Le pêcheur est aussi un élément clé du gameplay car il orchestre nos actions en imposant des objectifs au joueur. Mon principal défis a été de rendre l'édition des quêtes faciles pour les artistes s'occupant du game design et de la narration.

J'ai donc développer un éditeur de quête adapté au jeu offrant diverses option de réglage des quêtes ainsi qu'un système de gestion des dialogues.

Pour finir, j'ai évidemment travaillé sur beaucoup d'autres aspects du projet tel que l'implémentation des diverses animations du personnage, des oiseaux, de l'album ainsi que l'algorithme de calcul du score des photos que j'ai élaboré avec un de mes collègue.

Conclusion

Ce projet m'a permis de développer d'avantage mon travail d'équipe car travailler avec des artistes fut une expérience enrichissante et complètement différente de ce que j'avais pu vivre jusqu'à maintenant. Cela ne m'a pas empêché d'adapter mon organisation aux besoins des artistes et du projet. De plus ce projet m'as donné la possibilité de résoudre des défis techniques dont les solutions utilisées et connaissances acquises me seront sans aucun doute utiles pour de futurs projets.

BANKRUPT

UE5.1

Présentation

"BankRupt" est mon entrée à la WonderJam d'hiver de l'UQAC avec l’équipe TechNet. Cette jam étant sponsorisée par Ubisoft, Frima ainsi que Beenox, il était important pour nous de tout donner et on était bien décidé à monter sur le podium. Pour cela, on c'était bien préparé mentalement et avion décidé que quoiqu'il arrive nous développeront un jeu online utilisant Steam ou Epic.

Le thème était "You're not the main character" et nos contraintes étaient : I Want My Cut, Scoring, Free For All.

"BankRupt" est un jeu d'arcade où vous assistez Pablo, le plus grand voleur d'Italie. Pablo a planifié le braquage d'une grande banque nationale au cours des 6 derniers mois et a choisi 2 membres du gang pour l'aider. Votre objectif est de sympathiser avec lui en lui apportant plus d'objets, de charger le plus d'argent dans le van et bien sûr de vous évader avant l'arrivée de la police! Plus vous avez été utile, plus votre part sera importante.

Nous avons donc développé en 48h un jeu multijoueur online (2 joueurs) qui utilise Epic Online Subsytem afin de pouvoir rejoindre ses amis à travers le monde. Le jeu est aussi doté d'un large panel de trophées directement liés à votre compte Epic Games.

Mon travail

Sur ce projet je me suis principalement occupé du menu 3D qui a su faire effet, des animations des personnages, de plusieurs mécaniques cœur du jeu tel que le "punch"
et bien entendu de la réplication de tout ces éléments. L'équipe était soudée et nous avons mis toute notre passion et nos compétences dans se projet en nous aidant les uns les autres.

Conclusion

Au final, nous avons remplis l'objectif que l'on c'était fixé et nous avons terminé 1er sur un total de 24 équipes et 114 participants en plus d'avoir obtenu le vote du public.

Le jeu est disponible au lien suivant:

FARM THEM ALL

UE5.1

Présentation

"Farm them all" est ma seconde entrée à la Ludum Dare mais cette fois-ci avec l'équipe TechNet.

Ici le thème était "harvest" et bien que cela ne nous inspirait pas de grandes idées, nous sommes partis sur un Agar.io like où l'on pilote un tracteur. Plus on récolte de ressources, plus on est puissant. Il est toutefois possible d’échanger sa puissance contre des amélioration tel que des rockets, une tourelle automatique ou encore des boost de vitesse.

Cette fois-ci nous ne souhaitions pas développer un jeu online en 72h alors nous avons opté pour des IA comme ennemis.

Mon Travail

Sur ce projet je me suis principalement occupé de l'implémentation du plugin Chaos Vehicle pour contrôler les tracteurs puisque j'avais déjà de l’expérience dessus via mon précédent projet "Fall Cars". Une fois le plugin implémenté et expliqué au reste des membres de l'équipe, je me suis occupé des IA afin qu'elles puissent fuir ou attaquer le joueur quand il le faut. Pour finir je me suis occupé du level design de la carte de jeu.

Conclusion

Cette expérience a consolidé mon esprit d'équipe et surtout mon esprit de partage. En effet j'apprécie énormément partager tout ce que je connais sur Unreal Engine afin de donner tout un tas de truc et astuces qui m'aurait sauvé des heures de boulots les années précédentes. J'aime cette notion de partage car c'est avant tout grâce à tout les tutos youtube, les forums et mes professeurs que j'en connais autant aujourd'hui. (Et je suis toujours entrain d'en apprendre d'avantage tout les jours!)

Au final le jeu a été apprécié et nous somme arrivés 310eme sur 1632!

Vous pouvez consulter les critiques ainsi que jouer au jeu au lien suivant:

Présentation du jeu par Lucas Guichard, développeur chez TechNet

Présentation du jeu par Lucas Guichard, développeur chez TechNet

KLEMS

UE5.0.3

Présentation

"Klems" est le tout premier jeu multijoueur et codé en c++ que j'ai réalisé dans le cadre d'une game jam organisée par mon professeur de réseau de l'UQAC. Je l'ai réalisé en collaboration avec l'équipe "TechNet" qui fut créée pour l'occasion et qui est composée de Hugo Mora, Lucas Guichard ainsi que moi.

Le thème de cette jam était "Infection" et la contrainte était "élément online". Nous avons donc opté pour un FPS en réseau local en 1v1v1v1. 

Dans "Klems" on incarne un agent du SWAT envoyé pour investiguer les expérimentations illégales du laboratoire Klems. Malheureusement vous vous faite piéger et êtes dorénavant un sujet de test pour un poison transformant les humain en monstre. Vous serez coincé avec 3 autres cobayes... Arme à la main, votre but est d’être le dernier en vie.

Pour l'équipe TechNet, c'était notre tout premier jeu en réseau full C++ alors le challenge fut de taille. Cependant nous avions 1 semaine pour développer notre jeu alors le défis fut relevé avec succès!

Mon travail

Personnellement je me suis occupé du Gunplay, du mouvement du personnage ainsi que des animations en y implémentant la réplication. Je me suis aussi occupé du level design de la carte de jeu. Bien que le résultat n'est pas parfait, compte tenu de notre expérience et des délais que nous avions, je reste satisfait de ce que nous avons produits. La prise en main du C++ avec la réplication fut moins contraignante que prévu. Étant déjà expérimenté en C++, j'ai  rapidement préféré celui-ci au Blueprint bien que les deux cohabitent ensemble sur Unreal Engine. Pour ce qui est de la réplication, notre excellent professeur Valère Plantevin (Senior Network Programmer) a su nous donner les bons outils ainsi que les connaissances pour réussir.

Le jeu est disponible au lien suivant :

2022

DELTA SHIFT

UE5.0.3

Présentation

"Delta-shift" est ma première entrée dans une game jam ouverte à tous : Ludum Dare 51. Nous avions 72h pour développer un jeu et cette fois-ci je me suis placé dans une équipe de 10 développeurs! Pour une première Jam de cette ampleur ce fut une très belle expérience.

Nous devions faire un jeu utilisant comme contrainte principale "Toutes les 10 secondes". Dans "Delta-shift" vous incarnez un personnage habile en parkour qui doit atteindre la ligne d'arrivée le plus vite possible! Cependant toutes les 10 secondes la gravité tourne à 90 degrés ce qui vous fait voir le niveau sous un autre angle. Trouverez-vous le meilleur chemin pour être le plus rapide?

Ici on joue en vue à la première personne et notre personnage peut effectuer 3 actions principales: se déplacer, courir sur les murs et glider.

Mon travail

Personnellement je me suis occupé de programmer en BP tout le système de déplacement ainsi que le "wall run". Je me suis aussi occupé des animations du personnage mais aussi du level design du niveau principal. Malgré le fait que nous étions 10 dans l'équipe, beaucoup ne se sont pas investit et d'autres ont abandonné. Cela m'a fait prendre conscience que cette passion pour la création de jeu n'était pas forcément toujours partagée et qu'il fallait malheureusement parfois faire avec. Cependant cela m'a permis de travailler sur bien plus de facettes du jeu ce qui ne m'a absolument pas déplu!

Conclusion

Au final le jeu a reçu de bonnes critiques et nous avons terminés 499eme sur 2479.

Vous trouverez ci-contre une vidéo du test du jeu par un participant de la Ludum Dare.

Vous pouvez consulter les critiques ainsi que jouer au jeu au lien suivant:

FALL CARS

UE4.29

Présentation

"Fall Cars" est un prototype que j'ai développé dans le but de découvrir le plugin "Chaos Vehicle" d'Unreal Engine 5 afin de m'exercer au développement de jeux de voiture car jusqu'à présent j'avais toujours utilisé un personnage pour mes jeux.

"Fall Cars" est une copie de Fall Guys mais avec des voitures. Le but est d'atteindre la ligne d'arrivé le premier en faisant attention aux divers obstacles et pièges ainsi qu'aux autres voitures redoutables. Si votre voiture venait à exploser, pas de panique, votre pilote sera éjecté et vous pourrez terminer la course à pied!

Mon travail

Ne possédant encore aucune connaissance en multijoueur, je me suis lancé dans le développement d'IA afin d'accompagner le joueur dans sa partie.

Ce prototype m'a permis de perfectionner mes connaissances en Blueprint ainsi que de découvrir les divers plugins de Chaos tel que la déstruction ou encore les véhicules. (Mais c'était surtout une bonne dose de fun).


RUN'NIGHT

PyGame

Présentation

"Run'Night" est le premier jeu sur lequel j'ai dû travailler en équipe. En effet, ce projet a été développé dans le cadre de la Game Jam de mon IUT en Informatique, nous avions 4 jours pour développer un jeu avec PyGame (Python) en équipe de 4.

Cette expérience me fut enrichissante car pour la première fois j'ai pu partager ma passion pour la création de jeux vidéos avec une équipe! Bien que aucun d'entre nous n'avait encore développé de jeu avec PyGames, nous avons tout donnés et nous somme épaulés les un les autres pour créer un jeu qui nous plaise et qui soit à la hauteur de nos attentes.

"Run'Night" est un platformer 2D dans lequel on incarne un personnage qui doit constamment courir et esquiver divers obstacles. Le but du jeu est d'aller le plus loin possible afin de faire le meilleur score! La course est entrecoupée de checkpoints dans lesquels ont peut utiliser des ingrédients ramassés. Ceux-ci permettrons de concocter des bonus qui seront utiles pour survivre aux prochaines courses. Mais attention, tout les deux checkpoint la nuit tombe est un monstre viendra vous poursuivre! Alors soyez prêts à courir vite!

Mon travail

Sur ce projet j'ai principalement travaillé sur les déplacements du personnage et du monstre: la course, le saut et la gravité afin de rendre le jeu fluide et agréable. J'ai aussi travaillé sur la génération procédurale de la carte car chaque "run" est différente.

Conclusion

Ce travail nous a mené à la deuxième place de la Jam sur un total de 24 équipes!


2020

COUNTER STRIKE EDIT CLIP

UE4.27

Présentation

Jouant énormément à Counter Strike : Global Offensive à cette époque, je me suis donné le défis d'utiliser Unreal Engine afin de faire un montage d'un clip du jeu directement dans Unreal. 

Le but était de rendre un clip banal du jeu en quelque chose de plus cool et artistique. J'ai aussi eu cette volonté car je me demandais si c'était réellement possible de transférer des cartes et modèles 3D du jeu ainsi que des enregistrement de parties dans le moteur Unreal. Et bien croyez le ou non mais c'est possible!

Cette expérience m'a permis de me mettre à l'épreuve car à cette époque (je ne sais pas si c'est toujours le cas) mais les différents processus à emprunter afin de pouvoir transférer tout le contenu d'une partie de CS:GO sur Unreal était très peu documentés... Alors je me suis débrouillé. Il a fallu que je touche aussi à Blender afin de pouvoir transformer les données de la partie en un FBX avec animations, enfin bref, une vraie galère qui a su développer encore plus mon autonomie!

Bilan : 37 secondes de vidéos pour 40h de boulot (minimum)


2019

FFP

UE4.25

"FFP" est le jeu avec lequel je me suis mis au défis d'utiliser le BLueprint d'Unreal.

Je l'ai développé dans le but de refaire un jeu de A à Z mais cette fois-ci avec un gameplay plus profond que mon précédent jeu. Après m’être entrainé pendant plusieurs mois sur divers prototypes, j'y ai intégré un système d'objectif avec des interactions (appuyer sur des boutons, ramasser des objets) ainsi que plusieurs IA contre qui ont joue.

Le jeu s'inspire énormément de TJOCR, un fan game de Five Night At Freedy's qui m'a beaucoup marqué. Ici on y incarne un personnage coincé dans un labyrinthe souterrain avec des animatroniques assoiffés de sang rodant dans les couloirs... Le but et les défis diverge en fonction des niveaux. 

Le jeu ce joue en vue subjective et le joueur dispose de trois actions : se déplacer, courir, utiliser sa lampe torche ou encore interagir avec les éléments du décor. Cependant attention à bien utiliser ces 4 atouts, courir vous fait perdre votre endurance et plus vous êtes fatigués, plus vous verrez trouble! Faites aussi attentions aux divers tuyaux de chantiers présents sur la carte, si vous vous prenez les pieds dedans cela attirera les monstres!

Pour chaque nouveau niveau, un nouvel animatronique s'invite avec un gameplay différent:

J'ai passé beaucoup de temps sur ce projet car c'est ici que j'ai vraiment compris les bases de l'architecture Blueprint d'Unreal 4.25. J'y ait aussi découvert l'animation. En effet je n'ai pas fait les modèles 3D mais il a fallu que je les animent afin de les rendre vivant dans le jeu. Ce projet marque le début d'un nombre incalculable de prototypes en BP qui n'ont fait qu'endurcir mes connaissances du moteur.

2018

Papa Game

UE4.21

"Papa Game" est mon tout premier jeu "complet" sur Unreal Engine 4.21.

Je l'ai développé pour la fête des pères (d'où le nom), et cela a été pour moi une petite aventure car c'était la première fois que je me fixais l'objectif de faire un jeu jouable de A à Z!

N'ayant encore que  très peu de connaissances en BP et encore moins en CPP, je me suis lancé dans la réalisation d'un jeu principalement contemplatif et qui repose sur son univers et son ambiance.

On y incarne un personnage perdu dans une ville bruyante et polluée mais pourtant noyée dans la solitude. Le but est de s’en échapper afin de sortir de cette oppression mystérieuse.

Le gameplay est simple: platformer 2D dans un monde 3D avec des puzzles "Physic Based" pour ne pas avoir à toucher au code (Le BLueprint me faisait encore peur à l'époque).

C'est sur ce projet que j'ai appris à utiliser le moteur pour construire des environnements prenants et qui reflètent ma personnalité artistique. Aujourd'hui cela me permet d'être polyvalent sur le développement d'un jeu vidéo car j'apporte autant d'importance au code et à l'optimisation qu'à l'aspect visuel et les messages qu'on souhaite transmettre au joueur.