Design and development of a 2.5D video game, released on Steam in May (approximately 4 months of development).
-2 distinct game modes, each with 3 genre-based variations
-10 playable characters, each with a male and female version
-5 unique maps, each featuring its own original song-
5 mini-games, one per map
Gameplay concept:
On each arena, the player must complete a mini-game objective to unlock access to the main fight.
Fights are based on a luck system (dice rolls, buffs/debuffs) with three types of available attacks.
In-game rewards:
Unlockable illustrations as the player progresses.
Steam integration:
Steam Achievements, Steam Cloud support, and a purchasable original soundtrack available on Steam.
Full development of a 2.5D video game using Unreal Engine 5
-Selected the game concept based on hardware, time, and budget constraints, with a clear focus on a target audience to maximize market potential.
-Over 500 hours of development in Unreal Engine 5, mainly using Blueprints.
-More than 100 hours of graphic work in Photoshop for asset and visual creation.
-End-to-end project creation: objective definition, technology selection, research, and administrative management (Google Slides / Google Docs).
-Level design and gameplay development: game mechanics, level creation, and balance tuning.
-Steam release management: store page creation, communication with Steam support, PEGI rating discussions, and development of a marketing and publicity strategy.
-Iterative approach: continuous project adjustments based on tester feedback to appeal to a wider audience.
-Post-release updates: FPS optimization and addition of 13 languages for broader accessibility.
-Supervised a sound designer: organized regular meetings and tracked progress via Google Sheets for music and sound effect production.
-Used AI tools for character design and visual generation.
-Created an official trailer using Sony Vegas to support the game’s promotion.
Put on your virtual reality headset and dare to enter Dominique's house!
The goal is simple: you need to find 5 crucifixes to escape. Simple, right?
Did I forget to mention that in Dominique's house, well... Dominique is lurking around?
So, it might not be as easy as it seems! Ready? Go!
(Actually, go—escape and don't wait for him to catch you!)
I wanted to take a first step into virtual reality, the future of video games!
With the OpenXR plugin included in Unreal Engine, it is easier to adapt my project to different VR headsets (Quest, HTC, Rift S, etc.).
The AI is quite basic; it moves around simply, has limited vision but developed hearing, and will detect sounds triggered by certain actions to locate them. The AI attacks when it sees the player, and once the player is out of sight, it naturally continues its attack for 1 second before resuming free movement to create a natural movement effect.
The First World War is coming to an end when suddenly the Germans unveil a biological weapon that could completely alter the course of history.
Indeed, according to some reports and reliable sources, the dead are no longer truly dead. Strange creatures and a hangar in the mist are said to harbor a virus unknown to anyone.
You are in charge of a French military unit.
Your base is located in the trenches, and you are the only ones who can prevent these creatures from advancing.
Your soldiers will obey you no matter what. Fighting death doesn’t scare them, but what if death itself comes to get them directly?
The project was mostly developed in C++, with basic elements created in Blueprint.
The AI features a Behavior Tree, a Blackboard, and learning capabilities. Enemies will learn from the player and predominantly move through the less defended trenches during the game (with an element of randomness) to increase their attack strength (inspired by the "Follow the Perturbed Leader" algorithm).
It uses components, Data Assets, Subsystems, and event dispatchers.
There is flexibility in adapting game elements for artists, including changes to colors, game mechanics, damage, etc.
For example, changing the map is quick and simple because all elements are designed to be easily and functionally placed on the map. We can modify the strength/distance of an enemy's attack, weapon attributes, soldier uniform colors, weather, number of enemies, etc., without touching the code.
A single-player and co-op game where the player navigates between 2D and 3D, with the ability to draw platforms to move across obstacles and reach their goal.
The goal is to be commercialized on Steam.
This project is currently in development, and I am actively considering the architecture to use as well as the multiplayer concept.
Use of Steam and its API for P2P, matchmaking, and RPCs.
Future use of the SteamWorks SDK for achievements, saving, project build pipeline, and multiplayer ranking.
Development in C++ and Blueprints.
Use of a Google Sheets document to list tasks with sources, comments, etc., to stay as organized as possible.
Use of GitHub and separation of major architectural changes across different branches.
Understanding how a graphics engine works, and therefore how elements are rendered, is crucial in this field. Here, we need to create a rasterizer from scratch so that, for a file with given coordinates, the resulting figures are displayed in a viewport, and navigation can be done using the camera.
A school project that helps understand how vectors and matrices work in a graphics engine. We cover many important concepts such as:
Vectors/Matrices/Vertices/Quaternions
Transformation/Rotation/Lines/Filling/Intensity
You are a robot with the ability to jump or transform into a sphere to pass certain obstacles.
You need to run and dodge all the obstacles you encounter, at the risk of causing a short circuit and exploding!
However, there is a drawback: the light around you is gradually dimming, and you need to collect batteries along your path to continue being illuminated. If you run out, I wish you good luck! I hope you have cat-like eyes... to see in the dark!
I use the principle of a randomly generated map, with the destruction of each block traversed to optimize and avoid crossing the path of one of these blocks during the generation of subsequent blocks.
Obstacles and batteries are also generated randomly.
I use trigonometry to determine whether the player is hitting a wall head-on. Specifically, if the cosine of the player's "Forward" vector indicates the value "1" with the wall hit, then the player dies because the wall is perpendicular to the player.
Welcome to this enigmatic mini-game where every action can lead you to the next scene. However, beware—the house can kill you!
You need to navigate through the different locations offered to you in order to find the exit.
Creation in Photoshop of a simple logo for a friend's company.
Creating skins for Counter-Strike for fun.
4o mini