Starting player

Previous topic - Next topic

jeebus

When player A wins, isn't player B supposed to start the next game? It doesn't work like that now.

markus

It's purely random now, unless you set the starting player in the tables option. I think it would be bad, if the "official" rule was implemented without giving a rating bonus to second player. In that case, people who care about their rating wouldn't want to rematch after a win and rather find the next (often same) opponent via matchmaking.

Stef

Quote from: markus on 15 August 2017, 03:17:14 AM
It's purely random now, unless you set the starting player in the tables option. I think it would be bad, if the "official" rule was implemented without giving a rating bonus to second player. In that case, people who care about their rating wouldn't want to rematch after a win and rather find the next (often same) opponent via matchmaking.

Back in the isotropic days I was always a bit annoyed by this rule for exactly the reasons Markus is describing here. Iso was a little more advanced, but people could still influence their 1P/2P rating by playing on or not.

I also thought it could have a nice solution: instead of looking at the previous game this session (what you do IRL) you could look at the previous result between this exact set of players. Obviously IRL that would be a nightmare because of bookkeeping, but online there is this database.

Anyway, I haven't discussed it with Donald yet, unless of course I am doing that right now.

markus

The nice thing about this rule/advice is that by punishing the better player you get closer games.

Looking at the previous result between the exact players helps at the top, when there are only 100 potential players. But it doesn't so much, when there are 1000 potential opponents - and there is the blacklist that could be abused for that purpose.
Therefore, I would suggest that in the case of 2 players that play each other for their first time, you don't give them a 50/50 chance to start, but base it on their history: if player A has won the last game against 70% of their opponents, and player B only against 40% of opponents, give player B a 7/11 chance to start, and player A a 4/11 chance.

It would still have an effect on the rating: if player A is 6.4 levels better than player B, it means that A wins 70% of the games. Now, this means something like winning 80% when going first, and 60% when going second. Implementing that player A only starts about 30% of the games, the average win rate drops to 66% and A would only be 5.0 levels above B.
In general, the differences on the leaderboard would shrink - which is the feature and not the bug as the rule wants to give worse players an advantage.

So, could you still game the system to improve your rating, when you're winning more than 50%? One way would be to not use automatch but create tables and use a random first player (I assume that this option wouldn't be removed.) But that seems tedious.
Another way to maybe game it would be to allow/not allow worse opponents. That can go either way, and I don't even know whether the current rating system does a good job at that. (It assumes that if player A wins 70% against B and B wins 70% against C, that A wins 85% against C.)

Donald X.

Quote from: Stef on 15 August 2017, 09:12:21 AM
Back in the isotropic days I was always a bit annoyed by this rule for exactly the reasons Markus is describing here. Iso was a little more advanced, but people could still influence their 1P/2P rating by playing on or not.

I also thought it could have a nice solution: instead of looking at the previous game this session (what you do IRL) you could look at the previous result between this exact set of players. Obviously IRL that would be a nightmare because of bookkeeping, but online there is this database.

Anyway, I haven't discussed it with Donald yet, unless of course I am doing that right now.
Hello hello.

I think it would be fine if you checked a database for games between the players, to see who should go first.

Another way to look at it is, the intention of the rule is to mitigate first player advantage by having the best player go last. IRL I go the extra mile there; for game one, I go last. With one group we are evenly matched enough that this isn't relevant so I don't always; if there's say one weaker player, they go first.

So, you could pursue the goal more accurately by having the higher ranked player always go second. I don't know if this has any unintended consequences. You can play against higher ranked players to go first, but then, they're higher ranked. If you're high ranked you will mostly go second. And win.

markus

Quote from: Donald X. on 15 August 2017, 04:37:05 PM
So, you could pursue the goal more accurately by having the higher ranked player always go second. I don't know if this has any unintended consequences. You can play against higher ranked players to go first, but then, they're higher ranked. If you're high ranked you will mostly go second. And win.

You could do that and it will give you the most interesting games.

But the rating system would have to reflect that and take the starting player into account. My guess is that the advantage is 3-4 levels. If you don't account for that, it will mess up the ratings.
For example, if player A is a bit better than B and higher ranked, B will start and win the majority of games as the first player advantage overturns the skill gap. That is inconsistent with B being ranked below A and B will one day have the better rating. Then, A goes first and wins a lot, being the truely better player as well. This is also inconsistent with B being higher rated and B's rating falls again. So you'd end up with swingy ratings that don't converge to any difference reflecting the underlying skill gap.

jeebus

Quote from: markus on 15 August 2017, 06:13:14 PM
But the rating system would have to reflect that and take the starting player into account. My guess is that the advantage is 3-4 levels. If you don't account for that, it will mess up the ratings.
For example, if player A is a bit better than B and higher ranked, B will start and win the majority of games as the first player advantage overturns the skill gap. That is inconsistent with B being ranked below A and B will one day have the better rating. Then, A goes first and wins a lot, being the truely better player as well. This is also inconsistent with B being higher rated and B's rating falls again. So you'd end up with swingy ratings that don't converge to any difference reflecting the underlying skill gap.
I wonder if that is even a problem in a game like Dominion that has such a high luck factor anyway in a given game, since here you're talking about games where the players are somewhat close in skill level. In such games, it seems that luck might play a bigger role in creating swingy ratings than the shifting start-player advantage.

AdamH

Whatever is done here, it should be labeled accurately in the software. If I check "random start player" then I expect that to be random and have no other factors involved. If it's doing something other than random, it should be labeled as such.

Quote from: Donald X. on 15 August 2017, 04:37:05 PM
So, you could pursue the goal more accurately by having the higher ranked player always go second. I don't know if this has any unintended consequences. You can play against higher ranked players to go first, but then, they're higher ranked. If you're high ranked you will mostly go second. And win.

The unintended consequence that comes to my mind goes like this. Let's say I'm a highly-rated player (lol) so I'm gonna be going second in most of my games. The fun factor for all of those first-player advantage cards like Cutpurse or like half of Dominion is going to go way down for me. It always sucks when I get hit hard by being second player, but I find a way to make myself feel better about it by saying that I get the better end of that half of the time.

It can lead to situations where I'm getting screwed over two or three games in a row and it feels a lot worse knowing that I'm doomed to go second in every game so I'll have this to overcome. So overall a less fun experience.

Is it rational? Not entirely, but I think the software would be better served by focusing on people having fun instead of having the leaderboard reflect the most skilled players.

On the other hand, if I'm lower-rated (much more likely) and I take a game from someone at the top of the leaderboard, maybe I don't always want my win to have the stigma of "well you went first" -- I'd want to be evenly matched.

The point is, not everyone has the same opinion on what the best thing is, so having all options available is the best solution. Which one do you choose for rated games? I would think that the only way to preserve leaderboard integrity would be to have it be completely random every single game. So that's my suggestion...

But I'd be OK if the higher-rated player went second in the first of a series of games, but if these two people have played each other in the last, say, 24 hours, then you can go do the rule of the winner goes second in the next game. I feel like that captures the spirit of wanting to even things out while preserving fun for everyone involved.

Donald X.

Quote from: AdamH on 15 August 2017, 07:38:13 PM
It can lead to situations where I'm getting screwed over two or three games in a row and it feels a lot worse knowing that I'm doomed to go second in every game so I'll have this to overcome. So overall a less fun experience.
I can believe that some people would have that experience, though I personally have not. I have never minded going last, knowing that I was the favorite to win. Cutpurse doesn't change that for me.

Quote from: AdamH on 15 August 2017, 07:38:13 PM
But I'd be OK if the higher-rated player went second in the first of a series of games, but if these two people have played each other in the last, say, 24 hours, then you can go do the rule of the winner goes second in the next game. I feel like that captures the spirit of wanting to even things out while preserving fun for everyone involved.
Aha:

If none of the players have played today, highest ranked player goes last. If any have played, pick a random non-bot player who has played today, and if they won their last game they go last, otherwise first.

For two player games this works out as:
- if neither have played it's by rank, hooray, the most interesting game
- if just one has played, we go by their last game from today - they have the experience of going first if they lost or last if they won (and the other player can't have that experience, since they haven't played yet today)
- if both have played and they both won or both lost, it's random
- if both have played and one won and the other lost, the player who lost goes first and the player who won goes second, regardless of who we randomly picked. Both players feel like they are getting their deserved slot.

Quote from: markus on 15 August 2017, 06:13:14 PM
You could do that and it will give you the most interesting games.

But the rating system would have to reflect that and take the starting player into account. My guess is that the advantage is 3-4 levels. If you don't account for that, it will mess up the ratings.
I of course personally favor interesting games over leaderboard accuracy.

It's true that using ranking to determine start player would have an effect on ranking. I don't know how much it would be.

I imagine what you could do is, you have two more leaderboards, one for games going first and one for games going second (while using the existing combined one for deciding who goes first). Then after a bit you realize that the leaderboards aren't much different and why do we need three of them and you get rid of the two new ones.

JW

Quote from: markus on 15 August 2017, 06:13:14 PM
You could do that and it will give you the most interesting games.

But the rating system would have to reflect that and take the starting player into account. My guess is that the advantage is 3-4 levels. If you don't account for that, it will mess up the ratings.
For example, if player A is a bit better than B and higher ranked, B will start and win the majority of games as the first player advantage overturns the skill gap. That is inconsistent with B being ranked below A and B will one day have the better rating. Then, A goes first and wins a lot, being the truely better player as well. This is also inconsistent with B being higher rated and B's rating falls again. So you'd end up with swingy ratings that don't converge to any difference reflecting the underlying skill gap.

As you say, the ranking system should incorporate who goes first if each player doesn't have an even chance to go first.

Rather than making the higher rated player always go last, another option is that a player's chance to go last equals the predicted probability that they'll win. This way higher ranking players still get to go first sometimes, but less often the higher rated they are.  That method could also be used if the players haven't played before, and if they have played, whoever won most recently goes last. This tends to produce more interesting games, but even a player who almost always plays lower ranked opponents will go first a decent amount.

Beyond Awesome

I like the idea of the lower ranked player going first, but here is how I would execute it.

I would do what Dominion Sparkle does and use an updated ranking after each game. So, if the higher ranked player is still higher ranked, he still goes second. I'm not suggesting doing what Goko did and have the leader board updated after every win/loss, but rather just go off the adjusted data from each game when playing against the same opponent, if that makes sense. Then, at the end of the day, the leader board would be updated again with the new revised rankings.

Honestly, I'm not a fan of pure random first starts, and I do feel a better system needs to be in place.

yed

As a developer I would leave it random at least until there are almost no game server or card bugs.

Personaly I want to have it random.

Donald X.

Quote from: JW on 15 August 2017, 08:41:38 PM
Rather than making the higher rated player always go last, another option is that a player's chance to go last equals the predicted probability that they'll win. This way higher ranking players still get to go first sometimes, but less often the higher rated they are.  That method could also be used if the players haven't played before, and if they have played, whoever won most recently goes last. This tends to produce more interesting games, but even a player who almost always plays lower ranked opponents will go first a decent amount.
That's a nice idea.

markus

JW's suggestion seems like a good middle ground.

Taking care of the first player advantage in the rating system is actually quite easy: you take one day of data and estimate which advantage can explain the results of games the best.
If you have more data, you could check whether for example that advantage is larger between highly skilled players than between lower skilled players, but that's like second order effects.

You could implement that also when starts are random, and a loss as second player would be less bad than now - whereas a win as first player would be less beneficial. But you can also argue that as long as starts are random, that luck is roughly going to even out over time. You couldn't argue that anymore when starting probabilities are unequal.

AdamH

All of the ideas here besides mine seem fine, I think I was being misunderstood here, though:

Quote from: Donald X. on 15 August 2017, 08:08:40 PM
Quote from: AdamH on 15 August 2017, 07:38:13 PM
But I'd be OK if the higher-rated player went second in the first of a series of games, but if these two people have played each other in the last, say, 24 hours, then you can go do the rule of the winner goes second in the next game. I feel like that captures the spirit of wanting to even things out while preserving fun for everyone involved.
Aha:

If none of the players have played today, highest ranked player goes last. If any have played, pick a random non-bot player who has played today, and if they won their last game they go last, otherwise first.

For two player games this works out as:
- if neither have played it's by rank, hooray, the most interesting game
- if just one has played, we go by their last game from today - they have the experience of going first if they lost or last if they won (and the other player can't have that experience, since they haven't played yet today)
- if both have played and they both won or both lost, it's random
- if both have played and one won and the other lost, the player who lost goes first and the player who won goes second, regardless of who we randomly picked. Both players feel like they are getting their deserved slot.

I was referring to previous matchups only between the players in that game when I made my suggestion. So for example, let's say that you and I are playing a 2P game. We've both played against other people today but that doesn't matter since it's been over 24 hours since we played each other last.

Your idea seemed good too, I just don't know if I was clear about mine.

...in my opinion, though, for rated games anything other than completely random start player can possibly lead to abuse, so the upside of "more interesting games" seems less important than preserving the integrity of rated games.