Firesafe Friend is a two-player strategy game where players can take turns upgrading their houses to protect their properties from wildfire.
Role: Solo Programmer
Team size: 6
Engine: Unity
I’m responsible for coding all the systems in this game and connecting them together. There are three core systems in this game: Fire simulation, Dynamic Upgrade System, and Two-Player Mode
House upgrades are the core mechanics of this game, so I developed a modular and efficient upgrade system that manages material properties and visual updates dynamically. Each upgrade affects the fire simulation outcome, making material selection a strategic decision.
To achieve this, I used Scriptable Objects to store and manage material properties (e.g., Class A, Class B fire resistance). When swapping materials, the system references the associated Scriptable Object rather than instantiating or destroying GameObjects at runtime, ensuring better performance and scalability. This approach also allows for easier balancing and modification of material attributes without modifying core game logic.
To create a realistic and dynamic fire simulation, I designed a graph-based house structure where each house part is treated as a node. This allows the fire to spread naturally by checking neighboring nodes, making it easier to track combustible connections and apply fire propagation rules efficiently.
To enhance realism, I implemented a burning stage system where each combustible object progresses through different states:
Each stage influences heat transfer and fire spread based on material properties. For instance, some materials may smolder for longer, while others burn out quickly, adding depth to the strategy.
For better code structure and reusability, I implemented an inheritance-based combustibility system:
This modular design ensures that new combustible types can be easily added while maintaining optimized performance and structured gameplay logic.
Since Firesafe Friend is a local multiplayer game, I developed a turn-based player management system that switches between two houses seamlessly. This includes:
To improve accessibility and onboard new players effectively, I implemented a step-by-step tutorial system that guides players through core mechanics. The tutorial system consists of:
Top