FlameBoi
-
A school project where the goal was to create a systemic game with independent mechanics working and interacting with one another.
FlameBoi is a 2D top-down survival game with a focus on creating a ecosystem of gameplay systems and how to make engaging experiences within them.
-
3 Months
-
Game Design
Systems Design
— Gameplay Implementation —
Fire System
Fire
Combustables
Weather and Environment System
Clouds
Rain
Items
Item Container Prefab
Item Scriptable Object
Object Pool
Audio SFX
Item Containers
UI
Main Menu
Pause Screen
Initial Pitch
Production
Final Game Design
Unfortunately, due to the complexity of the project, some features were simplified to accommodate for a final gameplay experience.
Here’s a recorded presentation video for the final product of the game:
Gameplay Implementation
Fire System
After doing some research, I decided to simplify the combustion process in order to scope appropriately for the game project; creating my own “game logic” for how fire works in the game.
I designed the system around how fire will burn and grow exponentially bigger depending on the values of a fuel; and slowly die out when the fuel has been exhausted
Fuel
Fuel exists as various in-game entities. Such as, NPCs, Trees and certain Items .etc
Fuel has a few factors that decides how big a fire can potentially grow. They are:
Durability:
Sort of a “liftetime” of how the fuel and how long it can maintain a fire.
Flammability:
Decides the maximum intensity of a fire as well as its exponential growth.
Combustion Threshold:
The intensity of a fire needed to set this fuel to combust.
Fire
Fire in the game requires fuel to grow larger.
Without it, the fire will decay until it extinguishes completely.
Fuel:
A reference to the fuel the fire is currently burning/growing on.
Intensity:
The intensity of the fire.
Radius:
Fuel within the radius of the fire have the chance to combust.
Weather & Environment System
The weather and environment consists of water puddles and rain clouds. When Flameboi steps into the puddles or is under the rain, his fire intensity is lowered, making him smaller in size.
Reflections
A learning experience in multiple small mechanics, interacting with one another, creating a living and breathing ecosystem.
One thing to keep in mind on future projects is how the amount of implementation that needs to be programmed once a new feature or mechanic, as it needs to interacts with ALL other parts of the ecosystem to give the player an immersive experience.
It was fun watching the emergent gameplay dynamics that arise when the systems interact with each other. Though, the balancing part was challenging. Thankfully, by setting up the Scriptable Objects, it was easy to tweak the values to experiment with what worked well.