Inspiration

The inspiration for the game was a eureka moment I had when my friend mentioned he used to play a game in his childhood that involved players alternating saying countries or cities that start with the last letter of the place that was just previously spoken. We played the game in person and had a lot of fun. That is when I realized this game would be perfect as an Alexa skill to help educate kids about world geography.

What it does

Geography Genius is a fun, educational game to help kids learn the countries and cities of the world. The game can be played in one player or multi-player mode. The game involves players alternating saying countries and cities that start with the last letter of the previously said place. The goal is to get the highest possible score.

Ex. First player says “United States”. Next player can say “Seattle”

How to Play To start the game say: “Alexa, start Geography Genius”

At the welcome prompt say a game mode. Ex. “One player” or “Multiplayer”

At the next prompt say a country or a city. Ex. “United States”

Then the next player has to say a country or a city that starts with the last letter of the previous place.

Continue until you or your team can’t think of anymore valid countries or cities.

Now you know how to play! Get ready to start becoming a geography genius!

Game Modes One player: In one player mode you compete with yourself to earn the highest possible score, while playing alongside the “Geography Genius”. To start the game, the player says a country or a city, then the “Geography Genius” will say a place. On each turn a player has three guesses. If the three guesses are used up, any remaining skips will be used. If no skips remain the player gets the final game score.

Multi-player: In multi-player mode you work as a team, alternating players each turn, to earn the highest possible score. To start the game, a player says a country or a city, then the next player says a place that starts with the last letter of the previous place. This continues until the game ends. On each turn a team only has three guesses. If the three guesses are used up, any remaining skips will be used. If no skips remain the team gets the final game score.

Useful In-Game Utterances Say “rules” at welcome prompt to get the game rules.

Say “Alexa, help” at any point to get help.

Say “Alexa, stop” or “Alexa, cancel” at any point and you will be prompted to exit the game.

Say “Alexa, exit” at any point to exit Geography Genius.

Say “score” or “stats” at an in-game prompt to get the game stats.

Say “more info” at an in-game prompt to get details of the most recently said place.

Say “skip” at a prompt to skip the current turn, and receive a new random letter. This uses up a skip.

How I built it

I built Geography Genius using the open source framework Flask-Ask created by John Wheeler.
Flask-Ask is an awesome Python framework for rapid Alexa Skills Kit development that is built on top of the popular Flask web framework. I used Zappa for packaging my skill for deployment onto AWS Lambda.

Challenges I ran into

The first challenge that I overcame was crafting a fluid conversation flow that made the game experience fun and engaging. Building a game for a voice user interface presents a multitude of challenges. Another was ensuring that the game was tested thoroughly and captured all possible permutations of what players might say in the game and responding in the appropriate manner.

Accomplishments that I'm proud of

I am extremely proud that I designed, developed, tested and deployed a fully functioning Alexa skill!

What I learned

I learned how to build an Alexa skill including developing the back-end logic, developing conversation flow, building an interaction model, and deploying the skill into production.

What's next for Geography Genius?

The plan is to hopefully make it to the final round of the Alexa Skills Competition for Kids and use the prize money and support from Amazon to scale out the skill and distribute it to as many customers as possible, as well as to introduce broader language support.

Built With

Share this project:
×

Updates