I have a quick question.

I see in many games, usually in the menu, some moving "clouds" in the background, apparently additive blended into each other, which does a really nice job immersing the player, in my opinion.

A couple of examples that jump to mind right now are the Far Cry 3 main menu background: https://www.youtube.com/watch?v=B5XcMx3GjPA

and the Plague Inc main menu background: https://www.youtube.com/watch?v=RQv60ywrLxU (the first seconds show it)

These cloudy patterns seem like some kind of noise to me, like Perlin or other. So, how would you proceed to achieve that kind of blurred cloud effect with vivid colors?

More specifically, would you pre-generate sets of clouds and include them in the game package? Or generate them on-the-fly? On the CPU as a regular texture or on-draw in the GPU shader program?

I am interested in mastering this kind of visual effect, and as such any help would be appreciated pointing me in the right way. Thanks.

  • \$\begingroup\$ Ray-marched atmospheric effects (e.g. volumetric clouds) are pretty popular these days for high-end cloud rendering, but I think as this question stands right now it's too opinionated to generate any real answers. \$\endgroup\$ Apr 19, 2014 at 20:23
  • \$\begingroup\$ As long as multiple opinions are also multiple valid solutions, they are all real answers :) \$\endgroup\$
    – Grimshaw
    Apr 19, 2014 at 21:01

1 Answer 1


Those kind of clouds are indeed rendered with perlin noise function. They can easily be generated on fly when the game starts, or they can be included in the game textures.

There are ton of great tutorials out there to render perlin noise clouds, this being one of them: Perlin Noise, or this: How to Use Perlin Noise in Your Games You can find more by googling for "perlin noise cloud" or just "perlin noise examples".

One other method could be Simplex noise. A comparison between simplex noise and perlin noise can be found here: Perlin noise versus Simplex noise in Javascript


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .