Dominion Strategy Forum

Dominion => Simulation => Topic started by: A_S00 on January 10, 2012, 05:53:19 pm

Title: Simulation Challenge: I Like Big Decks And I Cannot Lie
Post by: A_S00 on January 10, 2012, 05:53:19 pm
So, I was just reading another thread from this section (http://forum.dominionstrategy.com/index.php?topic=1351.0), and I noticed that some people would like more simulation challenges (http://forum.dominionstrategy.com/index.php?topic=1351.msg21883#msg21883), and I thought, "you know, I might not be good enough at the simulators to win those things, but I'm good enough at posting topics to make one."

And I remembered that there's been some interest in Gardens (http://forum.dominionstrategy.com/index.php?topic=1254.0) on the forums lately, and some interest in Silk Road (http://forum.dominionstrategy.com/index.php?topic=1331.0), and even some interest in how they compare, and what to do when both of them are on the board (http://forum.dominionstrategy.com/index.php?topic=1331.msg21772#msg21772).  And then I thought about all the cool mass-card-gaining options that have been added with Hinterlands, and how I've been wondering which of them work with Gardens, and all that stuff...so I says to myself, I says, "this sounds like a problem for the simulators!"

-----

Kingdom (Provinces):
$6 - Border Village
$5 - Ill-Gotten Gains, Cache, Haggler
$4 - Gardens, Silk Road, Ironworks, Trader
$3 - Workshop
$2 - Hamlet

And here's my best effort so far:
Code: [Select]
<player name="Yo Deck So Fat"
 author="A_S00"
 description="I like squirrels.">
 <type name="UserCreated"/>
 <type name="Combo"/>
 <type name="Province"/>
 <type name="Bot"/>
 <type name="Competitive"/>
 <type name="TwoPlayer"/>
   <buy name="Border_Village"/>
   <buy name="Ill_Gotten_Gains">
      <condition>
         <left type="countCardsInDeck" attribute="Ill_Gotten_Gains"/>
         <operator type="smallerThan" />
         <right type="constant" attribute="2.0"/>
      </condition>
   </buy>
   <buy name="Ironworks">
      <condition>
         <left type="countCardsInSupply" attribute="Province"/>
         <operator type="smallerThan" />
         <right type="constant" attribute="8.0"/>
      </condition>
      <condition>
         <left type="countCardsInDeck" attribute="Ironworks"/>
         <operator type="smallerThan" />
         <right type="constant" attribute="4.0"/>
      </condition>
   </buy>
   <buy name="Workshop">
      <condition>
         <left type="countCardsInSupply" attribute="Province"/>
         <operator type="smallerThan" />
         <right type="constant" attribute="8.0"/>
      </condition>
      <condition>
         <left type="countCardsInDeck" attribute="Ironworks"/>
         <operator type="smallerThan" />
         <right type="constant" attribute="4.0"/>
      </condition>
   </buy>
   <buy name="Gardens">
      <condition>
         <left type="countCardsInDeck" attribute="Ironworks"/>
         <operator type="greaterThan" />
         <right type="constant" attribute="1.0"/>
      </condition>
   </buy>
   <buy name="Silk_Road">
      <condition>
         <left type="countCardsInDeck" attribute="Ironworks"/>
         <operator type="greaterThan" />
         <right type="constant" attribute="1.0"/>
      </condition>
   </buy>
   <buy name="Ironworks"/>
   <buy name="Workshop"/>
   <buy name="Estate"/>
   <buy name="Silver"/>
   <buy name="Copper"/>
</player>

Now, I'm no expert with the simulator, nor am I any better than decent at Dominion, so I'm probably setting the initial bar to beat pretty low...but I do love my Silk Roads and my Gardens, and I enjoy reading these simulation threads...so who wants to do it better?

Go ahead!

*edit* Un-broken'd the bot.
Title: Re: Simulation Challenge: I Like Big Decks And I Cannot Lie
Post by: WanderingWinder on January 10, 2012, 06:00:33 pm
I can't get your bot to load into my simulator. You're using the newest version of geronimoo's sim, yes?
Title: Re: Simulation Challenge: I Like Big Decks And I Cannot Lie
Post by: Geronimoo on January 10, 2012, 06:07:53 pm
There's a line missing (description). Did you modify your clipboard after clicking Copy/Paste in the simulator? If you did... don't.

Oh, and what exactly is the challenge here?
Title: Re: Simulation Challenge: I Like Big Decks And I Cannot Lie
Post by: A_S00 on January 10, 2012, 06:09:05 pm
It says v1.2.0, released December 2011...it's the one linked from Geronimoo's Wordpress.  I assume it's the newest.  Oh, I know what happened, I deleted the trailing > by accident when I took out the description line.

Code: [Select]
<player name="Yo Deck So Fat"
 author="A_S00"
 description="I like squirrels.">
 <type name="UserCreated"/>
 <type name="Combo"/>
 <type name="Province"/>
 <type name="Bot"/>
 <type name="Competitive"/>
 <type name="TwoPlayer"/>
   <buy name="Border_Village"/>
   <buy name="Ill_Gotten_Gains">
      <condition>
         <left type="countCardsInDeck" attribute="Ill_Gotten_Gains"/>
         <operator type="smallerThan" />
         <right type="constant" attribute="2.0"/>
      </condition>
   </buy>
   <buy name="Ironworks">
      <condition>
         <left type="countCardsInSupply" attribute="Province"/>
         <operator type="smallerThan" />
         <right type="constant" attribute="8.0"/>
      </condition>
      <condition>
         <left type="countCardsInDeck" attribute="Ironworks"/>
         <operator type="smallerThan" />
         <right type="constant" attribute="4.0"/>
      </condition>
   </buy>
   <buy name="Workshop">
      <condition>
         <left type="countCardsInSupply" attribute="Province"/>
         <operator type="smallerThan" />
         <right type="constant" attribute="8.0"/>
      </condition>
      <condition>
         <left type="countCardsInDeck" attribute="Ironworks"/>
         <operator type="smallerThan" />
         <right type="constant" attribute="4.0"/>
      </condition>
   </buy>
   <buy name="Gardens">
      <condition>
         <left type="countCardsInDeck" attribute="Ironworks"/>
         <operator type="greaterThan" />
         <right type="constant" attribute="1.0"/>
      </condition>
   </buy>
   <buy name="Silk_Road">
      <condition>
         <left type="countCardsInDeck" attribute="Ironworks"/>
         <operator type="greaterThan" />
         <right type="constant" attribute="1.0"/>
      </condition>
   </buy>
   <buy name="Ironworks"/>
   <buy name="Workshop"/>
   <buy name="Estate"/>
   <buy name="Silver"/>
   <buy name="Copper"/>
</player>

Try that?

*edit*

There's a line missing (description). Did you modify your clipboard after clicking Copy/Paste in the simulator? If you did... don't.

Roger o7
Title: Re: Simulation Challenge: I Like Big Decks And I Cannot Lie
Post by: WanderingWinder on January 10, 2012, 06:12:29 pm
This wins ~63-33 over yours:

Code: [Select]
<player name="I/SR/G with Border Village"
 author="WW"
 description="No description available">
 <type name="TwoPlayer"/>
 <type name="Bot"/>
 <type name="UserCreated"/>
 <type name="Province"/>
   <buy name="Province"/>
   <buy name="Border_Village"/>
   <buy name="Silk_Road">
      <condition>
         <left type="countCardsInDeck" attribute="Ironworks"/>
         <operator type="greaterThan" />
         <right type="constant" attribute="2.0"/>
      </condition>
   </buy>
   <buy name="Ironworks">
      <condition>
         <left type="countCardsInHand" attribute="Ironworks"/>
         <operator type="greaterThan" />
         <right type="constant" attribute="0.0"/>
      </condition>
      <condition>
         <left type="isActionPhase"/>
         <operator type="equalTo" />
         <right type="constant" attribute="1.0"/>
      </condition>
      <condition>
         <left type="countCardsInPlay" attribute="Border_Village"/>
         <operator type="smallerThan" />
         <right type="countCardsInPlay" attribute="Ironworks"/>
      </condition>
   </buy>
   <buy name="Gardens">
      <condition>
         <left type="countCardsInSupply" attribute="Silk_Road"/>
         <operator type="smallerThan" />
         <right type="constant" attribute="3.0"/>
      </condition>
   </buy>
   <buy name="Duchy">
      <condition>
         <left type="countCardsInSupply" attribute="Gardens"/>
         <operator type="smallerThan" />
         <right type="constant" attribute="2.0"/>
      </condition>
   </buy>
   <buy name="Estate">
      <condition>
         <left type="gainsNeededToEndGame"/>
         <operator type="smallerThan" />
         <right type="constant" attribute="5.0"/>
      </condition>
   </buy>
   <buy name="Ironworks"/>
   <buy name="Silk_Road"/>
   <buy name="Gardens"/>
   <buy name="Silver"/>
   <buy name="Estate">
      <condition>
         <left type="countCardsInSupply" attribute="Silk_Road"/>
         <operator type="smallerThan" />
         <right type="constant" attribute="5.0"/>
      </condition>
   </buy>
   <buy name="Copper"/>
</player>

Someone go ahead and beat it, then I'll optimize.
Title: Re: Simulation Challenge: I Like Big Decks And I Cannot Lie
Post by: A_S00 on January 10, 2012, 06:34:04 pm
Someone go ahead and beat it, then I'll optimize.
Opening IW/Workshop instead of IW/Silver beats that ~64-33:

Code: [Select]
<player name="I/W/SR/G with Border Village"
 author="WW/A_S00"
 description="No description available">
 <type name="UserCreated"/>
 <type name="Province"/>
 <type name="Bot"/>
 <type name="TwoPlayer"/>
   <buy name="Province"/>
   <buy name="Border_Village"/>
   <buy name="Silk_Road">
      <condition>
         <left type="countCardsInDeck" attribute="Ironworks"/>
         <operator type="greaterThan" />
         <right type="constant" attribute="1.0"/>
      </condition>
   </buy>
   <buy name="Ironworks">
      <condition>
         <left type="countCardsInHand" attribute="Ironworks"/>
         <operator type="greaterThan" />
         <right type="constant" attribute="0.0"/>
      </condition>
      <condition>
         <left type="isActionPhase"/>
         <operator type="equalTo" />
         <right type="constant" attribute="1.0"/>
      </condition>
      <condition>
         <left type="countCardsInPlay" attribute="Border_Village"/>
         <operator type="smallerThan" />
         <right type="countCardsInPlay" attribute="Ironworks"/>
      </condition>
   </buy>
   <buy name="Gardens">
      <condition>
         <left type="countCardsInSupply" attribute="Silk_Road"/>
         <operator type="smallerThan" />
         <right type="constant" attribute="3.0"/>
      </condition>
   </buy>
   <buy name="Duchy">
      <condition>
         <left type="countCardsInSupply" attribute="Gardens"/>
         <operator type="smallerThan" />
         <right type="constant" attribute="2.0"/>
      </condition>
   </buy>
   <buy name="Estate">
      <condition>
         <left type="gainsNeededToEndGame"/>
         <operator type="smallerThan" />
         <right type="constant" attribute="5.0"/>
      </condition>
   </buy>
   <buy name="Ironworks"/>
   <buy name="Silk_Road"/>
   <buy name="Gardens"/>
   <buy name="Workshop">
      <condition>
         <left type="countCardsInDeck" attribute="Workshop"/>
         <operator type="equalTo" />
         <right type="constant" attribute="0.0"/>
      </condition>
      <condition>
         <left type="countTurns"/>
         <operator type="smallerThan" />
         <right type="constant" attribute="3.0"/>
      </condition>
   </buy>
   <buy name="Silver"/>
   <buy name="Estate">
      <condition>
         <left type="countCardsInSupply" attribute="Silk_Road"/>
         <operator type="smallerThan" />
         <right type="constant" attribute="5.0"/>
      </condition>
   </buy>
   <buy name="Copper"/>
</player>
Title: Re: Simulation Challenge: I Like Big Decks And I Cannot Lie
Post by: Geronimoo on January 10, 2012, 06:38:20 pm
Keeping it stupid and simple beats the above bots (just Ironworks, Workshop, Silk Road and Gardens and start at the Estates as fast as possible):

Code: [Select]
<player name="Workshop/Ironworks/Gardens"
 author="Geronimoo"
 description="Simulation Challenge (I like big decks and I can not lie)XXXXhttp://forum.dominionstrategy.com/index.php?topic=1395.msg22637#new">
 <type name="Competitive"/>
 <type name="UserCreated"/>
 <type name="TwoPlayer"/>
 <type name="Province"/>
 <type name="Combo"/>
 <type name="Bot"/>
   <buy name="Silk_Road">
      <condition>
         <left type="countCardsInDeck" attribute="Ironworks"/>
         <operator type="greaterThan" />
         <right type="constant" attribute="1.0"/>
      </condition>
   </buy>
   <buy name="Gardens">
      <condition>
         <left type="countCardsInDeck" attribute="Ironworks"/>
         <operator type="greaterThan" />
         <right type="constant" attribute="1.0"/>
      </condition>
   </buy>
   <buy name="Estate">
      <condition>
         <left type="countCardsInDeck" attribute="Ironworks"/>
         <operator type="greaterThan" />
         <right type="constant" attribute="2.0"/>
      </condition>
   </buy>
   <buy name="Ironworks"/>
   <buy name="Workshop"/>
   <buy name="Estate">
      <condition>
         <left type="countCardsInDeck" attribute="Ironworks"/>
         <operator type="greaterThan" />
         <right type="constant" attribute="1.0"/>
      </condition>
   </buy>
   <buy name="Silver"/>
   <buy name="Copper"/>
</player>
Title: Re: Simulation Challenge: I Like Big Decks And I Cannot Lie
Post by: WanderingWinder on January 10, 2012, 06:56:12 pm
This is the current best I have:
Code: [Select]
<player name="I/SR/G with Border Village and Wshop"
 author="WW"
 description="No description available">
 <type name="UserCreated"/>
 <type name="TwoPlayer"/>
 <type name="Bot"/>
 <type name="Province"/>
   <buy name="Province"/>
   <buy name="Border_Village"/>
   <buy name="Ironworks">
      <condition>
         <left type="countCardsInHand" attribute="Ironworks"/>
         <operator type="greaterThan" />
         <right type="constant" attribute="0.0"/>
      </condition>
      <condition>
         <left type="isActionPhase"/>
         <operator type="equalTo" />
         <right type="constant" attribute="1.0"/>
      </condition>
      <condition>
         <left type="countCardsInPlay" attribute="Border_Village"/>
         <operator type="smallerThan" />
         <right type="countCardsInPlay" attribute="Ironworks"/>
      </condition>
   </buy>
   <buy name="Ironworks">
      <condition>
         <left type="countCardsInHand" attribute="Workshop"/>
         <operator type="greaterThan" />
         <right type="constant" attribute="0.0"/>
      </condition>
      <condition>
         <left type="isActionPhase"/>
         <operator type="equalTo" />
         <right type="constant" attribute="1.0"/>
      </condition>
      <condition>
         <left type="countCardsInPlay" attribute="Border_Village"/>
         <operator type="smallerThan" />
         <right type="countCardsInPlay" attribute="Ironworks"/>
      </condition>
   </buy>
   <buy name="Silk_Road">
      <condition>
         <left type="countCardsInDeck" attribute="Ironworks"/>
         <operator type="greaterThan" />
         <right type="constant" attribute="2.0"/>
      </condition>
   </buy>
   <buy name="Gardens">
      <condition>
         <left type="countCardsInSupply" attribute="Silk_Road"/>
         <operator type="smallerThan" />
         <right type="constant" attribute="3.0"/>
      </condition>
   </buy>
   <buy name="Duchy">
      <condition>
         <left type="countCardsInSupply" attribute="Gardens"/>
         <operator type="smallerThan" />
         <right type="constant" attribute="2.0"/>
      </condition>
   </buy>
   <buy name="Estate">
      <condition>
         <left type="gainsNeededToEndGame"/>
         <operator type="smallerThan" />
         <right type="constant" attribute="8.0"/>
      </condition>
      <condition>
         <left type="countCardsInSupply" attribute="Province"/>
         <operator type="equalTo" />
         <right type="constant" attribute="8.0"/>
      </condition>
   </buy>
   <buy name="Estate">
      <condition>
         <left type="countCardsInSupply" attribute="Silk_Road"/>
         <operator type="smallerThan" />
         <right type="constant" attribute="3.0"/>
      </condition>
   </buy>
   <buy name="Estate">
      <condition>
         <left type="gainsNeededToEndGame"/>
         <operator type="smallerThan" />
         <right type="constant" attribute="7.0"/>
      </condition>
   </buy>
   <buy name="Ironworks"/>
   <buy name="Silk_Road"/>
   <buy name="Gardens"/>
   <buy name="Workshop">
      <condition>
         <left type="countCardsInDeck" attribute="Workshop"/>
         <operator type="equalTo" />
         <right type="constant" attribute="0.0"/>
      </condition>
   </buy>
   <buy name="Silver"/>
   <buy name="Estate">
      <condition>
         <left type="countCardsInSupply" attribute="Silk_Road"/>
         <operator type="smallerThan" />
         <right type="constant" attribute="6.0"/>
      </condition>
   </buy>
   <buy name="Copper"/>
</player>

Title: Re: Simulation Challenge: I Like Big Decks And I Cannot Lie
Post by: WanderingWinder on January 10, 2012, 07:34:58 pm
Actually, does anyone have the MEGA turn bot that used to come with the sim? I'm looking for anything at all that beats what I posted, and only a couple things are getting better than 3% (and aren't variations on the theme; i.e. the earlier bots are close to it, but it's the same idea, and throwing in like great hall or tunnel or crossroads or ambassador would certainly help...)

Edit: Drunk Marine Students does it...
Title: Re: Simulation Challenge: I Like Big Decks And I Cannot Lie
Post by: DG on January 10, 2012, 10:08:34 pm
Taking an early IGG (before the second reshuffle) is a minor improvement to these scripts. You can also gain hamlets instead of excess ironworks when you're behind on points to avoid an premature 3 pile loss. Apart from that I'd come to a similar sort of script to Geronimoo's with more conditions and no advantage.
Title: Re: Simulation Challenge: I Like Big Decks And I Cannot Lie
Post by: Davio on January 11, 2012, 10:25:14 am
This would be a nice setup to submit for the Kingdom Challenge. :)

Those kingdoms where you want a piece of everything are a real horror to play correctly.