Conquering Ciros Week 9: Fixing Pooling Issues and a New Balancing Pass

Published March 10, 2024
Advertisement

This Week's Work:

After reviewing the pooling branch, we noticed that occasionally enemies would be re-enabled and then immediately die. After some testing, we found that it was because the enemies' health wasn't being re-set to the max upon being re-enabled. This should have been an easy fix by just calling the health reset in OnEnable instead of in Awake, but it still didn't work. It ended up being an issue with how MaxHealth was stored (it wasn't actually stored in the enemy script, it was in the GameManager, so it wasn't able to access the correct value). We agreed it would be better to just have a MaxHealth variable in the Enemy script anyways, so I added that:

Next on the list is getting the game to a good spot in terms of balance, especially now that we're on Steam. For starters, we want the base enemies at the very beginning of a run to basically die immediately to an attack. I'm using Slash as the baseline crystal for this, since it's kind of our “default” and it's the crystal featured in the tutorial. This was pretty easy to accomplish just by doing some trial and error.

The other aspect of enemy balance is scaling their max health over time, also like Vampire Survivors. We didn't have an implementation for this, so I worked on a basic implementation this week.

It basically checks if the current spawn rate has changed, and then uses a basic formula to scale the max HP of each enemy type. It's working for now, but I will plan to add some way to adjust the scaling amount in the future.

0 likes 0 comments

Comments

Nobody has left a comment. You can be the first!
You must log in to join the conversation.
Don't have a GameDev.net account? Sign up!
Advertisement