I enjoy playing games with Alexa, so thought I could engage and entertain kids with an old favorite, Battleships. I wanted to make it my own, so have created a Pirate version!
What it does
It has the same concepts as a game of Battleships. You take it in turns to take "shots" at each others ships until someone destroys the other's fleet. My twist to the game is I have enabled the user to be able to view the battle as it happens (If they wish) from any web browser. The game can be played without viewing it, but I think it is more engaging seeing it as well as using voice commands to control the game.
How I built it
I used Node.js for the intent related logic and Angular, for the website from which you can see the battle
Challenges I ran into
I have worked with WebSockets, before and this had helped to guide me in how I was to build this Skill. However, Lambda, does not work with WebSocket, so I had to quickly get an understading for the Publish/Subscribe concept and learn to manage this communication between the front end, the database and the logic within the intents
Accomplishments that I'm proud of
I think I am proud of the whole thing really. I feel it has pushed my skill set in all aspects; even down to the submission video! I had a few lost weeks working through different ways of communication from Lambda to anything outside of AWS. So to finally come up with a solution to this feels brilliant!
What I learned
I learnt about a few more services that fall under the AWS umbrella, while not incorporating them all into the Skill, I gained valuable insight and understanding of some such as the API gateway and IoT
What's next for Pirate Ships
I really want to make this a multiplayer game, where Alexa, orchestrates the battles rather than takes place. I would prefer that she found other players and managed the games for them (Falling back into her playing if she is unable to find a player) This is going to offer other challenges in how I can make it work.