Inspiration
I like building games and using real-world data and API's to add realism to games. This can make them both fun, expansive and educational. The secret agent mission adds intensity and a 'purpose' to the game. This game is based on a previous game I wrote for Alexa, but with the idea of more intensity and game levels that make it easier to get some early successes before moving into harder missions.
What it does
At the start, the player is given a mission, which includes navigating a jet to cities around the world. The player gets 5 moves to successfully navigate their way to a destination, and save the world!
The player instructs their flight crew to 'Fly North for 1000 miles' or 'Fly South East for 500 miles' or any direction or distance they feel will get them to their destination. After the 5 instructions, the jet lands, hopefully within 13 miles (20 kilometres) of the target destination. The player scores points based upon how close they get to the target.
Besides the information given during the mission (i.e.: 'we are now 383 miles from Paris, France'), the player can also ask for clues, and the flight crew will suggest a direction and distance to travel next.
Players can purchase world regions that expand where missions can start and end. With all areas purchased, the player has access to over 300,000 different flight routes, meaning each mission is likely to be new and a challenge.
I have a web site that shows a leader board, and a map that plots the missions.
How I built it
I used the hosted skill option with NodeJS, as this is significantly faster that using the ask-cli, and waiting for node modules to upload from my PC in Australia to the US. The Alexa console online is actually pretty good for dev.
I have sound files hosted on the S3 account associated with the skill.
I host a backend on a VM in AWS, which is written in Laravel/PHP to provide geo data to the game via a set of API calls. I use some PostreSQL GIS methods and some NodeJS hosted functions to calculate directions, distances and to find nearby cities for clues.
I record games in a PostgreSQL database, and use this to display a map of user games, and a leader board.
When players purchase additional world regions, the regions are included in the choice of departure and destination locations.
Challenges I ran into
Mostly just understanding the ISP functions, which once implemented, turned out to be quite easy to use. Of course, time is always a major challenge!
Accomplishments that I'm proud of
I think this game achieves a few goals
- Each game is short, but challenging enough to engage users
- I like the way my sound effects come across in the skill
What I learned
The better I get at making skills, the more features I can add. This means it remains a challenge! I started to do a bit more with Audacity, which is a new experience, and quite fun
What's next for Global Crisis
I want to polish it up a bit - better graphics, more missions and a better leader board I also want to implement a better 'levels' system to make it a better experience for new users
Log in or sign up for Devpost to join the conversation.