Networked Fire Simulation

Team Size:
Systems Programmer
Graphics Programmer

Project Overview

     This is a prealpha demo of the new fire simulation in Little Arms Studios IVIS. Designed to train incident commanders, the fire growth and smoke behavior is the most important piece of the simulation. The fire accuratly behaves to it's environment, leveraging true combustion calculations based off the defined substance materials of the objects in the room. It is reactive to the air, growing and shrinking based off the amount of oxygen, carbon and moisture in the air. When a user walks through the house, opening and closing doors, air will travel throughout diffusing carbon and oxygen through any openings, or porous barriers.

      The simulation is networked through a server authorative structure. The whole house is a lot of data to pipe through a network, so data is sent based off relevance to the player. For this structure we organzied the data based on rooms, leveraging the fact that we know what is visible from each room. When the player changes rooms the relevance is altered and the server will send updates to the player's relevent area more frequently.

     When the player is interacting with the fire, the effects are predicted locally, and inputs are aplied on the server. Next, the server sends the produced state out to clients based on each clients relevance. The clients continue to predict on top of these states if their interactions on the specific room are more recent than the server state for those room. Most importantly, the clients inputs are stepped using those server states not their predicted state. This ensures the client can't get too desynced from the server state because of poor prediction.

Note: Networking is not displayed in the demo video, because at the time of recording, the demo did not have networked players. The video will be updated after release.