Games Development


Final Submission ㅤ  ㅤ  ㅤ ㅤ  ㅤ   ㅤ ㅤ  ㅤ 


 Table of Contents 




 Instructions 



Find out other information about this module below
Module Information Booklet

Brief
  • Taylor’s Annual Mental Wellness Campaign 2026 will be held from 12–14 October 2026. This year’s theme, “Where Healing Meets Fun,” aims to destigmatise mental health by engaging people through fun, interactive, and play-based wellness activities.
  • You are required to produce a game that will be used for the event, your game should center around these key words: creative expression, gentle and non-verbal, explore and express emotions 


 Inner Garden 

A temporary floating garden designed around growth, reflection and small moments of discovery.

Inner Garden  is an interactive 3D experience where the player can simply remain in a peaceful floating garden while the environment gradually changes around them. Plants grow, weather shifts, clouds drift, and occasional letters arrive containing random positive affirmations.

Developed in: PlayCanvas
Genre: Interactive / Atmospheric Experience
Platform: Web

 ▶ PLAY INNER GARDEN


 Game Introduction 

About the Game

Inner Garden is an interactive atmospheric experience centred around the idea that growth does not always require active effort.

The player enters a floating garden and is encouraged to simply stay within the environment. While they remain there, the garden continues to change through procedural plant generation, plant growth, changing weather, moving clouds and dynamic sky conditions.

Occasionally, a floating envelope enters the garden. The player can interact with it to reveal a randomly selected affirmation before closing the letter and continuing to explore the garden.

The experience is designed around temporary moments. Since the garden can change between sessions, the screenshot feature allows the player to capture and preserve a particular version of their garden before it changes.


 Game Features 

🌱 Procedural Garden Generation

Each session generates a different combination of plants.

The system randomly selects plant types and assigns them to predefined garden spawn points. This creates variation while maintaining control over the overall composition of the garden.

Development highlight:

  • Multiple plant types
  • Random plant selection
  • Random spawn locations
  • Spawn points are only used once
  • Different garden compositions between sessions
Figure 1.1 Inner Garden 


🌸 Gradual Plant Growth

Plants develop while the player remains in the garden.

The growth system uses timed stages, allowing plants to transition from smaller growth stages into more developed forms.

Sprout
   ↓
Growing
   ↓
Fully Grown


This supports the game's central idea of allowing the garden to develop naturally without requiring constant player interaction.

Figure 1.2 Before plant growth


Figure 1.3 After plant growth


☁️ Living Environment

The environment is not static.

Clouds continuously move around the scene while the sky and environmental lighting change over time.

This makes the floating island feel like a small living environment rather than a static 3D scene.

Figure 1.4 Clouds movement


🌦️ Dynamic Weather

Weather changes over time to create different moods within the same garden.

The system includes environmental states such as:

  • ☀️ Sunny
  • 🌫️ Cloudy
  • 🌧️ Rain
  • 🌈 Rainbow

The weather system works alongside the sky and lighting systems to change the atmosphere of the garden.

Figure 1.5 Sunny

Figure 1.6 Cloudy

Figure 1.7 Rain

Figure 1.8 Rainbow

💌 Floating Affirmation Letters

One of the main interactive features is the floating envelope system.

The envelope appears after a random amount of time and flies into the garden. When the player clicks it, an affirmation is displayed.

Random timer

Envelope arrives

Player clicks

Affirmation appears

Player closes letter
Another random timer begins

The affirmation is randomly selected, meaning the player does not know exactly what message they will receive.

This was designed to make the interaction feel like a small unexpected discovery rather than a conventional UI notification. 

Figure 1.9 Unopened Letter

Figure 1.10 Opened Letter


📷 Screenshot / Capture Feature

The screenshot feature allows players to capture their current garden as a PNG.

This feature connects directly to the temporary nature of the experience.

The player can preserve a particular arrangement of:

  • Plants
  • Clouds
  • Weather
  • Sky
  • Garden growth

before the garden changes.

This turns the screenshot into more than a technical feature — it becomes part of the game's concept of appreciating temporary moments.

Figure 1.11 Downloaded PNG

Figure 1.12 Capture Button on bottom right



 Game Assets 

A compilation of the game assets in the presentation below.


Game Assets by noelle



 Development Process 


01 Environment Prototype

Started with the floating cloud island and basic environment.

Goal: Establish the visual foundation of the experience.


02 Garden Generation

Introduced plant prefabs and spawn points.

Goal: Make each garden session different.


03 Growth System

Added timed plant growth.

Goal: Allow the garden to develop while the player remains present.


04 Environmental System

Added:

  • Dynamic sky
  • Lighting
  • Cloud movement
  • Rain
  • Mist
  • Rainbow/weather states

Goal: Make the environment feel alive.


05 Interactive Letters

Developed the envelope animation, interaction and affirmation system.

Goal: Add an unexpected personal interaction.


06 Screenshot Feature

Added garden capture functionality.

Goal: Allow players to preserve temporary garden moments.


07 Polish & Debugging

Improved:

  • UI visibility
  • Envelope animation
  • Random timing
  • Plant interactions
  • Weather presentation
  • Screenshot capture
  • Visual composition

Goal: Bring the separate systems together into a cohesive final experience.



 Development Challenges 


Challenge 01 - Repeating Envelope Animation

Problem:
The first envelope appeared correctly, but subsequent envelopes did not fly into the scene.

Investigation:
The timer was functioning, but the envelope's animation state remained in its previous "floating" state.

Solution:
A reset function was implemented to restore the envelope's position, rotation and animation state before each new appearance.

Result:

Timer
 ↓
Reset envelope
 ↓
Flying
 ↓
Dropping
 ↓
Floating
 ↓
Close
 ↓
Repeat


Challenge 02 - Black Screenshot Output

Problem:
The screenshot feature initially produced a completely black PNG.

Investigation:
The browser console revealed a WebGL framebuffer issue related to multisampling.

Solution:
The screenshot capture implementation was adjusted so the rendered canvas could be captured correctly.

Result:
The player can now capture the current garden as a visible PNG.


Challenge 03 - Controlled Randomness

Problem:
Completely random plant positions could produce visually poor compositions.

Solution:
Predefined spawn points were created, with the generator randomly selecting which available points to use and which plant prefab to place there.

Result:
The garden remains aesthetically controlled while still being different between sessions.



 Video Presentation 

Inner garden is an interactive 3D experience developed in PlayCanvas. The concept is based around creating a temporary floating garden that changes while the player simply remains within the environment.

Attached below is a video presentation, explaining the game features and highlights of Inner Garden.




 Feedback 

Week 1
I was absent as I was sick. 

Week 2

During Week 2, I received these feedback after proposing my 2 game ideas:
  • Mr Ronald showed me 3 different games that are similar to my ideas which I can reference and try to understand what there is in the market
  • He mentioned to not worry about the skillset and limiting my ideas from it, instead I should think big and come out with a good idea first as that is the main priority
  • Not using Unity, we are using PlayCanvas
  • He preferred the plant idea, and gave suggestion on maybe each different mood plant can have different ways of nurturing them, and players would have to go through different steps to grow the plant
  • Red anger plant could be fiesty, maybe we could sing to calm it down? More water, more patience, and understanding (reflect irl)
Week 3
No class as Mr Ronald was sick. I contacted him on teams to review our GDD before submission.

Week 4

I was absent. I contacted Mr Ronald on teams for feedback on our GDD.

Week 5
  • Mr Ronald mentioned that our idea could be hard to do as its a memory game and it takes a lot of effort and time (and a big team)  to make sure that all browsers save the game progress
  • He recommended to keep the current concept but turn it into a one time game like it refreshes the next time you play it
  • He also gave us the idea where at the ending screen, we could write "take a screenshot, your pot will be gone right after". This kind of reflects on the fact people should appreciate the moment as changes can happen anytime


       
↑    
                                                top