“Alexa, How can I make the gaming experience more engaging ???”

Pallav Trivedi
Voice Tech Podcast
Published in
5 min readSep 23, 2019

Few days back, I attended the Alexa Voxcon, and got to know tons of new stuffs about Amazon Alexa. In this post, I’ll try to put up the key points of one of the interesting sessions of conference (Build Engaging Game Experiences Using Voice by Soham Maheshwar). Before taking on the topic, I would address an obvious question that most of us have

Photo by Rahul Chakraborty on Unsplash

Ques.: Alexa is listening to everything that I say, no matter whether I am speaking to Alexa or not. What about my sensitive information that is getting exposed (without my consent), what can I do about that, etc.

Answer (by one of the Alexa team members): Agreed that Alexa is listening to everything that you say, but everything is not being processed, not being sent to Amazon servers, not getting consumed by any third party. To achieve this behaviour, Alexa developers have segregated the processing at two ends viz. Client and Server. Client i.e. your Alexa device, has a wake word engine working in it. Job of this particular module is to listen the sound around it, and detect the wake word. Only when the wake word is detected i.e. “Alexa”, data is transmitted to the servers. While the ASR (Automatic Speech Recognition) and NLU (Natural Language Understanding) modules resides on server, they do not come into action till the wake word is detected. Also, after detecting the wake word, a blue light starts blinking on the Alexa device, to notify user that the words said beyond this point will be sent to servers for processing.

Now that we trust Alexa, let’s quickly focus on how can we make the voice controlled gaming experience more engaging.

Principles

  1. Voice first
  2. Simple commands
  3. Recognising new users
  4. Quick session recovery
  5. Levelling
  6. Scoring & Leaderboards

Build better voice apps. Get more articles & interviews from voice technology experts at voicetechpodcast.com

Voice First

As the game play is being controlled by voice, and that’s the only medium which user is having access to, you must improvise the voice used in game. This can be done by varying the pitch, emphasis etc. This is achievable by one of the frameworks provided by Alexa skill development kit viz. SSML (Speech Synthesis Markup Language).

Not just varying the pitch and emphasis, voice can be even more improvised by changing the gender and accent. And one of the good tools for this is Amazon Polly . Also, there’s no need of learning rocket science for using polly. It is as easy as writing a small HTML block

<speak>
Hey Brian what’s your fav color?
<voice name = “Brian”>Well Alexa, my fav is blue </void>
What about you Kendra?
</speak>

In French accent,

<voice name = “Brian”><lang xml:lang=“fr-FR”>Well Alexa, my fav is blue </lang></voice>

Not just the accent, but one should also look for adding the sound effects (opening of door, roar of lion, breaking of glass etc). And it goes like

<speak>
I open the door
<audio src=‘soundbank://soundlibrary/animals/amazon_sfx_door'></speak>

Changing the accent, adding sound effects and eventually making the conversation more natural opens up a whole new dimension for user engagement.

Simple Commands
Most of the users are not very comfortable with complex and longer commands. This eventually makes them quit your skill. The key is, “Keep commands simple”. Ask user’s for numbers, Yes/No, but not for last name, email address etc.
And to test that whether your command is simple or not, there’s a rule viz. One Breath Rule. If your command can be spoken in one breath, it’s perfect, else, give a second thought. As simple as that.

User profile
To give a more personalised touch to your skill, you must get the user profile using Alexa Account Linking API. This allows you to know more about your users and provide them solutions in more optimised ways. FYI, Pizza Hut uses few of such APIs.

Recognise new user
While dealing with the users, developers must take care of a fact that “Human ears hate repetition”. You must not greet the user in the same way every time. “Hello user, nice to see you”, “Hello user, nice to see you”, will make him irritated. Rather, try variations like, “Hey.. how you doing”, “Welcome back Andrew”, “I’m happy to see you Andrew” etc.

To do this, you need to recognise your users, and differentiate between who is visiting first time, and who is already a user of your skill. Creatively, you can also add some features like “Hey.. you visited 10 consecutive days, here’s a reward for you”.

Quick session recovery
Many a times, user will leave your skill in between. Whenever this happens, you must have a provision to recover the session, so that when the users come back, they would start from the point, from where they left. You can also greet them like “Welcome back, ..this was your last activity, let’s resume it blah blah…”. Also, you would face crashes/bugs in your code making the users leave the skill, but that too should be handled gracefully.
To achieve this, development kit provides two types of storage viz. session and persistent. Alexa uses Dynamo DB for persistent storage, and you must utilise it for handling such scenarios.

Levelling
As they say, an addictive skill is “Easy to learn, but difficult to master”. Try bringing this behaviour in whatever you build. Introduce levels with a considerable raise in difficulty. Not too easy, not too difficult, and you will see the engagement increasing exponentially.

Scoring & Leaderboards
Last but not the least, introduce features for scoring and leaderboards. It’s an old trick that always work. Every week/month update the leaderboard, reward leaders with goodies, empower the community using your skill, strengthen gamification, announce user’s rank in the game, congratulate them on making high score and everything that can keep users stick to your skill.

Apart from these, try bringing the users onboard using notifications thru Proactive Events API.

This sums up the article, but do not forget to have a look at GameOn SDK (Node JS) and Skill Flow Builder.

Happy Coding !!!

Something just for you

--

--

Pallav Trivedi
Voice Tech Podcast

Engineering Manager @BookMyShow ; Previously @ Hungama Digital Media, Built.io, Reliance Jio