Published by AbyLight Studios / Steam page
Reveal is a 2D puzzle game, inspired by a cryptic science : particle physics.

I was the main developer for this game, from the first prototype to the final game. What a journey it was I must say.
The game is full of features and game parts, but let me briefly address some challenges and problems I had to tackle during the development process.
On the platforming part, one challenge was the ability for the character to walk either on the sides and on the ceiling, via a power toggle. It took some effort to implement the stick / unstick / rotate feature, and then the move feature, plus coyote times and input ergonomic choices. After several playtests and adjustments, we reach the most playful formula.

Another challenge was the Reveal save system.
As the player explores the world, it can take snapshots of the environment. It's actually the most important feature because it reveals hidden elements in the world and helps solving puzzles.
Each time the player is taking a snap, the game is saved. When the player dies, it can load a snap. Loading a snap rolls back the whole game to the state when a snap was taken.
Each snap contains :
- An image of the game state as you pressed the button
- Progress data

The player can take snaps any time, even during an ongoing movement or animation.
The consequence is that when the snap button is pressed, the game has to store every game modifier, because when the player will load the snap, the game world needs to be rolled back in the exact same position as it is presented in the picture, and resume any kind of animation and movements that was happening when the snap was taken. The number of use case was challenging, and fixing competitive code conflicts increased my writing skills and architecture knowledge. Still, the featured was developed early enough to handle prod changes and making it to the end.
Then, there was the performance bottleneck.
When the player takes a snapshot, there are several main things we do :
- Creating and storing a picture of the game world
- Gathering, storing and serializing save data
- VFXs
At first the whole process was way to slow to keep the player in the flow, so we optimized each of those items to be able to take multiple pictures in a sec.
Two of the tricks we used where : delaying the serialization of the save data, and clamping the game world picture to a given resolution.
I can write about a full set of other dev stories regarding this project, from the UX design and interface choices, to the sound design integration and the target platform implementation, but I keep it up for now.
Feel free to contact me for questions and info !
The game is playable on a keyboard mouse combo but also with a gamepad, as the team is targeting Switch.
I'm going to work on Reveal on it's post prod and launch steps, alongside with the game's publisher.


