[WIP] Dynamic Fire

Hello fellow developers,

Currently I’m in the process of creating dynamic fire that will spread its way across 2D and 3D models and landscapes.
There is still alot to be done, especially in the performance departement. This mainly regards the efficient usage of particles, as GPU is my problem. The method is use for allowing the spread of fire (or any particle effect / game object for that matter) is pretty CPU friendly.
At the bottom you can find a webplayer demo, note though that it is not optimized and may start lagging if you set to much stuff on fire (there’s also still some bad culling which I’m to lazy to fix) :slight_smile:

Currently the system supports:

  • Combining meshes
  • Burning from specific points (of impact)
  • Propagation 2D (on hills aswell) and 3D
  • Simulation of gravity
  • Simulation of wind
  • Fire trails
  • Simulation of wet and dry materials
  • Flamable objects (static or dynamic) which are on fire can ignite other static objects
  • Destruction of fully burned objects
  • A couple of particle bound features (like proportional scaling etc)

TODO:

  • Static objects can burn dynamic objects
  • Burn textures
  • Particle optimalization

Webplayer Demo:
http://tinyurl.com/firedemo
Controls:
- WASD for movement
- Left Mouse to shoot fireballs

Added a simple webdemo:
http://tinyurl.com/firedemo

It’s still very much a work in progress, but the basics are here :slight_smile:

cool …and hot! Glad you made a webplayer demo …i burned everything! Didnt notice any lag, but you should include fps counter to get some feedback about performance. Are you planning to go asset store with this? If not, you should :slight_smile:

I might take it to the asset store, I’d first have to clean everything up a bit though :slight_smile:
(I like the pun :wink: )

This looks really good! I would definitely polish it up a bit and then put it on the asset store

+1 to you my friend :stuck_out_tongue:

what is the algorithm to fire spread ?

The link is broken :frowning:

1 Like

Will this be free? It’s looks amazing and as I already needed this, will save time if I don’t make it myself

Interesting, looking forward for updates.

Hello,

I did finished the project a long time ago, but lost interest in releasing it.
For those that are interested in building a similar system this is how it works:

  • Scan over a specific mesh and basically create a voxelized representation of it (you can do this dynamically (when a model gets hit by an object on fire) to save memory).

  • Store these cells (or blocks) and let each cell maintain a health value (this indicates if it should burn or not). Depending on your way of storing this 3D grid, it should be fairly easy to look up where a specific object was hit with a burning object.

  • Apply some propagation algorithm to it (looking at neighboring cells).

If you have more questions feel free to send me a message.

Goodluck

Why not release it for free on the asset store or available for download elsewhere? It’s useful for many people.

1 Like