Hackster is hosting Hackster Holidays, Ep. 6: Livestream & Giveaway Drawing. Watch previous episodes or stream live on Monday!Stream Hackster Holidays, Ep. 6 on Monday!
Terren Peterson
Published © CC BY-NC-SA

Crash Some Bowling Pins with an Alexa and Echo Buttons

Looking for a fun game to play with Alexa and Echo Buttons? Let Ten Pin Bowling roll into your device!

ExpertFull instructions providedOver 2 days1,000
Crash Some Bowling Pins with an Alexa and Echo Buttons

Things used in this project

Story

Read more

Schematics

Network Schematic

How buttons connect to your Alexa device and communicate

Code

Skill Definition

JSON
The model for the skill definition.
{
  "manifest": {
    "publishingInformation": {
      "locales": {
        "en-US": {
          "summary": "Play a full game of ten pin bowling by yourself or with a group. Listen to sounds taken from an actual bowling alley and follows scoring rules.",
          "examplePhrases": [
            "Alexa, open Ten Pin Bowling",
            "Player one is James",
            "What are the scores?"
          ],
          "keywords": [
            "bowling",
            "game",
            "bowl",
            "fun",
            "ball",
            "echo",
            "buttons",
            "skill",
            "roll",
            "pins",
            "multiple",
            "players",
            "multi",
            "turn",
            "based"
          ],
          "name": "Ten Pin Bowling",
          "smallIconUri": "https://s3.amazonaws.com/CAPS-SSE/echo_developer/94bb/3f05a979478d409cb0b9fe195191fc46/APP_ICON?versionId=BfbtSyvqUUSUIYKQfGCFzhCxeBdQRl2x&AWSAccessKeyId=AKIAJFEYRBGIHK2BBYKA&Expires=1542052158&Signature=9C1lWKZlWBZTU%2FpsQ%2FFG7IQRjHE%3D",
          "description": "This is a voice-simulation of the full game of ten pin bowling, including all of the proper scoring rules.  Buttons are optional, but add fun especially when playing with multiple players as the colors change to track who's turn it is to bowl.\n\nPremium Content Available - If you are interested in competing with virtual players, try out league mode. Move up the ranks to play against different levels of competition, eventually facing the league champ.\n\nBegin by setting the player names, and up to four players can join at once.  To get a roll call of the names, just say 'List Names'.\n\nOnce you are setup, say 'Bowl' to throw the ball.  This skill will keep score for each of the frames. If at any time you want to know what the score is, just say 'What are the scores' and they will be read back.\n\nIf you have Echo Buttons, use them in place of saying the word 'Bowl'. For multi-player games with buttons, the red button will indicate who's turn it is, and if you get a strike will flash multiple colors.\n\nAt any time you can say 'Save the Game' and it will store the current progress.  Just open the skill again and it will prompt for resuming where you left off.",
          "largeIconUri": "https://s3.amazonaws.com/CAPS-SSE/echo_developer/f718/143acc51a7d64f3bbfbe4055a64ba45b/APP_ICON_LARGE?versionId=n7h4qWSnOROCAcF8P_2JUQQwIcw3XtOZ&AWSAccessKeyId=AKIAJFEYRBGIHK2BBYKA&Expires=1542052158&Signature=r%2B37HkuzOahoO6OOzL%2Fc4HgEamY%3D"
        },
        "en-GB": {
          "summary": "Play a full game of ten pin bowling by yourself or with a group. Listen to sounds taken from an actual bowling alley and follows scoring rules.",
          "examplePhrases": [
            "Alexa, open ten pin bowling",
            "Player one is James",
            "What are the scores?"
          ],
          "keywords": [
            "bowling",
            "game",
            "bowl",
            "fun",
            "ball",
            "echo",
            "buttons",
            "skill",
            "roll",
            "pins",
            "multiple",
            "players",
            "multi",
            "turn",
            "based"
          ],
          "name": "Ten Pin Bowling",
          "smallIconUri": "https://s3.amazonaws.com/CAPS-SSE/echo_developer/cfde/9cf3b6538b8a4768a508d7571441c0d1/APP_ICON?versionId=PQeyHvs4lapaDpYTFzsxTB_5pkkQsjjq&AWSAccessKeyId=AKIAJFEYRBGIHK2BBYKA&Expires=1542052158&Signature=ywTzdFr%2FUk5UxJJl6Vb0hczxl94%3D",
          "description": "This is a voice-simulation of the full game of ten pin bowling, including all of the proper scoring rules.  Buttons are optional, but add fun especially when playing with multiple players as the colors change to track who's turn it is to bowl.\n\nBegin by setting the player names, and up to four players can join at once.  To get a roll call of the names, just say 'List Names'.\n\nOnce you are setup, say 'Bowl' to throw the ball.  This skill will keep score for each of the frames. If at any time you want to know what the score is, just say 'What are the scores' and they will be read back.\n\nIf you have Echo Buttons, use them in place of saying the word 'Bowl'. For multi-player games with buttons, the red button will indicate who's turn it is, and if you get a strike will flash multiple colors.\n\nAt any time you can say 'Save the Game' and it will store the current progress.  Just open the skill again and it will prompt for resuming where you left off.",
          "largeIconUri": "https://s3.amazonaws.com/CAPS-SSE/echo_developer/c96f/6b3ecdf017cd47a7bfe0827a9457dc4a/APP_ICON_LARGE?versionId=5dK.LQdKK.0lRm8kKVM71iE6XjHMZ6cT&AWSAccessKeyId=AKIAJFEYRBGIHK2BBYKA&Expires=1542052158&Signature=8VkGfom9nfKku4iU5n7CCPFc%2FxQ%3D"
        }
      },
      "isAvailableWorldwide": true,
      "testingInstructions": "Note: this release adds in-skill purchase functionality for the US only version of the skill. Say 'Purchase Bowling League' to add, then 'Play League Game'. A virtual player will be added to compete in one-on-one competition. No functionality has been changed in the game play.\n\nPrior Instructions\n1. Set at least one player name.  For example, Player One is James.\n2. Say the word Bowl.\n3. The scoring rules of ten pin bowling are followed (strikes, spares, etc.)\n4. Say \"What is my score\" at any time.",
      "category": "GAMES",
      "distributionCountries": [],
      "gadgetSupport": {
        "maxGadgetButtons": 4,
        "numPlayersMax": 4,
        "minGadgetButtons": 1,
        "requirement": "OPTIONAL",
        "numPlayersMin": 1
      }
    },
    "apis": {
      "custom": {
        "endpoint": {
          "uri": "arn:aws:lambda:us-east-1:034353605017:function:bowlingGameBlue"
        },
        "interfaces": [
          {
            "minimumApmlVersion": "0.2",
            "type": "RENDER_TEMPLATE",
            "minimumTemplateVersion": "1.0"
          },
          {
            "type": "GAME_ENGINE"
          },
          {
            "type": "GADGET_CONTROLLER"
          }
        ]
      }
    },
    "manifestVersion": "1.0",
    "privacyAndCompliance": {
      "allowsPurchases": true,
      "isExportCompliant": true,
      "containsAds": false,
      "isChildDirected": false,
      "usesPersonalInfo": false
    }
  }
}

Credits

Terren Peterson

Terren Peterson

11 projects • 36 followers
Life-long learner who started off with an Electrical Engineering degree, but have been in software and systems engineering my whole career.

Comments