Skip to content

The race rules on POD Gold ​

2026-10-24, third session on the race rules.

Places of the eight cars through a five-lap Gold race on Azthec, with each change of order between gates marked

POD Gold, Azthec MEDIUM: the cars' places as the game recorded them. Green: the 59 changes of order between gates that pod-race reproduces from the game's own path state. Amber: 8 where several cars moved within one sample, so the sample cannot say which came first.

The project now follows POD Gold 2.8 only, so the race rules moved over. Three things had to move with them: the measurements of the original's functions, the reference races, and the check of the race order.

The functions, measured again ​

The measurement scripts now take Gold's addresses from the map of the two builds (labels/gold/map.tsv), with the first edition kept behind a --first switch as history. All five functions are recompiled in Gold: the gate test, the two order updates, the time format and the path tracker. On 20,000 random cases each they give the same answers as before, and the Rust port matches every one.

They also run now under the FPU control word the game really races with, 0x027f. The physics session read it from inside the running game. The gate test's dot product rounds differently at that precision: each sum rounds straight to a step of 65,536, not to a step of 32 first. The old model was right for the control word we had assumed and wrong for the game. On Gold's gate test the two words disagree in 11 cases of 20,000. The port now follows 0x027f and matches all of them.

Three races instead of one ​

The replay test now runs Gold's three reference races: Beltane on EASY and MEDIUM, and Azthec, one of Gold's new tracks, on MEDIUM. Two things needed care.

  • The records of one car at a time. Gold ran slowly in the emulated PC: many frames take the longest time the game allows, so one frame spans several samples. The replay rebuilds frames from the samples and cannot split one of these frames, so a sample's records are now checked car by car. Every car's record matches at every sample of all three races.
  • One bit no port sets yet. On Beltane MEDIUM the player's final record had a bit no document named. A scan of Gold's code found its only writer: the routine that follows a human car along the race paths once a frame, which sets the bit while the car heads the wrong way. The scripted driver had got stuck in that race. That routine is not ported, so the test masks that one bit and says why.

None of the three recordings reaches the results screen, so the results text is checked only in the first edition's history for now.

The order between gates, against the game's own trackers ​

Gold's recordings hold, for every car, the place the game keeps for it on the race paths. That made a much sharper check possible. For each pair of samples with no gate between them, the core starts from the game's own records, order and places. It applies the places' moves through the order update and compares the result with the game's next order.

In all three races it gets the game's order every time it can decide, 18,265 pairs in all, and that includes all 106 of them where the order changed. 37 pairs are counted apart: there several cars moved within one sample, the core's order differs, and the samples do not show which car moved first. 2 more involve the player, whose comparisons take a branch not ported yet. One change showed up a sample late: the recorder reads the order a moment before the places.

The earlier check, which compared a whole replay's order with the recording, is now a report rather than a test. With Gold's slow frames it measures the replay more than the rules.

What is known, and how ​

  • Measured: the five functions on Gold, 20,000 cases each, under 0x027f.
  • Measured: every car's record at every sample of three Gold races, and the final records and order.
  • Measured: every order change between gates that the samples can decide.
  • Observed: the wrong-way bit and the routine that sets it.

Next ​

  • Port the human car's path follower and its wrong-way bit.
  • A Gold race recorded to the results screen, to check the results text on Gold.

Prose CC0 1.0, code Apache 2.0. POD: Planet of Death is © Ubi Soft; none of its files are on this site.