I think silverspawn's idea on how to display preference is pretty reasonable, if it's possible to display a big red message as in his mockup. You could even color-code it, maybe red is "VP preference locked," some other color like yellow or orange is "VP preference set but flexible" (the equivalent of checking always request or always refuse but putting nothing in your title right now, except that there is information in your title).
Like silverspawn said, my true preference is "vpon unless my opponent asks for it off," but I put #vpon in my game titles because I think it's important to visibly convey that preference for people who have to decide whether to play with me. I could put something like "vpon" without the hashtag, and that would be fine for now. But if the sort of change we're discussing here gets delivered, then my syntactically incorrect title would become precisely the "dishonest" titling that's been mentioned as a concern here. So I'm preemptively not doing it
Now this might be just to make sense of it to myself and you all already got this, but I'm gonna try a table, using silverspawn's prefs 1-5 from above, of what happens in each pairing.
| 1 | 2 | 3 | 4 | 5 |
1 | locked on | locked on | locked on | locked on | host wins |
2 | locked on | locked on | locked on | default off | locked off |
3 | locked on | locked on | default off | locked off | locked off |
4 | locked on | default off | locked off | locked off | locked off |
5 | host wins | locked off | locked off | locked off | locked off |
Anyone know how to make my table have borders or spacing so it's easier to read? Googling "bbcode table" didn't help. Anyway:
locked on, locked off are obvious
default on, default off mean the counter starts that way but may be changed by chat commands, as it is now
host wins means, for a manually joined game, the host's preference carries. By joining the game the guest accepts the host's clearly displayed preference.
For automatching, the 1-5 pairing becomes less simple because the players didn't decide the host. I'd rather not see automatching fragment the player base by just never making a 1-5 pairing. But as of recently, we effectively have a chat right in the automatch window, so that can be leveraged. If an automatch is a 1-5 pairing, the automatch window can display a message to that effect, and instead of just "Accept," the button becomes "Accept with #vpon" or "Accept with #vpoff", whichever is
the other guy's preference. In other words, Salvager gives both players the option to acquiesce, and they already have the chat window in which to talk about it if desired. If one player does so, the other player's button changes back to regular "Accept," since he will now get his preference. That part means extra communication during automatch setup, so it might make things harder, but it's the clearest solution I can think of, not the easiest to implement
And of course if the players can't agree then one of them simply declines the match.
BTW, I'm taking inspiration for this from the KGS Go server, where a similar approach is used to negotiate scoring methods (Go has several), whether/how a game is timed, and other game settings. The approach works there, and much like over there, players here are mostly polite, so I think it can work here. In most cases KGS suggests acceptable defaults, and I think we will have that here too.
So yeah, that's my two cents... I don't know if it's optimal or even viable but I'm always open to constructive criticism.