Explosions

Explosions and simulation of exploding structures in space.

Posted by on

In this Tech post we will talk a bit about new features in Gemini wars. Physx real time explosions and simulation of exploding structures in space.

What’s a space game without nice explosions? All big ships have awesome explosions, who doesn’t remember star wars or stargate ships blowing up? If we pay close attention to movies, it usually starts with a chain reaction of small explosions around the ship, and then a huge final explosion as the ship is vaporized.

Well, we want the same in Gemini. And we worked quite a bit at it, making a big ship explode in a cool and epic way is not easy. We want the explosions of space stations and massive ships to be gradual, we want the player in panic and pain witnessing his precious ship being pulverized, or ecstatic at the massive destruction that he’s delivering his opponent. We really believe this is a must for gameplay.

So to achieve this, a ship exploding has two stages:
First, when a ship “dies”, several explosions are set off in key parts of the ship, like a chain of explosions. Then, just before the final explosion the ship is broken into massive fragments.
The original idea we had was to “break” the ship in a modeling program, let’s say in 50 different pieces, attach to them a rigid body, and when the ship is about to explode, just hide the rendered ship and exchange it with these pieces. Then a force would be applied into these pieces and we would let the physics engine calculate the pieces flying away.

Technically it could be done. But it would be a nightmare for a large amount of ships and structures. The player would need a super computer to calculate forces, rigid bodies, etc. In other words, it wouldn’t be a very good solution for slower machines, so, we came up with another solution, much faster than this one.

What we do is still break the ship into pieces and make it explode, still using rigid bodies and forces that PhysX calculate, but all is pre computed into a 3d animation file. So the 3d simulation of breaking parts flying around is no longer using the CPU to calculate all of this in real time, instead we just play back an animation of what PhysX did.So now when a ship explodes, we change the ship object by a low poly version of a ship animation exploding into pieces. The result is pure awesomeness ? and an extremely fast effect.

To make it look better, we unblend an alpha factor on the ship pieces in time, so that when the pieces are moving away they fade out nicely while moving. We made a small video showing USF Battleships exploding:

We hope it looks as good to you guys as it looks to us.
Until next time, in Gemini Sector.

Don't have the explosions fade out too fast, make them move slower, and think about the gravity in space, the trajectory of the pieces exploding. If I was to suggest anything, look at Star Wars: Empire At War's explosions for warships in a Space Tactical Battle. It will help you greatly, because that is the game that set standards for space RTS combat and explosions, gameplay etc.

Needs work, I'd like them to do more than just fly apart like that. Maybe split in two? Make the pieces drift away a bit more slowly? It seems a bit sudden to me.

I agree, its coming along great, but needs some work. Slow down the debris and the explosion itself. I find the secondary explosions before the ship lights up to be great, but the action destruction isn't big enough in my opinion. Nexus: The Jupiter Incident had great explosions that had a ton of "oomf" behind them.

I dig the shields, though!

i aggree, debris are flying way faster than ship itself
also please dont use fire explosions, yes, no oxygen, we all know, but, but explosions!?! Well I would suggest using some plasma spheres instead, that would make just a little more sence, don't you think?
Good work guys anyway, i like it alot

So if it is "pre computed into a 3d animation file", all ships of the same type will explode in the same way?,it would be nice if a big piece of debris remain(for salvaging),is there going to be a way to capture enemy ships(or disabled enemy ships/half destroyed)?

debris fly to fast.