Fire Final

You can play Perfect Roast for free via the Play Store.

The centerpiece of Perfect Roast is the fire. It went through several iterations before I was satisfied with its appearance. In the end, the essence of the effect is: First draw a rectangle then carve the sides of the rectangle with particles to give it a more triangular shape.

While prototyping the mechanics I used some simpler “programmer art”.

Fire 3 Fire 4

After finalizing the mechanics I began my hunt for an art style. The search ended with two major inspirations. First was the calm fire found in one of my favourite little games, Longest Night. You can play this fifteen minute game for free here. The second inspiration was Kung Fu Panda 2, in particular, the tall menacing fire found in the 2D paper-cut style scenes.

Longest Night Kung Fu Panda 2 Flames

My goal was to recreate the atmosphere established by the Longest Night fire, but with a simpler visual style, closer to the Kung Fu Panda 2 fire.

Initially my approach was to form a “base” out of red or yellow particles, then carve out the sides using black “masking” particles. One downside to this technique is that to keep the fire feeling full, many particles are needed. Mobile GPU’s have difficulty with “overdraw”, and particles happen to overdraw a lot.

Particle fire
Carving particles with particles.

Replacing the inner-particles with a rectangle resulted in both a performance increase and a calmer, more relaxing fire.

Rect fire Behind the scenes fire Fire Final

Other small touches include:

  • Rising embers
  • Flickering ellipse of light at the base
  • Subtle gradient shift on the rectangle over time.

If you’re interested in learning more on stylized fire, Simon Schreibt gave an excellent talk on the subject. Creating this fire took a lot of experimentation and effort but it is one of the most rewarding pieces of art I’ve created.