Demo of a simple procedural 16 color procedural fire algorithm. The way it works is very simple: For each pixel on the screen, we simply take the average value of the surrounding pixels and use that as the new pixel value. Now we can create some fire by placing some pixels on the screen!
Note that this demo uses double-size pixels to improve performance. The code can be edited to use normally sized pixels, but it won't run as fast if you do so.