Nimbus is a proof-of-concept for a lightweight cloud rendering engine. The downloadable demo shows a single cloud throughout the day, passing through sunrise, daytime, sunset and nighttime.
Though unfinished as of 2006, the Nimbus engine is capable of rendering realistic-looking clouds. The cloud shown in the demo was created in about two hours by a programmer who’s not great at computer art. Most of that time was spent manually editing colors in the cloud and light definition files. In the hands of a talented artist and with some better tools, even better looking clouds can be rendered in the current Nimbus engine.
Cloud rendering in Nimbus is based on a method used by Microsoft Flight Simulator 2004: A Century of Flight, which is described in a paper by developer Niniane Wang. Briefly described, this method models clouds as particle systems of billboarded sprites. Realistic lighting is approximated using a combination of simulated ambient light and directional light. Ambient lighting is defined as a range of colors over a range of heights in the cloud. Directional lighting is defined as a range of colors that are mapped onto the cloud depending on the direction of the light source to the cloud.
This method has several advantages and disadvantages. First, since clouds are created manually, not programatically, it’s easier to create good-looking clouds. With a cloud generating algorithm, it's typically harder to directly and intuitively manipulate the models. However, manually creating clouds takes time and talent.
Second, the lighting approximation is simple compared to more physically accurate lighting simulations, resulting in good performance without sacrificing visual quality. However, this simple lighting approximation does have some visual inaccuracies and limitations, such as a lack of cloud self-shadowing.
Nimbus was originally envisioned as an unconventional puzzle game, in the spiritual vein of unusual games like Katamari Damacy. Players would control clouds via mouse gestures. Clouds could be combined and would create rain when large enough. The rain would then cause plants to grow on the ground below. Clouds would also shield plants from too much sunlight, which would wilt the plants otherwise. Nimbus would have no measurable objectives and would be slow-paced, hopefully evoking a sort of Zen rock garden mentality. Players would simply make pleasing landscapes.
In the future, I’d like to add cloud movement and evolution to the Nimbus engine. Currently, clouds are static shapes and do not move across the sky. Allowing clouds to change shape as they move across the sky would dramatically increase the realism, and is a feature critically necessary to the finished Nimbus game. Another issue that needs to be resolved is a bug in the current engine that causes the demo to unexpectedly crash.