## Inspiration

Two of our team members is a highly passionate fan of soccer. And all of us are extremely interested in mathematics. Mathematics education today is often quite dry, with boring, meaningless practice problems. We wanted to make an experience to help young children grasp the basic skills of mathematics while having fun playing a competitive game.

## What it does

Soccertes is a game played by two people on the computer. Represented as blue and red, the two players kick the ball around the field, trying to score points in the other player's goal. To help them practice math skills, each player has the opportunity to score an extra point every time they score by solving a math problem.

## How we built it

We used Defold, a game engine based on the programming language Lua. The structure consists mostly of many Game Objects that interact with each other with Lua scripts. One of the most important concepts that we had to learn about was sending messages between scripts. These messages ended up being an extremely integral part to every section of the game.

## Challenges we ran into

One of the biggest challenges we had was when the ball did not bounce off the sides of the field. Although unrealistic, we found it to be necessary to keep the game interesting. After a long session of debugging, it turned out that this challenge was caused by collisions continuously triggering the ball to change direction, and we solved it by changing direction only when the collision starts.

## Accomplishments that we're proud of

In the very beginning of development, we realized that the built-in physics engine was ill-fitted to our use, having many extraneous parameters such as gravity and drag. We are quite proud of the fact that we were able to disable the built-in physics engine and code our own physics engine. This engine handles velocity, its effects on position, and elastic collisions.

## What we learned

Most of our team have never used Lua before at all. Over the course of this hackathon, we all learned to use Lua to relatively high degrees of proficiency. In addition, like previously mentioned, Defold has a powerful but also potentially difficult idea of messages that are sent between scripts.

## What's next for Soccertes

Although Soccertes is limited in the kinds of problems it can give now, we want to be able to expand the breadth of the types of problems it can produce. Currently, the practice is really only useful for elementary school students. But in the future, we want to expand Soccertes to produce problems all the way to Calculus, Linear Algebra, and beyond. We would also like to create an online multiplayer mode, and a mode where you play against the computer.