Categories
Alexa Game Design Interaction Design UI Design

Developing for Amazon Alexa

This summer when I spoke at PixelPop Festival, I went to a talk by Mike Lee about developing games for Amazon Alexa. He was working for a game studio that created a sort of “choose your own adventure” interactive radio play. Silvia and I have been writing a series of radio plays, so I was intrigued by the idea and decided to learn how to develop for Alexa.

I started researching, and quickly learned that most people start out with a tutorial to create a trivia game skill. This tutorial takes you through the whole process from getting your dev environment set up to publishing your skill in the Alexa Skill Store. Theoretically the only coding you need to do is to write your own questions in a big ol’ JavaScript object, although I ended up doing a bit more customization.

I needed a topic for my trivia game. Naturally I chose Sherlock Holmes, since I had just finished reading the whole Holmes canon. The tutorial suggested that the most successful trivia skills have over 100 questions, so I got to work writing them. This probably took up the biggest chunk of time of the whole project. It was a challenge to not only come up with 100 questions, but three incorrect answers for each question.

Holmes uses a magnifying glass to investigates the word RACHE written on the wall.
Illustration By D. H. Friston from A Study in Scarlet

The next challenge was pronunciation. Alexa was pronouncing stuff weirdly, or just using the wrong sense of the word, as in “His Last Bow.” Alexa supports Speech Synthesis Markup Language (SSML), which I used to correct most of this.
<phoneme alphabet="ipa" ph="mʌnki">monkey</phoneme>

<w role="amazon:SENSE_1">Bow</w>
But then there were words from other languages, like the famous German word RACHE written in blood on the wall in A Study In Scarlet. Alexa (or maybe SSML in general?) does not support the use of German phonemes within English language text. So I had to approximate it as best I could with English phonemes, which, as it turns out, is not very accurate.

It was actually pretty fun to figure out how words are supposed to be pronounced that I had only read and never heard. There are some things that Doyle just made up, like The Mazarin Stone. My go-to source for pronunciation was the Jeremy Brett Granada series, in which I learned, among other things, that Mazarin is pronounced as in the French. I was surprisingly able to recreate this pronunciation fairly well with English phonemes.

Another issue I had was Alexa overdoing the upward inflection at the end of the sentence to indicate questions. I tried to fix this by replacing the question marks with periods. This fixed the inflection, but created another very curious issue that I tried to debug for hours to no avail. For some reason if there are any periods in the text of the question, instead of reading the four multiple choice answers, Alexa will say the letters “Q” “U” “E” and “S” in a random order. The bug was reported here, but the issue was closed without being fixed. Hopefully it will get some attention from the tutorial developers.

Overcoming the pronunciation issues and a few other minor bugs, I published Sherlock Holmes Trivia in the Alexa Skill Store in November, and so far I’ve had almost 250 unique users. I’d eventually like to add some more features, like different levels of difficulty. It is a rather challenging quiz, but I hope you’ll give it a try!

Categories
Game Design Interaction Design UI Design Usability UX Design Virtual Reality

Virtual Reality Puzzle Game

Introduction

My most recent VR project is a simple Simon-esque game in which the player must select floating orbs in the correct sequence in order to pass through a dungeon. This was the fourth project for Udacity’s VR Developer Nanodegree. I enjoyed this project a lot because there was more emphasis on designing a good user experience. I got to put my UX skills to use to create personas, draw sketches, conduct user tests, and iterate on the design.

Process

Personas

One of the first things I did was create three personas of different users who might be interested in this game. I already wrote about this in a previous post, where you can also download the persona template that I designed. You can click the images below to see them bigger.

Sketches

I made several sketches throughout the process. I haven’t make all of the sketches a reality yet, but I have a clear idea of what I want the final experience to be like. I added several bits of backstory to the game to make the player more invested in completing the puzzle.

Working in Unity

I created the game in four stages, with user testing and iteration after each stage.

  1. Create the environment (3D models and lighting). Do user testing for mood and scale.
  2. Create the UI for starting and resetting the game. Test for scale, placement, legibility, and clarity.
  3. Add camera motion and program UI buttons. Test for speed and comfort to avoid simulation sickness.
  4. Program game mechanics. Test for playability, understanding of rules, and overall experience.

User Testing and Iteration

Below are videos of my first playtest and my most recent playtest, so you can see the progress made so far.

 

Some of the things discovered and fixed from playtesting included:

  • Some people felt too short. Adjusted the camera position and the overall scale of the environment.
  • The UI was much too close to the camera at first. Repositioned it farther away.
  • The start UI blocked the view of the dungeon, so it was really disorienting when the camera started moving. I fixed this by making the UI partially transparent.
  • The camera motion was too fast. Slowed it down to create smoother transition into dungeon.
  • The positioning of the orbs was too high to be able to comfortably select the top two. Repositioned them to be more in the line of sight.

 

And these are some things that I haven’t fixed yet:

  • There is a glitch where the back wall of the dungeon changes color when you look at it.
  • Some people do not recognize the “Simon-esque” aspect of the game, so they don’t know what to do when the orbs light up.
  • The negative feedback sound when you select the wrong orb is not clear enough.

Current State

Here is gameplay video of the game in its current state, as of Oct. 1, 2017. For some reason the screen recording software did not capture the ambient environment sounds.

 

Planned Improvements

  • Incorporate all the story elements to give players more choices (see sketches above).
  • Program a lose condition if they select the wrong orb too many times.
  • Program different levels of difficulty.
  • Create either clear instructions about how to play or hints if the player gets stuck.
  • Animate the orbs to move out of the way upon completing the puzzle.
  • Give each orb a unique pitch and color.
  • Create background scenery.
  • Improve UI design.
  • Improve sound design.

 

Categories
Interaction Design UX Design Virtual Reality

Free persona template (and examples)

Personas are an important and incredibly useful interaction design tool. (And I love making them.) While preparing my new Interaction Design class, I was looking for a persona template for my students to use. I couldn’t find many free templates that don’t require you to sign up for something. So I made one. I’m posting the template here for anyone to download and use for free. It’s available as AI, SVG, and PDF.

You’ll need a vector graphics editor to modify these. If you are looking for a free one, try Inkscape. It’s available for Windows, Mac, and Linux.

Download

License

I am licensing these template designs under a CC0 1.0 Public Domain Dedication, which means you can use and modify these templates for any purpose without asking permission or giving me attribution. The Raleway typeface has its own license.

Persona Examples

Here are three personas I created for a VR game I am working on.