What you see when you go to the site, before joining a room.
Stemmy starts out pretty sad and without very many points.
After getting some points back, Stemmy is looking a little better.
Stemmy is very happy after getting back above 0 points.
The rolling animation, which cycles through different dice before choosing a new set.
The most important thing for STEM education is getting kids into math early on, and what better way to do that than a web game! We remember our years of elementary school, going to the computer lab and playing similar games to develop an understanding and love for mathematics and science. Stemmy is a cute character that can inspire kids and players of all ages to help them by solving math problems.
What it does
Stemmy starts out looking pretty sad, and with a negative score of sun energy on the leaderboard. After putting in your name and joining a room, the game can be started by clicking "Start." After starting, the dice on the screen will be randomized. Putting in the correct sum of the dice values will create a new set, and award the player and Stemmy with the point. Multiple players can join and compete against each other while helping Stemmy get back to a positive score. As Stemmy's score increases, their emotions change until they are nice and happy again, and the players have gotten some good practice with counting and addition!
How we built it
All of the graphics were designed in Krita, and the site was built using HTML/CSS and was wrapped in the web framework React. We used TypeScript to run the website, and python to handle all the logic on the back end. The site is built and hosted through Google Cloud.
Challenges we ran into
The server hosting was a challenge, but we were able to use React with create-react-app and a Google Cloud VM to simplify the process. There were a lot of server issues that we had to handle with socket.io.
Accomplishments that we're proud of
The graphics turned out great, and a lot of our ideas for the function of the game ended up getting implemented. I particularly like that Stemmy is on the leaderboard and the players compete against each other while all helping Stemmy.
What we learned
This was a great project to get more experience with python, web development, and server hosting, and we also got a lot better at using GitHub for collaborative projects.
What's next for Stemmy
We would love to have more threshold-based moods for Stemmy based on their score, and implement some kind of win condition aside from Stemmy's expression improving. We would also like these thresholds to change the challenge from addition to multiplication or other operations as the players' scores go up.