← → or A D steer · ↑ ↓ or W S pace · Q E shorten / lengthen the stride · hold C for the overhead view. On a touch screen the same controls appear as buttons while you ride.
| # | Horse | Pen. | Time |
|---|
Scoring here follows the FEI Jumping Rules, 28th edition, effective 1 January 2026. That edition renumbered the whole rulebook. The numbers still quoted everywhere for show jumping are the 27th-edition ones, and in the current book they point somewhere else entirely: Table A scoring is Art. 217.1, not 236/237 (236 is now the Water Jump); the time allowed is Art. 252 and Annex V, not 232/233; the jump-off is Art. 218, not 245 (245 is now Knock Down); elimination is Art. 263, not 241 (241 is now the Competition Arena). This app was specified to me with the old numbers and they are wrong for the edition it implements.
Annex V does not print a formula. It prints five tables, one for each of 300, 325, 350,
375 and 400 m/min, covering 100 m to 990 m in 10 m steps. All 450 printed
cells were checked against candidate rules: rounding to the nearest second misses 116 of them and
rounding down misses 277, while rounding up reproduces every one. So the time allowed is
ceil(length × 60 ÷ speed) and the limit is twice it (Art. 253).
One trap, found here before any test existed: writing that ceiling as
ceil(length ÷ speed × 60) is wrong on two of the 450 cells.
310 m at 300 m/min evaluates to 62.00000000000001 and rounds up to 63 where the FEI
prints 62; 620 m does the same. Dividing first throws away the exactness. Multiply first.
That same slip was in my own research notes, which recorded the miss counts as 117 and 278. They were produced with the division-first arithmetic, which pushes one further cell across an integer boundary and inflates both counts by one. The counts above are the corrected ones, and the harness asserts both the right answer and the wrong one so the difference cannot quietly reappear. This corrects my notes, not the FEI: the rulebook prints the answers, not the counts.
For one transition yes, for the other no, and the model reproduces both.
The cost model has three terms, each with a mechanism rather than a curve fit: a postural metabolic rate; the cost of generating force, which scales as body weight over the time a foot is on the ground; and the external work of relaunching the centre of mass, with elastic return in the bouncing gaits and a step-to-step collision loss in the walk. Its two free constants were fitted to Kleiber's resting-metabolism allometry and to the interspecific minimum cost of transport at a documented galloping speed — neither target mentions a gait or a transition, so what follows is prediction.
Yes, and the residual is then traced to one cause by a control.
Across leg lengths of 0.70 to 1.50 m the predicted transition speed rises from 1.86 to 2.59 m/s — 39 per cent — while the Froude number falls from 0.504 to 0.456, a spread of only 10.5 per cent. Two controls locate what is left:
And a point the two headlines together obscure: the peak force on a limb works out as π times its share of body weight over twice the duty factor, so it depends on the duty factor and nothing else — and the duty factor is itself a function of Froude number. A force-triggered transition therefore scales with Froude number just as an energetically triggered one does, so observing Froude invariance cannot tell the two hypotheses apart.
The first version here took Bobbert & Santamaría's documented push-off energy of 2.3 + 2.5 = 4.8 J/kg and put all of it into vertical kinetic energy. That gave a take-off speed of 3.10 m/s, a 0.63 s flight and a 3.8 m span. The same authors' tables give the take-off state directly: 1.73 m/s vertical, a 0.35 s flight and a 2.08 m span — wrong by nearly a factor of two on every one.
The error was bookkeeping. Most of the push-off does not leave the ground as kinetic energy at all: it raises the centre of mass during the push, from about 1.35 m standing to 1.67 m as the hind feet leave. Splitting it that way gives 3.14 J/kg of lift plus 1.50 J/kg of vertical kinetic energy — 4.64 against the 4.8 the same paper measures for the push, a budget that closes to 3 per cent. Rebuilt on the split, the model reproduces every measured quantity:
| quantity | model | measured |
|---|---|---|
| take-off vertical speed | 1.771 m/s | 1.73 m/s |
| centre of mass at take-off | 1.670 m | 1.67 m |
| apex over a 1.15 m fence | 1.830 m | 1.83 m |
| flight time | 0.361 s | 0.35 s |
| flight span | 2.132 m | 2.08 m |
| take-off angle | 16.70° | 16.3° |
| push-off energy | 4.71 J/kg | 4.8 J/kg |
Because the push energy is exactly g times the total rise however it is split, a horse's scope is a ceiling on the rise, and it is free to spend that rise on height or on hang time. That is why the same horse can jump a 1.50 m vertical and a 4 m water: over water it takes off flat and long.
Nothing here says "spreads lose their back rail". The folded fore limbs hang further below the centre of mass than the folded hind limbs do, because by the time the hinds reach the back rail the trunk has rotated nose-down — the bascule. Put those two depths in that order and verticals come down at the front rail while spreads and triple bars come down at the back, on their own. Both depths are reconstructed; their order is not.
← → or A D steer. ↑ ↓ or W S ask for more or less pace. Q and E shorten and lengthen the stride as you come to a fence — the gauge under the clock is centred when you are meeting the fence on a stride. Hold C for the overhead view. On a phone or tablet the same controls are on-screen buttons while you ride: ◀ ▶ steer, ▲ ▼ pace, Short / Long the stride and hold View for the overhead view. The horse leaves the ground on its own; your job is the line, the pace and the stride.
Go clear inside the time allowed and you go to the jump-off, which is the same fences over a shortened course against the clock.
This is an independent reimplementation of the sport of show jumping. It is not a copy of any commercial game, it reproduces no one's assets or code, and it is not affiliated with, endorsed by, or connected to the Fédération Équestre Internationale or any national federation. Show jumping is a sport, not a product: there is no original author or publisher to credit, so what is credited here instead is the governing body whose rules are implemented and the researchers whose measurements the horse is built from.
Faithful: the Table A and Table C penalty tables; the time allowed and the time limit; the six-second correction; the disobedience, elimination and jump-off rules; obstacle height, spread and water-jump limits; combination distances; arena minima; start and finish line placement; red flag right and white flag left. All from the FEI Jumping Rules, 28th edition.
My own decisions: the two course designs and the arena layout within the FEI minima; the refusal probability model, which nothing published pins down; the horse's acceleration and turning; the autopilot rider; and the reconstructed parts of the locomotion listed under The model.
Not modelled: ground conditions, the warm-up arena, Ground Jury discretion, veterinary and tack rules, championship formats, Puissance and Six Bar, and the whole of the officiating procedure. There is one horse and one rider; the other results in the table are simulated rounds, not real competitors.
Every constant and every claim this app makes is tagged in the shipped file
js/provenance.js as DOCUMENTED, DERIVED, MEASURED, CALIBRATED or RECONSTRUCTED, and
the page's own test harness recounts the list from that file rather than trusting this number.
128 items: 95 documented, 9 derived, 13 measured, 3 calibrated, 8 reconstructed — 74.2 per cent documented, 6.3 per cent reconstructed. One of the documented items is a general reference value (standard gravity) rather than something taken from a document opened for this build, and is flagged as such in the file so the documented share is not flattered.
Hand-written WebGL; no three.js and no other library. No network calls of any kind: no model,
no API, no analytics, no fonts and no images fetched from anywhere. Your preferences and best
result stay in this browser. Licence and full credits ship as
LICENSE.txt and CREDITS.txt.