A simple math game where the Echo asks you math problems, and you provide the answers. It’s starts with basic addition and gets progressively harder as you level up.
You level up, and earn points, by providing correct answers. There are no time limits or other constraints at the moment, but the faster you answer correctly the more points you earn, and you can get details about your current streak, longest streak, current score, and highest score just by asking your echo “what’s my score?”
There are also many different game modes you can play including addition, subtraction, multiplication, division, algebra, money, or even an everything mode.
If you want to focus on problems that contain a specific number, you can also play a custom version of any of the available modes. For example, you can play 'custom addition' and choose to focus on the number 8. All the problems the game presents to you while in that mode will contain an eight (e.g. what is 8 + 3 or what is 8 + 14 as you get to higher levels).
I was motivated to build this skill based on my experiences helping my son build the mobile app Color Tap ( colortapapp.com ). I wanted to see how well I could translate the core gameplay and idea of that app into a 'voice first' approach. From there, I've just been slowly making improvements and additions as I've gathered feedback and usage details from real users.
What it does
It’s starts with basic math problems and gets progressively harder as you level up and earn points.
There are a number of different modes that you can play including: addition, subtraction, multiplication, division, algebra, and a new money mode (where it will ask you questions like "how much is 2 dimes and 3 quarters?"). There is also an everything mode that will ask you questions of all different types.
Additionally, you can play a custom version of any of the available modes that will allow you to focus on a specific number. So for example, if you play "custom multiplication" and focus on the number seven, all the questions you will be asked will include the number seven (e.g. what is 7 * 8 or what is 7 * 2).
How I built it
I started with the sample Alexa skill template for Lambda and slowly reworked and customized it to fit my needs. In the end, I ended up building a small nodejs app to support some of the backend requirements and data store features as well.
What's new in the latest version
Timed games (the faster you correctly answer, the more points you earn)
A money mode. The system can now ask you questions like "How much is 2 dimes and 5 pennies?" or "What is 2 dollar bills take away 3 quarters?" (note: money mode is not yet included in the 'everything' mode)
A custom mode. The system will now allow you to play a custom version of any mode so that you can focus on getting better with a specific number.
Improved overall conversational flow.
Small scoring and leveling adjustments to help prepare for a future 'challenge' mode and hopefully a more compelling overall player experience.
Challenges I ran into
I started version one really early in the Alexa ecosystem and so it was a challenge to fully understand how the various pieces really fit together. Since then, in each new version it's mostly a just a challenge of keeping up with the evolving platform and trying to take advantage of new features to make a better experience for my players.
The non-technical challenges have mostly been around how to best balance the give and take between a wide variety of options/features for my players and making it as simple as possible to jump in and play/have fun right away. The conversational flow to get a game started is still more 'robotic' than I would like it, but it does allow for players to pick from a lot of different game modes and options.
Accomplishments that I'm proud of
The overall usage so far, and more specifically, the length of usage by some 'power' players (the current high streak is 142!).
I'm also proud of the simple, yet addictive, game mechanics I was able to incorporate. The system will never run out of problems to ask a player as they are all dynamically built and evaluated...this also means no two games or sessions will be exactly alike (though a challenge feature that does allow for duplicating some game play is planned for the future).
I am also especially proud of the algebra, money, and custom modes as they are a bit more complex and non-standard than most of the other 'math' games and skills I've seen to date.
What I learned
We take simple conversations and instructions for granted. There is a lot of information that needs to go back and forth to accomplish even the simplest of instructions like starting a specific game and game mode (especially when the user can't be presented with a visual list or menu).
People will play even simple, casual, games a lot more than I anticipated.
Even simple ideas can quickly explode into multiple, complex, features and options.
What's next for Math Mania
There are a number of upgrades and improvements I want to offer in the next version(s):
I want to introduce the ability to challenge others in one-on-one games of math (i.e. you both play the same problem set and winner is determined by points). Ideally I'll introduce 1v1 (challenge) as well as 1-vs-many (leaderboards).
In single player mode for problem sets, I would like to implement a version of the Leitner system ( https://en.wikipedia.org/wiki/Leitner_system ) to help players with long term retention and general study habits.
Eventually I would like to expand this project into a larger 'study buddy' project that applies many of the same concepts and game play into a more generalized study app (for things like spelling, vocabulary, foreign language, etc)