Weather effects

This week marks the completion of weather effects for the planets in Super Space Galaxy. Now I’m done with them, I think they’ll have a huge impact on the atmosphere of the game.


It all started with my plan to make a snow effect on some of the Ice planets. The basic idea was simple enough. Snowflakes should spawn on screen, drift around, then disappear again. As usual, though, there was also work to be done defining exactly how these weather effects would spawn. I actually rather enjoy this process, it feels strange to think so much about something that seems so simple but yields complexity.

After the usual brain-storming, I realized that the destruction and creation of the weather effects were closely linked. For every effect that disappeared, another one had to be created to take its place.

Destruction and creation are two sides of the same coin! You must destroy to create!

Alexander Armstrong, Fullmetal Alchemist

Having the effects work when your ship wasn’t moving was easy to get my head around. However, I also needed a model of how to spawn more effects when you move. As you travel, it was clear that more effects needed to spawn just off-screen to give the impression that you were uncovering them. How many should spawn?

After some theorizing, I realized that the density of weather effects was the most important quantity. If your ship stays still, effects are created at a certain rate, then disappear within a certain amount of time. That gave me a number of effects that would exist at once. More importantly, I could calculate the density of effects in the available space (screen width x screen height).

Knowing this density, I could then tell how many new effects to create as your ship moves. Moving up effectively revealed more terrain proportionally to the width of the screen, while moving sideways would reveal it proportionally to the height. When enough new terrain is revealed, another effect could be created. This system was the model I needed to create effects that looked right, whether they be snow, ash or rain.

Snow was the first weather effect to be created. Most of the snowflakes are one pixel but there’s a small chance of a bigger one with a design that uses 5 whole pixels!

On Lava planets, rising ash accelerates up from the lava. This makes the lava planets feel hotter than ever.

A lot of the inspiration came from the way lava looked in the newer Mario games, with rising glowing effects. They didn’t have those when I was a kid!

The hardest effect to get right was the rain. I found that I couldn’t have rain spawn visibly on screen without problems emerging, so I decided to make the rain more implicit. The splash effects on the ground and the sound of rainfall did the trick. Now you can hear the splash of the rain as well as birds in the trees.

Only one question remained. How should weather be distributed on planets? I’d already made a way to control the intensity of the weather from 0% to 100%. Could the weather on a planet change over time? That’d be realistic. I even had suggestions on my TikTok about changing the weather density in different parts of the map, and certainly it’s something I could do. In the end, though, I decided against all this. Instead, each planet simply has a set weather density. This may not be ‘realistic’ but I think it helps distinguish the planets better and makes returning to one you’ve already visited feel more familiar. I also didn’t want to make players want to wait around on a planet, watching the weather slowly change. Super Space Galaxy is supposed to be about combat and exploration, not waiting!

It was only when I’d finished the three weather effects that I noticed they communicate the temperature of the planets really well. Rain and snow are both forms of water, and the lava planets having no water also communicates something. I think the weather effects are really going to help the planets feel more alive and distinct. Expect the next demo of Super Space Galaxy to have them.

Thanks for reading,

Kenneth Dunlop

Published by Kenneth Dunlop

Earth's Mightiest Game Designer. Making Super Space Galaxy, an open-world space shooter. Previously made Super Space Slayer 2 for Google Play.

Leave a comment

Design a site like this with WordPress.com
Get started