Project : DUST
Engine : Unreal Engine
Platforms : PC
Status : WIP prototype
Date : 2025
DUST is a 3rd person shooter survival / exploration prototype that I’m currently making from scratch.
For systems and mechanics, I’m taking references from games that likes to have minimalistic and diegetic ones. ( Astroneer, Dead Space etc.)
Core pillars/intentions are :
I will try to add multiplayer because I’d love to play around 2 player exploration focused actions/puzzles, including traversal and combat.
I wanted to strengthen my visual scripting skills and learn how to have a better project’s scripting architecture. (No spaghetti code allowed in here!)
And I simply find it fun to do visual scripting and learn new stuff on Unreal, so doing it by crafting a narrow scoped experience looked like a good idea.
DUST is made from a blank project, where everything will be added through visual scripting.
I started to make the project’s basic systems and mechanics while focusing on readability and flexibility.
Things will be added to the base skeleton and not making it a nightmare is a big concern!
I’m adding metric tools at the same time I’m doing mechanics like jumping, mantling… so I can quickly test by building gyms.
Visual scripting examples will be shown on my implementations!
There is a basic movement system using X & Y inputs, allowing our character to move in all eight directions.
I’m also using these inputs to get directionality.
I added a sprint, including camera FOV changes, and a jump action.
I made a state machine to control the character’s move state, using an Enum and booleans. This Enum is used to set the different speeds our character can use.
Typical states to know if the character is jumping or falling are also added.
Clean states debug were added too!
I wanted the project to have an original look and I love the pixel art & 3D world mix (Like Octopath Traveler). I got sprites from Itch.io and integrated them.
While dealing with states, I made the character controller’s animation tree using the PaperZD plugin, a tool for 2D animated projects.
I made my animations assets and linked them with the retrieved directionality from move inputs. The state Enums are used for the AnimTree’s conditionals.
For cameras, I wanted 3 types/modes :
One of the core traversal mechanics will be mantling.
I wanted this feature to be flexible & easy to execute as a player.
The mantling is based on having tagged ledges that can be grabbed by the player. When grabbed, the player can mantle over it.
The mantling mechanic has 3 steps :
W I P