Thanks for your thoughts kseh! I had been thinking along those lines, but because the fires spread erratically I can't predict a large area to fill at once. So I'd just have to run the fire function with 0 spread delay a nr of times, if this is fast enough. I fear for larger areas and another tricky problem I foresee is offscreen fires not burning back into view if the material is there.
Thanks for the thoughts all, I have included a link to an earlier prototype because a picture says more then a thousand words (not to mention 30.000 words a second).
You can see it in action here: http://kirl.nl/pixelfunk.html (click screen to set focus) Controlls: Arrow keys = move and turn Ctrl / LMB = shoot Space = change weapon (gun, fire, water, matter) Hold Shift = drill mode for when you get stuck Alt = generate new random walls
What is the structure of your world (continuous, tile-based, ...)? The world is continuous, I tried adding an underlying grid in an attempt to optimise some stuff, however this hasn't been very succesfull yet...
How large is the world? I'm not sure yet how big the world will be, for now the map doesn't scroll so it's as big as the screen (400x550);
How much burning stuff does it contain? Depends, in theory the entire screen can be ablaze.
How large is one "unit of fire" (if applicable)? One fire unit is a sphere of about 20x20 pixels.
Do burning things stop burning? If so, how fast, and can they burn again or are they scorched? One fire unit continues until a delay (~1-2 seconds), then it removes the underlying material, checks for neighbouring pixels (starts new fires if there are) and removes itself. So the burning material is basically being chipped away by little sphere shaped bites.