Inspiration
The inspiration for this skill is from when a time when I wanted to play some echo button games with my family and I realized there seemed to be a lack of skills utilizing the buttons. As I thought about it- a classic arcade game "Wack-A-Mole" came to mind and I thought- that would be a fun Echo Button game! When APL came out I knew I could leverage it to provide an even better interface for the game when played on a screen-enabled device.
What it does
It is a single-player game that is similar to "Wack-A-Mole" where you want to hit the buttons as fast as possible, I modified the experience by adding a Don't-hit-this-color option which will decrement your score to provide an additional difficulty. The goal of the game is to hit 80% of the blue buttons that pop up (note: you can get more than 100% by hitting one blue button more than once). The green buttons (a.k.a. Seaweed) will deduct a point from your score. The scores are saved in a persistence layer so players can try to beat their best scores.
How I built it
I leveraged the ASK Python SDK for my skill. The skill gets built and published through a codePipeline CI/CD pipeline. I used the APL framework to optimize the game-play experience.
Challenges I ran into
The APL was a learning curve for me, but once I got the hang of it from some of the office hours and webinars I was able to accomplish it!
Accomplishments that I'm proud of
Implementing this skill with APL was a first for me as well as implementing this skill into multiple regions.
What I learned
I learned quite a bit about APL and now I am able to help others in the AmazonAlexa slack group!
What's next for Catch The Wave
I have currently implemented Personal High Scores, but I would like to also do Global High Scores similar to an arcade where you try to beat other peoples scores. Also, I would like to implement In Skill Purchases for more retries. Players won't need to restart the entire game, they can buy retries to try a round again.
Built With
- apl
- ask
- lambda
- python

Log in or sign up for Devpost to join the conversation.