Inside Velocity 2X: Explosions
Prologue (this is serious)
It was just another morning at FuturLab, I had just sat down at my desk, waiting for my PC to boot up, hot cup of coffee in my hand. I was getting ready to rock, when James walked over with a serious look on his face: “Need to talk to you man… In the boardroom!”
You know that look, it’s the “I mean business” look. I had never seen James like that before, so I thought I must’ve done something wrong.
A bit concerned something bad was going to happen, I went into the meeting room and James said: “Sit down buddy, I need to show you something.”
“Oh dear, here it comes!” I thought. But then he started drawing this graph on the notepad:
Now that WAS bad, just not the kind of bad I’d anticipated. But in the world of graphs making any sense at all; this was brutal.
Then James started explaining it to me. Most of his explanation was pretty much like the graph, so I tuned it out, though I do remember imagining the graph he actually wanted to draw:
In other words, the explosions are the single most important effect in the game, so we needed to give them the look and feel they deserved.
I remember at that stage we were struggling with frame rate issues on Vita, and James wanted to make certain that our explosions got the vast majority of the frame processing time.
I needn’t have been concerned; I was sincerely hyped to focus this much on explosions (I LOVE VFX!)
Anyway, to fully understand how the explosions evolved, I believe we should look at the history of explosions in the Velocity universe. This is what the explosions looked like in Velocity (remember the PlayStation Mini title?)
James was not happy with these explosions. In fact he was so obsessed with improving them that my whole job interview was based around what I could do to make the explosions look better.
So we started bouncing around ideas and took them a step forward with Velocity Ultra.
Unfortunately we didn’t have enough time to do much with them, besides adding lights and changing the art assets.
But with Velocity2X, we had the time and a proper plan. We wanted the explosions to look and feel hot.
Here is what the first set of explosions in Velocity2X looked like. Notice the lighting working nicely with the bloom. It already feels punchy and portrays a sense of impact!
And in the platforming sections:
But they were still lacking power, so the next thing was to actually implement the explosions as a particle system.
James was extremely happy with our explosions at this stage:
However this happy state didn’t last very long.
The particle based explosions were implemented whilst we were porting what we’d done on Vita over to PS4, and we didn’t keep an eye on the vita frame rate [slap wrists!].
These explosions had a huge halo glow around them, which gave them body and impact. However, when you are flinging bombs, smashing glass and destroying turrets at the same time, the Vita failed to handle the heat. In short, we had to take out the halo. This resulted in the game running at 60 FPS again on Vita, but:
And hence the graph meeting…
So, I started thnking about how we could create more impact, without having an impact. Go figure.
To illustrate what we came up with in the end, let me give you a breakdown of all the different parts that make up our explosions:
1. Particle systems
The main effect consists of four particle systems: sparks, smoke, a central plume and a few anime-style crescent moon shapes that animate from full circles to thin slices. These elements provide the foundation of the explosion in line with the art style (and this is where the halos used to be):
This one is hard to show in a screenshot. Hopefully you can see the shockwave distorting the terrain around the explosion.
Notice the colour of the light as it fades from bright hot in the centre to the pale gradient.
This was the first step in addressing the issue of impact. If you remember, it was the halos that were causing the slowdown on Vita, especially when you can have up to 10 active explosions on screen at any time.
The breakthrough came in taking the halos out of the particle system, and instead rendering them as part of the bloom effect, which is a full screen post process effect and therefore completely independent of the explosion itself.
The result was instantly impressive. The halos now smooth out with the bloomed parts of the terrain and give them a far more natural look. Notice how in the following screenshot the Halo only appears to the right side of the explosion and just mixes in with the terrain on the left.
5. And finally…
Some nice big fat JBraamz lens flares!
These bad boys are particle system lens flares. There are three particle systems, one in the centre that generates a thin, strong lens flare. Then there is one each to the left and right of the explosion that generates weak, but really thick and chunky lens flares. These lens flares are generated solely by the intensity of the terrain and objects around the explosions.
Sometimes, when you’re flinging a bomb next to a particularly colourful piece of terrain, you get a rainbow type lens flare that just looks beautiful =)
Some more of these beauties:
And in the platforming sections:
By the way, for those concerned: James and myself have talked many times regarding graphs since then, mostly about how James should avoid drawing them…
Check out the explosions in action below: