How about a realistic situation until the game starts. A descent colony player should notice when a bad situation arises, and switch to a province strategy. But that gets tough to simulate.
This was very tough because every time I though I had it, I optimized the colony player to be fair and colony would win.
I almost thought it impossible because I took it literally "province only." Any strategy "province only" gets beat by province +duchy/estate. But since I realized I was loosing to a player that did not always buy a colony, I changed my colony player to "must buy 1 colony before buying another victory card."
I barely squeezed it out after I optimized the colony player. Kingdom = Sea Hag, Militia, Ill-Gotten Gains. I'm assuming the other 7 kingdom cards suck for both players. The key is having "non-card-drawing-curse-givers" to slow the game down and speed a 3-pile, and then to completely lock down the colony player to 3 cards with militia. Any +card for the colony player will cause him to win. It doesn't matter much if colony buys a militia or not, it just speeds up a 3-pile. It looks like Sea Hag doesn't do much, but I wanted more options to optimize and make it realistic. I'll Gotten Gains slows down the colony player, but it hurts worse not to buy them so he has to join in buying them. I can't get the colony player to win with only these 3 kingdom cards. I'm sure there's a way to improve on this, but I'm out of time for now.
Province-only player, wins 55% of the time.
<player name="Prov-only beats Colony" author="Karrow" description="Designed to beat a Colony player with only Provinces.">
<type name="Optimized"/>
<type name="SingleCard"/>
<type name="UserCreated"/>
<type name="Province"/>
<type name="TwoPlayer"/>
<type name="BigMoney"/>
<type name="Bot"/>
<buy name="Province">
<condition>
<left type="getTotalMoney"/>
<operator type="greaterThan" />
<right type="constant" attribute="42.0"/>
</condition>
</buy>
<buy name="Platinum"/>
<buy name="Gold"/>
<buy name="Ill_Gotten_Gains"/>
<buy name="Sea_Hag">
<condition>
<left type="countCardsInDeck" attribute="Sea_Hag"/>
<operator type="smallerThan" />
<right type="constant" attribute="1.0"/>
</condition>
</buy>
<buy name="Militia"/>
<buy name="Silver"/>
</player>
Prov-only Colony Opponent wins 43%
<player name="Prov-only Colony Opponent" author="Karrow" description="WanderingWinder's BMU+Col modified. Forced to buy at least 1 Colony before any other victory cards.">
<type name="Optimized"/>
<type name="SingleCard"/>
<type name="UserCreated"/>
<type name="Colony"/>
<type name="TwoPlayer"/>
<type name="BigMoney"/>
<type name="Bot"/>
<buy name="Colony">
<condition>
<left type="getTotalMoney"/>
<operator type="greaterThan" />
<right type="constant" attribute="12.0"/>
</condition>
</buy>
<buy name="Province">
<condition>
<left type="gainsNeededToEndGame"/>
<operator type="smallerOrEqualThan" />
<right type="constant" attribute="6.0"/>
</condition>
<condition>
<left type="countCardsInDeck" attribute="Colony"/>
<operator type="greaterThan" />
<right type="constant" attribute="0.0"/>
</condition>
</buy>
<buy name="Duchy">
<condition>
<left type="gainsNeededToEndGame"/>
<operator type="smallerOrEqualThan" />
<right type="constant" attribute="5.0"/>
</condition>
<condition>
<left type="countCardsInDeck" attribute="Colony"/>
<operator type="greaterThan" />
<right type="constant" attribute="0.0"/>
</condition>
</buy>
<buy name="Estate">
<condition>
<left type="gainsNeededToEndGame"/>
<operator type="smallerOrEqualThan" />
<right type="constant" attribute="2.0"/>
</condition>
<condition>
<left type="countCardsInDeck" attribute="Colony"/>
<operator type="greaterThan" />
<right type="constant" attribute="0.0"/>
</condition>
</buy>
<buy name="Platinum"/>
<buy name="Gold"/>
<buy name="Ill_Gotten_Gains"/>
<buy name="Sea_Hag">
<condition>
<left type="countCardsInDeck" attribute="Sea_Hag"/>
<operator type="smallerThan" />
<right type="constant" attribute="1.0"/>
</condition>
</buy>
<buy name="Militia">
<condition>
<left type="countCardsInDeck" attribute="Militia"/>
<operator type="smallerThan" />
<right type="constant" attribute="0.0"/>
</condition>
</buy>
<buy name="Silver"/>
</player>