Cómo codificar juegos deportivos para Amazon Alexa, además de algunos juegos divertidos que construí

Soy un fanático de los deportes y un ingeniero de software. También soy reconocido como un campeón de Amazon Alexa. Sigo buscando nuevas formas de estirar esta tecnología.

En los últimos dos años, he ganado hackatones por habilidades en la plataforma Alexa.

Las habilidades son la parte del servicio de voz de Alexa que activa sus capacidades. En Alexa, habilidad es un término utilizado para capacidades que hacen que una experiencia sea más personal. Puede habilitarlos o deshabilitarlos a su elección. Y, con el Kit de habilidades de Alexa, puede crearlos y personalizarlos.

Los juegos deportivos son un mercado enorme

Los videojuegos son un mercado enorme, con ingresos anuales proyectados en más de $ 100B en todo el mundo. Los juegos de disparos y de acción son los más populares, seguidos de los juegos deportivos.

Las plataformas de voz están creciendo a un ritmo fantástico. La popular plataforma Amazon Alexa ha crecido 4 veces en el último año. Ahora hay 20,000 habilidades personalizadas en la plataforma Alexa. Sin embargo, ningún juego deportivo es más complejo que decir trivialidades.

Aquí hay una muestra de mi nuevo juego de fútbol llamado End Zone Football. Esto muestra cómo un juego avanzado puede funcionar en la plataforma Alexa.

Comienza el diseño del juego con Storyboards

Diseñar la habilidad requiere escribir guiones gráficos para guiar la acción. Comienza con cómo comenzará el juego. Luego escribe la narrativa del juego básico.

Considérate un dramaturgo o un director de cine. Pregúntese: ¿Qué debería decir la voz nativa de Alexa? ¿Qué sonidos se pueden reproducir que son parte del juego?

Esto es lo que aprendí al publicar un juego de Béisbol y Fútbol en Alexa. Estos consejos mejorarán la usabilidad de tu juego:

  • Mantenga la interacción simple
    sí o no y las respuestas 1/2/3/4 funcionan mejor
  • Identifica los sonidos que pueden hacer que el juego sea más emocionante.
    Multitud vitoreando, silbidos o el crujido de un murciélago
  • Simplifica el juego
    Las habilidades del juego de Béisbol deben incluir bolas sucias
    Las habilidades del juego de fútbol deben simular penalizaciones
    Estas ayudan a mantener al usuario comprometido
  • No confíes en imágenes
    Una imagen de fondo para el Echo Show es agradable, pero las imágenes en la aplicación complementaria deben ser secundarias
  • Limita el juego a 2–5 minutos.
    Los usuarios pueden jugar una y otra vez si tienen tiempo
  • Crea una función de ayuda que explique el juego en detalle
    Da ejemplos de frases para usar para jugar
  • Sobre todo
    ¡Hazlo divertido!

Aprenda SSML para incluir sonidos con voz

El lenguaje de marcado de síntesis de voz (SSML) integra el sonido con la voz. Se utiliza para crear el audio para el dispositivo Alexa.

Así es como configuro el atributo de respuesta principal para llamar a la API de Alexa. Después de empalmar las cadenas en JavaScript, el código se ve así:

var speechOutput = “Bienvenido a End Zone Football. "+
  “

Aquí hay algunos ejemplos de cómo usar SSML en este contexto:

  • Para crear una pausa
  • Para insertar un clip de sonido

Recomiendo usar un cubo S3 para almacenar los archivos multimedia. Esta es una forma económica de almacenar datos. Y pueden ser accesibles para Alexa.

La administración del estado sigue el progreso del juego

Alexa tiene la capacidad de almacenar el estado del juego. Use esta función para simplificar la codificación y prueba de su habilidad.

En el SDK de Node.js, se pasa un atributo de sesión con los atributos de solicitud y respuesta. Puedes usar el atributo de sesión para el estado del juego. Almacene información crítica del juego en este campo. Puede incluir cualquier cosa, como el número de juego o el número registrado de salidas.

Aquí hay un ejemplo usado en el juego de fútbol

// guarda los atributos del juego hasta la próxima jugada
if (session.attributes) {
  sessionAttributes = session.attributes;
}
...
// reglas de juego para pasar
if (offensivePlaybook [i] .playType === "pasar" &&
    offensivePlaybook [i] .playNumber.toString () ===
    intent.slots.playNumber.value) {
      console.log ("Número de reproducción coincidente");
      // calcula la distancia de pase en función del juego seleccionado
      passDistance = Math.round (Math.random () *
        (offensivePlaybook [i] .maxYardage
           - offensivePlaybook [i] .minYardage)
           + offensivePlaybook [i] .minYardage);
      // asegúrese de que la distancia de juego no pueda ser más larga que
      // el campo restante
      if (passDistance> sessionAttributes.yardline) {
        passDistance = sessionAttributes.yardline;
      }
      playDesc = offensivePlaybook [i] .playDesc;
      speechOutput = speechOutput + playDesc + ". ";
      // basado en el juego seleccionado, determinar relativo
      // tasa de finalización
      passCompletion = offensivePlaybook [i] .completionRate;
)
...
// devuelve la respuesta a Alexa y guarda el estado del juego
devolución de llamada (sessionAttributes,
    buildSpeechletResponse (cardTitle, speechOutput,
      cardOutput, repromptText, device, shouldEndSession));

Almacenar estos datos en una tabla para análisis es útil, pero no es necesario en una versión inicial. Deje que la plataforma Alexa haga este trabajo por usted.

Anuncie su habilidad en las redes sociales

La gente todavía no se da cuenta de todas las cosas que puede hacer Alexa. Al hacer demostraciones de estas habilidades, constantemente recibo comentarios de que "no pensé que Alexa pudiera hacer eso".

Todas las habilidades deben estar certificadas antes de su publicación en la Tienda Amazon. Cuando su habilidad pase el proceso de certificación, tómese el tiempo para grabar un video en acción. Es la mejor manera de demostrar de lo que es capaz la plataforma.

Gracias por leer y disfruta de estos juegos, ¡son gratis!