Gamer Nation

Snakes and Ladders

Press Roll and the token walks the squares one at a time instead of arriving at the far end, which is the only way to see what actually happened to it. This is Moksha Patam, an Indian game old enough that nobody owns it, on a fixed layout of eleven ladders, ten snakes and a hundred numbered squares. The board here uses the strict finishing rule, where a token has to land on 100 exactly and anything over is walked back down the last few squares, and it prints that fact in a line underneath itself rather than leaving you to work it out from a move that did not go where you expected.

Every page in this section

Which of the two finishing rules this board is playing

Both endings are completely standard, both are widely played, and most people never notice they have been playing a different one from the person opposite. Under the strict rule a token must land on 100 exactly, and a roll bigger than the gap is walked back down from 100 by the excess, so 97 and a 5 finishes on 98. Under the loose rule any roll that reaches 100 or passes it simply wins. Neither is the rule. The board on this page is set to the strict one and says so in a line under the grid reading “An exact roll is needed to finish. Anything over bounces back.” – a setting the page carries rather than a control you can work, so it will not change under you mid-game.

The gap between the two is far wider than it sounds. Running 200,000 solo games under each rule on this exact layout, the strict ending took 46 rolls on average and the loose one 31; the medians were 39 and 27. One square explains most of it. On this layout 99 is a snake head that drops a token to 80, and the strict rule keeps feeding it: an overshoot bounces back onto 99 far more often than any ordinary square gets landed on, so that one snake fires 1.85 times in an average game, more than any other jump on the board. Two thirds of games bounce at least once before they finish.

There is nothing here to play well

Unusually for a board game, this one holds no decision anywhere in it. You roll, you move the number you rolled, and every consequence is forced. There is no point at which anyone chooses, nothing to hold back and no order to put anything in. That is worth saying plainly, because it decides what the game is good for: someone who can count to six is playing it exactly as well as an adult, and no handicap has to be negotiated. It also means that a computer player would have nothing whatever to compute – it would roll a die like anybody else – which is why the boards here just pass the Roll button along the seats rather than pretending to think.

The only structural asymmetry left anywhere in it is turn order, and it is small enough that the two-player page spends a section measuring exactly how small before telling you not to argue about it. Everything else in the game is symmetrical, for the simple reason that there is nothing else in the game.

What the other four pages are for

The layout is pinned, so every page in this wing carries the same hundred squares and the same twenty-one jumps, and the difference between them is entirely what is written beside the board. The board page is about the object: which twenty-one squares do something, why the numbering reverses on every row instead of running left to right on all of them, and the several ways a randomly drawn board can turn out to be unwinnable while looking perfectly ordinary from across the room. The rules page separates the parts everybody agrees on from the four house rules that different tables genuinely play differently. The two-player page is about the seats, and about how often the player who looks beaten is not. The printable page is about what survives the printer, which on a board carrying twenty-one arrows and a hundred numbers is a real question.

What the board says out loud

Every move is reported as one sentence in the line above the grid, which is also what a screen reader announces: something like “Red rolled 4. Overshot and bounced back to 99. Down a snake, 99 to 80. Blue to play.” One sentence rather than three separate announcements, because two live regions talk over each other. Under the grid, the seat list keeps each player’s square number beside their name, so nobody has to hunt for a token to find out where they are, and the seat due to roll carries a small arrow as well as a heavier border. Three buttons, and no more: Roll, New game, and Print board. New game deals the same layout again with the tokens back at the start – the board here is pinned, so what changes between games is entirely the dice.

Everything that makes this snakes and ladders online work is in the page itself: one file of JavaScript, written here, with nothing embedded from anywhere else and nothing fetched while you play. There is no account and nothing is stored, which cuts both ways – no sign-up, and no half-finished game surviving a reload.