PERSONAL PROJECT

Shanubis

I challenged myself to build a survival-horror game using only assets from Epic’s free-for-the-month packs. I rigged the statue character, designed and built stealth mechanics, scaling difficulty progression, UI, and enemy ai, then designed a level that was easy to get turned around in but had memorable landmarks.

Features

  • Risk & Reward Difficulty Scaling

    • As you make it further in the game, it becomes more difficult as more “titans“ start hunting you

    • Breaking containers gives you the items you need to survive and escape but also alerts the titans to your location

    • Finding Lucky Charms increases your chance of finding survival items making the game easier

    • If you want to make it harder on yourself, avoid the charms, they’re not required to beat the game and you get an achievement for doing so

  • Stealth

    • Listen for the titans’ footsteps and “hunt music“, if you can hear it, hide

    • Watch for glowing yellow eyes, if you can see them, they can probably see you

    • Throw rocks to create distractions and break containers from afar


Level Design

Memorable Confusion

When designing the map for Shanubis, I needed the monster to be able to surprise the player from anywhere but also provide the player fair chances of escaping. This becomes super important later in the game when there are multiple roaming monsters.

I also wanted new players to feel like they were getting turned around in a maze, but provided enough distinguishable landmarks so that after a few runs, players would be able to get their bearings more easily.

Originally I had the monster start chasing immediately but due to player feedback, I changed it so that the player can explore and get the low down of the map first which adds tension due to the unknown for new players. I then have the player trigger the monster at an intersection where even experienced players don’t know where he could come from.


Enemy AI Design

Considerations:

Enemy is melee only so needs to be able to catch the player

Give the player a chance to react

Player needs to be able to get away but is slower

Design:

Enemy is faster than the player

Average human reaction time is ~250ms, Enemy has a reaction time of 400ms

Enemy is immobile when attacking giving the player a chance to break line of site

States:

Patrol

  • Picks a random pre-placed marker in the map that’s not near them

  • Walks to that marker, Repeat

Investigate

  • Hears a sound and goes to investigate

Chase

  • Sees player and begins to chase

  • If in melee range, stop and attack

Search

  • Lost the player, looks around to see if they can spot them

  • Either sees the player and chases again or goes back to patrolling

  • Used Mixamo to rig the static mesh

  • Retargeted various animations in Unreal


Break pots and crates to find pickups

I used Unreal Engine’s Chaos Destruction System and swapped out the normal mesh for the broken mesh collection at runtime and then had the pieces fade out and dissapear after a few seconds to maintain performance.

Pickups

Bombs

  • Bombs are used to break open walls, and are the only pickup you need to actually finish the game

  • There are only 2 walls you need to blow up but many others that can open new routes for you to help when chased

  • You only actually need 2 bombs if you know which walls to blow up but finding more means more options

  • Lucky Charms effect the drop rate of this item

Rocks

Rocks can be thrown to:

  • Distract the enemy by making a sound to direct the enemy to a location

  • Break pots from afar

  • Hit lucky charms that are out of reach so they drop for you to pick them up

Herbs

  • Herbs are used to heal, they give the player more chances to keep their current playthrough going

  • Lucky Charms effect the drop rate of this item