v0.22 · Active Development
Gesture-Controlled Browser Game

Hand of the King

Grab, fling, and rip apart enemies with your bare hands.
No controller. No keyboard. Just your hands and a webcam.

MediaPipe Hand Tracking Face Mesh Canvas 2D Web Audio 100% In-Browser
📷 Requires webcam · Best at 50–80cm · Works in Chrome / Chromium · HTTPS needed for camera

How to Play

🤏
Pinch to Grab
Touch thumb to index finger near an enemy. Hold to carry, release or flick to throw.
🚀
Sky Throw
Flick straight up — enemy flies into the sky for an instant kill and bonus points.
🤏🤏
Two-Hand Rip
Grab the same enemy with both hands, then pull them apart — 2× points and a very satisfying crunch.
🏹
Ballista
Pinch the ballista to charge it. Point your other index finger to aim. Release to fire.
👊
Fist Punch
Make a fist while idle — enemies within range get blasted sideways with a shockwave.
🎉
Convert
Drop a grabbed enemy into the teal beam above your castle to convert them to your side.
Powerup Orbs
Pinch a spawned orb, lift it to your face and open your mouth to eat it. Or drag it over your castle to deposit.
👍
Resume
Thumbs up or press SPACE to resume from pause. Press SHIFT to cycle hand textures.

Camera Setup

1
Distance Sit 50–80cm from your camera. Too close = hands go off-screen. Too far = tracking drops.
2
Hand position Hold hands at shoulder height, palms facing the camera. Thumbs pointing up or sideways.
3
Framing Keep hands in the centre third of the frame. Use ⚙ Options → Camera Zoom to adjust reach.
4
Lighting Front-facing light (not backlit). Even lighting on both hands gives the best tracking accuracy.
KEYBOARD SHORTCUTS
P / ESCPause / Unpause
SPACEResume from pause
SHIFTCycle hand texture
OOptions
CCamera preview
DDebug overlay
HAND TEXTURES
🧤 Glove — solid filled skin (default)
💀 Skeleton — neon bones
⚔️ Gauntlet — metallic armour plates
🔥 Fire — ember + sparks
👻 Ghost — translucent wisp trail
Press SHIFT to cycle between Skeleton, Glove, Gauntlet

Enemy Types

🚶
WALKER
HP: 1 · Slow
Grabbable
🏃
RUNNER
HP: 1 · Fast
Grabbable
🛡
ARMORED
HP: 3 · Slow
Grabbable
🦘
JUMPER
HP: 1 · Leaps
Grabbable
👹
GIANT
HP: 8 · Rage mode
Cannot Grab
🐉
DRAGON
HP: 2 · Wave 6+
Ballista Only

What's Inside

🎮
100% Gesture ControlPinch, flick, fist, two-hand rip, point, blow. Full game with zero keyboard input.
😮
Face Mesh PowerupsLaser eyes track your gaze via cheek Z-depth. Lava breath from your actual mouth. Energy sword blades with arc trails.
🏰
Castle Progression30 fortification steps across 3 visual levels. Start with a crumbling ruin, end with an impregnable fortress.
🔊
Procedural Audio40+ sounds — all generated with Web Audio API. No audio files. Grabs, slams, wololo converts, dragon swoops.
🤝
Convert SystemDrop enemies into the teal beam to convert them. Converted enemies become archers and spearmen defending your castle.
🪨
Item BagHold a fist to open the item bag. Pinch a boulder slot to grab one and hurl it at the enemy horde.
🏹
Upgrade ShopBetween waves: upgrade the ballista, train archers + spearmen, fortify walls, buy fire bombs and chain bolts.
🏆
28 AchievementsSky throws, rip kills, convert chains, clean waves, headshots, and more — all with unlock toasts.
MediaPipe Hands MediaPipe FaceMesh HTML5 Canvas 2D Web Audio API Vanilla JS ES2020 WebRTC Cloudflare Pages

🏆 Leaderboard

Top Scores — Hand of the King
Loading leaderboard…

💬 Feedback

Found a bug? Loved something? Got a suggestion? Drop it here — this feeds directly into development.

Play anywhere

The game runs in any modern browser with HTTPS and camera access. Also available on itch.io and GitHub.