Login  |  Register

Author Topic: Suggestions for dealing with slow-rolling / slow play  (Read 227 times)

Offline Donald X.

  • Dominion Designer
  • *****
  • Posts: 136
    • View Profile
Suggestions for dealing with slow-rolling / slow play
« on: 16 July 2017, 11:18:36 AM »
I was going to post in the old thread but it vanished. Here is a new thread focused on the important part. No complaining about specific games or players here please, just suggestions for how to make the world a better place, and discussions of suggestions.

* Time-out rule *

I think that an honest, reasonable player should never be in a situation where they have to play a Copper to extend how much time they have to think. I mean that's obviously bad. If there's a time-out at all, it shouldn't be based on when you last played a card. I think I would base it on how much total time the program has spent waiting for you compared to your opponent, with a threshold. For example, just an example, maybe you get to take twice as much time as your opponent, or 10 minutes, whichever is more. Probably with a warning before the first time it gives them the chance to eject you.

Obv. existing game logs could be looked at to see how often a candidate rule would kick in, and tweak it to be something that mostly would not happen except when slow-rolled or that phone call lasts a while. If existing game logs don't store enough time information to do that, they could be changed to store the extra information, and then data could accumulate. There are a lot of games per day, so, the next day you've got your data and can pick the best rule.

Both players get to stare at the board at once on turn one, but it's someone's turn. The rule should be generous enough that typically no-one worries about that. You could potentially try to special-case this - players click "ready" at the start, and have 3 minutes to do it (or are automatically "ready"), and this time doesn't count for anyone. But in the end some people will want to stare for a while and sometimes they will go first. It's nicer not to have to click "ready" at the start. I dunno.

* Matchmaking *

There is a separate but related issue of just not wanting slow opponents, even non-slow-rolling ones. I think that's reasonable. I would add speed as a matchmaking criteria (or, a thing reported to you when a match is made, that you have to okay to actually play the match). You could split it up into speed for the first and last two turns, and speed for other turns.

I think people who are not super slow will appreciate not being paired against super slow players. I think super slow players are not entitled to make opponents suffer through slow games or resign. Net happiness goes up if you can just avoid the match. If there are too many matchmaking settings, it may take longer to find matches; that seems moot here. If all you can get is pain, you can accept it or be happy not to experience it. If you are not getting matched you can lower your standards; if you see an offer and it looks bad you can decide to do it or not.

* Bots step in *

I don't think there's any way to stop someone from creating a new account, playing what appears to be a normal game, and then, if they're losing, waiting out the clock to give the finger to their opponent. Or, being a seemingly reasonable player for a while and then one day losing their mind and letting the clock run out on a late turn.

I do have a thing to try here though, or at least, a thought experiment. Once there are good bots, it could be that you could let a bot take over for you, and get the win (or loss), provided that it looks like you have the game locked up. Bots do not mind getting slow-rolled, they can sit there and wait patiently.

We can see if you're winning by having you click a button, "I think I've locked this one up," and the program simulates 100 games from this point on, with all bots (again, this requires that the bots be good). If you win all 100 then it lets you replace yourself with a bot and count the result for yourself (and if not the button is gone for this game, you just get one shot at it). However then you could just have bots finish all your locked-in wins for you and uh I dunno. Maybe it's okay - if they haven't resigned because they want to see what their deck does, well they can see that vs. a bot. I dunno what people would think of it though, and if they didn't like it, well it's impossible to test "is someone slow-rolling you" in order to confine it to that situation. So. A thing to think about.

Offline 83gu7z

  • Newbie
  • *
  • Posts: 4
    • View Profile
Re: Suggestions for dealing with slow-rolling / slow play
« Reply #1 on: 16 July 2017, 02:27:57 PM »
For timeout rule:
I could not agree more. It is like in a chess competition, we have chess clock to monitor the time. If one player spends too much time, he/she is declared to have lost the game / has to suffer from some kind of penalties.

For matchmaking:
Generally I agree with your idea, but I believe that it is important for the system to have different standards for beginners and experienced players. Beginners may use more time for making decisions before they will be labelled as "super slow". Players with higher ratings should be able to make decisions in a shorter time, so they are subject to a stricter standard.
(But additionally, maybe it would be good to allow friends or players to set a different time limitation on a case-by-case basis.)

For bots stepping in:
I am very sorry but I cannot fully understand your meaning.
Is it something like this?
----------
1. I play a game with human player.
2. After some turns, I am very sure that I will win. I click the button and let the bot do the calculation.
3. The bot also think that I will win. I can now close the game or do something else because the bot will now replace me. The bot decides what to do, what cards to play and buy, etc. (So does the opponent know the bot has stepped in?) Goto 5.
or
4. The bot is unsure whether I will win. I have to continue to play the game. For the rest of the game, I cannot click the button again.
5. The game ends and the result is announced.
----------
In the above case, will the calculation bring great burden to the servers?
How difficult is it for a player to be allowed to "abandon" the game and let the bot play for them?
Will the bots emulate the human opponent's way of thinking?

Suppose that in a game, the human opponent is a troll trying to make others resign, playing slowly without thinking of real strategies to win the game. It would be good if:
1. The bots can identify such behavior, or emulate the troll's actions during calculation.
2. The chance of the troll winning the game should not be high.
3. As soon as 1. is satisfied, players can let bots kick in and have this slow-rolling player play against the bot.

Offline Donald X.

  • Dominion Designer
  • *****
  • Posts: 136
    • View Profile
Re: Suggestions for dealing with slow-rolling / slow play
« Reply #2 on: 17 July 2017, 12:04:57 AM »
Generally I agree with your idea, but I believe that it is important for the system to have different standards for beginners and experienced players. Beginners may use more time for making decisions before they will be labelled as "super slow". Players with higher ratings should be able to make decisions in a shorter time, so they are subject to a stricter standard.
New players are already separated out by rating. So this situation is just, experienced player with a new player's rating vs. a new player.

I dunno, it has to be that new players can get in games, but of course you can get faster by playing against bots, and if someone doesn't want to play against a slow new player, it seems unfriendly to make them.

(But additionally, maybe it would be good to allow friends or players to set a different time limitation on a case-by-case basis.)
I think obv. a game where you picked your opponent has no need for any time limit. Similarly games (started) against bots don't need time limits.

1. I play a game with human player.
2. After some turns, I am very sure that I will win. I click the button and let the bot do the calculation.
3. The bot also think that I will win. I can now close the game or do something else because the bot will now replace me. The bot decides what to do, what cards to play and buy, etc. (So does the opponent know the bot has stepped in?) Goto 5.
or
4. The bot is unsure whether I will win. I have to continue to play the game. For the rest of the game, I cannot click the button again.
5. The game ends and the result is announced.
Yes that's it. You can go play another game even. I expect we tell the opponent; they will know when the bot gets a turn, but uh I don't know. We want to be nice; if it's not a troll I'd rather be honest with them. I don't get much out of not telling the troll.

Again this is a thought experiment for the moment and also would utterly depend on actual good bots.

My general plan for a good bot is to constantly be simulating the rest of the game (rather than using heuristics); I am not worried about a mere 100 rest-of-the-games being simulated, especially when we stop after any game isn't won by the right player, and expect the game to be nearly over.

The bot would not try to imitate either human in any way. It would just play out the game like a bot. Presumably in the troll situation, the troll normally quits after that, as there's no point to sticking around. In a non-troll situation, the other player sees whatever more of the game they wanted to (that they can before the game ends). Again I don't think there's any way to actually identify them as a troll; this would be possible against non-trolls. And it's hard to guess what people would think of that.