Kuinka koodata urheilupelejä Amazon Alexalle, plus joitain rakentamiasi hauskoja pelejä

Olen sekä urheilumutteri että ohjelmistosuunnittelija. Minut tunnustetaan myös Amazon Alexa -mestariksi. Etsin edelleen uusia tapoja venyttää tätä tekniikkaa.

Kahden viime vuoden aikana olen voittanut hakatonit taitoista Alexa-alustalla.

Taidot ovat osa Alexa-puhepalvelua, joka aktivoi sen ominaisuudet. Alexassa taito on termi, jota käytetään ominaisuuksiin, jotka tekevät kokemuksesta henkilökohtaisemman. Voit ottaa ne käyttöön tai poistaa käytöstä valitsemallasi tavalla. Ja Alexa Skills Kit -sovelluksen avulla voit luoda ja mukauttaa niitä.

Urheilupelit ovat valtavat markkinat

Videopelit ovat valtavat markkinat, ja vuotuisten tulojen ennustetaan olevan yli 100 miljardia dollaria maailmanlaajuisesti. Shooter- ja toimintapelit ovat suosituimpia, ja niitä seuraa urheilupelit.

Ääniohjelmat kasvavat fantastisella nopeudella. Suosittu Amazon Alexa -alusta on kasvanut 4 kertaa viimeisen vuoden aikana. Alexa-alustalla on nyt 20 000 räätälöityä taitoa. Mikään urheilupeli ei kuitenkaan ole monimutkaisempaa kuin trivia.

Tässä on esimerkki uudesta jalkapallopelistäni nimeltä End Zone Football. Tämä osoittaa, kuinka edistyksellinen peli voi toimia Alexa-alustalla.

Aloita pelisuunnittelu kuvakäsikirjoilla

Taiton suunnittelu vaatii kuvakäsikirjojen kirjoittamisen toiminnan kommentoimiseksi. Aloita pelin alkamisesta. Sitten kirjoita kertomus peruspeleistä.

Pidä itseäsi näytelmäkirjailijana tai elokuvan ohjaajana. Kysy itseltäsi: Mitä alkuperäisen Alexan äänen pitäisi sanoa? Mitä ääniä voidaan pelata, jotka ovat osa peliä?

Tässä on mitä olen oppinut julkaisemalla baseball- ja jalkapallopelejä Alexassa. Nämä vinkit parantavat pelisi käytettävyyttä:

  • Pidä vuorovaikutus yksinkertaisena
    kyllä ​​tai ei ja 1/2/3/4 vastaukset toimivat parhaiten
  • Tunnista äänet, jotka voivat tehdä pelistä mielenkiintoisemman
    Crowd hurraa, pilli tai lepakon halkeama
  • Yksinkertaista peliä
    Baseball-pelitaidon tulisi sisältää virheelliset pallot
    Jalkapallopelitaidon tulisi simuloida rangaistuksia
    Nämä auttavat pitämään käyttäjän kiinni
  • Älä luota visuaalisuuteen
    Kaikukuvan taustakuva on mukava, mutta seurasovelluksen kuvien tulisi olla toissijaisia
  • Rajoittaa pelin 2–5 minuuttiin
    Käyttäjät voivat pelata uudestaan ​​ja uudestaan, jos heillä on aikaa
  • Luo ohjetoiminto, joka selittää pelin yksityiskohtaisesti
    Anna esimerkkejä lauseista, joita käytetään pelaamiseen
  • Ennen kaikkea
    Tee siitä hauskaa!

Opi SSML sisällyttämään äänet äänellä

Puhesynteesin merkintäkieli (SSML) integroi äänen ääneen. Sitä käytetään äänen luomiseen Alexa-laitteelle.

Näin määritän päävastausominaisuuden kutsumaan Alexa API: ta. Kun jono on liitetty JavaScriptiin, koodi näyttää tältä:

var speechOutput = “Tervetuloa loppualueen jalkapalloon. “+
  “

Tässä on joitain esimerkkejä SSML: n käytöstä tässä yhteydessä:

  • Tauon luominen
  • Äänileikkeen lisääminen

Suosittelen S3-ämpäriä mediatiedostojen tallentamiseen. Tämä on edullinen tapa tallentaa tietoja. Ja Alexa voi käyttää niitä.

Valtion johto seuraa pelin etenemistä

Alexalla on kyky tallentaa pelitila. Tämän ominaisuuden avulla voit yksinkertaistaa taitojen koodausta ja testaamista.

Node.js SDK: ssa istuntoattribuutti välitetään pyyntö- ja vastausmääritteiden kanssa. Voit käyttää istuntoattribuuttia pelin tilaan. Tallenna tärkeät pelitiedot tällä kentällä. Voit sisällyttää mitä tahansa, kuten soitonumeron tai tallennetun määrän ulostuloja.

Tässä on esimerkki jalkapallopelissä

// tallenna pelimääritteet seuraavaan peliin
if (session.attributes) {
  sessionAttributes = session.attributes;
}
...
// pelisäännöt ohimennen
if (loukkaavaPlaybook [i] .playType === “pass” &&
    loukkaavaPlaybook [i] .playNumber.toString () ===
    intent.slots.playNumber.value) {
      console.log (“Hyväksytty pelinumero”);
      // laske laskettu etäisyys valitun pelin perusteella
      passDistance = Math.round (Math.random () *
        (OffensivePlaybook [i] .maxYardage
           - loukkaavaPlaybook [i] .minyhdistys)
           + loukkaavaPlaybook [i] .minyhdistys);
      // varmista, että pelimatka ei voi olla pidempi kuin
      // jäljellä oleva kenttä
      if (passDistance> sessionAttributes.yardline) {
        passDistance = sessionAttributes.yardline;
      }
      playDesc = loukkaavaPlaybook [i] .playDesc;
      speechOutput = speechOutput + playDesc + “. ”;
      // määritä suhteellinen valitun toiston perusteella
      // valmistumisaste
      passCompletion = loukkaavaPlaybook [i] .completionRate;
)
...
// lähetä vastaus Alexalle ja tallenna pelitila
soittopyynnön (sessionAttributes,
    buildSpeechletResponse (cardTitle, speechOutput,
      cardOutput, repromptText, laite, shouldEndSession));

Näiden tietojen tallentaminen analyysitaulukkoon on hyödyllistä, mutta sitä ei tarvita alkuperäisessä versiossa. Anna Alexa-alustan tehdä tämän työn puolestasi.

Mainosta taitoasi sosiaalisessa mediassa

Ihmiset eivät vielä ymmärrä kaikkia asioita, joita Alexa voi tehdä. Suorittaessani näiden taitojen demoja, saan jatkuvasti palautetta siitä, että "en usko, että Alexa voisi tehdä sen."

Kaikki taidot on todistettava ennen julkaisua Amazon Store -kaupassa. Kun taitosi läpäisee sertifiointiprosessin, tallenna video siitä toiminnassa. Se on paras tapa todistaa, mihin alusta pystyy.

Kiitos, että luit ja nauti näistä peleistä - ne ovat ilmaisia!