Overgrowth takes place in the savage world of Lugaru where rabbits, wolves and other animals are forced to use paws, claws and medieval weaponry to engage each other in battle. Combining 3rd person adventure platforming with intricate melee combat, Overgrowth achieves a unique feel. Overgrowth also benefits from Wolfire's brand new Phoenix Engine which has been built from the ground up to allow the use of cutting edge graphics, animation, and physics. Add to these exciting features Overgrowth’s realistic artificial intelligence and streamlined control system and the result is an astoundingly immersive experience.

Report article RSS Feed Soft particles

In games, particle effects like smoke or fire are drawn as image squares that always face torwards the camera. This looks fine in most cases, but the illusion is destroyed when these particles intersect with the environment and reveal a flat intersection line.

Posted by jeffr on May 2nd, 2010

In games, particle effects like smoke or fire are drawn as image squares that always face torwards the camera. This looks fine in most cases, but the illusion is destroyed when these particles intersect with the environment and reveal a flat intersection line. Below you can see the flat intersection of a 'hard' smoke particle on the left, and the smooth intersection of a 'soft' smoke particle on the right.

To make it easier to see what's going on, here are the same particles without the smoke image:

To achieve this effect, I had to use the depth buffer, which we already store for use with post-processing (as explained in the post-processing video). Here is the depth buffer for this scene:

Now to soften the intersection line, we can adjust the opacity of the square based on how close it is to the surface behind it. To do this, we can subtract the particle's depth from the environment's depth. Below you can see the environment depth on the left, the particle depth in the middle, and the difference on the right.

Now that we have the difference between the particle depth and the background depth for each pixel, we can decide how transparent the pixel should be. I decided to make the opacity fall off linearly, as if the particle were a volumetric cube. I also offset the center of the particle so that the midpoint of the falloff lined up with the midpoint of the original hard particle.

Here is another example of a soft smoke particle intersecting a complex scene:

You might be wondering, "Why go to all this effort for particles in Overgrowth? It's not a war game full of explosions or an RPG full of magic spells!" That's true, but particles are still important for many natural effects. For example, drifting fog, sandstorm clouds, falling rain, impact dust, blood spray, and breath mist in cold weather.

Do you have any questions about how these soft particles work, or ideas about how we could improve them? Please let me know in the comments!



Track us
on ModDB (visit our page)

Please join us here too:
Facebook icon ModDB icon Steam icon Twitter icon YouTube icon

Post comment Comments
Nebcake
Nebcake May 2 2010, 10:49pm says:

Great news as always guys, and particles rock in everything.

+4 votes     reply to comment
DariusII
DariusII May 2 2010, 10:51pm says:

Really appreciate the informative tech posts. I never knew exactly how this was done in games, but now I do. One problem that I see in games (even current ones such as MW2) is the problem with screen overdraw when you have several large sprites overlap each other. For example, when someone throws a smoke grenade in MW2, the FPS will drop considerably as the player gets closer to the smoke clouds.
Source engine games alleviate this by actually putting a grey overlay on the screen and not rendering any smoke sprites that are too close/too large on the screen. It's kind of a hacky method but it works decently enough.
Do you guys have a system to combat overdraw of alpha sprites when too many of them overlap and fill up the screen?

It's funny how video cards have advanced so much over the past decade allowing us to spit out more and more fancy polygons, but the problem with rendering overlapping alpha sprites is still a big bottleneck for video cards.

+10 votes     reply to comment
doublethink
doublethink May 3 2010, 12:53pm replied:

Agree 100%. It also stops really complex scenes involving both fog and smoke from looking good.

This is especially true when dealing with fire, for example being inside a building that is on fire, with hanging smoke, and billowing/pluming smoke from the source of the flames.

Also usually the transition between the rendering methods is readily apparent and greatly hurts the scene overall. The Mass Effect 2 intro sequence is probably one of the best I've seen, but to the keen eye it has problems.

Anyway, about overgrowth, what happens when the Sun or other dynamic light sources try to permeate either smoke or fog, is the effect as realistic and nice as what you did with the plants leaves, for example?

A real life example would be a scene at dusk of a village that has been "raised".

+2 votes     reply to comment
aerozol
aerozol May 2 2010, 11:15pm says:

ooh breath mist and blood spray
Gettin' fancy

+6 votes     reply to comment
Elementalist
Elementalist May 3 2010, 12:27am says:

As said, very glad you wrote this. This was definitely an 'Ahhh' moment, for some reason I'd never even thought about how it was done! Thank you very much. :)

+4 votes     reply to comment
Kyou.
Kyou. May 3 2010, 2:29am says:

flat particles for the lulz?

+2 votes     reply to comment
awesomepossum
awesomepossum May 3 2010, 2:54am says:

That really does look way better, nice work!

+2 votes     reply to comment
SliderFF
SliderFF May 3 2010, 3:03am says:

О_о

-4 votes     reply to comment
Tottel
Tottel May 3 2010, 3:10am says:

I always love évery single post made by Overgrowth. I always learn something new. :)

+3 votes     reply to comment
feillyne
feillyne May 3 2010, 11:36am replied:

I lôvé évèry pôst màdé by Ovèrgrôwth tèàm / Jèffr, tôô. ;-)

+1 vote     reply to comment
hilmart
hilmart May 3 2010, 3:35am says:

Very nice work. Can't wait to play a foggy level. This game is looking better and better every update :).

+3 votes     reply to comment
AlekZanDer
AlekZanDer May 3 2010, 5:27am says:

Great stuff. I do wander how heavy the engine will become when it's finished.

+2 votes     reply to comment
revengous
revengous May 3 2010, 5:33am says:

I noticed when you look on the steps with the smoke, it reaches to the edge of the "inner" parts of the steps, but only closer to the rabbit on the "outer" parts. I can see this is because of the fact that its a 2d sprite that faces the camera.

Do you have any plans to change this to create a more 'natural' feel? or are trying to keep requirements as low as possible?

+2 votes     reply to comment
MrEmjeR
MrEmjeR Jun 9 2010, 3:29am replied:

no it's not optical illusion. because the face is not straight angled with the stairs, the smoke in the inner part of the stairs are relatively closer. that is because of the billboard effect. for getting better effects you should make multiple faces that are directed in different directions, and they would give a better effect of volumetric smoke.

+1 vote     reply to comment
pejck
pejck May 3 2010, 7:43am says:

Wow, i didn't how the soft particles actually worked, thanks for the simple explanation. I never thought the technique for rendering them would be that simple. I love how it exploits the fact that particles and the depth buffer are always parallel to each other.

@revengous: I think this is actually just an optical illusion, here's a great example of it: Michaelbach.de

+2 votes     reply to comment
Dragonlord
Dragonlord May 3 2010, 9:42am says:

So I get it right you offset the billboard towards the camera? Can get you into clipping troubles with certain situations but I think from the type of maps it should be working. Otherwise a spherical solution would remove these clipping problems. Similar to deferred rendering light volumes just for billboards.

+2 votes     reply to comment
Nawwx
Nawwx May 3 2010, 11:46am says:

holy **** now this is awesome

+2 votes     reply to comment
xXMaNiAcXx
xXMaNiAcXx May 3 2010, 12:37pm says:

Sexy!

+2 votes     reply to comment
.Omena
.Omena May 3 2010, 1:40pm says:

Particles are a must no matter what game you're making. Really good job on yours, me likey. :)

+2 votes     reply to comment
Awesome_ninja
Awesome_ninja May 3 2010, 2:07pm says:

badass! keep on rocking guys!

+2 votes     reply to comment
Famouz
Famouz May 3 2010, 2:20pm says:

You forgot particles are very important for the atmosphere of a game.
it makes the space "tighter" so it makes you feel the enviorment is real, in case of moving particles you're always sourounded by

+2 votes     reply to comment
Post a Comment
click to sign in

You are not logged in, your comment will be anonymous unless you join the community today (totally free - or sign in with your social account on the right) which we encourage all contributors to do.

2000 characters limit; HTML formatting and smileys are not supported - text only

Icon
Overgrowth
Platforms
Windows, Mac, Linux
Developer & Publisher
Wolfire Games
Contact
Send Message
Official Page
Wolfire.com
Release Date
TBD
Game Watch
Track this game
News
Browse
News
Report Abuse
Report article
Related Games
Overgrowth
Overgrowth Indie Single & Multiplayer Adventure
Related Engines
Phoenix Engine
Phoenix Engine Commercial TBD
Related Groups
Wolfire Games
Wolfire Games Developer & Publisher with 3 members