Spielerando

Pick who keeps watch each night without the same person twice in a row

Shuffling the crew every round is fair over time, but at the seam between two rounds the last person can come up first again, and fixing that by redrawing quietly makes some orders more likely than others. This shows a clean way to keep every allowed order equally likely.

Why this works

A rule that forbids one bad case can be met fairly only if every allowed order stays equally likely. Choosing the first place from those still allowed, then mixing the rest evenly, does that, while fixing a clash afterwards quietly favors whoever was swapped in.

When not to use it

Skip it when the rotation should be strictly even, so that everyone takes the bad shift equally often over time. Then use a fixed cycle or keep a count per person, since randomness cannot guarantee equal burdens.

In the full entry

  • What to build, step by step
  • Starting values and the reason for each
  • 4 common mistakes and the fix
  • 24 lines of example code with 4 checks that pass
  • How your AI shows you that it works

Say this to your AI

Use the Spielerando entry "Pick who keeps watch each night without the same person twice in a row" (read_entry night-watch-rotation-no-repeat) in my game. Build it step by step, and show me how you checked that it works.

Or skip this and connect the MCP: your AI then finds all of this by itself.Connect the MCP