Project Type
University Capstone & Game Jam
Team of
3
Project Duration
5 Months
Software Used
Unity
Language Used
C#
Platform
Windows PC
Primary Role(s)
Gameplay and Systems Programmer
Game Description: Sakuna is an interactive 3D puzzle computer game designed to educate users about Disaster Mitigation in the individual household.
Genre: Point-and-Click, Edutainment, Simulation, Puzzle and Logic
Key Learning Objectives:
Learn credible Disaster Mitigation in a household context.
Mitigation within the Scope of Disaster Risk Reduction and Management in a Domestic Setting. This game will assist users in evaluating their household for potential hazards and fixing them.
Teach mitigation to minimize damage caused by common disasters (Earthquakes, Typhoons, Floods) in the Philippines in a Domestic setting.
In the video above, I play all the 4 levels of Sakuna, namely, Tutorial, Flooding, Typhoon, and Earthquake. I also talk about how I integrated all the designs and game mechanics in Unity. These contributions are discussed in detail below as well.
During the brainstorming for our Capstone with our advisor, each member were all tasked to come up with ideas for an educational game. I came up with the idea for Sakuna because I was playing Tiny Room Stories Town Mystery at the time, and instead of being proud about progressing in the game, I was instead thinking of each and every possible way I could code this-and-that functionality in the game.
To summarize my contributions: I handled all the programming from start to finish. While the 3D models, UI assets, and other graphics were provided by the team, I was responsible for integrating, designing, and animating them inside Unity to bring the game to life.
GAMEPLAY SYSTEMS
I integrated and scripted skippable and interactive cutscenes using video managers during the start of a level/scene.
I created the Pause menu functionalities
Also created a timer and objective counter, which uses PlayerPrefs to save information for the purpose of unlocking the next level and either play the failed or success simulation.
CAMERA SYSTEM & NAVIGATION
I created the navigation functionality by making 2 sets of cameras—namely, Main Cameras and Objective Cameras. The main cameras allow the user to go in or out of rooms by clicking the doors and the objective with their own objective cameras turns of the main cameras.
I also scripted the spinning of the room when clicking the left or right buttons at the button of the page by using Quaternions.
USER INTERFACE (UI)
I was Involved in creating the mockup of the Level Menu UI and Gameplay UI using Figma.
I integrated the final designs (background & buttons) in Unity and scripted the functionality.
I created and scripted the locked level functionality in level select using PlayerPrefs. (eg. next level is unlocked if all objectives are found within the time limit).
I created and scripted the level evaluation in level select by using PlayerPrefs.
INVENTORY SYSTEM
Due to the time constraints, we decided to create an inventory system using buttons. I scripted the functions to work the same, but instead of creating a separate script for an inventory, the game functions as (when the player clicks a button, it is activated, and when the button is activated and the player clicks the correct objective, then the animation is allowed to play, the button is hidden/deactivated, and the objective counter is incremented).
Will be deprecated and changed to an inventory script in the next build update.
HINT SYSTEM
I created a hint system that automatically detects which level the player is in and loads the correct set of hints from an external JSON file. The hints are shown one at a time and loop back to the beginning after all have been displayed. To keep the experience fresh, the hints are shuffled after every loop of the 10 hints is done. I used TextMeshPro to display the hints clearly in the UI, and I also included error handling to show helpful debug messages if something goes wrong, like a missing file or broken data.
DYNAMIC POP-UPS
I designed and implemented dynamic popups that provide real-time feedback to players—such as alerts, objective updates, and warnings—ensuring a smooth, informative, and engaging gameplay experience.
GLOBAL AUDIO MANAGER
I built a centralized audio system to control background music and sound effects across all levels, creating a consistent and immersive sound experience throughout the game.
ANIMATION (Unity Animator)
I set up and managed objectives' animations using Unity Animator to enhance visual feedback and make player actions feel more responsive and alive.
During the duration of this project, I learned a lot about being a programmer and project manager.
From delegating, planning, and everything in between—and what really stuck to me was that the most important part here was that "to actually start doing the plans" was the most important part without fear of failure because there was so much failure. There were times where all the base functionality of the game was working in the initial phase, only to then be completely scrapped midway like the door functionality/navigation or even the raising of the walls.
There's still a lot of things we could improve for the next build of the game, but the most notable changes we'd make in the future are the following:
Create a playable build of the game for PC and publish on itch.io.
Creating an actual inventory system.
Create a mobile version of the game.
Sakuna, which means “Disaster” in English, is our Capstone project from Mapúa University. The game was created to help educate Filipinos about Disaster Preparedness, with a focus on Disaster Mitigation — teaching players how to prepare their homes for earthquakes, typhoons, and floods.
One of the game’s key strengths are its objectives, which are based on real-life guidelines from international orgs like Habitat for Humanity. While working on the project, we discovered that the Philippines lacks clear policies on disaster mitigation at the household level. To support this finding and strengthen the game’s purpose, we interviewed a firefighter and a safety officer, both of whom agreed that these mitigation practices are essential.
We entered our Capstone Project "Sakuna," a computer game—to the game jam and became one of the top 12 Finalists among more than 40 entries.
The competition was to create a pitch deck for the game we entered, and since our game was purely educational, our challenge was to completely rework the game for mobile and to become profitable and fun.
In the final day of the game jam, I presented our re-worked game pitch deck in front of the other 11 teams/finalists and judges.
To watch the presentation or know more about our pitch deck, click the read more... below.