Game banner image

Till Tomorrow

Brief

This was one of the first more extensive projects I worked on in Unity. I worked on the plant propagation system and some UI functionality.

Spreading Plant

In this game the player must encourage a plant that starts on one tile to spread across the board and destroy pollution sources. The plant spreads to new tiles on its own, with each part of the plant on each unique tile having its own genetic attributes. The three genetic attributes are simple values stored for each plant bit which affect how the plant spreads or interacts with pollution. When a plant part spreads, the new part inherits genetic attributes from its parent. The central mechanic of the game is the player's ability to remove these genetic attribute components from one part of the plant and graft them onto another part of the plant, influencing how the plant acts in particular areas. I wrote the code which managed these attributes, updates, and the grafting mechanic.

Interactive Tiles / UI

I made a simple UI manager for the game including the system allowing players to click on tiles and open menus. I needed to ensure that the player could click on tiles in the scene as well as elements in the screen space UI. This in itself was not a very complex task, however it required trying many different techniques to check when a player's cursor is over a UI element. Many of the solutions found online do not work in the latest versions of Unity.

Working with Gen AI

I do not use generative AI to directly generate code for any of my projects. Instead I use generative AI as a consulting tool on very rare occasions since I find this best supports my learning. However on this project my team decided to use generative AI more extensively and I learned how to use it as well. The project structure was generated at the start based on specs and concepts we discussed, and it was up to us to implement the actual mechanics from this initial layout.

I found the workflow using generative AI to be very different than what I was used to, more akin to carving a relief than painting on a canvas. I found that my time was spent more on writing tests and prompts rather than straightforward programming. In the end I found that generative AI does get code into the project faster, however I have to be twice as meticulous reviewing this code. I still prefer working with generative AI in a more consulting role, however I am also capable of working with these tools more heavily when necessary.