Devlog post - WEEK #2 - Manuel


Hey, in this blogpost I just want to go over what I ended up doing for my prototype and the progress around it.

So in the end, I decided not to go with any of the ideas I mentioned on the previous blogpost, mostly because I felt like the prototype would turn out a bit bland without solid asset work to show them off, which I thought I shouldn't waste too much time with. Instead, I decided to explore an idea we were thinking of adding into the game in the long run, but had no intentions in doing so for now, which are status ailments.

I'll include a list of the status ailments I decided to implement for this prototype, but basically the idea behind them is to give the monsters some more interesting attack traits and to turn combat a little bit more complex than simple fist fights.

Since my focus in the prototype are the ailments rather than creating new enemies, I decided to simply attribute the ailment to the same base enemies we already had (flying and grounded ones), though I did some quick doodles in pixel art to show what a very simple monster that applies that ailment could look like. I also kept some left-over features from the base game I worked from, though I tried to remove most of what was irrelevant to this system to better showcase it.

List of Status Ailments working in the prototype:

- Slowed: very simple speed modifier I decided to attribute to the slime, to punish players who aren't careful and get too close!

- Frightened: monsters like shadows or ghosts would apply this ailment, which for a short period of time prevents the player from performing attacks, though some passive skills still work. At first I had it only working for a short duration but I felt like I didn't even notice it, so I upped it and turns out it's pretty useful especially when paired with other monsters ganging up on the player.

- Burned: This was supposed to be a simple DoT type ailment, however I ended up not implementing DoT application for this prototype and simply made it so the player can't heal while they are burned. I didn't originally mean for the heal-denying effect to be part of this ailment effect, but I think I will keep it, along with implementing the DoT later if the system makes it to the final game.

- Charged (-) and (+): Some monsters themed around electricity and with a specific charge, negative or positive, will apply their corresponding charge upon performing a certain attack. Upon having the opposite charge later applied, an electrical discharge is generated dealing damage that scales with how many times the original charge was re-applied.

Some additional notes in case you want to read:

- At the moment ailments don't interact with each other, and an infinite number of ailments can be stacked on the player, though they all have a time limit which they expire after. Only one ailment of each type is applied at a time, with the duration refreshing if it gets re-applied.

- Only the player can currently be affected by ailments but the idea in the long run would be for enemies and even certain objects in the map to also be affected by some of these effects. Likewise, the intention is to also give the player the power to apply ailments on enemies.

- I'm aware this system is currently very lacking in terms of visual impact, ideally I would later like each effect to be displayed on the afflicted entity, instead of having a simple text pop-up showing the applied ailment, and for it to also sit somewhere in the UI, most likely above or below the health bar. But for this prototype, my focus was on establishing the interface for creating and processing the ailments.

That's it for this week, sorry in advance for the massive wall text to anyone who read up to this point. See you next week!


Get Oniden

Comments

Log in with itch.io to leave a comment.

Although you are working with Unity, your explanation of ailments reminded me of the Unreal Engine 4 Damage system. In essence, every entity in UE4 can take damage, yet by default, nothing happens.

So, if you want a character to take damage, you define, in the character, how it takes damage. Then, in the damage giver, you just have to call object.TakeDamage().

The main advantage of this system is that you let the receiving entity deal with how it takes damage. For you specifically, one advantage is that you can create different types of damage. So, here is an example:

*You create a fire imp, when it deals damage to other entities, it calls TakeDamage() and passes as an argument a damage type of Fire.

Now let’s say you have a wood crate and a steel crate. You now define that when the steel crate takes (any) damage, its health is reduced. If it is 0 it gets destroyed.

For the wood crate you define something similar, but also add that if the type of damage is Fire, then the crate becomes alight and deals damage to itself and others over time.*

Hope this helps you implement your damage system.

https://www.unrealengine.com/en-US/blog/damage-in-ue4

(2 edits) (+1)

Thank you so much for the example and reference! That is pretty similar to what I did for the most part, and I will look into it once I decide to properly incorporate the ailments and damage system into the game.

Also when I drew that monster all I intended to draw was a floating fire ball, but seeing it being referred to as an imp gave me a good idea to redesign it a bit and add some interesting features and animations like flaming horns and a moving flaming tail; the 'tail' on that sprite was originally an accident that came about as I was simply trying to add some sparks haha.