Hand out the story's roles so as many players as possible get a wish
First come, first served can leave a player with a role they ranked last while another got theirs by luck. Here is a way to hand out the roles that looks at the whole group, how to keep it fair between players, and what to do when wishes tie.
Why this works
Handing out roles one by one lets an early choice quietly ruin a later one. Looking at the whole group at once finds the fairest overall result, and squaring the disappointment makes two small letdowns count as better than one big one.
When not to use it
Skip it for a large group, where trying every combination takes too long, and when players should simply claim a role themselves, as in a lobby where friends agree among themselves. Let them choose, or use a faster, simpler method.
In the full entry
- What to build, step by step
- Starting values and the reason for each
- 3 common mistakes and the fix
- A diagram of every state
- 33 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 "Hand out the story's roles so as many players as possible get a wish" (read_entry online-assign-story-roles-by-preference) 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