GameFinder is an Alexa Skill which allows user using voice controls to search for details about video games, locations in games and characters in games. GameFinder was developed as part of Gesture Based UI at GMIT.
- GameFinder
- Setup blank folder
- Right click on project folder
- Git clone https://github.com/cian2009/GestureBasedProject.git
Amazon Echo & Alexa: Amazon Echo Range
Alexa Developer Account: Alexa Developer Console
AWS Account to access AWS Lambda: AWS Lambda
Download Node.js Node.js
A step by step series of examples that tell you have to get a development env running
-
Set-up Alexa Skill in the Alexa Development Console
-
Set-up AWS Lambda function
-
Set-up Git Repository
Git clone https://github.com/cian2009/GestureBasedProject
-
npm install
-
Initialise project using ASK CLI
ask init
Tests were conducted on Echo Dot, Echo, Echo Show and Echo Spot.
Testing for visual purposes were done on the Alexa Devloper Console, which provides an Alexa in the browser to test the skill.
A basic query to the skill asking for data about Fallout 3
Alexa ask game finder what is Fallout 3
Audio: | UI: |
---|---|
A basic query to the skill asking for data about Megaton
Alexa ask game finder what is Megaton
Audio: | UI: |
---|---|
A basic query to the skill asking for data about Master Chief
Alexa ask game finder who is Master Chief
Audio: | UI: |
---|---|
Due to how alexa works to find which intent works best with what the user is trying to call, we can also used phrases not built into how intents are called. Alexa is very good at adapting to the user using a phrase outside what the intents have been built to use.
Alexa ask game finder about fallout 3
Audio: | UI: |
---|---|
'about fallout 3' is not an intent, but Alexa can figure out of the available intents which would work best for what the user has said.
Alexa ask game finder what is
Audio: | UI: |
---|---|
Alexa ask game finder what is 1234567890
Audio: | UI: |
---|---|
Validation: | Functional test: |
---|---|
The automatic review just checked if the basic intents were programmed into the Skill and checked if the custom intents exsisted. This review passed as it found no bugs and found custom intents and all five 'Built-In Intents' were programmed into the skill.
The manual review is done by an employee at Amazon. The skill passed the manual review as the custom intents had enough content to get into the skill store. And all five 'Built-In Intents' were present and working.
The Certification process was very quick and gave feedback along the way in order to make the process as painless as possible for developers.
- Project Specification - Project specification
The project specification outlined what a proper gesture based UI project should contain. Using what the spec outlined we were able to get an Alexa application that had useful functionality to the market (Link at bottom of page).
The project specification asked for an implementation of a gesture based system (this GitHub repo), documentation of the implementation (below in this section) and short videos of the project in use (below in this section).
Two videos are present. First video is a presentation of the project and the second is a short demo of the project running.
- Project Research - Documentation asked for by the project specification
The research paper outlines out thought process on how we setup the Alexa skill and why we picked Alexa over other gesture based systems.
Setting up an Alexa skill was the most difficult part as it was something completly new to us. Althought the setup was difficult, once the project was setup, and we had a basic intent working, it was very interesting to see how Voice gestures are developed. The Alexa developement process was very interesting to learn, as gesture based UI becomes a greater part of our lives. It also gave us a large market as the application was was on Amazon/Alexa skill store, giving us a userbase to get feedback on our skill and see it live in action on the market for anyone to download.
- Visual Studio Code - IDE used
- Node.js - Allows execution of JavaScript outside the browser
- Alexa Developer Console - Used to create and distribute the skill
- AWS Lambda - AWS Lamdba is used to host the source code used by the skill
- Ask CLI - Tool to manage Alexa skills and related resources
- GiantBomb API - API used to access game, location and character information
- Overleaf - Overleaf is an online LaTeX editor used for project research paper
- StackOverflow - Community forum for troubleshooting
- Cian Gannon - Source code, UI and Research - Github
- Aron O Malley - Source code, UI and Research - Github
- GameFinder - Store page for skill
Getting the skill onto the Amazon/Alexa skill store was quite an easy process once all the basic checks are complete. The process was very similar to the UWP process that Microsoft has for their store.
This project is licensed under the MIT License - see the LICENSE.md file for details