My Experience

Artefacts logo
November 2019 - May 2020

Junior gameplay programmer at Artefacts Studio, Lyon, France

After my internship, I was hired by Artefacts Studio as a gameplay programmer on "The Dungeon of Naheulbeuk : The Amulet of Chaos". I was responsible for the development of the game's passive skills, as well as the bosses' combat mechanics. On a more general level, I was able to develop technical skills with C# and Unity, but also generally related to the world of video games such as communication with the different divisions, scrum organization, and debug phases in order to present a version of the game to the public.

Missions :

- Creation of combat features: passive and boss skills

- Improvement and extension of the spontaneous speech system

- Participation in debugging and code optimization (fight mechanics, feedbacks, saving, loading, etc...)

Skills acquired or strengthened :

- C# and Unity programming

- Handling of some existing codebase and system to create new features or to debug

- Communication and organization skills with the development team (up to 25 people on the project including 10 programmers)

- Use of development tools (SVN, BugTracking on Mantis, Visual Studio, Unity)

Artefacts logo
May 2019 - November 2019

Software engineer intern at Artefacts Studio, Lyon.

For my final year internship, I was recruited by Artefacts Studio to work for 6 months on Sim2b, a technology that simulates social relationships between artificial intelligences. During 3 months I worked in collaboration with Caroline Faur (R&D manager) on the optimization of the library, in order to use it in real-time in a video game. During the following 3 months, I joined the development team of the game " The Dungeon of Naheulbeuk " to integrate Sim2b through a system of spontaneous speech of the characters. It allowed me to introduce dialogue variations during the dialogues between the characters, according to the state of their relationship.

Missions :

- Rewrite Sim2b (C# library) using a data-oriented paradigm to reduce its execution time (objective : < 1 ms per frame)

- Use this library in the video game " The Dungeon of Naheulbeuk " developed with Unity, through a system of spontaneous character speech.

Skills acquired or strengthened :

- C# programming

- Data-oriented paradigm

- Ontological database

- Profiling with C# and Unity

Gamagora logo
February 2019 - May 2019

Gamagora Game Show 2019

Thanks to the partnership between my school CPE Lyon and the Gamagora university training, I was able to become part of a team of 15 people participating in the Gamagora Game Show 2019 (GGS) as a programmer and help to develop a video game in 3 months.

The team was divided into 3 main divisions (artists, designers and programmers) and we worked with a scrum organization, with the objective to progress each week towards the finalization of the project. We chose to use Unity as the game engine, which facilitated the collaboration between the different divisions. I personally worked on the shaders programming and the implementation of an A.I. for the game. I also participated in the overall improvement of the game before the oral presentation in front of an audience of video game professionals, during the GGS party on May 3rd, 2019.

Missions :

- Shaders programming on Unity (Highlight and display the units in transparency behind an obstacle)

- Artificial Intelligence Programming with a Finite State Machine system

- Pathfind optimization (with NavMesh): reduction in the number of calculations, management of collisions with slopes, improvement of transitions during forced recalculation

- Visual feedback to the player (e.g. turret range)

- Integration of game and sound menus

Skills acquired or strengthened :

- C# programming and Unity shaders

- Artificial Intelligence for video games

- Pathfinding operation and optimization

- Understanding what people who discover a video game like: gameplay, design, feedback etc...

- Teamwork: interacting with all the different divisions, good communication skills

- Agile organization with Weekly sprints and daily scrums

Bosch logo
August 2017 - July 2018

Internship at Bosch GmbH. Hildesheim, Germany.

As part of my school curriculum, I took a gap year abroad at Bosch Hildesheim. I did my internship in R&D, Multimedia, Telematics and Surround Sensing systems" sector, in the "Computer Vision & Robotics" branch.

During my internship I worked on various missions including software development, image processing, GPU programming on embedded systems and robotics. Communication within the company was in English.

Missions :

- Development of a calibration algorithm and an interactive labelling tool (on Python) for a measuring instrument equipped with a camera.

- Development and implementation of a pre-processing chain for a new type of RGB-IR camera on Jetson Board TX1 (CUDA)

- Use of ROS (Robot Operating System) and implementation of various functionalities

Skills acquired or strengthened :

- C++, Python, OpenCV and CUDA programming

- Theory and application regarding camera calibration, image processing or 3D geometry

- Installation and implementation on embedded systems

- Self-study, sometimes in teams of 2, involving research, abstraction, communication and organization

- Language: Level C1 in English (according to the OLS language test)

CPE logo
September 2015 - January 2019

Engineering student at CPE Lyon in the Digital Sciences department

After two years of Preparatory Classes, I enter CPE for a 3-year cursus, during which I decide to take a gap year between years 2 and 3 (see experience 2017-2018). I finish the 4th grade of my class (130 students) after 1 and a half years, then choose the main subject "Image, Modelling and Computer Science". I am currently in the 5th and final year of the engineering program and will graduate in 2019.

Specialized skills in Image, Modeling and Computer Science:

- Image processing (Matlab, OpenCV): Mathematical morphology, Optimization problems, Medical imaging, Calibration, Compression, Computer vision

- 3D modeling (OpenGL): Graphic rendering (rasterization and ray-tracing), Shaders, Animation, Textile/fluid simulation, Video game, WebGL

- IT (C++, OpenCL): C++ course, GPU Programming, Advanced Numerical Computing

September 2013 - July 2015

Two years intense courses (Maths, Physics and Chemistry mainly) at Lycée Masséna. Nice, France.

Two years intense training for French "Grandes Écoles" entry exam, during which I was able to push back my limits of learning and self-denial at work. At the end of the second year where I finished 5th in my PC (Physics and Chemistry) class (45 students), I passed the written exams of les Mines, Centrale, CCP and e3a (competitive exams). I won oral exams in Paris for Telecom SudParis in the Mines competition bank and the CCP oral exams as well as other less known schools. My choice finally turned to the formation in electronics at CPE Lyon, school of the Concours Commun Polytechnique (CCP).

September 2010 - June 2013

Lycée Stanislas (secondary school). Nice, France.

Baccalauréat (french A-level) with major in maths, passed with first class honors