GameDev 2019 Week 6: Debuffs
On Hit Effects, Debuff, Animated Entities09.02.2019 - 19:57
At the end of last week I added traps into the game, but I just added a few variables to the tower class to get them working, and while it probably would have been fine to implement traps this way, I may want to add other buildings into the game and for that there needs to be a better building system than just one tower class. So I spend the whole day redesigning the building system and changed it to a more component based implementation, e.g. there is one main building class with some properties every building can have and an optional AttackComponent with Tower and Trap sub classes, which define the attacking behavior of the building.
Today I added on hit effects and debuff into the game, it is possible to give a tower one or multiple on hit effects in the tower blueprint file. At the moment those can either be a slow, poison or bleeding and as of later this week stun or burning. All of these will add a debuff to the entity hit, but in the future on hit effects can be expanded to do all kinds of things. It is possible to define the strength of an effect, the duration and a chance how often it is applied, e.g. you may only want a 20% percent of a tower stunning the entity, because 100% would be too strong. Debuffs do not stack with themself, the debuffs duration will be refreshed if it is applied again, however different kinds of the same debuffs currently stack, e.g. a 2 second, 10 damage per second poison and a 10 second, 1 damage per second poison would both be applied, I mean you can be poisoned with cyanide and and snake venom at the same time ;)
In the evening I added a timer label, just a normal label with a circular timer running on top of it, which will be used to display the debuffs.
I created symbols for the debuffs and using the new timer labels from yesterday I changed the entity window to show all the debuffs on the entity and while I was at it also added a hp bar to it.
And I finally added animated entities, and it was easier than I thought. They were better integrated into my engine than I remembered, but still not perfectly. And I overlooked a deep copy, so every entity was updating the same object and they were animated increasingly quicker until they were kinda twitching, look kinda funny though.
I started the day by fixing the animated entity deep copy bug, so every entity now has its own object and can be animated independently, and I have to say it looks a lot better to have actual entity models than just pink glowing cubes.
Then I felt like creating some more debuff symbols, so I created one for stunned and burning.
Finally I started to work on wave data files, so it is possible to specify which entity spawns when, how many, how much hp do they have, how much gold do they give, are they flying or a boss? etc.
Today I added the stun and burning on hit and debuff effects into the game to go with their symbols from the day before and then I added all the waypoints for all players into the game data file, up until now the mobs just ran from start to finish. To check whether all paths are correct, I tried the game with 4 real multiplayer clients and it worked and the paths were almost correct, one was mirrored, but that's an easy fix. However, adding the waypoints by hand as coordinates isn't the most convenient thing to do, I may want to add a feature to the editor to place them directly on the map, not the highest priority though. Then I added a quick feature to toggle the interface, which isn't good looking at the moment, so I can toggle it off to take screenshots ;) Also, I worked on path finding for flying mobs, they still need to follow the waypoints but can ignore and fly over the towers, so I had to change a few things in the code to add an option to the path finder whether it needs to find a flying or a normal path.
by Christian - 09.02.2019 - 19:57