With the recent increase in homeschooling and therefore the lack of Physical Education classes I wanted to provide a learning experience that added a touch of physical activity to allow both mental and physical stimulation. Parents are finding it more and more difficult to ensure engagement with education and Active Math will provide an easy solution.
What it does
The skill allows the user to answer a series of mathematical equations questions through movement or voice. It provides two answers to choose from and the user has to navigate left or right depending on their chosen answer.
How I built it
I used AWS Lambda and the Alexa Skills Kit Developer Console to build the skill using the command line. The skill was developed using Nodejs and uses the APL Entity-Sensing Extension to detect the users position. Alexa Presentation Language was also used to build the display
Challenges I ran into
The main challenge was using the APL Entity-Sensing Extension to detect the users position and then pass that back to the backend code to be processed. In the end I managed to get this working by passing a user event from the APL. It was also extremely difficult testing this as I had no access to a device and the smart motion simulator resets the position of the user whenever a new APL page is rendered.
Accomplishments that I'm proud of
The biggest accomplishment was also the biggest challenge which was to get the bottom bar following the position of the user.
What I learned
Building this skill allowed me to work a lot with the Alexa Presentation language and I was able to learn techniques such as how to animate the display through transforms and using conditional components to pass through content.
What's next for Active Math
Moving forward Active Math will utilise DynamoDB to store high scores and enable users to continue from their last drop off point and try and beat their previous score. The skill will also incorporate different difficulty levels targeted for different age ranges.
I would also like to embed further visual cues to develop a story-line path to the game, possibly combining movement and voice in order to create a brain teaser option.