Sketch:
GIF:
Note: Quality of colors, shapes, and fps has been greatly reduced to compress file size. For the original file project, visit this link.
Initially, I began trying to create a precise fire by programming each flame individually. The endeavor seemed too tiresome to complete, until I realised I could simulate the particles using randomised variables. This greatly reduced the amount of time required to code this piece. I particularly enjoyed playing with gradients using essentially only fill() and arc() and creating an atmospheric animation. I also enjoyed implementing subtle animations such as the twinkle of the stars and the shooting star. 80% of creating this piece was refinement. Using mathematical functions to simulate organic, fluid fire required a lot of toggling of different variables and trial and error. I used sigmoid functions to control the size of the flames as they burst into and fade out of existence, as well as to control the size and position of the shooting star. These sigmoid functions gave the appearance of acceleration and deceleration.
I am proud of how well the fire turned out. It looks organic yet also stylistic. The light emanating from the fire and the shadow the log casts on the ground are effective at giving the fire an appearance of warmth. I like my use of bright, warm colors against dark, cool colors. I wish I could have added more elements to the scene, like a caveman cooking some meat over the fire for example, but the fire and the rest of the background proved too time consuming for that. I would have also liked to pay more attention to the shooting star, which could have had a longer trail and maybe a twinkle as it fades. I think I could have also added more detail to the trees, the ground (adding plants or rocks) and the texture of the log, while maintaining the Adobe After Effects-like animation style.