Does anyone have any idea for how to get an atmospherics system similar to SS13 into Unreal Engine? I’m trying to think of a way to check if a room is sealed and have pressure/oxygen values inside that sealed room. But it needs to be dynamic and able to break the seal if there’s a hole in the wall or something. If anyone has any ideas for the logic behind it I would greatly appreciate it. Even a small start would help a lot because I have no idea where to start on this. I’m trying to make a space station sim similar to SS13.
The room needs to be a blueprint, or contain a blueprint. That blueprint can know how much oxygen there is, and how quickly it depletes, etc.
It is easiest to use the process that creates the hole to signal that it exists along with the time it was created to be able to later determine if the air has escaped the room.
But assuming something makes that untenable, you need what is called a Flood-Fill algorithm.
There are multiple videos on their creation and use on YT. I’ve only ever used them to test procedural room/maze creations for validity.
Make an Actor Component that binds to a OnReceivesDamage delegate of its owner, handle oxygen related logic there for any owner (Actor) who cares about oxygen being present. Add a new DamageType called Oxygen. Add a blueprint Room that holds a volume to detect if someone enters the room to perform logic on, or maybe a damaging volume is useful here, I never use those. Add a durability value to a room, like 1 to 100 (full health), each time a room is damaged it leaks oxygen and it will ApplyDamage of type Oxygen (suffocation) to anyone in it based on its durability. You can probably implement the rest