Shrouded Ascent

Over the course of my Senior year at Shawnee State University, I have been working with 18 other people to create a single-player stealth game entitled “Shrouded Ascent.” It primarily uses blueprints in Unreal 5.4, with a small mix of C++. This project has challenged me, especially in the realm of communication and keeping on track with the thoughts and feelings of 18 unique and wonderful people.

Specifically speaking, this project was also used as a great way to learn enemy AI patterns, especially in Unreal using behavior trees.

In the game so far, the enemy has quite a few unique behaviors: it can spot and attack the player of course, but it can also seek out the player if it loses sight of them, check around corners (as seen in the gif below), and even listen for sound and touch sensations.

The enemy also has dynamically changing sight and hearing ranges depending on its level of alertness, which is indicated by the eye above its head. This was not easy in Unreal, as the AI Perception object can not itself be changed at run-time.

With some hacky workarounds, the effect can still be achieved however. As seen in the blueprints above, a flag is tripped when the enemy first sees or hears the player, changing their alertness state. This just loads in another AI Perception and replaces the old one in real-time, making it so that we don’t have to break Unreal’s rules by altering the sensing ranges after compile time.

Apart from attacking the player, the enemy can also be attacked by the player, albeit only slightly. Since the player can throw rocks, we thought it would be funny if the player could hit the enemy with the rocks to stagger the enemy.

This plays the animation on the enemy and allows the player a brief moment to escape.

Since our project also reflects the school as a whole, we were asked to present at Shawnee Game Conference 2024. Here is a recording of that presentation:

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *