I wanted to experiment the new Alexa Skill functionnality : Web API for Games and this Devpost challege is an opportunity to study it about the famous PacMan arcade game, where the ghosts (Blinky, Clyde, Inky, Pinky) chase for PacMan entity.

What it does

After PacMan game Alexa Skill start, the end user can invoke thru touch screen either by voice the following :

  • New or restart game
  • Move pacman direction (top, down, left, right) one step forward either two steps forward such as : right then up, right then down, left then up, left then down, up then left, up then right, down then left, down then right
  • Pause or restart the game session
  • Exit the game

How I built it

My PacMan Vox Skill is based at the beginning on the Cactus Web API for Games sample project, then I have simplified some features and removed unnecessary codes. I have also refactored and adapted the PacMan open source project to comply with the recommendations of Alexa Team to integrate Web API for Games.

Challenges I ran into

  • Implement Multi Languages in english (US, UK, CA, AU, IN) and french versions on both frontend (HTML5, javascript) and backend (Node JS) sides

  • Enable Integration of Touch Screen and Voice Commands in the Game Loop, which accepts also by default keyboard actions

  • Adapt the Game refresh frequency according to the last current interaction mode chosen by end user : slower for voice mode, due to vocal request and response processing latency

  • Design and Implement a Fallback animation strategy when unexpected Web API for Games incidents occured, to allow the game continue

  • Skill Certification procedure is now over (see try out link to see the published version) but it was longer than usual since Web API for Games feature is new for people (developer, certification team). For devices not provisioned yet, my web api module displays on screen a more explicit warning message to invite end users to trigger OverTheAir silent update in mute mode on their devices

Accomplishments that I'm proud of

  • PacMan Vox game running in english (US, UK, CA, AU, IN) and french on Alexa Echo Show and some Fire TV devices, allowing end users to interact simultaneously with touch screen and/or voice commands
  • Integration of HTML and APL interfaces in same skill to handle Echo Show+Fire TV and Spot devices respectively

Pacman Vox Alexa Published Skill

What I learned

  • Development of both Frontend Application fully integrated with Backend component
  • Management (Adaptation,...) of Game Loop
  • Integration of Web API for Games module in Alexa Skill
  • static web hosting on AWS S3 and AWS cloudfront

What's next for PacMan Vox

  • Multiple gamers version
  • Entity sensing extension

Built With

Share this project: