How Hand Flight works

Your hand is the jet. The camera reads it, a real flight model flies it.

Setting up

Lay your phone flat on a table with the screen up, turned on its side so the front camera is at the end nearest your flying hand. Hold that hand flat about a forearm's length above the camera, palm down, fingers pointing away from you. That's the jet. On a laptop, pick "Webcam facing me" and hold your hand flat in front of the camera instead.

Calibration takes two seconds: hold the hand still and flat (that becomes "level flight"), then tilt it to the right like a banking wing (that tells the game which way is right, since some cameras mirror their picture). After that a small jet on screen copies your hand, so you can see what the camera sees before you take off. If it goes the wrong way, the Swap left/right and Swap up/down buttons fix it, and the sensitivity slider sets how far the jet tilts for a given tilt of your hand.

Flying

Do this with your handThe jet does this
Tilt it left or rightBanks to the same angle
Raise or lower your fingertipsClimbs or dives at that angle
Twist it toward one sidePoints the nose that way and keeps turning
Curl your index fingerFires the guns
Tuck your thumb under your palmLights the afterburner
Spread your fingers wideOpens the air brake
Make a fistLaunches a missile (once the seeker growl turns into a steady tone)
Flick your wristDrops flares
Take your hand awayThe jet rolls level and holds its height

No camera? Keyboard works (arrows or WASD to bank and climb, Space guns, Shift afterburner, B air brake, M missile, F flares, V to swap the chase and cockpit views), and so does a touch stick.

The flight model

Arcade, on purpose. The jet holds exactly the angles your hand holds: bank, nose up or down, and twist. Banking or twisting also swings its heading around, so you can keep turning past where a wrist can go. Then it flies like a rocket: thrust pushes along the nose, momentum carries the jet, and its path swings round toward where the nose points at a set rate, so a hard turn drifts before it bites. The HUD's SLIP number shows how far the nose is off your actual path. Drag is just a top speed. Point straight up and you lose speed, point straight down and you gain it. Below about 45 m/s the jet can't hold itself up and starts to fall.

JetCharacter
ViperAll-rounder: grips well in a turn and follows your hand closely.
RaptorMost thrust and top speed, but it drifts wide in a turn.
DeltaSnaps around the tightest; less thrust, so it lives on its turn.

Modes

Bots fill the sky when there are only a few of you, flying the same flight model through the same controls. Make a room and share the code or link: everyone joins from their own phone or laptop.

Privacy

The camera never leaves your device. Hand tracking runs in your browser (Google's MediaPipe Hand Landmarker), and only your jet's position goes to the game server. There are no accounts and nothing is stored.

Credits

Fly