Login  |  Register

Author Topic: Banned card list for bot games  (Read 133 times)

Offline AdamH

  • Sr. Member
  • ****
  • Posts: 449
    • View Profile
Banned card list for bot games
« on: 10 September 2020, 10:56:50 PM »
After playing my tenth game in a row against a bot where I got a free win because of a certain card that causes it to play horribly, I had a revelation. Why isn't there a list of cards we can ban from games with bots?

First, this would provide an immediate solution that actually works for all of the cards that cause the game to hang whenever the bot tries to play them. I know it's probably in the bot's code to never buy these cards, and the hope is that this is enough that the bot never has to play that card and figure out how to make a decision that it's not coded to make, but as we can see there are cards like Swindler and Masquerade and whatever that get around this.

The severity of the bot hanging in this situation is HUGE -- it makes the software completely unusable in the worst possible way when it does happen, and I realize that some of these issues can be hard to track down and fix, so having a list of cards that will just never appear in the kingdom when a bot is in the game will solve this problem immediately so this kind of thing doesn't have to exist in your software where users can suffer from it. I guess this doesn't completely the case where "continue with bots" is used.

Second, it provides a more elegant solution to the fact that the presence of some cards in the kingdom means that the bot will fall flat on its face and it is absolutely no fun at all to play against the bot. Whenever I see one of these cards in the kingdom in a bot game I just resign and re-roll at this point. Sure, for some of them it would be easier to just change the code to "never buy Counterfeit ever" and it would be a huge improvement, but other cases are probably more difficult to code and just having them not appear at all fixes the problem for all of them. Here's a starter list of cards that I will see and just re-roll the kingdom when I see (with Lurker and Torturer sometimes I can get away with promising myself I won't buy the card but that's super lame):

Torturer
Counterfeit
Lurker
Bandit Fort

This list doesn't even have to be visible to the user, it can just happen behind the scenes, at least it shouldn't be configurable for the cards that have AI bugs. Maybe a little warning could pop up when you specify a kingdom with one of the bugged cards in it, warning the user or something? I don't really know or care about the details. I just know that banned cards lists are already implemented and this would almost certainly be very very easy to code and would greatly improve the user experience AND solve several huge huge huge problems with the AI that are causing the software to crash.

EDIT: Looks like reddit has a thread about this. Maybe this list is a bit more complete? https://www.reddit.com/r/dominion/comments/iwrgca/lord_rattingtons_biggest_weaknesses/

Offline Ingix

  • Global Moderator
  • *****
  • Posts: 2258
    • View Profile
Re: Banned card list for bot games
« Reply #1 on: 11 September 2020, 01:31:57 PM »
I like the idea.

Adding some (maybe many) cards to the banned list vs. bots seems useful, as you note there are cards like Counterfeit or Torturer where the AI is off meaning lopsided games.

I would think everybody should be able to configure that themselves (I would for example not ban Bandit Fort but inlclude Defiled Shrine, which the bot never uses).

It's unfortunately not a cure against all the cases where the bot hangs, because some players use the "continue with bot" option when their opponent resigns.

I'd also think that the cases where a bot game hangs are really rare, if that game was started as such (not loaded or a continuation). As you note, you need some "gift cards" for that. So wouldn't want to ban for example Scepter from my bot games because it might also have Swindler or Masquerade and I get in the situation where I need to "gift" a Scepter to the bot.

OTOH, a hung game is hard to get out of for players (sometimes a resign works, sometimes it doesn't, IIRC). So maybe rarity isn't a counter argument. I need to think more about this.

But generally, such a bot-banned-list (in whatever implementation) sounds like a good idea!

Offline josh bornstein

  • Sr. Member
  • ****
  • Posts: 422
    • View Profile
Re: Banned card list for bot games
« Reply #2 on: 14 September 2020, 02:13:34 AM »
Great idea. Can you add Bank.  (Bot buys this, but plays it first or second, which obviously makes no sense at all.).  Ruins any games with this card in it.

I've been asking for the simple fix (ie, program "play Bank last when playing treasures") for a year or two or three.  Since this simple fix request has been ignored, far better to be able to easily set up games where crappy cards (in terms of functioning properly with Lord Rat) can be excluded.