• Stars
    star
    118
  • Rank 298,972 (Top 6 %)
  • Language
    HTML
  • License
    GNU General Publi...
  • Created over 4 years ago
  • Updated about 3 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

🐍 Play snake using your face! β¬…οΈπŸ˜ƒβž‘οΈ

Snake face

Keyboards are for losers -- play snake by moving your head!

Play live: https://paruby.github.io/snake-face/

demo

How does this work?

I use the tensorflow.js model MediaPipe Facemesh to estimate the head pose in real time using the device's camera. When the game starts, the direction in which the head is pointing is estimated as a reference point. Subsequent estimates during game play are compared to this to decide which direction to steer the snake.

The head direction is estimated by calculating the vectors connecting the centre of the lips to the left and right cheeks. These two vectors lie on a plane that approximates the surface of the face. The cross product of these vectors is normal to this plane and thus points approximately in the direction of the head.

You can read more about this here: http://paulrubenstein.co.uk/blog/