CAGD 377 - Blog Post 1
- Els Fouche
- Sep 13, 2025
- 3 min read
Plague Break
Plague Break is a match 3 game with combat and roguelite elements where you play as a survivor struggling against the zombie hoard. Creating matches allows you to damage enemies; special tiles can be mixed into a match to do bonus damage or to heal yourself. Managing your board state carefully is critical to your survival.
Designer Tools Programming
As the game's design is still being finalized, I began by creating some tools that matched the general requirements of the project but are highly customizable to allow flexibility for the designer.
As can be seen above, the game board script uses Unity's ability to visualize simple primitives in the editor to show the game board without having to enter play mode each time. The script provides controls for the designer to determine the width and height of the game pieces as well as the width and height of the game board and the number of subdivisions of the game board.
Due to this being a visualization tool I opted for precision control over implicit control e.g. the script offers specific control over game piece sizes instead of dictating the 'gutter' between them. The video above also showcases the population of the game board with game pieces. This is delayed over time at the moment in preparation for later functionality.
This video demonstrates the enemy handler and an editor tool designed to test functionality such as the enemy's ability to take damage. The handler allows the designer to easily set an arbitrary number of enemy spawn points and the associated enemies. In the future I intend to set up the enemies in such a way that each enemy type has pre-set stats that will be defaulted to when the type is changed. For now the designer must enter these values manually.
Currently, for every enemy type it is possible to set different enemy models to be randomly chosen between when spawning. The enemy spawning functionality will spawn enemies up to the number of spawn points. Additionally, if there are too few enemies set they simply won't spawn (as shown in the video).
The editor tool shown at the end of the video is for testing purposes and is not included in built versions of the game. It can be connected to different scripts and creates a button that makes it possible to ensure a function is working as intended.
UI Mockups

During this sprint I created basic functionality for the main menu and in-game UI. As can be seen above, the main menu is as bare bones as it gets in order to avoid influencing the designer and artist's vision while allowing entrance to the game.

The designer did have a rough draft of their requirements for the in-game UI which I implemented as shown above, sans art. I worked directly with the designer to ensure that each element was positioned correctly. Of note, the designer was pleased with the flexibility provided by the game grid script and enemy spawning system.
Build 1
A significant amount of time this sprint was devoted to creating a fresh build for Android using Unity. This proved to be more difficult than expected. Initially, we were working in Unity 2022.3.7f1; this is the engine version we've used the most by far to this point. However, Google Play updates its requirements for minimum API level frequently and, as of this writing, requires an API level of 35.
Despite carefully following official Unity tutorials as well as tutorials provided by hobbyists, educators, and professionals I was unable to get this version of Unity to recognize API level 35. I do feel that it is possible but too much development time had been sunk into the process already. Instead of attempting to hack together a solution using an editor version that seemed quite unhappy with the arrangement, I updated our team to Unity 6000.0.57f1.
Following the update I encountered zero issues building the project for the required API level. This reinforces a lesson I learned in a previous project which I won't recount here. Suffice to say, slavish adherence to a prescribed, but not mandatory, approach has proven foolish more often than wise.

Comments