Kuidas Amazon Alexa spordimänge kodeerida, lisaks mõned lõbusad mängud, mille ehitasin

Olen nii spordipähkel kui ka tarkvarainsener. Mind on tunnustatud ka Amazoni Alexa meistriks. Otsin jätkuvalt uusi võimalusi selle tehnoloogia venitamiseks.

Viimase kahe aasta jooksul olen Alexa platvormil võitnud oskuste eest hakatoneid.

Oskused on Alexa kõneteenuse osa, mis aktiveerib selle võimalused. Alexa keeles on oskus termin, mida kasutatakse võimete jaoks, mis muudavad kogemuse isikupärasemaks. Saate need vastavalt oma soovile lubada või keelata. Alexa oskuste komplekti abil saate neid luua ja kohandada.

Spordimängud on tohutu turg

Videomängud on tohutu turg, mille aastane tulu prognoositakse kogu maailmas üle 100 miljardi dollari. Kõige populaarsemad on laskur- ja märulimängud, millele järgnevad spordimängud.

Häälplatvormid kasvavad fantastiliselt kiiresti. Populaarne Amazon Alexa platvorm on viimase aastaga kasvanud 4 korda. Nüüd on Alexa platvormil 20 000 kohandatud oskust. Kuid ükski spordimäng pole keerulisem kui tühiasi välja kutsumine.

Siin on proov minu uuest jalgpallimängust nimega End Zone Football. See näitab, kuidas edasijõudnud mäng saab Alexa platvormil töötada.

Alustage mängu kujundamist süžeeskeemide abil

Oskuse kujundamiseks on vaja tegevuse skriptimiseks kirjutada storyboardid. Alustage sellest, kuidas mäng algab. Seejärel kirjutage narratiiv põhilisteks mängudeks.

Pea ennast dramaturgiks või filmirežissööriks. Küsige endalt: mida peaks Alexa emakeel ütlema? Milliseid helisid saab mängida, mis on mängu osa?

Siit õppisin Alexa pesapalli- ja jalgpallimängu avaldamisest. Need näpunäited parandavad teie mängu kasutatavust:

  • Hoidke suhtlus lihtsaks
    jah või ei ja 1/2/3/4 vastused toimivad kõige paremini
  • Tuvastage helid, mis võivad mängu mängimise põnevamaks muuta
    Rahva rõõm, vile või nahkhiire pragu
  • Lihtsustage mängu
    Pesapalli mänguoskused peaksid sisaldama ebameeldivaid palle
    Jalgpallimänguoskus peaks simuleerima karistusi
    Need aitavad hoida kasutajat aktiivsena
  • Ärge usaldage visuaale
    Kajasaate taustpilt on kena, kuid kaasrakenduse pildid peaksid olema teisejärgulised
  • Mängu pikkus on 2–5 minutit
    Kui aega on, saavad kasutajad mängida uuesti ja uuesti
  • Looge abifunktsioon, mis selgitab mängu üksikasjalikult
    Tooge näideteks fraaside kohta, mida mängida
  • Üle kõige
    Tee sellest lõbus!

Õppige SSML-i häälte lisamiseks

Kõne sünteesi märgistuskeel (SSML) integreerib heli häälega. Seda kasutatakse Alexa seadme heli loomiseks.

Nii määrasin Alexa API-le helistamiseks peamise vastuse atribuudi. Pärast stringide splaissimist JavaScriptis näeb kood välja järgmine:

var speechOutput = “Tere tulemast lõpptsooni jalgpalli. “+
  “

Siin on mõned näited selle kohta, kuidas SSML-i selles kontekstis kasutada:

  • Pausi loomiseks
  • Heliklipi sisestamiseks

Soovitan meediumifailide salvestamiseks kasutada S3-ämbrit. See on odav viis andmete salvestamiseks. Ja neile pääseb Alexa juurde.

Riigi juhtkond jälgib mängu edenemist

Alexal on võime salvestada mänguseisund. Kasutage seda funktsiooni oma oskuste kodeerimise ja testimise lihtsustamiseks.

Node.js SDK-s antakse seansi atribuut koos päringu ja vastuse atribuutidega edasi. Mängu oleku jaoks saate kasutada sessiooni atribuuti. Salvestage sellel väljal kriitiline teave mängu kohta. Saate lisada ükskõik mida, näiteks esituse numbri või salvestatud väljundite arvu.

Siin on näide, mida kasutatakse jalgpallimängus

// salvestage mängu atribuudid järgmisse mängu
if (session.attributes) {
  sessionAttributes = session.attributes;
}
...
// läbimise mängureeglid
if (solvavPlaybook [i] .playType === “pass” &&
    solvavPlaybook [i] .playNumber.toString () ===
    intent.slots.playNumber.value) {
      console.log (“Vastav mängunumber”);
      // arvutage läbitud vahemaa valitud mängu põhjal
      passDistance = Math.round (Math.random () *
        (solvavPlaybook [i] .maxYardage
           - solvavPlaybook [i] .minyardage)
           + solvavPlaybook [i] .minYardage);
      // veenduge, et mängukaugus ei saa olla pikem kui
      // järelejäänud väli
      if (passDistance> sessionAttributes.yardline) {
        passDistance = sessionAttributes.yardline;
      }
      playDesc = solvavPlaybook [i] .playDesc;
      speechOutput = speechOutput + playDesc + “. “;
      // määrake valitud näidendi põhjal suhteline
      // valmidusaste
      passCompletion = solvavPlaybook [i] .completionRate;
)
...
// andke vastus Alexale tagasi ja salvestage gametate
tagasihelistamine (sessionAttributes,
    buildSpeechletResponse (cardTitle, speechOutput,
      cardOutput, repromptText, seade, shouldEndSession));

Nende andmete salvestamine analüüsi tabelisse on kasulik, kuid algversioonis pole seda vaja. Laske Alexa platvormil selle töö teie heaks teha.

Reklaamige oma oskusi sotsiaalmeedias

Inimesed ei tea veel kõiki asju, mida Alexa teha saab. Nende oskuste demonstreerimisel saan pidevalt tagasisidet, et “ma ei uskunud, et Alexa seda suudab”.

Enne Amazon Store'is avaldamist peavad kõik oskused olema kinnitatud. Kui teie oskus on sertifitseerimisprotsessi läbinud, leidke video tegemiseks video salvestamiseks. See on parim viis tõestada, milleks platvorm võimeline on.

Täname, et lugesite ja palun nautige neid mänge - need on tasuta!