BONSAI '98 A cozy and relaxing sandbox game where you unleash your inner creativity to grow and decorate your own dynamic bonsai dioramas

The Last Blue is a narrative, puzzle adventure where you play as a young girl who finds herself lost within an ancient shrine. She realizes that to escape this shrine, she will have to learn the language that seems to be scribbled on the walls and decipher what it means with the help of a Shrine Spirit

Your Master, an Evil Vampire Overlord, has been defeated, but he’s not completely dead just yet. Wield multiple weapons & hold your ground and defend your master’s heart safe from the invading heroes & local peasants in this Survivor-Like, Tower Defence Combo

Hi,
I'm Mukund. I am a  Tech/Systems Designer  currently studying at Futuregames Stockholm
As a technical and systems designer my passion lies in trying to  problem solve and engineer solutions  that can  help my fellow designers go ALL OUT  with their creativity to produce some of the  best experiences for our players! I moved to Sweden from India in August 2023 to pursue my studies in Games and honestly it's been nothing short of an amazing experience getting to meet and connect with some of the best talents in the world!Before working with games, I have worked as an  Automation Quality Analyst at Accenture  and completed my Bachelors in  Aeronautical Engineering  from Manipal Academy of Higher Education, India.Thank you for taking some time to check out my works, I appreciate you <3


Favourite Games:

  • Stardew Valley

  • To The Moon

  • SMITE

  • TTRPGs

Favourite Stuff:

  • Anime & Manga, Vtubers, Cosplay

  • Reading, Music (post rock, sad girl pop, video game osts, japanese rock/pop)

  • Cooking, Baking

Game Info:

RoleSystem, Gameplay, ArtTeam Size3
GenreCozy, SandboxEngineUnreal
DateJune 2024 - PresentVersion ControlGIT
TimeOngoingLanguageBlueprints, C++

NOTE: BONSAI' 98 is still heavily in development

My Contributions

  • Ideation & Design

  • Player Controls & States

  • Quest System

  • Scraping

Game Overview & Design

BONSAI '98 A cozy and relaxing sandbox game where you unless your inner creativity to grow and decorate your own dynamic bonsai dioramas the way you want!

Pivot

BONSAI' 98 initially started off as a vision to make a plant shop simulator. As it was just a two memeber team back then, Me & my friend Martin spent a lot of time ideating and designing how the core systemic design of our growth system would tie in well with rest of game mechanics. But due to an oversight on scope, the project underwent a complete transformation to become the sandbox it is today.

Design Pillars

Serenity

Enjoy the calm and fulfilling fantasy of tending to your beautiful Bonsai

Self-Expression

The scene is yours to unleash your creative vision

Curiosity

Master the synergies between the mechanics and see what you unlock next

Core Loop

Controls

Goal

Design and implement controls that felt natural and intuitive without causing any kind of obstruction to their creativity and flow

Challenge

Prioritizing creativity and flow means the controls themselves shouldn't take too long for a player to get used to and once they use it, it should feel familiar and just right

Solution

Since the game was focused a lot around "Modelling" and setting up your own dioramas and actively editing your bonsai tree, we realized the answer to our controls were right there present in all the popular 3D Modelling software. So the controls were set up as follows:

Quests

Bonsai '98 is game that focuses a lot on the intrinsic motivations of the players. We believe that the players would really want to spend time working on their dioramas mainly because they enjoy the process and want to do it.But at the same time, it is our duty as the developers to motivate our players extrinsically and reinforce their actions through positive feedback loops. This is where the Quest System comes in.

Goal

Make a robust quest system, that can handle various kinds of quest to motivate the players and provide a path for progression

Challenge

The quest system basically exists as way for players to unlock new props and trees and other customizations. But how do you make this fun without it feeling too repetitive and boring while also trying to motivate the players to keep being creative

Solution

The current Quest System keeps track of all player actions and based on what actions are present on the current active quests, if completed, the player is rewarded with a set experience points. A Data Table is used to write in all the quests.

Rewards

The player is rewarded EXP based on the completed quest, and once the player hits a target experience, you level up and are given rewards. The target experience is the reset based on a simple exponential progression curve.

Scraping

Scraping is a mechanic introduced to allow players to simulate deadwood bonsai techniques such as Jin (神) and Shari (舎利).This is achieved mainly by using multi layered materials. This allows you to then simply line trace to the required object and then draw onto the render target to shift between the different layers of the material.

Player Behvaiour and Design Change

While the intention for the mechanic was mainly as mentioned to simulate dead barks on your bonsai, during a playtest it was noticed that many players were having a lot of fun just drawing cute pixel art on the tree!One of our initial design pillar we were working with was "Embracing Mistakes", so when we first got the scraping system in, there was no way to redo or paint of bark you have scrapped off. But after gathering player feedback and responses, we decided in order to allow for creativity to flourish - we had to move away from the vision on Bonsai '98 being a simulation game and more of a sandbox. We even added an undo and redo button!This has been an extremely successful minor direction pivot and we have found our players spending a lot more time enjoying the process of making their bonsai

Future Plans

Scraping is a mechanic introduced to allow players to simulate deadwood bonsai techniques such as Jin (神) and Shari (舎利).This is achieved mainly by using multi layered materials. This allows you to then simply line trace to the required object and then draw onto the render target to shift between the different layers of the material.

Game Info:

RoleSystem, TechTeam Size11
GenreNarrative, PuzzleEngineUnreal
Date29th April - 13th JuneVersion ControlPerforce
Time7 weeksLanguageBlueprints

My Contributions

  • The Journal System - Design, Prototyping & Collaboration

  • The Spirit AI Design & State Change Tool

  • Tutorial & Onboarding Level Tool

  • Animations & VFX Implementation

  • Implementation of Programmer Mechanics in World

  • UI Animations

Game Overview

In The Last Blue you play as a young girl who finds herself lost within an ancient shrine. Solve Puzzles, by learning a new language with the help of a friendly spirit and by observing the various murals that seems to hint at secrets of the shrine.

You might be wondering - "WAIT WHAT? LEARN A NEW LANGUAGE?"

Yep, we decided we wanted to make a whole new language system and teach it our players!


Design Pillars


Curiosity

Learn a new language and decipher the story of this shrine lost in time

Exploration

Explore and discover the story told through spaces

Connection

Form a bond with the spirit of the shrine


Core Loop


The Journal

As you can see in the core loop, the journal system is a major mechanic in the game that acts as the interface between the player and the overall game world, which is closely tied to the language itself.The journal acts as a dictionary and is what the player uses in order to keep track of the words they have mastered in the game.The players also uses the journal to solve puzzles, decipher mural meanings and also understand what the spirit is trying to communicate

In order to understand how the Journal functions, we have to dive a bit into the anatomy of the language itself.

The Language

Goal

The initial design of the language was made to support a very complex sentence forming structure.

Challenge

We very quickly realized this was an overkill, especially since we were trying to onboard a player to a whole new language in just 5 minutes.

Solution

Hence for the final design, while we kept the "Major Glyphs" - the ones that determined, whether something was a interrogative, declarative or imperative, the "Minor Glyphs" were restricted to just three - Nouns, Verbs and Adjectives

The design of the language itself shined only thanks to my amazing fellow designers: Thomas's linguistic expertise and Reyn's world building and narrative

Prototype and Iteration

During production, while the back end of journal data was being handled by our programmers, I quickly prototyped a journal interface where the player would be able to make use of the journal like a real world "pen and paper" and type in guesses for encountered glyphs.

Goal

The reason the journal as a mechanic exists in the game is to allow for the player to put pieces together and understand the game by their own means.

Challenge

While the prototype did align with most of the design goals, it did put a lot of more trust and effort on the player side than we wanted. This version also prevented the narrative from shining through for the non hardcore playerbase.

Solution

So after play-testing, it was decided that we are going to handhold our players a bit more. The players will no longer be able to type in their own guesses, but instead they would be provided with options that they could choose from a drop down menu to try and guess the meaning of a word.When the right guesses are made for a full sentence, it is validated with a blue color and the individual words get their meanings filled in the dictionary section of the journal.While the validation and multiple choice solution did result in encouraging a more "brute force" style of play among some players, this did solve the major issue of the players not able to understand the narrative and interact better with the spirit companion. This was a setback we were willing to accept for an overall improved and refined experience.

Framework

Unreal's Data Assets were used to handle all the language data within the game. Each word type have their own data asset.

  • The master library had all the glyphs and their original meanings

  • Obtained Words are updated when interacted with glyphs in the world

  • Sentence Guesser then adds the obtained words and sentence to the journal along with their guess options

The Journal Widget itself would handle the data from sentence guesser to display it for the players.The Journal is split into two sections:

  1. Dictionary Section - This is where all the words appear sorted based on the type of words they are so that the players can quickly access them to check meanings.

  2. Sentence Guesser Section - Here, all the mural sentences and spirit talk can be viewed by the player to quickly assign meanings, validate their guesses and understand the narrative of the game.

To keep the journal modular, it was split into multiple smaller widgets which would then be added to the main journal widget.Each of the child widget would populate itself with data based on when the player interacts with a glyph they encounter in the world. Each time the journal updates, a UI pop up shows up to alert the player.

Since the journal itself had a lot of moving parts, this would have been impossible for me to design and implement without our programmers. Basil's robust back-end support, functionality and expertise and Markus's easy to implement designer friendly C++ solutions and data handling are what made this happen as well as it did.

The Spirit

Design

When researching the fundamentals of learning a new language we found out that probably some of the best ways to guide a player through this would be:

  1. Through Pictures and Correlation

  2. Having someone communicate and try and teach you

For the first point, we made use of Murals with glyph descriptions. The second point is where our Spirit AI comes into play. The Spirit is also a key part of the narrative. Afterall, the Last Blue is not focused on telling a story about the player character, but instead more about the Spirit and the Shrine.In order to make things easier for Rasmus, I mapped out all the functionalities of the Spirit and it's behaviour patterns as we progress throughout the game in accordance with the narrative

The State Change Tool

Goal

With the behaviour designed, we need the Spirit to function in a very controlled manner when it comes to reacting to the player actions and positions in the game in order to sell the fantasy and narrative of the game

Challenge

Now that all the required behaviours had been programmed to function, we had tie together the different state changes, vfx triggers and custom animations to work in game seamlessly.

Solution

I made a simple trigger tool here that allowed us to quickly switch between the different behaviour tree actions and states of the Spirit AI while also controlling things like VFX and animations of the AI. Placing this out in the world allowed me to control the pace of the AI easily without having to mess with the C++ and Behaviour Tree set up by Rasmus

Spirit Speech

Goal

One of the actions the spirit could do was communicate with the player using the glyph language. The way the player would learn more about the Spirit and the Environment would be by interacting with different objects for which the Spirit might have something to say

Challenge

The flow of the game was already quite slow and methodological. Adding a traditional dialogue system would slow it down the pace even further and take away from the core of the game which was about deciphering and learning the language.

Solution

The Spirit speech was made so that it does not interfere with the flow of the game at all, but instead, the State Change Tool could be used to force the Spirit into a Speak mode which then brings the spirit to your proximity, display the glyph (which gets automatically registered into the journal along with a new entry prompt), and continue to it's next state. This allowed the player to spend some time in the journal to try and decipher what the spirit just talked about and not get trapped in a dailogue view with the spirit

Tutorial Tool

This was a really simple tool which our level designer Eddy could use to place out the different tutorial prompts that we needed to onboard the player to different mechanics of the game. Control over the text and prompt duration was given to the user of the tool.

Reflections

  1. This was the first project I decided to take on a role of "Technical/Systems Designer"

  2. I am happy I got to support the team by doing a bunch of ad hoc tasks in the engine that helped push the game forward, while also working mainly on the journal system

Game Info:

RolePO, System, TechTeam Size6
GenreSurvivor-like, Tower DefenceEngineUnreal
DateGP4 DATESVersion ControlGIT
Time4 weeksLanguageBlueprints

My Contributions

  • Hosted Ideation Workshops

  • Prototype AI

  • Design Planning & Structurization

  • Weapon - System & Progression

  • Day Night Manager

  • Customizable Outline Shader

  • Asset Animations using Paper ZD

Game Overview

VAMPOWER is a survivor-like with tower defence elements, where you play as the lone underling of an evil vampire overlord as you fight off waves of heroes and local peasants as you try to protect your Master's HeartThe aim here was to make something with a satisfying progression and an addicting core loop

Design Pillars


Experimentation

Try out different classes, builds, structures and see what works for you

Easy to pickup, Hard to put down

Short but engaging rounds with tight progression

Freedom of Expression

Play the game however you feel like. Ranged over melee? More Minions over your own damage? We got it all


Randomness

No two rounds are the same thanks to the upgrade shop

Ideation Workshops

As the product owner of the project, other than just regular systems and tech, I was also tasked with conducting our ideation process - and this had to happen at a rapid pace since we were expected to produce three prototypes at the end of the two weeks with just half the team.

  1. Answering a Questionnaire

  2. Grouping Common Ideas

  3. Generating Game Ideas from the groups

  4. Voting and Choosing the top 3

  5. Split the team into groups and focus on developing each of the 3 ideas

  6. Rotate teams between ideas so that everyone engages in all the concepts

  7. Final Voting

Fleshing it out

Now, that the main ideas were chosen, the designers focused on a more in-depth deep dive of answering certain questions about the game we were going to make. Going through these steps allowed all the designers on the team to be on the same page when it came to the core vision.We talked about moods and emotions, target audience, design goals, USP, risks and a simple game loop. The individual responsibilities for the prototyping phase were also decided here

Prototype to Production

Prototyping

Goal

Achieve a prototype that could capture the essence of the core idea within just two days and with three people working

Challenge

So, how do we go about doing this? There were so many moving parts that needed to come together for even just simple prototype for it to capture the proof of concept and finalize if it was something we as a team wanted to work on

Solution

Well easy, the solution was to prioritize the loop we wanted to test. We could have tested a simple progression prototype, but we knew survivor-like progression have been already tried and tested by a lot of games in this genre. But what we did not know is how the Tower Defence idea slapped onto a survivor like would-turn out.So that's what we did. We focused on the minute to minute gameplay loop and immediate player actions.

Prototype Task Split Up

For the prototype, I focused on making three different types of enemy AI based on what they would target. The targets were:

  • The Master's Heart

  • The Player

  • The Structures

While the enemy did the same type of damage as the player and did not scale, this prototype still allowed us to test the overall viability of the project.

Moving to Production

Goal

Now with the expanded vision and understanding of what is required to make a simple survivor-like, we had 4 weeks to make VAMPOWER happen

Challenge

After the prototype, we immediately realized that there were a lot of moving parts that we needed to figure out FAST if we wanted to streamline our workflow and make the overall development of this game a lot more smoother.

Solution

The only way to deal with this was to plan and prepare a well structured documentation that dived deep into each of the systems, micro loops and flow of data that were needed. We had to co-ordinate closely with the programmers to make things easier for the both of us.We started out by mapping out inheritance structures, common stats and modifiers that will be used across the board.

Mapping out these important stats and how were going to use them were cruicial for all aspects of development of VAMPOWER. After all the numbers were going to decide exactly how fun the game is going to be.This was especially crucial for the Meta Progression systems - that is your "Master's Heart". We wanted the player being able to choose what type of modifiers their run must have based on The Master they decide to go with!

The Weapon System

Weapons are a major part of any Survivor-like game, so the decision to make it all auto-fire was a no brainier. We wanted the player to focus on just the movement and positioning to fight off the hordes.

Goal

Making robust self contained upgradable weapon systems that did not interfere with other systems but at the same time interacted in a meaningful manner

Challenge

The hard part was trying to decouple the weapon itself as a system from the other parts of the game and since we needed quite a variety of weapons and the player must be able to wield all of them if they choose to.

Solution

The solution we decided on was to make all the weapons be child actor components within the player. This allowed us to focus all the functionality of the weapon within individual blueprint - and thereby allowed for easier allocation of responsibilities as well.

Weapon Communication

Design & Upgrades

Design

Splitting up the player classes into three, made it easier to ideate weapons under the same three categories: Melee, Ranged and AOE

  • Melee: Sword & Dagger

  • Ranged: Crossbow & Bouncing Chakra

  • AOE: Garlic & Saws

Upgrades

Goal

Make a fun progression system that allowed the player to feel empowered with meaningful upgrades and choices

Challenge

From making multiple weapons, to figuring out how to deal with the upgrades and long term level progression during a run proved to be a challenge especially given the timelines.

Solution

What we decided to go with was a simple weapon stat based upgrade tree with each weapon having 5 levels of upgrades.While this did damage our player fantasy a bit of having unique and meaningful upgrades, it still allowed us to achieve a relatively strong power curve easily and focus on the uniqueness of individual weapons.

Damage Calculation

I made use of a simple damage calculation function that took into consideration the different stats and output the final damage.This was also set up in blueprint function library so that it can be called from any of the weapon directly. The best part? This same function was used by the enemies and ally structures and minions! We were able to do this as we planned ahead with the inheritance, data and stat flow between unit types

The Day Night Manager

Functionality

Goal

The game round works in phases. Certain player actions can only be performed during a specific phase. Thematically it made sense that the heroes would come ambush the player character only in the morning when Vampires are at their weakest, and night time is when we are at our best - so we focus on getting stronger then

Challenge

Since the the day/night cycle determined the way a bunch of things functioned in the game, it needed to be easily accessible. But more importantly it needed to receive and direct information where and when required.

Solution

The technical solution used here was to have a blueprint actor that worked by itself to keep track of the day/night cycle, which day the game was on as well as work by itself as an event dispatcher to send out different events based on if it was day or night.This allowed for whatever systems that needed to make use of the phase of the game to subscribe to these events and then perform certain actions as and when it shifts between the day and night.

Framework

Night Phase (Prepare)

Day Phase (Attack)

Reflections

  1. After the first group project at futuregames, this was the next project I took on the PO role.

  2. While our team worked with a capacity lesser than the other teams due to sickness, we still managed pull off pretty enjoyable game!

  3. There were so many features that we wanted to implement but just did not have the time to make it happen - for example, we wanted a meta progression with the hearts where the players would earn another currency, and they could unlock new hearts to enjoy different types of play styles. But since, we couldn't get make this happen, we decided to just unlock all the hearts that we had immediately for the player to use them instead of adding it through progression

  4. I believe the weapons would have been a lot more robust if made through an actor component system where I could decouple the meshes and vfx with the weapon logic itself instead of using child actors

  5. I had to choose to let go of balancing the game inorder to make it functional. We made the call to make the player slightly overpowered as we didn't have the time to balance out all the numbers in the game. We decided to do this since we the players who played the game to have an easy and fun time instead of a hard and frustrating one.

  6. But overall, I am so happy we decided to go ahead and make a game everyone in the team really wanted to work on!