Santa's little helper
We love Christmas and fun family games and think Alexa in general and Santa Saves Christmas in particular are great additions to the festive fun.
What it does
A fun family game, where naughty elves have hidden presents all over the world – your job is to help Santa save Christmas by finding the presents. The elf will tell you where he went and what he did. You need to remember where the presents were left, how many were left and the colour of the presents. A free hint is available for each game, with unlimited hints available to buy.
How we built it
Written in Node.js and hosted on AWS as a lambda function. Custom sounds and images are stored in a S3 bucket. Scores and session data are saved to DynamoDB.
We used Polly voices to give Santa and each elf its own identity. We used SSML extensively for Sound FX, speechcons and audio.
Alexa Presentation Language (APL) was used to show cute graphics od Santa and the elves at different locations. A JSON data source is used for the country and location data (name, image and sound) and then pulled in randomly. In addition to the locations the number and colour of presents is also generated randomly, meaning no two games/stories are the same and will hopefully add to the longevity of the game.
Using JSON for the elements of the game means it will be easy to add different locations without the need to change the code and we plan to add more locations in future iterations.
Challenges we ran into
Due to the random nature of the game, our biggest concern was ensuring that we tested each combination so we created test intents and functions so that our testers were able to hear and see each ‘location’ visited, ensuring that each location visited sounded and looked ok.
Once this level of testing was completed, we removed the testing functions and moved onto testing the playability of the game, confident that we had heard and validated every possible location.
Accomplishments that we’re proud of
- The random nature of the game, means that the gameplay is different every time.
- We are pleased how well the graphics and custom sounds worked.
- Successfully implementing In Skill Purchasing (ISP).
What we learned
This was the first time working with Alexa Presentation Language (APL).There was a steep learning curve at first but once we figured it out, it meant we could work independently on the graphics and the code. This was the first time working with ISP so we learned how to implement this.
What's next for Santa Saves Christmas
It’s a big world out there, so we plan to let the elves loose on more countries in future versions.