Inspiration
Our inspiration for this project was utilising voice games as a force for good. At Vocala, we have developed a specialty in voice games and trivia. Whilst we hope that our games are fun, we also believe in their potential to provide new and useful opportunities to our customers and deliver a wider benefit for users and society beyond just being entertaining.
With Brain Games the original focus was on an online, multi-player voice game focused on engaging and connecting people. You can play our ‘brain-training’ games against friends and family around the world, even if you can’t be with them. Studies showed that the use of voice devices could help to reduce loneliness and feelings of isolation with games and quizzes offering a great way for people to connect. This feeling of connection has been especially beneficial to people during the Coronavirus pandemic and particularly to older people who may live alone.
This led us on to thinking further about the wider benefits that Brain Games could bring to older people. Research has shown that brain-training can be helpful to older people in slowing cognitive decline and memory loss so being able to play quizzes, trivia games and puzzles just by using their voice can be highly beneficial to them. Especially for those people who have mobility issues and can’t engage well with puzzle books, tablets or fiddly game pieces.
Therefore, we have recently updated Brain-Games to make it even more engaging and educational to adults of age 55 and over. We believe that our updates have made it more accessible for this age-group to play a digital game using their voice to answer the questions displayed on the screen. We also hope that the updates will encourage this demographic to come back and play these mentally challenging exercises more regularly, as studies have shown that regular ‘brain-training’ can be helpful in slowing cognitive decline and memory loss.
The updates we have made are shown below:-
Updates
Update 1
Increased timer on all games so players can take longer to work out the solution if required, although they can still submit the answer earlier if they want without waiting for the timer to run out. This update is intended to make the game more playable and encourage players to make repeat visits. Practicing the ‘Brain Games’ repeatedly has been shown in studies to help slow cognitive decline.
Update 2 Added option to mute background music whilst playing the game. Some players may find background noise effects their ability to concentrate.
Update 3 Changed the computer generated bots to be closer to players level of ability. Playing against someone of a similar level will make it easier to win the game, which we hope will encourage retention and therefore encourage repeat brain-training.
Update 4 Added the top answer for Anagram Magic. Players want to be educated, and if they don’t get the top answer they want to know what it is.
What it does
Brain Games is an online multiplayer voice puzzle game. Here's all the things you can do within:
- Create and edit to 4 custom user profiles, each with unique nicknames, and outfits and rankings. Choose from 4 minigames:
- Maths Master - Use numbers and operators to make the randomly generated number at the top.
- Anagram Magic - Find the longest word possible in a 9 letter anagram.
- Word Wheel - Find as many words as possible, using letters from the word wheel - you have to use the middle letter in the wheel!
- Speedy Sums - 1000 BrainBucks - Solve as many mathematical questions as you can against the clock.
Earn Brain Bucks to spend in the Brain Games store to unlock new outfits and games! Buy them through the Brain Buck Bundle ISP. Earn them buy playing and winning the minigames.
How we built it
The visual interface was built using vanilla HTML and CSS, all being hosted on an Azure app service plan.
We found some really great 3rd party libraries:
- anime.js - this was the power behind all the animation in the game.
- Colyseus - this is a Node framework for multiplayer match making, this provided utilities to match players against each other in real time.
To interact back between the site and the skill, we used the HTML WebAPI, we used the following commands:
- alexa.skill.sendMessage - send messages back to the skill
- alexa.skill.onMessage - detecting messages being sent from the skill to the site
- alexa.speech.onStopped - listener to see if alexa has stopped speaking
We used the ASK-SDK for general skill management and deployment, this had a pretty standard setup, with the skill being hosted through an AWS lambda function, with audio and imagery stored in AWS S3 buckets and persistent user data being stored in DynamoDB.
Challenges we ran into
A hurdle we had to overcome was speech clipping. This is when Alexa's speech suddenly cuts off mid sentence.
Our WebAPI code was sending multiple messages back to the skill, each message instructed Alexa to play a speak command. However, since the timing between message sent was too short, the next message would cut off. To fix this we created a "messageQueue". Our site would have a constantly running SetInterval function, that would check if the message queue was populated. If there was a message, and Alexa had stopped speaking (alexa.speech.onStopped). We would send the message!
Accomplishments that we're proud of
The way we setup custom characters was quite cool. On first play when your character is created, it will render loads of layers of the different image components over each other, i.e. eyes => ears => mouth => hair (always last!). We discovered the inefficiency of rendering layers over and over every single play, so we came up with a solution. We draw your avatar layers onto a canvas and then save the image using the method toDataURL to store the image in our DynamoDB, so the next time you play we don't have to render all those layers again.
What we learned
Our main learnings in Brain Games has been from the voice flow perspective. Initially we had a long setup phase which involved the user having to go through 10 different sections choosing items for their character. We back traced some game state logs and found that users were dropping off a lot in this stage. We changed it to be a "shuffle" of random outfits, in doing this we saw a large increase in players getting the lobby and playing some games.
What's next for Brain Games - Ageing and Engaging
We are confident that our recent updates will be well received by people of aged 55 and over. We are hoping to increase retention of this demographic of players, and we will be analysing play and monitoring feedback to make further improvements. We have already planned another update to Word Wheel where the player can see all of the words they created next to the list of words that their opponent created at the end of each round to make this part of the skill more educational. We also plan to use Shared Activities to help seniors connect more and track the results and play time to see if there are improvements to your brain over time.
Built With
- amazon-dynamodb
- ask-sdk
- colyseus
- html5
- lambda
- multiplayer
- node.js
- webapi
Log in or sign up for Devpost to join the conversation.