I began this term with no experience in game development in Unity, art development, C#, or any of the mandatory skills to create a game in Unity. I had created a game before, making one for a high school class using a Python extension called PyGame, but that was created all in code and was significantly different then any coding in Unity or the object oriented programming of C#. The team that I was placed in, Intern Group 1, also only had one member that had used Unity before. This lack of experience meant that I had a lot to learn throughout this term and, by working hard with my team, we were able to learn the necessary skills to create two educational games in Unity: Pizza One Two Three and Math Towers.
To learn more about my specific roles and tasks in each project, open the URL’s next to the project titles.
Pizza One Two Three (https://stemworldco-op.com/)
Pizza One Two Three is a pizza making game designed to introduce fractions to students grades 1-3. The game focuses on the concepts of making fractions, making equivalent fractions, and time management skills all while maintaining an enjoyable experience for students. The game also features an endless mode for students to further strengthen their understanding, and a backend server for teachers to track students’ progress. The goal of the game is to making 900$ over the course of 7 days by serving properly cut pizzas to customers.
The teams first project, Pizza One Two Three, began slowly since each member had to learn the skills applicable for their roles. I was given the role of programmer. Since the team anticipated that the cutting mechanic was going to be the most difficult part of the game, I was assigned to create the cutting mechanic. Seeing this as an opportunity to learn how to use C# and Unity as well, I taught myself these skills as I created this mechanic. The cutting mechanic was difficult to create, requiring both math and programming skills. In the end, I was able to ‘cut’ an object in half by duplicating the sprite, and then using Unity sprite masks that would cover half of each sprite to show two separate halves. In the end, however, another cutting mechanic that emphasized the creation of different fractions was developed, and my cutting mechanic was left out of the project. The time I spent on the cutting mechanic was valuable though as I was able to learn how to program in C# to a great extent, and how to develop scenes in Unity. After this, I created the level system within the game using these programming and Unity skills, and was quickly able to pick up scene transference within Unity, and creating a proper game flow within Unity. I then added a topping mechanic into the game and, working with a few other group members, made it so that the players would have to place the correct toppings to get a proper score. Lastly, I added in the game music into Unity, and created a system for a mute button to be added to each level.
Math Towers (https://stemworldco-op.com/math-towers/)
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.
For the teams second project, Math Towers, I was assigned to the role of an art developer along with another group member. Neither me nor the other group member had experience with art development, and so we decided to use Inkscape, which is a free and simple art development program. This group member and I created the games art with a mediaeval/fantasy theme to match the game music and sound effects produced by another group member. I was put in charge of making the art for the buttons, main menu, enemies, and towers. I first created the buttons and main menu screen, and then moved onto the towers. 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 then made 10 unique enemies each with their own movement animations that were all styled to look like numbers designed as monsters. Once these were finished and added to the game, I switched my role to a programmer, and began assisting with the work that was left. I started by making a next level system, where by clicking on the enemy spawners, the next enemies would be displayed. After this, I mainly focused on assisting other programmers with tasks, and fixing bugs throughout the game.
Throughout this term I have pushed myself to learn the necessary skills to create a game in Unity. I have learned how to use the Unity editor, C#, and Inkscape thoroughly so that my team and I could work to create the best possible game that we could create. I have also developed game and art development skills to be stronger and far better then they were before the term started.