DISCLAIMER: The models used in the prototype were received from Unity's Asset Store as well as Models Resource
About the Game
Everlasting Bonds is an Action RPG where five former friends are sent to a fantasy world with the task of saving it from eternal doom, rekindling their friendships in the process.
Everlasting Bonds was solo-developed in 2 months, where I focused on level design as well as story writing.

Story-Telling
When creating the story, I used the hero's journey to map out the main events.
Following this, I created personas of the main characters to identify their personal journey throughout the game.


Satoshi: The Self-Loathing Leader

Yori: The Anxious Bundle of Joy

Junko: The Lonesome Warrior

Madoka: The Emotionless Academic

Eri: The Suffering Altruist
Level Design
For this prototype, I focused on creating a tutorial level that teaches players the basic mechanics of the game (movement, platforming, and combat).
I created an annotated map to form the blueprint of the level's experience, and created a beat map to establish narrative cues.

Annotated map of Onset Woods

Beat chart of the start of the game
Unity's Terrain System
Thanks to this tool, I was able to add foliage to enhance player immersion. To fit with the anime aesthetic, I used anime-style models to create a consistent art style. I also added verticality to make the level feel grander.

Map of Onset Woods
Iterations
Throughout the development process, Everlasting Bonds went through several iterations to make it as great as it can be. Post-processing, UI, underground locations, and dialogue were all added to create a more polished, engaging experience for players.

Early Prototype

First Exectuable with the Onset Woods implemented

Second Executable including post-processing and UI

Third Executable including a story moment

Fourth Executable including more off-track play, such as finding this mini boss!

Fifth Executable including a dialogue system to implement story
Hierarchical State Machine
In order to meet the needs for an experience as grand as an Action RPG, I created an HSM for both the player character and enemies.

Conceptualizing the state machine

Code of the Player's Run State

Code of the Player's Attack State
Unity's NavMesh

Nav Mesh Agent added to enemy game object

Enemy NavMesh being used in the pursue state
Dialogue System

Sample code of the dialogue manager script

Sample code of the dialogue trigger script
