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.
- 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...)
- 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)
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.
- 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.
- C# programming
- Data-oriented paradigm
- Ontological database
- Profiling with C# and Unity
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.
- 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
- 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
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.
- 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
- 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)
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.
- 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
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).
Baccalauréat (french A-level) with major in maths, passed with first class honors