VIPER 11 · NotesFly it →

Note 4 of 15

Why your vision tunnels

What nine times your own weight does to your eyes, and the small model that brings it to the screen.

Pull the stick all the way back in an F-16 and the jet will turn as hard as nine times the pull of gravity. Your head now weighs as much as a large dog, and your arms are hard to lift. Most of all, your blood weighs nine times what it did. The heart is pumping it uphill to your eyes and brain, and it starts to lose.

What G does to the eyes

The eye is the first thing to complain, because the retina sits inside a pressurised eyeball. For blood to reach it, arterial pressure at eye level has to beat the pressure inside the eye. Under G the column of blood between heart and head gets heavier, and the pressure at eye level falls, by roughly 20–25 mmHg for every extra g. The edges of the retina, the furthest from its blood supply, give out first.

Two things make this survivable. Pilots wear a G-suit, trousers with air bladders that inflate around the legs and abdomen as the G builds and squeeze blood back toward the chest. And they perform the anti-G straining manoeuvre, the AGSM. They tense the legs and core, take a quick breath, and hold it against a closed throat for about three seconds, then exhale sharply and breathe again, over and over through the turn. Relaxed, most people grey out somewhere around 4–5 g. With a suit and a good strain, fighter pilots hold 9.

Timing matters as much as the number. The brain keeps a few seconds’ worth of oxygen in reserve, and the body’s blood-pressure reflexes take several seconds to respond. Ease into a turn and the reflexes keep up. Slam into the same G and you can blow straight through the warning signs.

The model in the game

VIPER 11 turns all of this into a small model of the pilot, about a hundred lines of code, that reads one number every physics step: the load factor, nz. It is deliberately simple and deliberately honest about the shape of the effect, not a medical simulation.

Figure 1 · A pull, second by second

The game’s G model, run here in your browser with its real constants. White is the load the jet pulls, the dashed line is the lagged load your body has caught up to, and gold is the effective load after the onset penalty. The shaded bands are where grey-out and tunnel vision build. The frame on the right is a still from the game with the lens shader’s grey-out and tunnel maths applied at the scrubbed moment. Drag across the chart to scrub, or pick “Fly it yourself” and move the stick.

Compare the two built-in pulls. Both end at 8 g, held for ten seconds. Eased in at 2 g/s, the body keeps pace, and the grey-out arrives just as the jet reaches 8 g. Slammed in at 14 g/s, the jet is at 8 g in half a second while the lagged load is still catching up, and the onset penalty adds about 0.6 g on top. The effective load runs ahead of the body, and the grey-out begins about a second into the pull.

Figure 2 · From load to symptoms

What each part of the model does at a given load. Grey-out and tunnel vision follow the effective load. The pilot’s strain (the AGSM breathing) starts with the pull itself, from about 4 g. The G-suit inflates linearly above 2 g, like a real suit’s valve.

What you see and hear

The vision terms go to the lens shader, the last step before the image reaches your screen. Grey-out drains the colour from the edge of the view and then up to 42% of its light, creeping inward from about 66° off the lens axis toward 30° as it builds. The tunnel is one long soft gradient. Its clear centre shrinks from 60° to 14°, the darkness reaches in from the rim, and the whole picture flattens. Because the effect is measured in degrees off the lens axis rather than in pixels, the letterbox and an upright phone close in exactly the same way. Push into negative G and the edges tint red instead, the “red-out” of blood pooling in the head.

A sustained pull over the Las Vegas valley, captured from the game’s G test: the grey-out, then the tunnel, then recovery as the pilot unloads.

The same model drives the body. The anti-G breathing starts as you pull past about 4 g. The G-suit valve opens above 2 g, adding about 1.5 psi per g, and you hear it inflate. As the grey-out takes hold, the world’s sound narrows and a heartbeat fades in (the sound note has the details). The camera sags a little under the load as well.

Figure 3 · The onset penalty

Tolerance lost against how fast the G is rising: 0.8 g at most, half of that at 4 g/s. Gold marks the flight control computer’s maximum onset of 14 g/s (full aft stick).

Where it is gamified

The model leaves out the parts that would stop it being fun. There is no G-LOC: the tunnel never quite closes and the screen never goes black, so you never lose control of the jet. The fly-by-wire caps the load at 9 g anyway, as the real F-16’s does. Everyone gets the same tolerance, with no fatigue and no build-up over a long fight, and the AGSM is something the pilot does for you rather than a skill you practise. And because a closing tunnel can be uncomfortable to watch, the settings have a “G effects” option: on, subtle (half strength) or off.

Fly it

viperoneone.com

VIPER 11 is a browser flight game: three.js, WebGL2 and Web Audio. Every figure on this page is drawn from the game’s own code and numbers. Made by apek. Follow me @apekshik for what’s next.