Cela fait maintenant plus de 6 ans que j'utilise le moteur unreal pour des projets personnels et 3 ans que j'y programme pleinement en C++ en restant à jour sur les dernières technos et outils puissants délivrés par Epic Games. Bien que je continue d'en apprendre chaque jours, j'ai une maîtrise solide et une aisance complète avec le moteur Unreal Engine sur divers aspects : Level Design, Sound Design, Animations, Optimisation, Chaos, Modélisation et surtout programmation, notamment grâce au mentorat de Valère Plantevin, senior dev Network qui a travaillé sur divers AAA utilisant Unreal Engine et qui fut mon professeur pendant 3 ans et un de mes directeur de recherche pour mon mémoire de master à l'Université du Québec à Chicoutimi.
Je maîtrise donc le gameplay framework d'Unreal Engine que ce soit pour des expériences solo ou des jeux répliqués à travers le réseau. Je suis capable de mettre en place des solutions techniques pour des jeux en réseau compétitifs tel que du server rewind, que ce soit en surcouche aux systèmes pré-implémentés par Unreal ou une refonte complète de l'architecture réseau d'Unreal dépendament des besoins d'un projet. De ce fait je sais être polyvalent quant à mes méthodes de programmation et de jauger efficacement entre efficacité, maintenabilités et performances en fonction des contraintes techniques, temporelles et de design d'un projet. J'ai une très bonne compréhension des différentes macro et décorateurs spécifiques à Unreal, me permettant d'être opérationnel le plus rapidement possible au sein d'un projet. De plus, j'ai une capacité d'apprentissage et d'adaptation accrue, me permettant d'apprendre et d'assimiler des systèmes / solutions techniques très rapidement et de manière fiable.
En résumé, j'ai des bases extrêmement solides quant à la programmation C++ au sein de l'écosystème Unreal Engine tout en maîtrisant le Blueprint et sa cynergie avec le C++. De plus j'offre un profil de programmeur très polyvalent avec une capacité d'apprentissage, de compréhension et d'assimilation accrue. Je n'utilise aucune IA générative dans mes processus d'apprentissage de solutions technique, me permettant alors une compréhension parfaite des systèmes que je produis.
Mes compétences en programmation ne se limitent évidemment pas qu`a Unreal Engine et englobe un bagage technique plus global, notamment via mon diplôme universitaire et technologique en informatique délivré par le très bon IUT2 de l'Université Grenoble Alpes.
Durant mes deux années de master à l'Université du Québec à Chicoutimi, je me suis grandement intéressé à au patron de conception "Entity Component Système" et en ait notamment fait un sujet sous-jacent à mon mémoire de recherche intitulé "Analyse de l'impacte énergétique de l'architecture Entité Composant Système sur la consommation énergétique des serveurs de jeux multijoueurs". Ce patron de conception hérite de la programmation orientée donnée qui, contrairement à la programmation orientée objet, privilégie une approche plus modulaire en retirant le concept d'objet. l'ECS est un patron qui m'a fortement intéressé pour deux raisons : sa flexibilité totalement en adéquation avec les problèmes techniques des jeux vidéo ainsi que ses performances. En effet l'ECS privilégie l'utilisation du cache CPU et n'utilise pas de polymorphisme ce qui réduit grandement les temps de traitement des données, surtout pour un grand nombre d'entités (et les jeux vidéos en compte beaucoup). De ce fait j'ai eu utilisé quelques ECS connus tel que Entt (utilisé sur la version Bedrock de Minecraft) ou encore Flecs, je suis donc alaise avec ce concept et suis capable d'apporter des solutions équivalentes à des systèmes de jeux ou à tout autre application.
En tant que freelance j'ai aussi eu des experiences sur d'autres moteurs tel que Unity ou encore Game Maker. Ma capacité d'adaptation me permet de développer de manière générale sur tout type de support dans n'importe lequel des langages tout en gardant un code maintenable et performant. Les personnes pour qui j'ai pu travailler on souvent été surprises de ma capacité à comprendre rapidement un code déjà présent et à m'emboîter dans son architecture et ce quel que soit le langage, le moteur ou l'outil.