So to sum it up, it’s a really basic setup which took a lot of time to tweak and make look right. Directional sunlight, skylight for backlighting, exponential height fog, and many hours of tweaking colors and intensities. Everyone can do that, so I’m not gonna reveal the exact light and color schemes that I use for Omno.

Setting Up Stormy Weather

Some people might have seen this video demonstrating arctic snow storm which I uploaded on Facebook.

I’m not quite sure if this scene will make it into the final game, so I don’t want to talk about that too much. But what I was trying was this: I wanted to see if I could create a large-scale map with heavy use of particle effects without destroying the performance.

The way I made it work was quite simple again: I did use some, few, particle effects on certain places where I wanted to have full control level design wise. Those had very strict LOD rules and pretty much turned themselves off very quickly when you walk away from them.

Putting hundreds of particles into a large map would simply be too heavy nevertheless, so I tried this: since it’s a stormy weather, the view distance is very low (which is good in that case to save performance). I pushed up the fog, so you can’t see very far. The idea was to dynamically spawn non-looping particle effects within a small range based on the player position, so there’s always just a few particles running while you still have the impression that whole landscape is covered with them.

I wrote a simple algorithm that randomly spawns some particles around the player (on the same world height). Another setup ‘shoots’ line traces in random directions and detects the ground (if no ground was detected within a certain distance, it traces downwards to find the ground) and places more complex particles where the trace ends to make it look like snow is blown over the ground. On very specific occasions I placed collision boxes (that only create overlap events for line traces) which return a value to that line trace algorithm, so another set of particles were placed.

For instance, if there is a hard-edged cliff where the particles would look different due to the wind blowing over the edge, I could put some of those collision boxes over that edge, so when the line traces detect those, they spawn a certain kind of particles that look better in that scenario.

Interactive Foliage