I'm a lawyer and my husband is a web developer, but in our spare time we're also novelists. One night, we were talking and Alexa started randomly telling us a story. Somehow, we'd unexpectedly triggered a popular interactive story. Especially out of the blue, the experience was fun and engaging, but after we played it a second time, we thought, "We're writers; we could create an experience with more complexity than this." So, we did.
What it does
Our first story is Cinder/Charming.
Would you rather be Cinderella or Prince Charming?
As Cinderella, you can wait around hoping someday your prince will come or take the matter of your evil stepfamily into your own hands.
As Prince Charming, you can accept your father's wacky plan to find you a wife or go on a dangerous quest to find a dragon's egg.
There are dozens of endings to discover. Some bring you love and riches, others result in your painful death, with plenty of outcomes in between.
Select a Story is professionally narrated and all scenes are between 30-90 seconds. The story is appropriate for what the literary community calls "Middle Grade." That is, children between the ages of 8-12.
How we built it
I wrote the 35,000-word story with 130 scenes in one week due to the turn-around for this contest. (That's a full middle grade novel in a week. I was motivated.) As for the coding, my husband used the Alexa-sdk for node.js to build the lambda function and used the ASK-CLI to build the base for the function and the interaction model as our deploy tool. We used Amazon's Dynamo DB as the database for the skill. Finally, we used Amazon s3 to host the audio files for the size.
Challenges we ran into
We had some difficulty with the audio and incorporating it in the scenes correctly. We also had some problems managing the session state and ensuring the users were transferred to the correct session handlers.
Accomplishments that we're proud of
Since our launch less than a month ago, we've had approximately 1,000 users and we've had dozens who have played for an hour or more, going through many different story paths. We've already gotten reviews from strangers saying they played this game with their children and can't wait for the next story.
What we learned
In short, we learned how to make an Alexa skill. We also learned how to contract out the audio, and we learned node.js significantly more. We've also gotten to know a lot of other independent Alexa developers and have made some great new friends. The Alexa community is uniquely supportive and enthusiastic.
What's next for Select a Story
We're going to keep producing more stories. So look for more adventures in 2018!