[EPIC - NATION SELECTION] Preference Based Nation Assignment #827
Replies: 3 comments 1 reply
|
I like this feature, but to be honest, the description here is so long and goes into such depth that I feel like it needs to be trimmed down a little bit. Simply describing the user experience would almost be enough. When I read the User Experience section, it reads a little bit weird to me. The Opt-in Behaviour section reads weirdly. In fact, a lot of this reads weirdly. I think it's a good feature, but it's hard to parse this discussion item. My understanding of how this feature should work is:
|
|
Yes. This is more an advanced note for me - I write very messy and I let
the ai summarize it. To me this is very clear for the level we are at right
now.
If we go into this more in depth I'll rewrite it completely when it needs
more thinking.
The ai adds some stuff like nongoals etc that is not so important.
For me
- when you join a game, you have the option to select nations
- you make a list of preferred nations in rank.
- this doesn't have to be ALL nations, e.g. 1) England 2) France rest I
don't care. All 3.
- when the game starts, an algorithm makes the best order, trying to give
each player their highest ranking.
I can write it like this but that becomes very stale stuff.
All these epics are not for sending them to the bot now. Not even close.
They're thought blurbs to save the thinking and cristallize it out when we
get closer to implementation
…On Wed, 24 Jun 2026, 01:23 John McDowell, ***@***.***> wrote:
I like this feature, but to be honest, the description here is so long and
goes into such depth that I feel like it needs to be trimmed down a little
bit.
Simply describing the user experience would almost be enough. When I read
the User Experience section, it reads a little bit weird to me. The Opt-in
Behaviour section reads weirdly.
In fact, a lot of this reads weirdly. I think it's a good feature, but
it's hard to parse this discussion item.
My understanding of how this feature should work is:
1. A game can be created with preference-based nation assignment.
2. When players join the game, they rank their preferred nation. They
have the option of specifying no nation or a random option, whichever.
3. Some algorithm works out how to distribute the nations among the
players.
—
Reply to this email directly, view it on GitHub
<#827?email_source=notifications&email_token=ABXURGPDJMCSZ6GQERKJEIT5BMGNRA5CNFSNUABIM5UWIORPF5TWS5BNNB2WEL2ENFZWG5LTONUW63SDN5WW2ZLOOQXTCNZUGEZTIOJZUZZGKYLTN5XKMYLVORUG64VFMV3GK3TUVRTG633UMVZF6Y3MNFRWW#discussioncomment-17413499>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ABXURGMAFHYYJHBZXFY4OGT5BMGNRAVCNFSNUABIKJSXA33TNF2G64TZHM4TAMRZGA4DMMRQHNCGS43DOVZXG2LPNY5TCMBTGAZDKMBQUF3AE>
.
You are receiving this because you authored the thread.Message ID:
***@***.***
com>
|
|
Didn't realise there was a Github discussion about this, so I'll summarise the stuff I've put on Discord. Instead of ranking countries, I think the better solution would be to offer players the ability to mark countries as 'Preferred' or 'Avoid' using thumbs-up/thumbs-down or upvote/downvote markers. My reasoning is that when you go to start a Diplomacy game, you might be thinking 'I hope I get France or Germany this game' and you might be thinking 'I hope I don't get Turkey again' and you might even be thinking both. You're unlikely to have a ranked preference in your head of every nation. Asking players to rank each country is an unnecessary level of detail and thought to start a game. The problem becomes worse on large variants with lots of countries. In the above example or wanting to play either France or Germany, though I'm not bothered which, I'm forced to make an arbitrary decision which to rank first. The proposed system included a 'Random' marker, below which no preference is indicated. This is an additional step for the user which I find unintuitive, having not seen the pattern before; would need careful UI design and explanation to convey the actual mechanism. Also, this does not allow players to mark negative preference; in the above example of not wanting to play Turkey, that means I have to order every other nation arbitrarily, despite not caring about them, then leave Turkey at the bottom. If I've randomly put, say, France at the top of my list, the algorithm could assign me my 'top preference' over someone who genuinely wanted it, when I'd have been equally happy with any of five other nations. An upvote/downvote system essentially gives player three tiers of preference to sort countries into: every country starts in Neutral and can be moved up to Preferred and down to Avoid. This should be enough for the large majority to express their desires and should be quicker and easier than individually sorting a list. As with the ranked system, it's ignorable for players who don't care. These are the mockups I put on the Discord, imagining a modal window that appears before joining the game:
As for the algorithm, I suggest Linear Sum Assignment. The upvotes/downvotes would be converted to numbers (0, 1, 2) depending on tier, then the algorithm spits out the most pleasing distribution. I ran some tests using a vibe-coded preference-assigner and it seems to do a good job of pleasing everyone as much as possible. |


Uh oh!
There was an error while loading. Please reload this page.
Feature: Preference-Based Nation Assignment
Summary
Allow players to optionally rank nations in order of preference before a game begins. When the game starts, the nation assignment algorithm attempts to maximize overall player satisfaction by assigning nations according to submitted preferences.
Players who do not wish to participate can leave their preference setting as Random (the default), preserving the current behavior.
Problem
Nation assignment is currently fully random.
While random assignment is fair, many players have strong preferences regarding which nation they enjoy playing. Receiving an undesirable nation can reduce player satisfaction before the game even begins.
At the same time, allowing players to directly select nations creates conflicts when multiple players want the same country.
The goal is to provide a fair mechanism that respects player preferences while maintaining balanced nation distribution.
Goals
Non-Goals
User Experience
Default Behavior
When joining a game:
RandomOpt-In Behavior
A player may enable Nation Preferences and rank all available nations.
Example:
Preferences may be modified until the game starts.
Alternative: "Random" as a Preference
Instead of a simple toggle, allow players to insert Random into their ranking.
Example:
This indicates:
This may produce better assignments than forcing players to fully rank nations they do not care about.
Assignment Algorithm
When the game starts:
Example Scoring
The assignment with the highest total score is selected.
Example
Possible result:
This gives two players their first choice and one player their second choice.
Technical Design
Data Model
{ "nationPreferences": [ "england", "germany", "turkey", "france", "austria", "italy", "russia" ] }Players using the default behavior:
{ "nationPreferences": null }Assignment Method
Recommended implementation:
Benefits:
Edge Cases
Missing Preferences
Players who do not submit preferences are treated as having no preference.
Incomplete Rankings
Options:
Recommendation: require a complete ranking unless the "Random" option is implemented.
Preference Changes
Players may modify preferences until the game starts.
Variants
The system should automatically use the list of nations available in the selected variant.
UI Requirements
Join Game Screen
Add:
When preferences are enabled:
Game Lobby
Before game start:
Actual rankings remain private.
Privacy
Nation preferences are private information.
Players cannot see other players' rankings before or after assignment.
Success Metrics
Future Enhancements
Allow players to mark nations as:
Display historical statistics:
Support preference weighting rather than strict ranking.
Allow variant-specific preference presets.
All reactions