Webcam & Gaze Tracking Guide
Calibrate your eyes once and the app can pop bubbles when you stare, or run a focus-conditioning minigame that rewards you for looking at the right thing.
On This Page
Overview
Webcam tracking turns your eyes into an input device. After a one-time calibration, CCP knows roughly where you're looking on screen and feeds that signal into three places:
- Focus Gaze — stare at any bubble or flash for about a second and it pops. No clicking.
- Gaze Minigame — a focus-conditioning game with side-by-side asset packs: hold your gaze on the correct one, ignore the distractor.
- Deeper triggers — if you author or play Deeper enhancements, gaze, blink, mouth-open, and "looked away" can fire timeline rules.
All inference runs locally on your machine. No frames are recorded, uploaded, or sent anywhere — ever.
Free Feature
Webcam tracking, calibration, Focus Gaze, and the Gaze Minigame are all free. No Patreon required. You just need a working webcam.
Privacy & Hardware
How the camera is used
Each frame is processed in RAM by bundled MediaPipe AI models (face detection, FaceMesh, iris) and discarded. Only numbers come out — landmark positions, pupil center, head pose. Those numbers feed the gaze pipeline. Nothing is written to disk, transmitted, or kept after the frame is processed.
What the camera never does
Frames are processed locally and never leave this machine. Nothing is recorded. Nothing is sent to any server. The entire AI runs offline using ONNX models bundled in the installer.
What you need
- A working webcam (built-in laptop cameras are fine)
- Windows camera permission for CCP — granted on first consent
- Even, frontal lighting — harsh side-light breaks iris detection
- A stable seating position 50–70 cm from the camera, with your whole face in frame
How to revoke access
Open Windows Settings → Privacy & Security → Camera and toggle CCP off. Or open the consent dialog from inside the app (Lab tab → Webcam Games → Review Privacy) and uncheck the consent box.
First-Time Setup
Two things have to happen exactly once: you give consent, and you run the 16-point calibration. After that the tracker just works whenever you start it.
Step 1: Give consent
- Open the Lab tab and find the Webcam Games card.
- Click Review Privacy. A four-step dialog explains what the camera does and what it never does.
- Tick the consent box and click Enable. Windows may also prompt you to grant camera access — allow it.
Step 2: Calibrate (~1 minute)
Calibration teaches the tracker the geometry of your face, eyes, and current seating. It's posture-specific — if you change chairs or move the camera, redo it.
- Click Calibrate on the Webcam Games card.
- Phase 1 — the dot grid. A pink dot moves across a 4×4 grid. Stare at each dot until the ring around it fills up and pulses, then it moves to the next. Don't track ahead of it — let your eyes settle.
- Phase 2 — quick checks. A few prompts confirm tracking works: glance left, glance right, blink, open your mouth, stick your tongue out.
- If you miss a dot twice, calibration restarts. Sit a little straighter and try again.
Re-calibrate when you change anything
Calibration is tied to your current head position relative to the camera. New chair, new monitor, laptop on a different surface, glasses on/off — all of these will drift the tracker. Re-run calibration whenever it feels off.
Step 3 (optional): Quick Recal
If the tracker feels slightly offset after a long session — like the cursor is a few centimeters above where you're actually looking — run Quick Recal from the Webcam Games card. It corrects translational drift in seconds without redoing the full 16-point grid. It does not fix angular errors at the corners; for those, run a full calibration.
Focus Gaze
Focus Gaze is a hands-free interaction layer for bubbles and flashes. While it's enabled, every active bubble or flash registers its hitbox with the tracker. Look at one for about a second and its pop handler fires — identical to a click. Look away and the dwell timer cancels.
Turning it on
- Make sure you've completed consent and calibration (see above).
- Find the Focus Gaze toggle in your feature cards.
- Toggle it on. Status reads "Active — gaze and dwell."
What if it won't activate?
The status line tells you what's missing:
- "Camera consent is required." — open the Webcam Games card and click Review Privacy.
- "Calibrate the webcam first (Lab → webcam tracker test)." — you skipped calibration during setup. Run it now.
- "Couldn't start the webcam (state: ...)" — another app is using the camera, or Windows revoked permission. Close other camera apps and check the privacy settings.
Stacks with clicking
Focus Gaze sits on top of normal click-to-pop — you can mix and match. Use it as a slow, mindful alternative when your hands are busy, or pair it with the debug gaze cursor while you're learning where the tracker thinks you're looking.
Gaze Minigame
A focus-conditioning round: "correct" content rewards you for looking at it, while "noise" content is meant to be ignored. Each round shows two panes side by side. Hold your gaze on the correct side for the pass-time and you score; rapid glances at the wrong side rack up penalties.
Plays in its own window so it can sit alongside a session.
Playing a round
- Open the Lab tab and click Gaze Minigame → Open.
- On the title screen, click Select assets. Pick one "correct" pack (pink label) and at least one "noise" pack (red label). You need at least two packs total.
- On the ready screen, configure the sliders below, then hit Start.
- A short countdown plays, then rounds begin. Hold your gaze on the correct side until the ring fills and you pass.
- The results screen shows correct / wrong / timeout per round and total dwell times.
Settings (per session)
| Setting | Default | Range | What it does |
|---|---|---|---|
| Image rounds | 8 | 0–20 | Image-based rounds per session |
| Video rounds | 2 | 0–10 | Video-based rounds per session |
| Image duration | 5s | 2–10s | How long each image stays on screen before timeout |
| Video max duration | 30s | 10–120s | Cap for video rounds |
| Pass time | 3s | 3–30s | Continuous dwell on the correct side needed to pass. Higher = harder. |
| Wrong-side tolerance | 0ms | 0–2000ms | How long you can glance at the wrong side before failing. 0 = strict (first pixel on wrong side fails the round). |
| Vibration mode | None | None / OnCorrect / OnWrong | Optional haptic buzz. Requires a connected haptic device. |
Reward effects
Pick what fires when you pass a round. Combine with vibration for stronger conditioning.
None
Score only. Quietest option.
Flashes
A flash image pops for the round's duration.
Bubbles
Triggers a quick bubble burst.
Audio
Plays a reward clip. Choose from bell, chime, clicker, or lock-click.
Mind Wipe
Brief overlay-pulse blur effect. Heaviest option.
Overlay Pulse
Single soft overlay flash — lighter than Mind Wipe.
Tracker Test & Debug Cursor
If a game feels off, blame the tracker before yourself. Two tools verify it's working.
Tracker Test
Click Tracker Test on the Webcam Games card. A live overlay opens showing your face and iris detection in real time. Move your eyes around — the cyan dot should follow. If the dot is jumpy, lighting is the usual culprit; if it's stuck, your face isn't being detected.
Debug cursor
Tick Show Debug Cursor to keep a small floating cursor on screen while you play. It always shows where the tracker thinks you're looking. Useful while you're learning the system — if items pop in places that look wrong, the cursor will tell you whether the gaze estimate or the calibration is the problem.
Tips for Reliable Tracking
- Lighting matters more than camera quality. Even, frontal light beats a 4K webcam in a dark room.
- 50–70 cm from the camera with your whole face in frame. Closer cuts off your face; further makes iris detection unreliable.
- Re-run calibration if you move. New seat, new monitor, laptop relocated — calibration is posture-specific.
- Blinking is filtered. The tracker drops blink frames automatically — you don't need to stop blinking.
- Run Tracker Test before blaming a game. If the cyan dot is jumpy or stuck there, no game will feel right.
- Eye fatigue degrades tracking. Start with short minigame rounds and shorter pass-times. Build up over time.
- Glasses are usually fine. Strong reflections on the lenses can confuse the tracker — angle the light source if needed.
Settings Reference
These are stored in your AppSettings and persist across sessions.
| Setting | Default | Description |
|---|---|---|
| Webcam Consent | Off | Master gate. Set by the 4-step Review Privacy dialog. All other webcam features check this first. |
| Calibrated | No | Set automatically when calibration succeeds. Cleared if you reset. |
| Calibration Mode | 16-point | 16-point is the default. A 25-point variant exists for very high-precision setups. |
| Camera | System default | Pick a specific camera if you have more than one. Stored as device index + friendly name. |
| Sensitivity | 0.5 | 0.0–1.0. Controls how close gaze must be to a target. Lower = more forgiving. |
| Focus Gaze enabled | Off | Master toggle for the dwell-to-pop interaction layer. |
| Show debug cursor | Off | Floating cyan dot that follows the gaze estimate. Helpful while learning the system. |
| Webcam triggers | Off | Allow Deeper enhancement files to use blink / long-stare / mouth-open / bubble-stare triggers. |