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.
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:
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.
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.