Problem: Learners were reluctant to practice math facts involving integers. Instructors could not find resources that included all four operations and a substantial amount of problems.
Solution: Develop a game that would encourage learners to solve math facts involving integers, and includes infinite problems of various types.
Responsibilities
Game design
Game development
Graphics
Animations
Coding
Target Audience
5th - 8th grade students
Tools Used
Unity Game Engine
Microsoft Visual Studio
Google Slides
Garageband
Year Created
2020
The first part of the game development process was to determine the goal of the game. The goal of the game is for the player to help Mr. Stickman progress through three levels with hopes of reaching the end of the third level.
Each level has items for the player to collect, enemies for the player to avoid or eliminate, and falling items that reduce the player's health. If the player can reach the end of the third level, then the player wins. If the player's health reaches zero before reaching the end of the third level, then it is game over and the player starts over at level one.
The next task in the development process was to develop Mr. Stickman. I used Google Slides to create several images of Mr. Stickman. I imported these images into the Unity Game Engine and used the animation tool to animate Mr. Stickman.
I then programmed Mr. Stickman to move, jump, and shoot fireballs whenever the player presses certain keys on the keyboard. Next, I designed the three levels that Mr. Stickman would progress through. To increase the difficulty of the game, I added enemies that would shoot fireballs at Mr. Stickman, items that would fall from the ceiling, moving platforms, and spikes. I programmed collisions so that Mr. Stickman would lose health every time he was touched by an enemy or obstacle in the game.
Next, I added objects to the game that would display math questions when the player collided with them. To make this happen, I had to create a function that would generate infinite integer problems of various types. This proved to be the most difficult part of the project.
After some problem-solving and many iterations, I was able to create a function that contained many functions and variables within it. This function determined first what type of problem would be displayed: addition, subtraction, multiplication, or division. Then it determined whether the numbers would be positive or negative. Then it checked the user input and determined whether the solution was correct or incorrect. When the player answered five questions correctly, the question box would disappear and the player would be able to continue playing the game.
The final part of the process was to test the game and collect feedback. During this phase, I was able to fix a few bugs in the code and make iterations to the game to ensure that it was the right level of difficulty. Collecting feedback allowed me to determine which aspects of the game the players liked and disliked. I used this feedback to make the final changes to the game before it was published.
The learners found this game exciting and challenging. Most learners were so focused on completing the game, that they did not acknowledge that they were solving math problems. When a learner would struggle with a specific problem type, they would take it upon themselves to review videos and resources online to determine how to solve them. Taking an initiative like this was not observed before the implementation of the game.
Since this project, I have continued to use the Unity Game Engine to create games for learners. Check out my favorite game below!