Full notes
Full Emergency Call - The Firefighting Simulation 3 update
Read the full published notes in a cleaner layout. The original post stays linked below.
What changed
- Maps
- Performance
- Gameplay
- Server
Emergency Call - The Firefighting Simulation 3 changes
One of the core features of any firefighting simulation is, unsurprisingly, extinguishing fires. With that obvious realization in mind, fire behavior and firefighting mechanics became a top priority for us right from the pre-production phase. Drawing on our experience from previous titles, we defined the following requirements for our fire system:
Objects should burn dynamically, from ignition all the way to complete burnout
Objects should feature multiple burn stages, with the final stage leaving players guessing what used to be there
Soot should appear dynamically wherever objects are burning
Smoke color, density, and behavior should depend on the available fuel load
Large smoke columns should naturally spread and drift sideways
Fire brightness should scale with temperature
Fire should be able to spread across multiple objects
Smaller burning objects should be movable
Dynamic light sources should illuminate the surrounding environment
We also wanted to improve firefighting with the combination nozzle. For the solid stream, we decided against using a purely particle-based effect, as particle systems tend to break apart during rapid movements. Instead, we're currently using a hose-based effect that dynamically adapts to player movement. As the water stream travels, it gradually loses height and density until it eventually disperses. Extinguishing effectiveness scales slightly with the stream's reach, creating those moments where you realize, “I need to get closer.”
Impact feedback is represented by steam effects that adapt to the fire's temperature. Our goal is for firefighting to feel satisfying and enjoyable, even if that occasionally means sacrificing a bit of realism.
To allow fires to spread dynamically, several systems are running behind the scenes. We generate a coarse grid made up of small boxes, which we define as fire cells. Each cell stores information such as its temperature, the amount of available fuel, whether it is currently being extinguished, and how much water it contains. We then activate only the cells that lie within a given burnable object. Once a cell reaches a high enough temperature, it ignites and transfers heat to neighboring cells, causing them to catch fire as well. During firefighting, cells absorb water. As the water evaporates, the cell's temperature drops until it falls below the ignition threshold, causing the fire to go out.
In the upcoming DevLog #5, you'll decide which topic we'll cover next. We'll be launching a poll on our Discord server featuring several suggested topics.
Your Crenetic Team
Source
Changelog.gg summarizes and formats this update. How we read updates.
