How's It Growing

Roles

Gameplay Programmer, Producer

Platforms

WebGL

Itch.io

Download
Dear Dodo Games
December 2021

Timeframe

7 weeks

Engine

Unity 2020.3.5f1
How's It Growing

Project Overview

"How's It Growing is an educational, fixed perspective point-and-click puzzle game set during the first plantings of the Australian National Botanic Gardens in the 1940s. You play as a budding botanist, learning about plant life cycles by manipulating plant environments to grow 3 native plants and disperse their seeds through interactive challenges."

Made in collaboration between the Australian National Botanic Gardens and the AIE, How's It Growing was created as part of a 7 week end-of-year project during my first year studies, and was the first game I developed in a proper production team.

The aim of the project was to create an educational game prototype that could be used within Australian classrooms from Years 4 to 6 as an assistive teaching resource when covering subjects like Botany. The game is puzzle based, and requires players to use their prior knowledge of the plants (along with in-game hints) to determine and set the ideal growing conditions for each plant, throughout each stage of its growth. The game was structured to be played by students after they had completed a series of learning modules that were designed to teach specific botanical information to students that they would need to progress effectively in the game. This project acted as a prototype for the Botanic Gardens, and is planned to be a part of the first of several learning modules on a web-based education platform they are designing for educators in Australia.

How's It Growing can be played here on the Dear Dodo Games Itch.io page (no download required), let me know what you think!

Major Contributions

  • Sound Manager
  • Banksia Challenge Mini-Game

My main role in the How's It Growing production was concepting and creating all of the gameplay programming required for the Banksia Challenge mini-game segment, which I did using C# scripting within Unity. I also took on a general role of producer in which I created and maintained the teams Trello board, and ensured that milestones and sprints were being allocated and met effectively.

Sound Manager

During the first week of production, much of the programmers attention was focused towards concepting and creating systems and tools that would aid in the production as a whole, namely for the designers in the team, because we knew that mechanically the game was going to be fairly simple. So the first system I went about creating was a simplistic Sound Manager for the game. The point of this system was to create an easy and efficient method of triggering audio clips within the game, that didn't require Designers or Programmers to create and keep track of Audio Source references for all the sounds they wanted to play.

Using Scriptable Objects, I made it so my team was able to create Sound objects stored in the Resources folder, which essentially acted like a mirror or proxy for the data that an Audio Source holds, but allows the reference of said object to be automatically stored and tracked in a dictionary within the Sound Manager. This means that when, for instance, a Designer wanted to play a range of audio clips on different events in the inspector, rather than having to create a bunch of audio sources and reference each one, they simply had to drag in the reference to the Sound Manager singleton, and play the clip they wanted by entering just the string name alone (as the sound dictionary was indexed via audio clip name). The manager also kept track of which clips did not have Sound objects already created for them, and would automatically create Sounds for those objects, meaning Designers could play literally any audio source in the engine without any prior set up.

To help explain how to use this system, and in case people forgot in the future or I wasn't around to answer and help, I created a short YouTube tutorial for my team in which I go through the process of using the Sound Manager to trigger some audio clips when the player clicks their mouse. The video can be found below:

Banksia Challenge Mini-Game

For the next 3 weeks of the project (from weeks 2 to 5 of production), I was working just about solely on not only creating all of the gameplay logic for the Banksia Challenge in the game, but also just generally setting up and managing the scene for that challenge in general. The challenge itself involved operation-style gamplay in which the player has to carefully pull seeds out of the Banskia's seed cone, and move them over to the plate without dropping them. Moving too quickly causes the player's tweezers to drop the seed they are carrying, destroying it. The aim is to collect as many seeds from the Banksia cone as possible within the time limit, collection of seeds increments the remaining time by a settable amount.

Footage from late Alpha

Working on the Banksia Challenge was a nice introduction to Unity for me, as it was my first proper project in the engine, and it allowed me to learn the basics of player interaction, the use of game managers and win conditions, as well as how to set up and trigger audio, animations, and cutscenes within Unity.

If you're interested in reading more specifically about my week by week workflow, you can find my devlogs here on my website.