Dominion Strategy Forum

Dominion => Puzzles and Challenges => Topic started by: Geronimoo on October 17, 2017, 04:52:57 pm

Title: Beat the Bot #2
Post by: Geronimoo on October 17, 2017, 04:52:57 pm
https://dominionstrategy.com/2017/10/17/beat-the-bot-2/

Did you beat the bot on your first try? Did you use the same strategy or something entirely different?
Title: Re: Beat the Bot #2
Post by: theory on October 17, 2017, 04:58:22 pm
Fixed your link :)
Title: Re: Beat the Bot #2
Post by: Chris is me on October 17, 2017, 07:43:55 pm
At first I thought these puzzles were “write a bot that beats my bot”, and after a half hour of fiddling in round 1 I realized you were supposed to play the bot. :)
Title: Re: Beat the Bot #2
Post by: Ipnotaizig on October 17, 2017, 10:16:28 pm
I did beat it at the first try! But then the strategy didn't work anymore, and I kept getting crushed whenever I tried variations to improve the technique except one other time. Eventually I just resigned to mirror match the bot.
Might try new stuff tomorrow.

Here's the overall plan on that successful first try: opened caravan / silver to try to get to 5 so I could get a bandit which would give me repeat gold. Meanwhile I got the forager for trashing and +buy, then I got an altar and, getting either the altar or money I started greening with 1-2 duchies -> dukes per turn, all the while grabbing some silk roads to undercut the bot's strategy and using the crossroads for support.

Now that I look at it and understand what the bot was doing, I'm surprised it actually worked twice... (out of maybe 15 games)
Title: Re: Beat the Bot #2
Post by: Awaclus on October 17, 2017, 11:02:44 pm
Here's what I did to easily beat the bot:

Open Caravan/Forager, get a second Forager on the second shuffle and buy all the Caravans and one Bandit and one Smithy and one Crossroads and one Storeroom, then empty the Provinces. Make sure to split the Caravans evenly between turns, e.g. playing 4 on one turn and another 4 on the following if you have 8.
Title: Re: Beat the Bot #2
Post by: Skumpy on October 18, 2017, 12:39:36 am
I got it done by loading up on Caravans until I had 2 Altars, than Duchy-Duking it out.

Decided to try my hand at a crude bot for this. I got it to 63% against Geronimoo's before I felt it was close enough to what I was going for (I don't know how to display it better).

Code: [Select]
<player name="Skumpy's Beat the Bot #2"
 author="Skumpy"
 description="">
 <type name="TwoPlayer"/>
 <type name="UserCreated"/>
 <type name="Province"/>
  <board contents="Altar, Duke, Band of Misfits, Caravan, Bandit, Smithy, Storeroom, Crossroads, Silk Road, Forager" bane="" Mountain_Pass_Bid="0" Obelisk_Choice=""/>
   <buy name="Altar">
      <condition>
         <left type="countCardsInDeck" attribute="Altar"/>
         <operator type="smallerThan" />
         <right type="constant" attribute="2.0"/>
      </condition>
   </buy>
   <buy name="Duke">
      <condition>
         <left type="countCardsInDeck" attribute="Duchy"/>
         <operator type="greaterOrEqualThan" />
         <right type="countCardsInDeck" attribute="Duke"/>
         <extra_operation type="plus" attribute="3.0" />
      </condition>
      <condition>
         <left type="countCardsInDeck" attribute="Altar"/>
         <operator type="equalTo" />
         <right type="constant" attribute="2.0"/>
      </condition>
   </buy>
   <buy name="Duchy">
      <condition>
         <left type="countCardsInDeck" attribute="Altar"/>
         <operator type="equalTo" />
         <right type="constant" attribute="2.0"/>
      </condition>
   </buy>
   <buy name="Duke">
      <condition>
         <left type="countCardsInDeck" attribute="Altar"/>
         <operator type="equalTo" />
         <right type="constant" attribute="2.0"/>
      </condition>
   </buy>
   <buy name="Silver" strategy="trashWhenObsolete">
      <condition>
         <left type="countCardsInDeck" attribute="Copper"/>
         <operator type="smallerThan" />
         <right type="constant" attribute="6.0"/>
      </condition>
      <condition>
         <left type="countCardsInDeck" attribute="Altar"/>
         <operator type="smallerThan" />
         <right type="constant" attribute="2.0"/>
      </condition>
      <condition>
         <left type="countCardsInDeck" attribute="Silver"/>
         <operator type="smallerThan" />
         <right type="constant" attribute="3.0"/>
      </condition>
   </buy>
   <buy name="Caravan">
      <condition>
         <left type="countCardsInDeck" attribute="Duchy"/>
         <operator type="smallerThan" />
         <right type="constant" attribute="5.0"/>
      </condition>
   </buy>
   <buy name="Silver" strategy="trashWhenObsolete">
      <condition>
         <left type="countCardsInDeck" attribute="Silver"/>
         <operator type="smallerThan" />
         <right type="constant" attribute="1.0"/>
      </condition>
   </buy>
   <buy name="Crossroads">
      <condition>
         <left type="countCardsInDeck" attribute="Crossroads"/>
         <operator type="smallerThan" />
         <right type="constant" attribute="3.0"/>
      </condition>
   </buy>
   <buy name="Silk_Road"/>
   <buy name="Estate"/>
   <buy name="Copper"/>
</player>
Title: Re: Beat the Bot #2
Post by: Chris is me on October 18, 2017, 08:17:10 am
I didn’t look at the bot, just the kingdom so far. Any love for a Crossroads / Storeroom / Silk Road rush here? You can probably pretty consistently get $8+ and 2+ Buys on this board. The board might even work better if you thin Copper out, somehow. Probably not faster than Altar Duke Duchy, but maybe that’s a thing.
Title: Re: Beat the Bot #2
Post by: arflutter on October 18, 2017, 11:48:55 am
Any love for a Crossroads / Storeroom / Silk Road rush here?

That was my first thought. Was about to try it but I get an error when I try to paste the bot XML. Worked fine last week but now I get "Bot creation failed. Make sure you have valid XML in your clipboard." Anyone else get this problem?
Title: Re: Beat the Bot #2
Post by: tyrcho on October 26, 2017, 03:34:24 pm
I beat the bot on my 2 first tries.

1st I open forager/caravan, get a 2nd forager, ~5 more caravans, 1 bandit, 1 crossroad and then got 7 duchies/ all dukes

2nd was safer with same opening, (foragers and bandit) less caravans, ~3 crossroads and 3 storerooms. This time got all duchies & dukes.

I tried to make a bot myself but proper timing of forager and buys is important, I never got over 10% win with my own bots ...
Title: Re: Beat the Bot #2
Post by: trivialknot on November 15, 2017, 12:02:49 am
So I recently got these sims working, and now I'm working my way through the Beat the Bot challenges.  It's fun.

I really like Duke/Duchy on this board, but it took a few tries to perfect it.  I opened Silver/Forager and tried to reach Altar and BoM.  BoM is strong because you can use it as crossroads, caravan, or storeroom, depending on where you are in the turn.  But if you don't hit $5, it doesn't hurt to pick up a few copies of the cards it wants to copy.

At the end, every turn I was playing 2 crossroads, 2 caravans, an Altar to gain Duke/Duchy, and a storeroom to buy 2 Dukes/Duchies.  I ended on turn 18 with 102 points, and this deck:
[1 Silver, 8 Duchy (24▼), 1 Province (6▼), 1 Altar, 3 Band of Misfits, 2 Caravan, 1 Crossroads, 8 Duke (64▼), 2 Silk Road (8▼), 1 Storeroom]