Echoes
Unreal Engine | Github | Miro | Google Docs | Illustrator
Production type : Game Jam / Personal project
Production time : 2th february to 3th february 2026 / On-going
Initially developed for a game jam, Echoes is a 3D enigm/platformer game in which the player controls a human character capable of generating colored waves to reveal and interact with the world around him.
Context
In second year, I intended a game jam organized by the school. I wanted to work alone for the challenge and the experience, and made a first version of the game. After the gam jam, I have decided to expand the game scale and I am currently working on a new version of the game with 2 friends, a level designer and a 3D artist.
My role on the project
During this game jam, I worked as solo developer and I took care of every aspects of the game.
My contribution on the project
- Game Design of player mechanics and game systems
- Level design
- Programmation of the player mechanics and game systems
- Echoes propagation
- Postprocess materials
Echoes propagation
The player can generate echoes to reveal the world around him. I created an echoes generator that produces echoes on spawn. By exposing the variables on spawn, I could easily create echoes and iterate on the values such as its range, duration, fade out duration or color type.

For the propagation, I imported a white ring texture and created a deferred material. A deferred material acts like a "sticker" that override the actual material of a mesh. Then, in blueprint, I added this material as dynamic material to edit its properties with code. Using a timeline, I changed the value of the ring such as his radius over time to create this effect of propagation.

Postprocess and dynamic material
To create the outline system, I used a post process material. The material samples pixels at the edge of the mesh. It then checks the mesh's custom depth value and renders an outline in the appropriate color. By default every color, white excluded, has an opacity of zero and the echoes temporarily modify this value before the outline fades out.


