• 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.

A code snippet

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.

Using Scriptable Objects

By using Unity’s Scriptable Objects, I was able to create a generic Item Container Prefab, and attach the relevant Scriptable Object to the item.

Using Object Pools

Using an Object Pool design pattern, it was easy for other developers to create a new object by having an Item Factory do all the back-end work to grab an unused Item Container, assign the relevant Item’s Scriptable Object, and simply re-activate the inactive Item Container.

Audio System

The SFX audio system uses the same system, but instead of scriptable objects, it’s audio clips.


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.

Previous
Previous

Metal Dawn

Next
Next

Food Fight!