Je m'appelle Anthony, j'ai 27 ans et suis actuellement Audio Programmer chez Kylotonn. Je me passionne pour l'informatique depuis mes 15 ans et travaille régulièrement sur des projets personnels afin d'améliorer mes compétences.
A partir de ma troisième année, j'ai commencé à travailler en tant que programmeur audio pour le KT Engine (le moteur de jeu maison du studio). J'ai donc participé à la résolution des bugs liés au sons, à compléter l'intégration déjà existance du moteur audio FMOD à notre moteur de jeu en réalisant différents outils servant à l'implémentation du son par les Sound Designer dans nos productions. Je me suis aussi occupé de l'intégration totale du moteur Wwise à notre moteur de jeu. Toutes les implémentations et outils sont codé en C++ avec un réel soucis de l'optimisation mémoire, CPU et GPU tout en assurant une utilisation des plus facile de ces outils par les programmeurs Gameplay ou les sound designers. Ces outils ont étés utilés pour le jeu TDUSC et sont encore utilisés pour le maintient de TDUSC, la production d'Endurance Motorsport Serie et pour les futurs jeux du studio. Page Steam de TDUSC Page Steam d'Endurance Motorsport Serie
Pour ma seconde année chez Kylotonn en tant que Gameplay Programmer, j'ai eu la résponsabilité d'intégrer le mode ligue de WRC Generation. Ce mode avait pour vocation d'être le mode online et compétitif prioncipal du jeu. Le but était pour moi de définir l'architecture de la base de donnée du mode, de faire la programmation serveur ainsi que le developpement client. En collaboration avec les Game designer, je devais rendre fonctionnel le roulement des différentes semaines et saisons ainsi que le calcul des points définissant le rang au classement de chaque joueur. Page Steam du jeu
Pour ma première année chez Kylotonn en tant que Gameplay Programmer j'ai eu pour tache d'implémenter différentes feature propre à la jouabilité du jeu et à l'intégration de différentes UIs. Je me suis en grande partie occupé des nouvelles features du mode carrière en collaboration avec les Games Designers et de l'intégration des UIs de ce mode en collaboration avec les UI Designer. Page Steam du jeu
Pendant mes vacances 2020, j'ai choisi de réaliser un jeu en LowPoly en 5 jours jouable sur navigateur. Il a pour but de démontrer ma capacité à créer un jeu en peu de temps, uniquement avec des Assets et ressources gratuites libres de droits. Dans ce jeu, vous incarnez un pirate qui s'est rendu sur l'île du vieux crâne pour résoudre les différentes énigmes et venir à bout des épreuves de l'île afin d'obtenir les gemmes de l'infini qui lui donneront le parchemin de la vérité. J'ai intégré à ce jeu des références à des jeux/films qui me tiennent à coeur. A vous de toutes les trouver ! Testez le jeu sans téléchargement en cliquant ici !
Pendant plusieurs mois j('ai travailé durant mon temps libre sur AnotherWorld, un jeu 3D en monde ouvert comportant une carte d'environ 2km². AnotherWorld est un jeu dans lequel le joueur se doit de retracer une histoire du passée pour ainsi découvrir le monde qui l'entoure. Cette histoire se base sur la disparition d'un enfant appartenant à la population qui vivait autre fois en ces terres. Le joueur alterne alors entre la dimension présente et une seconde dimension lui permettant de créer un lien avec le passé et l'aider dans sa quête. Si j'ai commencé à travailler sur ce jeu c'est avant tout pour découvrir le level design. Mettant jusqu'à présent consacré en grande partie à la programmation je trouvais interessant d'élargir mon champ de compétences.
The Dead Line est un mini jeu de plateforme en 2D que j'ai choisi de créer sur deux jours sans attentes particulière. Je voulais pouvoir créer un jeu sans avoir à récupérer quoi que ce soit sur internet. C'est pourquoi j'ai choisi des graphismes que je pouvais créer facilement moi-même.
Testez le jeu sans téléchargement en cliquant ici !
Pendant ma seconde année de DUT, il nous a été demandé, par groupe de 2, de réaliser un jeu avec le logiciel Unity. Avec mon binôme, nous avons réalisé un jeu que nous avons appelé BallMania. Le jeu consiste à déplacer une boule grâce au gyroscope de son téléphone sur un parcours généré aléatoirement. Pour amener une variation de gameplay au cours de la partie, un système de saison (été, printemps, automne et hiver) a été mis en place, chaque saison apportant une particularité. Un système de création de parcours a aussi été mis en place visant à créer et partager son parcours avec d'autres personnes par message.
Vidéo réalisée pour la présentation de notre jeu:
En première année de DUT, dans un groupe de 14 étudiants, j'ai eu à réaliser un jeu vidéo 2D. Le jeu vidéo est basé sur un Univers SteamPunk où l'on doit parcourir un sous-marin via des quêtes pour pouvoir récupérer un artéfact.
Vidéo réalisée pour la présentation de notre jeu:
En tant que projet personnel, j'ai décidé de mettre à profit l'immersion qu'offre la réalité virtuelle pour créer un jeu d'horreur. Pour cela, je me suis inspiré du jeu Slender. Le joueur part dans une sombre forêt à la recherche de son ami disparu. Cette forêt était autrefois un espace de vie au milieu des montagnes où les touristes aimaient se promener. Cependant, depuis maintenant plusieurs, années une créature rôde, se nourrissant des différentes personnes osant s'aventurer dans cette forêt. Le joueur est donc plongé dans une atmosphère pesante où il doit retrouver la trace de son ami à l'aide de différentes énigmes à résoudre tout en échappant à ce monstre, apparaissant dans son dos sans prévenir. Le joueur ne doit pas se retrouver trop près du monstre ou le regarder trop longtemps sinon, c'est pour lui la mort. Le jeu est utilisable sur tous casques de réalité virtuelle. J'ai réalisé toute la partie programmation, game design, sound design et level design seul. J'ai cependant récupéré les différents modèles 3D sur l'Asset Store d'Unity. Les sons proviennent de banques sons trouvées sur internet et sont libre de droits. Le jeu actuel a nécessité environ 130h de développement, réparties sur 4 mois.
Durant mon stage de validation de mon diplôme bac +5, j'ai travaillé sur un POC (Proof Of Concept) qui a pour but de promouvoir la réalité virtuelle dans la formation au sein de l'hôtellerie. L'équipe et moi n'avions qu'une semaine pour le réaliser. Dans cette simulation, l'utilisateur a pour but de réceptionner un client et de lui donner sa carte de chambre en fonction de son identité. Pour cette simulation, j'ai travaillé en binôme avec un modeleur 3D situé en Pologne. Je me suis occupé de toute la partie programmation des interactions, bruit des objets lorsqu'on les laisse tomber au sol et l'interaction du personnage non joueur. La simulation a été réalisée pour un oculus quest, utilisant le hand tracking de celui-ci.
Lors de mon stage de fin d'études que j'ai réalisé chez Tapptic Bruxelles, j'ai été amené à développer un premier POC (proof of concept) pour Audemarspiguet dans le but de promouvoir la formation par le biais de la réalité virtuelle. Cette simulation consiste à réaliser une série d'étapes garantissant la sécurité et la connaissance des vendeurs. L'utilisateur devra donc désactiver l'alarme à son arrivée ainsi que placer les montres en vitrine, interagir et répondre aux questions posées par un PNJ (Personnage Non Joueur) puis trouver un extincteur pour éteindre le feu qui vient de se déclarer dans la boutique. Ce serious game est destiné à une utilisation sur Oculus Quest, utilisant le hand tracking de celui-ci. Pour ce projet je me suis donc occupé de toute la partie programmation: système de téléportation sur point d'intérêt, système d'interaction (basé sur celui fourni par la libraire Oculus) etc...
Afin de valider mon bac +5, et destiné à une grande marque de voitures allemande, j'ai travaillé au cours de mon stage sur une simulation de golf en réalité virtuelle. Chaque joueur a le droit à trois essais durant lesquels il doit frapper la balle pour qu'elle parte le plus loin possible. Chaque distance est enregistrée dans un fichier Excel que les organisateurs du tournoi peuvent récupérer à tous moments. Ce projet a été réalisé en coopération avec des modeleurs 3D situés en Pologne, ainsi qu'un chef de projet situé à Paris. Pour ma part, je me suis occupé de toute la partie programmation, comprenant l'interface 2D, l'interface 3D, les interactions (frapper dans la balle, interactions avec l'interface) ainsi que la physique du jeu (différence de physique entre les matériaux présents sur le terrain et la balle).
Dans le but de valider mon troisième semestre de génie informatique à l'UTBM, j'ai efféctué un stage chez Immersive Factory. Ce stage consistait a réaliser des Serious Games en réalité virtuelle sous le logiciel Unity. Ces Serious Games ont pour objectif la formation HSE de professionnels sur leur lieu de travail par le biai de jeux en réalité virtuelle. Mon stage a été rythmé par le développement de la simulation Circulation & Co-Activity - Industrial Site. Mon travail consistait à programmer toutes les interactions et les différents évenement que l'apprenant plongé dans la situation était suceptible de rencontrer. La difficulté de cette simulation reposait sur les différents mode de jeu. L'apprenant peut être placé aux commandes d'un camion, d'une pelle à grappin, d'un Manitou d'un chariot élévateur ou prendre la place d'un piéton. Dans chacune de ces simulations le but est de remplir une série d'objectif en réspéctant les consignes de sécurité.
Durant ma seconde année de DUT, j'ai été amené à réaliser un stage de 3 mois en entreprise, stage que j'ai finalement réalisé chez Renault Trucks, filiale de Volvo Group. Le stage consistait au développement d'une application Android basée sur une application déjà existante. Elle permet aux camionneurs de pouvoir prendre des photos géotaguées d'éventuels litiges durant leur transport. Ces litiges peuvent concerner la marchandise ou encore la circulation. L'utilisateur peut modifier sa photo (dessiner, écrire du texte) grâce à un éditeur et envoyer la photo par mail via une liste de contacts. L'application est disponible ici.
Les photos de l'application n'étant pas à jour sur le play store voici quelques captures d'écran:
ChewToyCreator est comme son nom l'indique un createur d'objets pour chiens. Le but de ce projet réalisé avec 2 autres étudiants était la prise en main de la libraire graphique OpenGL par la réalisation d'un projet visant à la modélisation d'un objet par le biais de la modifications de parametre. Ici l'utilisateur pars d'un simple boule et, par l'ajout de bottlenecks, il est capable de modifier cette boule pour lui donner la forme qu'il souhaite.
Pour la prise en main des shaders nous avons décidé d'ajouter de la lumière à notre scène (lumière ambiant spéculaire et diffuse).
Teeko est un mini jeu qui consiste à déplacer ses quatres pions sur un plateau de façon à les alligner pour gagner. J'ai réalisé ce projet avec 3 camarades de façon à mettre en pratique nos cours d'intelligence artificelle. Ici le but était de créér une intelligence artificielle suffisamment puissante. Pour cela nous avons utilisé l'algorithme du minmax avec élagage.
Dans le cadre de ma formation, j'ai réalisé un programme en C permettant la simulation d'une plateforme logistique:
-Des transporteurs (camions, trains et bateaux) arrivent sur la plateforme. Chaque transporteur possède une destination ainsi que des emplacements pour des conteneurs. Chaque emplacement peut être occupé ou non par un conteneur qui possède lui-même une destination.
-La plateforme est occupée par deux portiques qui ont pour objectif de déplacer chaque conteneur vers un transporteur qui a pour destination celle souhaitée par le conteneur.
Le but de ce travail a été d'apprendre le langage C, de gérer le système de threads et de processus, apprendre à gérer la mémoire partagée ainsi qu'à détecter les cas d'interblocage et d'agir en conséquence.
voici les images des deux modes d'affichage disponibles:
En DUT, pour apprendre les bases d'OpenGL, j'ai réalisé au cours d'une suite de TPs un petit logiciel permettant de lire et d'afficher un mesh 3D ainsi que de lui appliquer une texture.
GIF illustrant ma réalisation :
En fin de seconde année de DUT il nous a été demandé par groupe de 5 de réaliser une borne d'arcade avec pour seule contrainte d'utiliser le FabLab de l'IUT du Puy-En-Velay. Nous avons donc utilisé un Raspberry Pi 3 contenant l'OS RetroPie. La borne d'arcade a été réalisée à l'aide des découpeuses numériques du FabLab.
Informatique - Réseau, Programmation bas niveau (C, Assembleur), protection des systèmes informatiques, circuits logiques, bases de l'intelligence artificielle (Algorithmes divers et réseaux de neuronnes), Réalité Virtuelle, mathématiques de l'image (reconnaissance de formes)
Informatique et Imagerie numérique - Programmation (C, C++), développement de jeux vidéo (Unity3D, C#), initiation aux bases d'OpenGL, programmation Web (PHP, HTML, CSS), Création de bases de données (MYSQL), initiation à la programmation Android (Java)
Développement des connaissances scientifiques et initiation à la programmation Python.
Depuis tout petit je suis attiré par les sports collectifs et plus particulièrement par le basket. Je fais du basket depuis mes 7 ans. J'apprécie l'esprit d'équipe ainsi que la compétition.
Le cinéma est aussi un domaine que j'apprécie par l'esprit de créativité qu'il y a derrière: mettre en image des histoires réelles ou fictives.
Pour finir j'aime jouer aux jeux vidéo. Je suis majoritairement attiré par les jeux de simulation en coopération. Si j'aime jouer aux jeux vidéo j'aime d'autant plus les créer c'est pourquoi la programmation est une passion. Ecrire des lignes pour obtenir un résultat direct est pour moi quelque chose de génial.