Megafuzz Dev Blog

Nerdy rants on programming and game design

Mundanity of Death

Almost all games has some sort of task that happens several types throughout the game, which, if used too much or not designed carefully, can end up feeling repetitive or mundane. This can be just about anything that is iterated again and again throughout a game; but one common culprit of this is combat. So today, we'll talk about how we can try to remove mundanity... of death. But bear in mind, this can be applied to just about everything.

So, throughout most games with combat, including Ronn For Your Life, the player will encounter numerous enemies every now and then. These can be anything from small annoying mob-types to big bosses. Obviously, in most cases, the majority of space is taken up by a small army of the lesser enemies - in some ways to make the contrast of the big bad boss even more impactful. This isn't necessarily a bad thing, because it gives the player something to do, and if done right, it's fun and doesn't end up feeling grindy.

However, a common pitfall with fighting these small enemies is that it can very quickly end up feeling pointless, grindy, even mundane. Death should never be mundane. Combat should be exciting. Some games introduces loot as a reward for fighting off otherwise mundane enemies, which can make the grind feel more tolerable when you finally find that awesome Long Sword of Bloody Ogre Decapitation +3. However, at least so far, I have no plans to introduce loot (at least of that kind) into Ronn For Your Life.

So what do I do?


Right now, my basic enemy (the "swarmer", which is basically an overgrown mosquito) feels a little... Mundane to fight.

Complete with my temporary programmer art, here's a quick glimpse of what it currently looks like:


Right. So, you whack it with your wooden stick, and a few things happen;
 - The mosquito is knocked back a little to emphasise a small impact
 - Blood squirts out (based on an external setting that lets you alter how much - this is just default amount)
 
- Finally, upon death, it "blinks" as it rotates off the map in a nice little Super Mario-esque fashion

This is fine, but it's very basic. This is the bare minimum for visual feedback. But it's not good enough. It doesn't feel particularly rewarding to kill it, and even worse, after fighting just a handful or so, it starts feeling mundane. I can't really throw in any type of loot or XP, as it doesn't fit with the rest of the general game design vision for this particular title. So instead I choose to focus on making the visual feedback more juicy to make the feeling of fighting and killing it more fun and rewarding in and of itself.

How do we achieve this? Well, really, the only limitation is your imagination. One thing we could do is to expand on what we already have. We could add more particles, or we could add in the possibility of dismembering the poor enemy instead of just flinging it off the screen. However, while these are fine additions, they're still just "more" visual added juice. We need to build off a base that is intended to make the impact itself feel more powerful. We need to emphasize the impact in some way.

Introducing: Freezeframe


Mostly a term used in cinematography, you've most likely seen this in a few movies - right before someone catches a fist with their face, is thrown through a window or something like that. It completely stops the action for anywhere between a few miliseconds and up to several whole seconds - sometimes to allow for narrative content, but more often to allow visual consumption of what is going on; because everything is completely frozen, we can take in the full picture and let our brain brace itself for what is about to come. It builds up anticipation as our brain starts filling in the blank itself, and if used right, can be a great visual trick.

What happens if we introduce this little trick from the world of movies into the world of games? My idea is to use it in two different ways in combat.

1: Upon a regular impact when you just whack the enemy, the game will freezeframe for a few miliseconds. It's not enough that you'll really notice it, but the idea is that your subconsciousness will pick it up (and again, give the impact a little more "umpff")

2: Upon final impact, right before the enemy dies, the game will freezeframe for an exaggerated amount of time - maybe even a few seconds. Visually, the game will completely freeze, save for maybe a few chosen elements (such as impact particles) - and then suddenly start moving a full speed again to let all the blood and gore spill in one, quick motion.

This meant that I had to implement a very specialized kind of pause function into the game that lets me stop exactly all the active things I want - from grass straws swaying in the wind to enemies doing their AI routines, particles and everything else - but asynchronously, so that, if I desire I can still let other particular things move around for full visual control. Also, it needs to quickly store everything that every instance was doing, stop every single instance I choose, and then after less than a second be able to resume everything to the way it was before. This took quite a while, but it was definitely worth it.

Here's what it looks like with both types of freezeframe uses implemented:


The GIF does play a little faster than the game itself, so the small freezeframe effect might be difficult
to spot


There, that's already a little better. The small freezeframe upon regular impact is deliberately almost unnoticeable, but it does add an extra layer of feeling the impact that is subconsciously picked up when playing. The death impact, though, is actually quite powerful and gives the final blow a much more rewarding feeling.

So with that out of the way, let's try adding some basic sparkley impact particles. Also, let's make this the only visual element that ignores both freezeframe techniques - because I have a feeling that sparkley, grinding-looking impact particles moving franticly while everything else has frozen will create a rather unique visual effect.

What do you think?

 

Alright, getting better and better. Now, the final impact that kills the enemy is already way more interesting, but what if the enemy could actually break somehow?
Maybe its wings could go off. Or maybe its head. Or maybe all three?

I know! We'll do a small randomizer; when the enemy dies, it will primarily die in the basic way that it currently does, but there will be a chance that it either loses its wings, or its head, or both! This way, every time you deal the killing blow to one of these critters, there's a total of 4 different deathstyles you will see. This already shakes up the variance quite a bit!

Here's one of those 4 different ways - a basic decapitation. The wings stay, and only the head flies off.

Although, of course, the head itself needs a little more work in the physics department...


But of course, this is just randomized out of 4 different possible deaths.
Here's the most gory one for your sick enjoyment:

The randomizer isn't broken. I set it to always do the most violent version before recording this GIF


Alright, not bad! I mean... Once again... Here's where we started:

 

And here's where we ended:


All in all, I'd say it was worth a bit of effort to make the death of this basic enemy a bit more interesting. As you can see, it doesn't actually take that much effort to take something from a mundane to a more rewarding feeling - you don't always need loot, or XP, or levels - sometimes you can try looking into making the visual feedback of the combat itself more juicy and interesting to look at. Of course, don't let this be all you do - I plan to do more than just this, but this is all part of "juicing" your game up.


Have fun pouring juice into your game!