Part of the fun of developing a futuristic space game is having the ability to develop technological ideas and then put them to visual presentation. Arguably the most fun way to do this is by designing ships. We’ve found a great design philosophy for our intended art style and our ships have been turning out great, thanks to some extremely talented members. But in the midst of bringing our universe to life, I noticed something was off. Our engine thruster effects were inconsistent and mostly looked like crap. So… it was time for an update!
The thruster effects in our library was from old, deprecated assets meant as placeholders. We never got around to updating these until I was looking for some thruster VFX to use for our beautiful Atlas Freighter ship. As you can see, these effects are a big no-no with the visual fidelity we’re looking to incorporate in to our game.
This initial particle effect was made of two separate planes that used a two-sided material with multiple panners to give a “flame” effect. It looks… not good. In fact, it looks like some original Quake asset (not that Quake was bad for its time. I love that series… it’s just old). The cheesiness of it was especially noticeable when looking at the thruster from straight behind. You can’t even notice it’s there.
It’s time to replace this weak little thruster.
Now, this old thruster effect was being used on two separate ships – the Atlas Freighter and the OM-2 Mining Frigate. Two different ships with two different purposes requiring two different engines.
The OM-2 is meant for cutting chunks of rock and waste from precious materials so that the materials can be loaded and transported to ships such as the Atlas Freighter who then move those materials out in bulk for processing. Because of this, precise adjustments are needed over raw power. I wanted to represent this properly, so I chose to go with more of an ionic glow with a somewhat consistent output level for the thrusters. To further sell the alternative thrust option, I added some little glowing “space dust” bits that come out from the thrusters.
Rather than using planes for this effect, I used a simple particle material and spawned just enough of them to give a more volumetric effect for the output “flames.” There were two layers to this. The more prominent flame effect uses the PSA Velocity type so that the shape of the particle changes based on its movement. The second flame effect uses “always faces camera” as to ensure that, no matter what angle you approach the thrust cone, you’ll see this effect occurring. By doubling up on these, we have a very consistent, volumetric effect for output.
When it came to the Atlas Freighter, the propulsion purpose is entirely different. The Atlas Freighter is designed to carry large quantities of good from point A to point B as quickly as possible. Their thrusters needed to show raw power and strong output to move such a large, bulky load. We decided to go with a more conventional look to approach this, as current day thrusters give off a heavy punch effect. But, being true to our aesthetic design of staying rather realistic with our designs, we had a couple of things to keep in mind. First, the teardrop shapes you see from thrusters lifting off in to space is formed because of the atmosphere’s influence on the flame. It’s somewhat more difficult to find, but if you look at footage from ships using their thrusters out in space, you’ll find that the output from the thruster cones as actually cone-shaped, spreading outward.
We had a couple of different approaches to look at when attempting to achieve this look. We could use an actual cylindrical cone mesh to act as the particle material effect. The problem with his approach is we looks any volumetric appearance that we want the flames to behave like. The up-side is that we get good performance using this approach. We could use an actual volumetric material with an emissive color to drive the particles, but this would be very expensive.
What I wound up doing was somewhat of a compromise between the two. Using the same material that charges the particles in the ion thruster of the OM-2, I used GPU sprites to spawn a number of particles around a cylindrical location emitter. Setting the Cylinder location emitter to spawn particles only on the outside of the cylinder and then adding velocity from the emitter pushed the particles in an outward shape. Simply adding some starting velocity to the “outward” direction created a perfect little cone shape that allowed me to apply some randomization and offsets to give a volumetric-like effect. Adding in some simple “crackle” particles to feed out from the cone gave a sense of inherent output power.
Altogether, these new thruster FX really add to the effect of a ship’s engines outputting real, believable power behind them. We will likely continue tweaking things here and there as time goes on, but for the time being, the improvement has been massive.
Stay tuned for another update shortly. We’ll be going over our development pipeline of our first official enemy ship, the Swarmer.
Also, we will officially be at Seattle’s iFest on May 4th! For anyone near the area, come stop by the Armory at the Pacific Science Center and give us a visit. You’ll be able give our latest build a test run and get some free swag. We hope to see you there!