See OTB protocol later for practical play using physical board and move sheet.
R-Mobility aka reset-mobility is generalization of mate and stalemate: force opponent to have as few legal moves as possible. R-Mobility allows to convert advantage in drawn games into favorable tiebreaks. Only last record since previous pawn and/or capture move counts.
The goal of r-mobility is to achieve a position after the last pawn move or capture where your opponent has as few legal moves available as possible. Not being in check is counted as an additional 0.5 move. Pawn/capture move resets goals achieved so far and only positions after it are considered.
When fewer legal moves are available, this results in a worse scoring.
Being in check is considered worse than not being in check.
- Mate is 0 legal moves and in check and thus worst possible result for side being mated and best result for side doing mating.
- Stalemate is 0 legal moves and not in check and thus 2nd worst possible result for side being stalemated and 2nd best result for side doing mating.
- 1 legal move in check is 3rd result.
- 1 legal move not in check is 4th result and so on.
First one to achieve best goal gets it.
Short syntax for goal is Gn.m where n is number of legal moves and m is 0.5 if not in check and - if black wins.
- mate = G0.0
- stalemate = G0.5
- 1 legal move in check = G1.0
- 1 legal move not in chek = G1.5
If win is for black, then - as added to front: -G8.5
For reset mobility (r-mobility) only positions since the last pawn move or capture in the game are considered.
If used for tiebreak purposes, then points decide tournament as usual and is 100% compatible with both FIDE and ICCF rules, except for tiebreak calculations unless added to the end of current tiebreaks. In this case the first (additional) tiebreak is number of times stalemating opponent - number of time being stalemated by opponent. The second tiebreak same, but for G1.0 result, the third tiebreak for G1.5 result, etc..
Position triggering the 50-move rule is ignored unless it's mate or stalemate. Reason is that otherwise can make an unprotected adjacent check and get a good result without the opponent being able to capture the checking piece.
|Position after 1. Ke6|
Mate or stalemate unless the pawn can be captured. Diagram for common stalemate result.
|Position after 1. Bf5|
Usually G1.5. For example:
1. Bf5 (diagram)
Subgoal is to get positions where the lone king is forced further towards edge.
The game continues with
1... Kh5 2. Kf4 Kh6 3. Kg4 (diagram)
Now black king has only 1 legal move and is not in check (G1.5).
Players can continue game until a threefold happens or 50-move rule kicks in, but unless black blunders, white will never achieve a better result (stalemate, or one legal move while in check) and thus players might as well agree on the game result here.
|Position after 3. Kg4|
Stalemate is possible if the the lone king is near any corner and the other king is nearby in a suitable position.
1. Kf6 (diagram) Kf8 2. Bd7 Kg8 3. Be6+ Kh7 4. Bf7 Kh8 5. Kg6
|Position after 1. Kf6|
|Position after 1. Nd5|
Usually G3.5 (diagram) but G1.5, G2.5 and stalemate are possible depending position. Rarely G2.0, G3.0 and G1.0.
|Position after 1. Ke5|
Usually G5.5, example:
1. Ke5 (diagram) Kg6 2. Ke6
Threefold will soon follow, as neither side is able to improve on the result.
G3.5, G8.5, G2.5, G1.5 and G4.5 results also possible depending on position.
With G8.5 or -G8.5 position (diagram) if either side tries to go closer to other king, will then lose to G5.5, for example in diagram position after
1. Kd5 Kf5
white has 5 legal moves and thus black wins game with -G5.5.
|Position after 1... Kxg5|
Thus both players have to keep distance and threefold follows soon and result stays at -G8.5.
Stalemate unless a knight can be captured or mate in 1 is available.
Only time so far needed was in Top 4 engine bonus, results at 
Script to add RMobilityResult tag is at  Needs python-chess library. Usage: python parallel_tag_rmobility.py input.pgn output.pgn
Winner of r-mobility tiebreak is player with most r-mobility points. 50-move rule is ignored for tablebase positions. They are are calculated using formula ½±½^(1+2*G) following way:
No draws version
Can use komi with ¼ added to value. For example if G3.75 is komi, then white has to get G0.0, G0.5, G1.0, ... or G3.5 or black wins the game. In this case result would always be 1-0 or 0-1 and there are no draws.
For on the board games could limit application to 1-4 legal moves and use full range only for ICCF and engine games. 50-move rule applies to all positions as usually including tablebase positions.For OTB play alternative is that 50-move rule is counted from the last record in the move sheet.
- Pawn/capture move: draw line in the move sheet and if 3 or less legal moves, mark that number. Add 0.5 if not in check.
- If get position with less legal moves than record so far after last line, mark it down
- After game look at latest record after last line, if there is any, opponent wins by that, otherwise draw. Best possible result is of course mate.
Whole game mobility
For whole game mobility all positions in game are included. 2-5 piece tablebases have been generated for wg-mobility and longest records and statistics are available at  R-mobility is often same, but there are crucial differences and some games are longer and more natural for r-mobility.