Take a look at the trailer above, and you’ll see that Nuclear Throne is in essence an action game. That’s what we do at Vlambeer, we make action games. If you try to distil all that power and adrenaline-filled chaos into one thing, chances are you’ll end up with explosions! So let’s dive deeper into those glorious balls of fire, and see how we’ve made them for our post-apocalyptic roguelike-like Nuclear Throne.
Our most common explosion consists of a beautiful 9-frame animation by Paul Veer (note the great trick with the black and white circles rapidly creating contrast), and a loud, crunchy sound effect by Joonas Turner. Explosions deal damage to enemies, props, and the player.
When an explosion spawns, it’ll shake the screen a little, spawn a ring of dust, and a bunch of smoke. Dust doesn’t last very long and is used to communicate movement, while smoke lingers longer, looks darker, and is usually created by fiery things.
Next, we allowed explosions to destroy walls. This doesn’t only make blowing things up feel extremely powerful, it also influences gameplay in a great way. Players can create both cover and shortcuts, and it also opened up the way for more interesting enemy designs involving terrain manipulation.
Effect wise, destroyed walls spawn debris, which flies and creates a nice dust trail. Detonating terrain (or enemies) also freezes the entire game for a couple of milliseconds, and shakes the screen a bit more.
Technically, we’ve also done a few things. The explosion collision mask is larger than the actual sprite, again increasing perceived power, and while the explosion lasts for 9 frames, the collision is only active on the second frame. This not only condenses all the mechanical interactions of a single explosion into one snappy moment, but the delayed collision also makes sure a neat row of explosive enemies will explode one by one, resulting in that rewarding chain reaction effect everybody loves so much!
Explosions also push each other away, which allows us to spawn multiple on top of each other to create a bigger one! This ‘volumetricity’, which is probably the wrong word, inspired us to add tiny explosions to the mix. The tiny ones are mainly used to make explosions bigger in size, but also have slightly different timing and deal less damage, adding great visual variety to the game.
At this point, we wanted to push one last thing a heap further, which was the permanence of battles. With update 52, we decided to add craters and tiny flames that disappear over time. Inspiration for this came from seeing the great gasoline explosions in the 90s action movie Freejack.
These simple craters and flames somehow make everything feel more real, and really makes sure players know about the action that went down, even after it’s long gone. It also had the added benefit of making the game look better in screenshots!
That’s loads of stuff for just such a small part of the game! I haven’t even started on the different types of explosions we have, our cheap fake bloom effects, how we handle sound effects differently for different types of action, or how you can use mutations to actually survive explosions and drag flaming trails of smoke behind you!
Please spend time on this and help everyone make better action games, one explosion at a time!
Nuclear Throne on Steam (Early Access)