GLOAMHOLD

Dichoptic games · side-by-side stereo

This page is for a grown-up at a desk. Everything a child needs is in the viewer menus, and the app always starts there.

A handful of small games — an island adventure, a monster truck, falling blocks, space rocks and a racer — built so that neither eye can finish them alone. The two halves of the screen feed one eye each through a Cardboard-style viewer. Set the weaker eye below, then push the stronger eye's contrast down until the games are just barely winnable.

Eyes

Weaker (amblyopic) eye

The weaker eye always gets full contrast. Everything below throttles the other one.

Start high (80–100%) for the first session. Lower it until enemies in the stronger eye are faint but still detectable. Too low and the eye stops contributing; too high and it keeps suppressing.

Adaptive staircase

Clear a room without taking a hit → stronger-eye contrast drops one step. Take damage → it comes back up. The game finds your threshold instead of you guessing it.

Live preview as configured

Two eye views with a wall, your character, one enemy and a key. Hold the viewer up to it and set the sliders until the faint half is faint but not gone.

How the eyes are split

both eyes weak eye strong eye

Viewer

Nudge until the two images sit on top of each other without effort. Negative pulls them together.

A Bluetooth gamepad is the most comfortable control in a headset: stick or d-pad to move, any face button to swing. Keyboard (WASD / arrows + space) and on-screen thumb zones also work.

Lens correction

Cardboard-style lenses magnify, which bends straight lines outward (pincushion). The fix is to bend the image the other way before it reaches the lens. This runs on the GPU as a barrel warp, per eye, with optional per-channel correction for the colour fringing cheap plastic lenses add at the edges.

Moves the centre of each warp, not the picture. Set this to sit under the middle of your lenses — if it is off, the correction is off-axis and the edges stay bent on one side.

Put the viewer on with the grid up and raise k1 until the lines look straight all the way to the edges, then use k2 to fix whatever is left in the corners. k1 alone usually gets you most of the way. These are a perceptual scale, not a headset’s published coefficients — the grid is the calibration, not the number.

Before you start

Hold the phone in the viewer and look at the alignment cross on the next screen. You should see one complete cross — a vertical line and a horizontal line crossing inside the ring. If one line is missing, that eye is being suppressed and the settings need adjusting before the dungeon is worth playing.

Study data

For a clinic or research group evaluating this. Every run is kept on this phone only — no account, no network, no names. It is game telemetry (contrast over time, segments, hits, alignment answers, per-eye exposure), not a measurement of vision. RESEARCH.md describes every field.

Random unless the study team sets one. Letters, digits and - _ . only — never a name.

Contrast means

The screen blends in gamma-encoded values, so a blend alpha of 40% leaves the stronger eye roughly 67–87% of the full luminance contrast. Luminance makes the setting mean the estimated luminance fraction instead. Both are recorded with every run; neither is a photometric measurement.

Free software

Gloamhold is free software under the GNU AGPL v3 (or later): use it, read it, change it, share it. If it helps your family or your work, you can support the time that goes into it. Donations buy nothing inside the game and unlock nothing — every game, colour and island is free for everyone.

Not a medical device. This is a hobby build, not a treatment. Dichoptic training for amblyopia is an active research area with mixed results and it belongs under the supervision of an optometrist or ophthalmologist who has actually measured your acuity, stereoacuity and suppression. Stop immediately and stop using it if you get headache, nausea, eye strain or double vision that persists after you take the viewer off. Children in particular should only do this on a clinician's instruction, since the alternative treatments they might be skipping have real evidence behind them.

Built with generative AI (Claude). Free software, GNU AGPL v3 or later.