When I was visiting my in-laws, my cousin challenged me to this interesting puzzle game where we take turns counting numbers upto 17, 3 at a time. I could see how excited he was about having figured out the math and logic behind the puzzle. Inspired from this, I have created this game. Having Alexa as your opponent makes things only better.
What it does
The game starts with you counting numbers starting from 1. Your opponent Alexa continues from where you left off and counts further. Each player can say up to 3 numbers at a time and gets turn one after other. Whoever says 17 loses the game. So you have to plan your strategy from the beginning accordingly. As one keeps playing, Alexa keeps improving itself and the game becomes tougher to win.
How I built it
Coming from a background of NodeJS, it was fairly easy for me to get started and make a working prototype soon. Once done, to improve user experience, I decided to add feature of increasing difficulty. For this I had to learn about DynamoDB which I had never used before. But thanks to Alexa NodsJS official SDK I was able to integrate and get it working very fast.
Challenges I ran into
I faced one hurdle with the Alexa's Interaction Builder platform which is still in beta stage. There was a nasty bug which was causing the build to fail repeatedly no matter what. Even going through forums wasn't of much help. Although they provide extensive documentation, the community support seems to be limited.
Accomplishments that I'm proud of
After finishing the skill, I invited with some of the kids I know to give it a try. Almost all of them were really intrigued with the game and wanted to play again and again. One among them was able to figure out the logic of how to win almost every time. That moment of realisation which made him so happy, made me feel proud to have achieved this. Hope I will be able to do the same with thousands of others through this platform.
What I learned
Getting familiar with a NoSQL type database (DynamoDB) for the first time. I had previous experience with SQL based databases like Amazon RDS, PostgreSQL and so on, but never with a NoSQL database. Building Voice based UX, I learnt how they are different from our current modes of interactions which are primarily visual and touch based. Also realised the importance of designing corner cases in these because the only mode of interaction being voice, make it all the more important
What's next for Number Ladder
Since the game is primarily intended for voice interaction, expanding to other mobile platforms isn't a option. Once I get enough response and feedback from this Alexa platform, I am planning to replicate the same to Google Home devices.