Login  |  Register

Author Topic: Bot stuck on playing Lurker  (Read 385 times)

Offline braintwister

  • Newbie
  • *
  • Posts: 1
    • View Profile
Bot stuck on playing Lurker
« on: 01 May 2017, 06:45:07 PM »
Joining game #3245047 on frankfurt.


Turn 22 - Lord Rattington
L plays a Lurker.

Waiting for Lord Rattington.

Online Ingix

  • Sr. Member
  • ****
  • Posts: 375
    • View Profile
Re: Bot stuck on playing Lurker
« Reply #1 on: 02 May 2017, 08:56:43 AM »
I noticed that

a) the Lurker was not purchased or otherwise "willingly gained" by the AI, but passed to it via Masquerade. Since this doesn't even count as gaining, maybe some setup step for the AI was left out in this case, and

b) the Nobles pile was empty, so maybe the AI decided it wanted to move one of it to the trash, which of course the game engine would not allow.

Of course, all of this is just my guesses from examining the log.

Offline gloures

  • Newbie
  • *
  • Posts: 16
    • View Profile
Re: Bot stuck on playing Lurker
« Reply #2 on: 09 May 2017, 08:18:32 PM »
Also had this problem happen a couple of times while trying to replay (not from the start) an loaded game... Nobles was also in the game and empty for the most part
 

Original game id: 3465091

This is one of the games that ended up stuck at the last turn:  #3465728

Online Ingix

  • Sr. Member
  • ****
  • Posts: 375
    • View Profile
Re: Bot stuck on playing Lurker
« Reply #3 on: 22 June 2017, 03:56:50 PM »
From looking at these examples and some tests of my own, the data seems to be consistent with the following simple theory:

A) If the AI plays Lurker, it will simply "do nothing".

This is rules-conform if there are no action cards in the trash, because the choice to use the "gain an Action card from the Trash" branch is valid, and when there are no action cards in the trash, "do nothing" is the only possible course of action. But it becomes not rules-conform if there are Action cards in the trash, so I guess the game engine will not allow the AI try to "do nothing".

I've never seen the AI do anything (actually trash or gain anything) when it plays Lurker and it froze always when there were Action cards in the trash.

As an experiment, I made a Kingdom with Lurker, Masquerade and 8 non-Action cards. I fed the AI lots of Lurkers, and at the end of the game #4596998 there is one 1 Action card remaining in the supply (a Lurker) and one Action card in the Trash (a Masquerade). You can see in the log that the AI did play Lurker a few times with "no effect" (turn 8,9,12). This was all before I trashed the Masquerade in turn 14.

If you load the game at its end (playing as Ingix), it is your turn and you have a Lurker in hand. If you do nothing, the AI will play a Lurker next turn and the game will freeze (because either branch of Lurker has an Action card that could be selected). But if you use your Lurker to trash the last Lurker in the supply, then the AI's Lurker play next turn will succeed (despite the Masquerade in the Trash), because now the other branch of Lurker (to trash an Action card from the supply) is impossible to do.

Offline Kent

  • Newbie
  • *
  • Posts: 7
    • View Profile
Re: Bot stuck on playing Lurker
« Reply #4 on: 27 July 2017, 12:09:38 AM »
Here's another instance:
game #5484450 on oregon

Turn 5 - Lord Rattington
L plays a Raze.
L trashes an Estate.
L looks at 2 cards.
L puts a card into their hand.
L discards a Copper.
L plays a Lurker.

Waiting for Lord Rattington.

The AI bought the Lurker. There is a Prince in the Trash (that I trashed with a Lurker).

Online Ingix

  • Sr. Member
  • ****
  • Posts: 375
    • View Profile
Re: Bot stuck on playing Lurker
« Reply #5 on: 27 July 2017, 02:30:46 PM »
Cool, I've never seen the AI buy a Lurker before, all the reported cases that I remember got the Lurker to the AI by means like Masquerade.