{{brizy_dc_image_alt imageSrc=

Trailer

Project 04

A game developed over eight weeks as part of a second-year final project at e-artsup. Created by a team of four, the goal was to produce a movement-oriented action game.

End of second year, 8 weeks
Team of 4 people
Work on the game design & game development
{{brizy_dc_image_alt imageSrc=

Break Down

Movement

As seen in the trailer, Project 04 is a movement-heavy action game. Because the standard Unreal movement component didn't quite meet our needs, we've avoided reinventing the wheel by building several custom features on top of Unreal's existing framework.

Wall Running

Wall-running is one of the core mechanics in Project 04. The system functions by first detecting if the player is airborne, then executing six simultaneous line traces to identify nearby actors with the appropriate tags. Upon a successful hit, the player is snapped to the wall and the corresponding animation state is triggered.

This approach introduces significant level design variety, allowing us to toggle wall-run capability on a per-surface basis, while technically allowing for infinite wall-running potential.

{{brizy_dc_image_alt imageSrc=

Jumping

In Project 04, jumping is entirely context-dependent. Rather than a standard vertical impulse, the system evaluates the player's state upon input. Specifically, we first determine if the player is currently wall-running and, if so, identify whether they are engaged with a left or right surface.

The resulting wall jump is distinct from a standard jump; we’ve tuned specific height and length parameters to ensure a more responsive 'game feel' and provide the player with tighter aerial control during transitions.

{{brizy_dc_image_alt imageSrc=

Dash

Dashing serves as the second core pillar of Project 04’s movement system. By holding the dash input, the player can scale the dash distance up to a defined maximum. Upon reaching maximum charge, the dash triggers an explosive area-of-effect if the player collides with a surface, damaging nearby environmental elements or enemies.

To ensure high precision, the dash initiates a time dilation effect, slowing down the world while maintaining player control. To keep the movement consistent regardless of the global time scale, we utilize a Timeline component combined with Linear Interpolation to move the actor from Point A to Point B. This technical approach guarantees a fixed travel duration and maintains the 'juiciness' of the traversal, regardless of how much time has been slowed.

Tooling

Beyond core gameplay, my role as a developer on Project 04 included building custom workflow tools for our level designers and artists. The first of these is a procedural wall builder designed to efficiently generate dozens of identical meshes. By utilizing Instanced Static Meshes (ISMs), the tool makes the creation of expansive walls or ceilings a breeze for the art team while significantly optimizing performance through reduced draw calls.

Automatic Door

In Project 04, several environmental puzzles require activating multiple pressure plates to unlock doors. To provide both players and level designers with clear visual feedback, I developed a synchronized signaling system.

The technical implementation utilizes a combination of Instanced Static Meshes and Dynamic Material Instances. Level designers simply add elements to a localized array and reference the corresponding pressure plates in the world. The Construction Script then procedurally generates indicator lights above the door for each entry in the array. During runtime, these indicators poll the state of their linked plates once per second, updating their emissive material properties to provide real-time status updates.

Final Words

This was my first 'real' long-term project in Unreal Engine, and I think it shows! It really opened my eyes to what the engine can do and how much I can grow as a developer.

Diving into the code side of things helped me bridge the gap between Blueprints and C++, giving me a much better workflow. I’ve reached a point where I can iterate and test out my ideas much faster than when I started, which is a huge milestone for me.

Want to contact me ?

You can do so at :

juliensouquie.contact@gmail.com


All my links
{{brizy_dc_image_alt imageSrc=

Linked in

{{brizy_dc_image_alt imageSrc=

Itchi.IO

{{brizy_dc_image_alt imageSrc=

ArtStation

{{brizy_dc_image_alt imageSrc=

Youtube