How do I calculate a race between two advancing soldiers on opposite wings?
These answers restate the rules implemented by our open-source engine, which follows the WXF laws and is regression-tested against the official 110-diagram repetition casebook. Where an answer refers to a specific position, that position lives on the linked reference page, where the build verifies it against the engine before publishing.
Direct answer
Count moves, not distance. Work out the exact number of moves each soldier needs to become a genuine threat near the enemy palace, factoring in whose move it currently is, rather than judging by which soldier looks further advanced. Two soldiers that look similarly placed can need a very different number of moves once each one's actual path and any obstacles are counted precisely.
Why a soldier race needs exact counting, not impressions
A soldier's value and danger change once it crosses the river, so "further along" is not the same as "more moves from actually mattering". Count the specific moves each soldier needs to reach a point where it genuinely threatens the enemy palace or forces a response, and compare those counts directly, the same discipline used to calculate any other forcing sequence.
Why tempo parity decides close races
If both counts come out close, whoever has to move next can decide the race, exactly the tempo-sensitivity described at why some tactics depend on whose move it is. A race that looks even by eye can be clearly winning or losing once you actually count from the correct side to move.
Related questions
Does support from other pieces matter in a race like this?
Yes, a soldier supported by another piece can often be defended or accelerated in ways a completely lone soldier cannot, so the race is rarely just about the soldiers alone.
Is this kind of race common in real games?
It appears specifically in endgames where both sides have simplified down to soldiers and a general with light defence, which does happen but is not the most common endgame type.