Shuffle iT Forum

Dominion => Bug Reports => AI bugs => Topic started by: serakfalcon on 10 December 2017, 11:49:08 AM

Title: Bot freezes after trashing Province with Transmute
Post by: serakfalcon on 10 December 2017, 11:49:08 AM
In game #9502115, the opposing player resigned so I decided to continue playing against Lord Rattington. Lord Rattington started it's turn by promptly trashing a Province for a Gold and then froze. Besides this being an utterly stupid move (costing 9 points because of Bandit Fort) Lord Rattington got stuck and didn't finish their turn I had other things to do so I left for most of the day, 10 hours later, Lord Rattington is still frozen.

By the way, it should be possible to force Lord Rattington to resign for not taking a move!
Title: Re: Bot freezes after trashing Province with Transmute
Post by: Ingix on 11 December 2017, 02:52:00 PM
Thanks for reporting the problem!

I think you happened upon a deeper problem of a 'save game corruption', which just manifested itself as an apparant bot problem. I could recreate your problem in the original game (#9501973) against your human opponent.

According to that game's log, it included 181 decisions. However, upon loading, it will get stuck after some 140 decisions, after the "Transmute a Province into a Gold" behaviour.

Loading at decision 141 has the game at the end of your turn 14. You had just bought a Province and have $1P1 left and 2 buys.

Loading at decision 142 has the game at the start of your opponent's turn 14 (you didn't buy any more cards in your last turn). They (in the reloaded logs the opponent is Ingix2) had drawn cards from their Wharf:

Turn 14 - Ingix2
Ingix2 starts their turn.
  Ingix2 draws a Copper and a Transmute (Wharf).

Loading at decision 143 then shows the following log:

Turn 14 - Ingix2
Ingix2 starts their turn.
  Ingix2 draws a Copper and a Transmute (Wharf).
Ingix2 plays a Transmute.

That's OK, Ingix2 decided to play a Transmute, let's see what he choose to trash, when loading the game at the next decision (144):

Turn 14 - Ingix2
Ingix2 starts their turn.
  Ingix2 draws a Copper and a Transmute (Wharf).
Ingix2 plays a Transmute.
  Ingix2 trashes a Province.
  Ingix2 gains a Gold.

However, I did this a few times, and sometimes the game comes up with a different log of what happened in your opponent's turn 14:

Turn 14 - Ingix2
Ingix2 starts their turn.
  Ingix2 draws a Gold and a Druid (Wharf).
Ingix2 plays a Wharf .
  Ingix2 draws a Copper and a Province.
Ingix2 plays a Potion, a Copper and a Gold.

Notice that now the cards drawn from the Wharf are different and that instead of the Transmute another Wharf is played.

As I said in the beginning, the original game had 181 decisions (according to the reload game screen), but the above happens much earlier. So I assume that something went wrong with the recoding of the game log at around this point (decision 142-144). When you wanted to continue the game with a bot, it had to reload the game, reached decisions 142-144 and the corruption caused the reload process to stop.

From your point it looked like the bot made a stupid decision, but in reality this was still part of your original game (but it probably played out differently, because there is obviously something wrong).