Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support handicap games #117

Open
lightvector opened this issue Jan 23, 2016 · 6 comments
Open

Support handicap games #117

lightvector opened this issue Jan 23, 2016 · 6 comments

Comments

@lightvector
Copy link
Owner

Support creation of games in the frontend that allow on the step phase players to place less than the full set of pieces. There is actually already server support for this, so this is purely frontend work.

@clyring
Copy link

clyring commented Jan 23, 2016

This is more than just allowing creation of such games: The UI also has to be able to handle playing such games.

@lightvector
Copy link
Owner Author

Thanks, I was aware but forgot to mention that. Probably a prerequisite to this is #105, whose implementation should also keep this in mind this extension (one could imagine an interface that involved clicking on or even dragging and dropping on the captured piece display as a way to swap pieces in and out of the starting setup).

@mattj256
Copy link
Collaborator

I would love to support handicapped games. It does add some additional wrinkles though. Would this break bots or tools? Certainly the AEI doesn't provide any way to tell a bot: "It's your turn to set up and don't use your camel." A bot playing gold would interpret a handicapped silver setup as an illegal move. There are ways around this (by telling the bot to start a new game with an arbitrary setup) but this is clunky and not within the normal design of AEI. Also I thought Omar didn't want any changes to the Arimaa rules?

If the server allows rated handicapped games, we should also think about how the rating system #114 will handle this.

@clyring
Copy link

clyring commented Jan 24, 2016

As far as bots and handicap games, I was thinking that most likely bots should always set up with the standard amount of material, but the handicap-giver can set up with less. Now that I think about this more, I see a few potential wrinkles:

  • Server bots giving instead of receiving handicap: I don't care about this. Not one bit.
  • Some bots may have overly "robust" illegal move detectors for the setup: This is seriously gross, and I didn't realize until you brought attention to it that this might be a thing that can happen. This is more a problem for bots playing silver than for bots playing gold, as a bot playing silver must be able to respond to the handicapped gold setup. For bots playing gold without built-in support for this, it is probably possible to patch around this to some extent as you say using the setposition command in AEI, but this is a little ugly.
    • My thinking on this is therefore that it is probably better to simply adopt the convention that only the silver player may give handicap, rather than have a lot of old bots lying around that can't handle handicaps from gold at all. Of course, this is somewhat limiting, but we will have the directSetup game type for when players want to do something a little more powerful.
  • I don't view allowing an easier, more standardized way to play handicap games as bending the rules.
  • I think that unless and until handicap games become common, we should not worry about them at all for the purposes of the rating system. Even handicap games marked as rated (which I am okay with*) should probably be ignored by the rating system until we have enough data to actually make a reasonable system for them. We also have to consider such issues as:
    • Is beating a weak player (or bot) at large handicap really a good indicator of skill? Especially from the perspective of your measures suggested in Ratings system improvements #114, it seems dubious to be permissive of allowing someone to elevate their rating to a larger degree by beating up a weak bot at a huge handicap. Probably it is best to say, that, for example, handicaps larger than N rabbits (2-3?) aren't counted or are downweighted significantly once we do include handicap games. Looking to Go as an example, I know that handicap games on KGS cannot be rated if they are larger than 6(?) stones. 5.5 turns worth of extra (tactically non-critical) steps in Arimaa is probably worth roughly 2 rabbits in the opening (maybe a little more), but in Go you have a longer game in which to make up for things. (Though, to be fair, later moves in Go are generally less important rather than more important.)

(EDIT: *To clarify this remark, I tend to think of the rated flag as primarily signalling that both players are trying to play a good game, and trying to win. In the context of handicap games and directSetup games, this would go only for moves after the setup. So even if rated handicap games aren't actually used for ratings, they are still 'good' games for other types of data mining.)

@lightvector
Copy link
Owner Author

Some thoughts:

  • Currently handicap games in the server are forced to be unrated. Maybe they could also be flaggable as rated for the reason that clyring mentions (all moves after the setup may be reasonable), but I agree the rating system should ignore them.
  • For the rules, de-facto people can play them already, it's just that there's this awkward sacrificing of pieces at the start. I think it's not an unreasonable stretch to allow them. Same for directsetup in things like the oracle games that jdb + clueless offered.
  • I don't care about bots that can't handle handicap games with incomplete gold setups. If they can't handle them, they shouldn't create or join games flagged as handicap or directsetup.

@mattj256
Copy link
Collaborator

Some thoughts:

I think of a rated game as one whose outcome will affect my ranking. I take games more seriously when they affect my ranking. (Also if I'm playing an unrated game, especially against a beginner, I wouldn't think twice about intentionally making a suboptimal move. When I play rated it's an insult to my dignity and the dignity of the game for me to intentionally play less than my best. It could also be construed as cheating.)

I don't understand what would be the point of allowing a game to be marked as rated but not affect the player's ranking. I think that's misleading and confusing.

even if rated handicap games aren't actually used for ratings, they are still 'good' games for other types of data mining.)

I disagree. The "good" that you're referring to comes from the fact that people have an incentive to win, not the setting of a boolean flag. No incentives, no "good."

I think that unless and until handicap games become common, we should not worry about them at all for the purposes of the rating system

That's fine, but then they'll be unrated and unreliable. Reliable data comes when people have an incentive to win.

Is beating a weak player (or bot) at large handicap really a good indicator of skill?

That's a good point. Winning against a weak bot with a large handicap shouldn't give a large rating gain unless the handicap is large enough. How do you know if the handicap is large enough? You would need to gather data first.

I was assuming that each player would get a normal rating and a completely separate handicap rating. I wonder if Go-style ratings would work here? I think it would be great to be able to say that a rating difference of 200 points corresponds to a cat handicap. It would also be great to allow one player to start without M and the other player to start without HC. It would be nice to have direct evidence of whether M is better than HC instead of having to resort to statistical arguments.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants