Inspiration

The inspiration for this project came in the form of my experience observing children's games. I am not a huge fan of the games that are produced for children in the modern day as I feel they are low effort and don't try to engage the child as much as they could. I wanted to try and come up with an idea that would be more engaging for children to play that also provides an educational experience.

What it does

This game can be used to help teach elementary-age children basic math. It has the four basic operators (+, -, ×, and ÷) and can generate infinite puzzles for the player to try. When the player starts the game, a bunch of numbers will be generated and shown on the screen. They will react to gravity and are able to be picked up by the player using the mouse. If players click and hold to drag the number around the screen, they can let go while in motion to launch the number at the edges of the screen or at another number. Players can use this mechanic to combine numbers together using their operators to ultimately reach the number in the middle of the screen to solve the puzzle.

How we built it

I used Unity2D and C# for the entire game with some version control in GitHub. I wrote all of the code myself.

Challenges we ran into

It was very difficult to create the puzzle generation for the game as well as get the game feel to a place that I found satisfactory.

Accomplishments that we're proud of

I am very proud of the final look of the game as well as the random generation of puzzles. I spent a while going through the pros and cons of making 5-10 set levels that I would create beforehand that players could create, but I decided to challenge myself and create an algorithm that generates new numbers each time. The algorithm is by no means perfect, and sometimes has very easy solutions, but I am still really proud of how that turned out in just 24 hours of work.

What we learned

I learned a lot about the joint system as I needed to use it to allow the player to pick up and throw the numbers on the screen. I also learned a lot about task management and learning when it is time to pivot to a new idea for the sake of a deadline. This has plagued me in past projects and I really wanted to develop my skills at doing that for this project.

What's next for Smath

There are still a lot of features that would be great to add to this game, such as:

  • Creating mobile builds of the game so children can use it on tablets or phones. Many schools nowadays have classroom tablets that they allow the children to use, and this game would be perfect for that environment.
  • Creating different difficulty levels based on the age group who is playing. It would be nice to have puzzles generate based on the current grade level of the player to really focus on helping them with the skills they are actively learning in class.
  • Adding sound effects/music to help with the game's juice and feel for children playing it. I have added in particle effects and some screen shake but so much more can be added in that respect.
  • Playtest with elementary-age children to see how well they respond to the game. The real hard part of this project is going to be playtesting and getting the generation/difficulty of the puzzles just right to challenge kids but not discourage them. There is a very fine line that this project needs to ride in order to be satisfying for a child to play, and playtesting would be the best way to understand where the game needs to be.

Built With

Share this project:

Updates