The Alexa live streams from the Game Developers Conference (GDC) continue on Twitch. Yesterday, we focused on skill building by showing viewers how to build a game skill from start to finish. We started the stream with a blank canvas, and finished off the day 7.5 hours later with a fully planned voice-first game.
Building the Amazing Riddle Game
Here’s how the game works. A player opens the multimodal skill and selects to play with easy, medium, or hard riddles. After their selection, Alexa gives them five riddles per commanded category. A player goes through trying to answer the riddles. Alexa responds with celebration if correct, and Alexa provides the correct answer if incorrect. At the end, Alexa totals the number of riddles they answered correctly. The player has the option to play multi-player mode with Echo Buttons and buy “hints” for clues. Each section of the game builds off previous sections, getting more advanced as the player progresses.
Here are the steps we took to build the game throughout the live stream and links to watch each live stream on-demand on Twitch.
Step 1: Building Your First Alexa Game Skill
For the first hour of the stream, we created and configured the Amazing Riddle Game skill using the Alexa Skills Kit Software Development Kit for Node.js and AWS Lambda. When launched, this Alexa skill will have the customer interact with a riddle game that features a simple voice interaction and using session attributes.
Watch the step 1 portion of the live stream here.
Step 2: Adding Advanced Voice Design
We integrated some nuanced utterances that the developer might receive from the players. This could be if they are unsure of the answer to the riddle, they want a surprise riddle category, or if they ask to repeat the current riddle prompted.
Watch the step 2 portion of the live stream here.
Step 3: Incorporating In-Skill Purchasing
We added in-skill purchasing (ISP) to build in an entitlement that players could purchase. The in-skill product we designed is a hint pack that offers three hints per riddle. A player can ask for hints at the beginning of the game or while they are playing.
Watch the step 3 portion of the live stream here.
Step 4: Display Interactive Visual Content with the Alexa Presentation Language
With the Alexa Presentation Language (APL), you can develop visual templates for skills formatted anyway you'd like. This integration allows customers to interact with their multimodal devices and the skill. We built out four different types of displays featuring how to integrate advanced components such as TouchWrappers, and advanced building techniques using Layouts, When statements, Datasources, and Resources. We also incorporated how to handle APL User Events within the skill code.
Watch the step 4 portion of the live stream here.
Step 5: Add Echo Buttons with the Gadgets API
With the integration of Echo Buttons, a customer can play the Amazing Riddle Game with two players in competitive mode. The player will hit a button when they know the answer to the riddle; the player with the most points at the end of the five riddles wins. We covered how to accomplish roll call, managing game states, the Game Engine and Gadget Controller to interpret events from the Echo Buttons and send lights and animations according to the customer interaction.
Watch the step 5 portion of the live stream here.
Join Us Again on Twitch
Today we will be taking a look at some of our favorite skills and analyzing best practices from our interactions. Tune in starting at 11:00 am PT and learn about what it takes to create a successful Alexa game skill and keep customers coming back. You can visit the Twitch event page and click on the purple “remind me” button to get a reminder to join the stream before our show starts. Register for the live stream here.
The fun doesn’t stop when GDC is over. After GDC, we will be hosting a voice games workshop and hackathon in San Francisco. Join us in April to take what you have learned from GDC and apply it to your Alexa skills at the AWS Loft on April 9- 10. Click on the links below to register: