Trailer

Summary

      Purpose Duration Responsibilities Platform Engine
      Personal Project @ Playgroundsquad 4 Weeks Gameplay, UI & Visual Direction PC Unreal Engine 5
    • Thrift is a stealth / heist game inspired by the likes of Dishonored, Thief & the noir genre of the 40’s and 50’s. Me, together with my peer Lukas Arnold set out to work together to create somewhat of coherent experience with a fully playable level, solid mechanics and satisfying stealth gameplay.
    • I was mostly responsible for the Player controller, Non-Map Mechanics & the UI for the project. My general idea was to make as many of the systems detached from each other so that they all work in a vacuum and in tandem to allow for a smooth level design experience for my partner. I also put emphasis on functionality over optimization which can be seen in the blueprint. scripts

    • My colleague Lukas Arnold was responsible for the Level Design and AI.

Contribution & Reflection

    • • Player Mechanics
    • • UI
    • • Actors for Level Design
    • • Visuals

    Vault

    The system to vault over any ledge proved to be quite a hassle to set up. Having two traces to check location the Player wishes to vault to, one from that position to straight above the player, and finally a concurrent problem which we solved by setting up three traces that act as failsafes. One at the first for walls, and then for ledges of said wall. Moving through meshes and getting stuck in walls was one from the position above the player, to around pelvis height of the player character. This solved many of the issues but some remained. We managed to squash most of these issues by making our geometry double-sided which, while performance suffers slightly, the vaulting now works consistently in all areas of the map we have tested.

    The other check for vaulting is the auto-crouch. I added so that the player can vault even if the ceiling is low without hopping through the wall. This allowed for more open level design where you could vault into slips and smaller entrances.


    As for the actual vaulting itself I decided to “animate” the player with code. First giving them a slight backwards offset and then climbing up & forward. This gives the vaulting a smooth feeling while also seeming somewhat more realistic. This “animation” also has the added benefit of preventing the player avatar from clipping into the wall or the ledge so it becomes a nice double win!

    UI


    The UI was a fun one for me. I wished to make a simplistic and minimalistic UI with the most important element shown clearly and without disruption.
    This ended up as the final design. It is quite right-side-heavy but I find that it gets all the necessary information across without cluttering the screen. The circular bars in the middle represent lockpicking progress and stamina respectively. These fade out when they are not currently in use (ie. empty for lockpicking & full for stamina) The only persistent elements of the UI are the money counter, ammo counter & collected keys which should all be visible to convey what resources the player is currently carrying so that they may plan their route accordingly. Slightly Above (to the left) of the ammo counter is the crouch status-icon. This icon appears when the player is crouching to signal the character’s sneaky and slow behaviour.


    Another aspect was the Interact Prompts. I decided to make these into worldspace widgets that keep to the style with thick black borders. In the event of doors that require a certain key, we have made sure to color code the word with the color of the lock & the key. This is all automated and set up via the door making it easy to configure each instance. Every interactable in the game has a prompt and a key to trigger the interaction.


    One thing that has always been frustrating in stealth games is the lack of information which makes it hard to plan your sneaky ventures ahead of time. I wanted to solve this issue by introducing footstep prompts. Together with actual sounds being emitted, if the player is in a reasonable range from the footsteps they will also be able to see them to give further information regarding positions of guards. However, to not make the player rely solely on this mechanic we added some stationary guards around the map as well that will catch an unsuspecting player off guard if they abuse the footstep prompts.

    Easy to Use Actors for Level Design


    Learning to utilise the construction script was a fun experience. I wanted to make as many of my map-actors changeable and instance editable to make it easier for Lukas to place them where he saw fit and customise without too much hassle. This ended up being quite an interesting thing to develop and I will definitely keep making construction scripts for myself and others in the future!

    Miscellaneous

    Other than elements of the project listed above I also fiddled with making some art in the form of a material that sticks to surfaces as well as two post-processing materials to make the game get a stylized look via thick outlines & a cel shader.

    The Cel shader was made following a tutorial by UnrealCG and altering it slightly to more align to our desired look and feel.

    Similarly, the outline Post-Process Material was made following a tutorial by Ben Cloward. Mostly altering the parameters & attempting to add a slight camera fall off to the outline

    The displacement or “sticky” material was inspired by a post by Unsweet on Artstation. This material was used for the platforms that the projectiles produce to give it a really sticky look.

Credits