Hi, I’m Aaron Lundquist, the Senior Visual Effects Artist on Kerbal Space Program 2. As an artist, I look at color, composition, and silhouette, but the little green scientist inside me wants to know the how and why. With that in mind, let’s jump on in!
On KSP2, a major goal is to expand on diversifying the visual effects to reflect a more scientifically accurate depiction of what space exploration actually looks like.
An example of this is showing the visual differences between an engine’s exhaust in an atmosphere vs the vacuum of space. Changes in atmospheric pressure directly affect how exhaust plumes look. Higher pressure compresses the exhaust causing a long and narrow silhouette. In a vacuum, the exhaust is wider, expanding outward as soon as it exits the bell nozzle.
In addition to pressure, an atmosphere’s chemical composition can affect the look of engine exhaust. An atmosphere with a lot of water moisture will cause more vapor in the exhaust plume. This is a result of the high temperature of the exhaust vaporizing the moisture in the air, causing visible cloud-like trails.
Another goal is to craft visual effects that reflect the unique fuel used by each engine. KSP2 features a variety of fuel types, some with pretty extreme qualities. To achieve this, we’ve reached out to subject matter experts to help determine how various fuels burn. “Does this fuel need an oxidizer?,” ”How quickly does it burn?”, “What temperature is it?,” “What color is it?,” and “Does it create soot?” were just a few of the questions we asked to help shape the effects.
Based on expert answers, we developed color pallets for multiple situations:
For explosions, we consider how it was triggered. This involves investigating various real world vehicle incidents. By looking at different types of wreckage, we can piece together key information. That sets an example for how and when to trigger visual events in-game.
Using game logic, we can query specific conditions during destruction events. Examples include if a vehicle has fuel, what kind of fuel, whether it hit something, what type of thing it hit, is it in a vacuum, and so forth. We track quite a few variables in order to make sure that a pressurized vehicle with non-combustible contents reacts differently from a non-pressurized vehicle with combustible contents.
Once we have the relevant game info, our system then looks for all vehicle parts in proximity to each other. If two or more parts with similar attributes explode at the same time, the system will combine these into one large explosion, as opposed to multiple smaller explosions.
The goal is for each explosion to be its own special snowflake based on how, where, and why the vehicle failed — or, for some of us, how the vehicle succeeded.
I hope you enjoyed a taste of our process. For me, learning about these details is fascinating and enriching. It allows me to improve my craft and keep growing as a professional.
We can’t wait to learn even more when the vast knowledge of the KSP community chimes in.
Until the next blog…