Code projects

Professional Projects

Solution Builder on mission at Engie

2022-2024 | Java - Spring - TypeScript - Angular - VBA - Cloud Amazon

During my first mission as a consultant developper at Sopra Steria, I joined the CloudRef team at Engie.

This team is in charge of the client and prospect data repository of Engie's "Direction des Clients Professionels" (Professional Customers Department).
My missions mainly involved creating batch integration process to feed the repository with external data files, developing various webservices to helped consulting or maintaining the repository's data, as well as setting up an Human Machine Interface (HMI) that serves as a portal to help the business team handle the repository's data.
I also worked on the code's continuous improvement and maintainability, notably by writing unit tests, documentation and tools that automatically generate code.

Tool Programmer on Mario+Rabbids: Sparks of Hope

2022 | C++ - Snowdrop - IGD Engineer Internship

Mario+Rabbids: Sparks of Hope is a game mixing exploration and adventure with a strategic combat system, released in fall 2022. It's the sequel of the game Mario+Rabbids: Kingdom Battle released in 2017. It's developed by Ubisoft in collaboration with Nintendo.
During this second engineer internship, I joined the engine team as a tool programmer. My role was mainly to implement new features on the software interface of the engine. Those usually respond to a request from the other teams of the project in order to help them build the game, but I never directly edited the game myself.

This internship finalized my second master's degree, "Interaction Graphic & Design" (IGD).

Gameplay Programmer on Rugby22

2021 | C++ - Cintia - TSP Engineer Internship

Rugby22 is a Rugby game developed by Eko Software and edited by Nacon, released late january 2022. Its a new iteration of the game Rugby20.
During this 6 month internship I had the role of a gameplay programmer. Thus, I mainly implemented modifications on the UI, the gameplay during and the gameplay outside matches.

This internship was made to complete my final year at Télécom Sudparis (TSP).

Personnal Projects

Anima

2023-??? | Unreal - C++ - Blender

Anima is an ongoing video game project with a core gameplay similar to the Pokemon's ones. It will be completely playable in multiplayer and will include elements of the Roguelike game genre.
I am developing the current version using the game engine Unreal Engine 5. It is my third iteration on the project, the first attempt being on the game engine Unity during summer 2020.

Anima Data Manager

2022-2024 | C++ - Qt

My project Anima requires to use DataTable and StringTable assets in Unreal Engine, which can be filled using ".csv" or ".json" files. However, the ".csv" and ".json" file editors didn't allow me to completely do what I needed, thus I decided to build my own using the C++ Qt library.
The application manages several data tables, makes them related to each other, and allows to export them as json files for Unreal. Likewise, it offers to create text tables that will be displayed in the game and manage the their translations.

Currently in its version 1.3, the software is complete but may be updated depending on my own user experience during the Anima project development.

"Interaction, Graphic & Design" Master Projects

Guided Research Project - VR Perspectives

2021-2022 | Unity - Virtual Reality - Oculus Quest 2

Project aiming at developing a virtual reality (VR) application that allows to explore and take benefits from other camera perspectives than the first person one. Have notably been considered the third person perspective, the side view or even an isometric one...
This project has been led similarly to how a researcher would have done, and the detailed project report is available through the '?' icon below.

Nodal World

Autumn 2021 | Java - Java Swing

Nodal world is a software/game in which the user can simulate a world of which he defines the rules. To do so he has a nodal editor at his disposal.
He can thus define the rules fo the terrain generation. Then he can populate his world with entities from various species, of whom he controls the life through birth, movement and death rules. The user also have tools to help him manage the variables of his world, debug his node networks, save or load another world.
More details are available in the readme file of the Git repository.

Demon Doors

Winter 2021 | Unity - C# - Augmented Reality (AR) - Vuforia

This short project consists into creating an augmented reality application for the "Mixed Reality and Tangible Interactions" (MRTI) course. The subjec was free to choose but had to incorporate interactions between virtual and real elements. Our group decided to create an automatic fighting game where the whole strategic aspect resides on the placement of heroes.
The game is developed on Unity using the Vuforia library to handle the AR part, and meant to be played on an Android smartphone.

"ARAP" Mesh Deformation

Autumn 2021 | C++ - Libigl

The goal of this project was to implement the algorithm proposed in the scientific paper "As-Rigid-As-Possible Surface Modeling", accessible through clicking on the '?' icon below. This paper proposes a way to deform a 3D object mesh in order to get the most natural result possible, which is the most locally rigid one. To do so, the deformation has to locally minimize the deformation energy.
The project has been coded in C++ using the Libigl library for handling and displaying the 3D world.

Collaborative Map

Winter 2021 | HTML - Javascript - CSS - Node.js - Leaflet

Here we aimed at building a collaborative tool for our "Groupware and Collaborative Work" course. We decided to create a collaborative map on which the users can place and edit markers visible from everyone, snap their viewpoint to others' one, or even ask the rest of the group to look at a specific location on the map.
The application has been coded in HTML/Javascript using Node.js to manage the server, as well as the Leaflet library to handle the local copy of the map and its display.

Scholar Projects from Télécom Sudparis

JIN Final Year Project - Myth Busters

2020-2021 | Unreal - C++ - GGPO

It's a 1 versus 1 fighting game staging gods from diverse mythologies in a circular arena without any gravity. The players are free to move vertically and horizontally. Their goal is to stack damage points on their opponent in order to be able to eject him from the arena.
A crucial point of the project is its online multiplayer aspect that we wanted to implement through the middleware GGPO.

IHM project - 2D Platformer

Autumn/Winter 2020 | Unity - C# - Arduino

Project realized in the first place for the "Interaction Homme Machine" (IHM) course, consisting into creating a 2D platformer on Unity. We had to build the collision and movement systems ourselves (the use of Unity's physical engine was forbidden), and make the player properties editable by an external game designer.

A forked version, developed for the "Internet des Objets Connectés" (IOT) course, allows to communicate with an Arduino card integrated to an electronic circuit. This adds new feedbacks and controls to the game. The circuit involves among other things some diodes and captors such as a push button and a capacitive sensor. That variant is available on the branch "IOT_Louis" of the Git repository.

IA Project - Warbot

Winter 2020 | NetLogo

The principle of the project was to make two virtual robot armies fight each other autonomously. Those armies are composed of different kinds of robots (the headquarters, the explorers, the harvesters and the rocket-launchers) that all have their own properties (detailled in the file Rules_v3.0.2.pdf). The project core is to write for each of those robot type a behaviour to follow.
Each pair of student had to define and implement its own robot routines before confronting the other students' armies in a tournament. Our strategy is the one implemented in the file red.nls of the Git repository.

Mini project C++ - Médusé

June 2020 | C++ - CMake - SFML - PugiXML - Box2D - Tiled

Project realized in 2 weeks for the C++ Development course. The theme was simply the greek mythology, and we had to use the SFML library as well as two other of our choice.
We decided to do a 2D platforming game where the player incarnates Perceus on his road to kill Medusa. Because of that, if the player looks to the right he instantly dies and retries from the previous room. However to help him in quest, he also has a shield he can use has a mirror that makes him invulnerable to Medusa, but inverts his movements. The player can also hide himself in the walls' shadow to not cross Medusa's gaze.

Cassiopée - Jintech

2019-2020 | Unity - C# - TCP

Jintech is a robot simulator designed for the robotic club of Télécom Sudparis, Intech, in order to help the club to adjust his candidate robot for a national robotic tournament ("Coupe de France de Robotique"). The software has been developed on Unity with 2 other students and had to replicate the robot's behavior in its movements, actuators (mecanic arms, suction cup) and sensors.
The simulator can be controlled by a user through keyboard inputs, but also through external code using a TCP connection.