Math Towers is an educational math-based tower defense game designed to improve students’ mental math abilities. The goal of the game is to defend the castle by reducing all enemy numbers to zero. Each level is designed to push the player to use the different math operations in unique ways in order to destroy the enemies.
My role in the project was as an art developer/programmer. This meant that I would create the art assets with Sachit, another member of the group, and once the art and animations were finished then we moved over to assist the programmers with their development of the game.
Art and Animations
With Sachit, we custom made the art in the game and decided to go with a mediaeval/fantasy theme to match the music that another member had produced. I focused on making the art and animations for the towers and enemies, as well as the art for the main menu and the buttons. I made 4 unique towers each with two animations (attack and idle), with each tower corresponding to a mathematical operation. To keep with the mediaeval theme I made a Horse Knight (addition), a Spear Knight (subtraction), a Wizards Tower (multiplication), and a Plague Doctor (division). I also made 10 unique enemies each with their own movement animations. These enemies were designed as numbers styled into monsters.
Next Level System
Once the art and animations were finished, I began to assist with the programming of the game. The first system that I made was the next level system, which would allow the players to tap on the enemy spawners, and see which enemies were next to be spawned. This would allow players to create groupings of towers to destroy multiple enemies at once, and not just have to react to the individual enemies as they were spawned. This system also works with the wave system as it will only show the enemies from the current wave, and won’t show any enemies from the upcoming waves.
After the next enemy system was developed, I began to work with Sachit on the settings screens. I designed the settings screen and pause system, while Sachit created the mute button and added the music into the game. These screens were added to every scene in the game and work by disabling the main game scene, and enabling the pause scene to make it look like there has been a scene change. This reduces the need to save enemy positions before going back to the game.
Bug Fixes and Next Level System
Lastly, after these systems had been created and the rest of the game had been completed by the other members, we combined all of our work and then began to work on bug fixes for the game. During this time, Sachit and I also completed the Next Level system which will take the played to the next level from the win screen, and will restart the level from the lose screen.