Ingénieur dans les métiers de l'informatique
Jeune ingénieur venant d'être diplômé au sein de l'ENIB ainsi qu'à l'UQAC. Je souhaite désormais mettre à profit ma passion et mes expériences professionnelles dans le domaine du développement informatique dans le secteur de la création d'automate.
Je suis donc à la recherche d'un poste me permettant d'exercer pleinement cette passion. Mais aussi me permettant d'approfondir mes connaissances dans le développement bas niveau.
Durant mon cursus à l'École nationale d'ingénieurs de Brest j'ai pu me former dans les domaines de l'informatique, de l'électronique et de la mécanique.
J'ai notamment pu mener à bien divers projets informatiques dans plusieurs langages de programmation, principalement en C#, C/C++, Python, en appliquant les méthodes agiles.
j'ai aussi pu mettre en place dans différents projets la conception centrée utilisateur, avec l'utilisation de persona et d'interview.
Ayant décidé de me spécialiser dans l'informatique et plus précisément dans l'informatique du jeu vidéo, j'ai continué ma formation avec un double diplôme à l'université de Québec à Chicoutimi.
Durant mon double diplôme d'une durée d'un an à l'université de Québec à Chicoutimi j'ai pu me former aux diverses pratiques mise en place dans le monde de la production vidéoludique.
J'ai ainsi pu mener à bien divers projets de jeux vidéo sur les moteurs 3D Unity et l'Unreal Engine tout en produisant les différents documents nécessaires à la production de jeu tel que le Game Design Document (GDD).
De plus j'ai pu me former aux développements d'intelligences artificielles, de moteurs de jeu, de moteurs physiques, et me former sur les domaines du design narratif, et du génie logiciel.
Mon stage de fin d'étude s'est déroulé au sein d'un studio de développement de jeu indépendant. Durant six mois j'ai pu intégrer l'équipe de développement du jeu Reign Of Dwarf en tant que stagiaire développeur gameplay. Ce jeu étant un jeu de survie multijoueur développé sous Unity, j'ai pu durant ce stage approfondir mes connaissances en architecture logiciel, en design pattern mais aussi dans le moteur Unity ainsi qu'en C#. J'ai aussi pu apprendre à utiliser Fishnet une solution de networking similaire à Mirror. Durant ce stage je me suis principalement occupé de réaliser différentes fonctionnalités sur le système de combat tel que le combat à mains nues, l'intégration d'un coup de pied, d'un système de parade ainsi que l'implémentation des premières armes à distance (un arc et une arme automatique). J'ai aussi travaillé sur l'intégration d'un système de prédiction et de réconciliation sur les mouvements des personnages pour permettre la synchronisation des positions des joueurs tout en ayant une autorité serveur sur les déplacements afin d'éviter les possibilités de triche. Ce stage s'est déroulé purement en distanciel et m'a permis d'accroître mes connaissances sur Unity, principalement sur les fonctionnalités de l'animator, des IK, du Profiler mais aussi sur la méthode scrum qui a été utilisée pendant toute la durée de mon stage.
J'ai intégré Cervval lors d'un stage pour développer un jeu sérieux en réalité virtuel sur un moteur interne à l'entreprise. Ce jeu avait pour objectif d'apprendre aux étudiants médecins les bases de l’anatomopathologie via des puzzles à réaliser.
Toute cette application était liée à un site internet regroupant les divers exercices proposés aux étudiants.
Durant ce stage j'ai aussi réalisé divers pages web liées à la réalité virtuelle. Notamment la page de création d'exercice, de notation, ou bien de centralisation des résultats, pour donner un accès facile aux professeurs, aux notes des étudiants.
Cela m'a donc permis d'approfondir mes connaissances en typescript, Jquery, BDD SQL, bootstrap ainsi qu'en HTML.
J'ai également pu m'exercer au développement de shader assez simple dans le but d'optimiser certaines fonctionnalités de la scène RV dans le GPU.
Cette application devait être présentée dans un salon spécialisé sur Paris, mais malheureusement cela fut annulé dû à la pandémie de COVID.
Suite à ce stage j’ai eu la chance de continuer à travailler à Cervval pendant un CDD de 4 mois. Mon double diplôme ayant été décalé suite à la pandémie.
Durant ce CDD j’ai pu assister les équipes de développement, et notamment créer un système de messagerie en ligne accessible sur mobile, permettant aux divers agents d’un réseau de transport en commun de communiquer entre eux.
J'ai ainsi pu continuer à approfondir mes connaissances sur les technologies web et la mise en oeuvre des méthodes agiles.
Ma première expérience en tant que stagiaire fut au sein d’une équipe de développement à l'IRT B<>COM à Brest, j’ai eu la chance là- bas d’apprendre les bases de scrum dans une petite équipe agile et multidisciplinaire (informatique & psychologie).
Durant ce stage j'ai pu m'exercer au développement d’IHM sur QtCreator dans le but de créer un hub de différents modules zigBee.
J'ai aussi pu me former à la récupération de données depuis un dongle USB.
Crush The king est un jeu 2D mêlant le plateformer et le Tetris ! C'est un jeu se jouant à deux, l'un des joueurs (le master) pose les pièces du Tetris et son but est de venir écraser l'autre joueur.
Le but de l'autre joueur ( le runner ) est de survivre le plus longtemps possible face aux dangereuses différentes pièces qui risqueraient de lui tomber dessus ! Chaque pièce dispose d'un effet unique, méfiez-vous donc car certaines s'avèrent plus dangereuses que d'autres.
Cette GameJam a été l'occasion pour moi de prendre en main Unity, durant ce week end de développement je me suis occupé du design des interfaces et de leurs réalisations.
Retrouvez Crush The king ici
Troubatechno est un jeu en monde ouvert dans lequel un terrible monstre s'est éveillé, le but de notre troubadour de l'espace est de la vaincre à tout prix !
Différents gameplay sont proposés aux joueurs (jeux de rythme, de combat et d'exploration) et offrent la possibilité de voyager à travers trois époques différentes accessibles à n'importe quel moment.
Saurez-vous vaincre la terrible menace qui rôde sur terre et ainsi sauver la house ?
Dans ce jeu j'ai pu m'occuper de tout le système de combat, du bind des animations, la création de collectibles et j'ai pu réaliser un ennemi simple. Je me suis donc majoritairement occupé du design du gameplay et de son intégration.
Retrouvez Troubatechno ici
Dans hell's mansion vous incarnez une mère à la recherche de son enfant. Dans ce dungeon Crawler roguelike vous devrez aussi bien vous battre que résoudre des énigmes.
Faites attention aux différents ennemis qui vous pourchasseront, et à l'entité mystérieuse qui pourrait aussi bien vous aider que vous mener vers d'autres dangers.
Dans ce jeu j'ai pu réaliser une machine à états finis et les différentes IA des ennemies. J'ai aussi travaillé sur les animations des ennemies ainsi que les différents sons associés aux monstres.
J'ai aussi participé au debug et aux tests du jeu.
Retrouvez Hell's Mansion ici
Lors de mon double diplôme à l'UQAC j'ai eu la chance de venir intégrer une logique floue basée sur des règles dans le jeu raven que l'on peut retrouver dans le livre
Mat Buckland, Programming Game AI by Example, WordWare.
Les différents agents peuvent ainsi rater leurs tirs en fonction de la distance et de l'arme qu'ils portent, iront chercher de la santé si leur vie est faible et qu'une trousse de soin est à proximité.
Ce projet m'a permis d'appliquer plus concrètement les notions et les règles de l'intelligence artificielle à un jeu vidéo.
J'ai pu m'exercer à la résolution de problèmes avec contraintes lors d'un mini-projet de résolution de Sudoku.
L'utilisateur peut venir charger différents sudokus sous format texte et voir l'algorithme le résoudre en temps réel.
J'ai par la suite repris une partie de ces algorithmes pour créer une intelligence artificielle capable de jouer au puissance 4.
Dans ce jeu un agent régi par un système expert et une vingtaine de règles doit sortir d'une forêt. En découvrant les cases au fur et à mesure il doit trouver la sortie.
Cependant des monstres et des fosses se trouvent sur la carte, les cases adjacentes à de tels dangers seront soit venteuse soit odorante en fonction de la présence d'une crevasse ou d'un monstre.
L'agent doit alors décider seul sur quelle case aller et si oui ou non il doit jeter une pierre pour tuer un monstre, dans le but final de trouver le portail de sortie.
Lors de l'un de mes stages j'ai eu la chance d'expérimenter avec QtCreator dans le but de créer une IHM permettant de recevoir différentes données de modules ZigBee. Le challenge dans ce projet a été de traiter les données de modules très divers, et de maintenir la cohérence des données à travers plusieurs threads ( un thread est associé à un module).
Lors de mon cursus à l'enib j'ai pu développer les mouvements d'un robot en utilisant de l'asservissement et free rtos pour la gestion des threads. Le robot doté d'une caméra peut soit suivre une couleur définie par l'utilisateur ou bien dans un autre mode rouler librement en évitant les obstacles à l'aide de capteurs IR et à ultrason.
Lors de mon cursus j'ai développé sur Qt une IHM et le traitement des données en multithread d'un réseau BUS-CAN, sur ce réseau était présent un gyroscope, un anémomètre, et un capteur de luminosité.
le but du projet était de rassembler toutes les données des cartes sur une IHM claire, et de pouvoir contrôler le moteur présent dans l'anémomètre pour faire tourner une hélice.