Bloodlust and You


Hey everyone! It came to my attention that I never did a devlog about one of my favorite mechanics to have implemented. When you play City of Abominations, you'll notice a werewolf decal and a red circle filling up in the top right corner. That's your bloodlust meter! If you haven't played the game at all, here's a screenshot of the bloodlust meter when it was first implemented in my personal test scene.


First of all, huge shoutout to Yijun for providing the hand drawn image I used to spice up the center of the radial meter. Going with a radial meter was something I chose to do because it felt a little less clunky than a straight meter and just because I'd never made one in Unity before. Making it red was a no brainer, I'm sure you can guess why. But, I'm not really here to discuss art. Let's talk about how this works.

The entire bloodlust system works on a simple timer. At first glance, you might think the timer is counting up and the radial meter updates its percentage of fill alongside it. Actually, the timer is decremented from a fill-time value (designated by the designer) every frame that the game is not paused. We use a built-in Unity class called Time and get what we call its deltaTime to standardize the rate at which the timer decrements to be one unit per second in real world time.

The radial meter fills up based on the difference between the fill-time value and the time remaining. For example, if we set the fill-time to 10 seconds and 3 seconds are remaining until the timer reaches 0, the radial meter will be 70% full. When the meter fills to 100%, the player is forced into werewolf form. You'll notice the "Bloodlust Ready" text under the meter. When the meter is 75% full, this text appears to let the player know that they can manually turn into the werewolf without waiting for the meter to fill completely.

When the player has turned into a werewolf, no matter what the value of the fill-percentage of the meter, this whole process reverses itself. The timer begins to count up to the fill-time value and the meter empties itself. Once the timer reaches the original value, it once again begins to count back up and the process repeats itself. 

Get City of Abominations (2021)

Leave a comment

Log in with itch.io to leave a comment.