Dominion Strategy Forum

Please login or register.

Login with username, password and session length

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Topics - rspeer

Filter to certain boards:

Pages: [1]
1
Variants and Fan Cards / Woodchancellor
« on: September 28, 2016, 02:21:09 am »
Who is the Woodchancellor? Why does he look so familiar? And how did he get to the lofty position of running the undergraduate program in forestry at the University?



I'm pretty sure this hypothetical card has been brought up before, but now in the second edition, there's a design space just waiting for it and it no longer has the problem of being strictly better than anything. I always thought Woodcutter and Chancellor were almost okay cards, except that Woodcutter isn't interesting enough and Chancellor isn't useful enough. That's why Woodcutter needs a non-vanilla effect and Chancellor needs +1 Buy, making them the same card.

Still balanced at $3, right?

2
Dominion General Discussion / Letting dead poets make cards
« on: June 19, 2015, 10:44:53 pm »
Inspired by Donald X's response to the auto-generated interview, here's a card E. E. Cummings might make:

pretty how town
Type: sleep - wake - hope
Cost: (

                                 +1 if
              +2 yes
laugh your grief(if you do, cry)
deck trash hand supply
play your didn't discard your did

3
I suppose it was wishful thinking that Dominion Online would be decent as I'm starting trying to use it again...

How often do people encounter the problem where you set up a game, get an opponent, and start the game, and the game switches to "Playing" but you're not in the game? (And what's the opponent seeing when that happens?)

Apparently this is an acknowledged bug on the Making Fun forums, but it's been happening to me over half the time now.

4
ScorePile is CouncilRoom for Innovation.

I've spent a bit of time working on it, and gotten some basic things working:
  • You can browse games by player.
  • You can browse games by date.
  • You can get a perma-link to a game log (and in fact, its URL is what its URL was on Isotropic, with "innovation.isotropic.org" changed to "innovation.scorepile.org").

Anyone want to help improve it? ScorePile runs in Python 3 using Bottle, I'm developing it on GitHub, and I'd appreciate any kind of help. Some things that come to mind are:
  • Improving the UI
  • Collecting (or recomputing) players' levels on the leaderboard
  • Extending the parser to parse things that happen during the game, so we can collect stats and stuff based on them
  • Collecting stats
  • Achievements (not the in-game ones, the meta-game ones like CouncilRoom had)

5
I'm looking into doing stuff with the Innovation logs. Many interesting statistics are going to require parsing the game logs and reconstructing the game state, such as how likely you are to win based on your number of achievements, current tech difference, particular cards melded, and so on. This is of course daunting. Has anyone made a start on it? Is your code available?

On the other hand, I can get something interesting by just parsing the last line of each log: a breakdown of the reasons for winning (or at least for the game ending).

I've retrieved 27736 games. Of those:
  • 15412 (55.6%) of them were won by achievements.
  • 4586 (15.5%) were won by attrition (because all but one player resigned).
  • 2567 (9.3%) were won by score after trying to draw an 11.
  • 2252 (8.1%) ended with all players resigning. I guess that might tend to happen in solitaire.
  • 741 (2.7%) were won by Bioengineering.
  • 657 (2.4%) were won by Globalization.
  • 629 (2.3%) were won by Self Service.
  • 545 (2.0%) were won by Empiricism.
  • 124 (0.44%) were won by Collaboration.
  • 84 (0.30%) were won by AI.
  • Only 11 games (0.040%) were exact ties on score and achievements.

I skipped over Echoes-specific win conditions in that list to make it clearer and minimize the "what is this I don't even" factor, but here are those:
  • 67 wins by Social Networking
  • 22 wins by Puzzle Cube
  • 16 wins by Paper beating Rock
  • 11 wins by Human Genome
  • 6 wins by Saxophone
  • 5 wins by Radio Telescope
  • 2 wins by Rock beating Scissors
  • Nobody has ever won by Sudoku.

6
Dominion: Dark Ages Previews / Nombo of the day: Rats / most things
« on: September 01, 2012, 06:13:46 am »
Well, in the time since I bought Dark Ages from my FLGS, I keep trying to find a realistic way to use Donald X's favorite card, Rats. It's so much fun to play! And so bad!

So here are some conversations between me and myself, designated "Johnny" and "Spike".

Johnny: Rats goes great with trash-for-benefit cards! Altar is a trash-for-benefit card! Let's get both!
Spike: Altar doesn't give a rat's ass whether it's trashing a Rats.

Spike: Okay, a 3/4 opening, no strong 4s, so we'll get Silver and... another Silver, right?
Johnny: No, a Rats.
Spike: You're insane.
Johnny: Gotta trash that Overgrown Estate somehow, right?

Johnny: ...and then if everything lines up, we can use Steward to trash two Rats and draw two whole cards!
Spike: Congratulations, that's worse than a Moat. And if you didn't want the Rats, you could have not gained them.

Johnny: OH MY GOD I CAN PROCESSION RATS
Spike: Maybe with that $5 gain you can gain a Laboratory. You know, something that nets you one card and doesn't fuck up the rest of your deck.
Johnny: Okay, yeah, and then I'll Procession the Lab into an Altar! That will fix everything!

[edited because I got the Spike name wrong at first]

7
Simulation / Simulating Dark Ages
« on: August 08, 2012, 09:53:46 pm »
I've got Feodum, Sage, Poor House, and kind of Graverobber implemented in Dominiate. I say "kind of Graverobber" because the code is crappy -- it kind of lumps the two decisions on the card into one. I should do it better soon.

Today's cards are going to be a bit tricky, and I can't really do Looters and Ruins until we know what the Ruins are.

I haven't spent much time trying out strategies with these yet. The easy one I found is that Sage/Jack (or as I've named it, "Sajak") is slightly better than double Jack.

Chapel/Feodum with a custom trashPriority could be fun. Any other ideas for simulator strategies?

8
Dominion General Discussion / Evaluate your best and your worst board
« on: December 18, 2011, 07:22:03 am »
One of the inscrutable statistics over on CouncilRoom.com, "win rate given avail", will tell you how likely you are to win a game with each given card in it. Let's suppose you get to play a game with your best 10 Kingdom cards on this list. That's your dream board. How do you play it? Now do the same thing for the worst 10 cards, your nightmare board.

To see this, go to the increasingly misnamed "Popular Buys" page on councilroom.com. Type your name into the first search box, the one that says "search by player", and hit enter. This should add a bunch of columns about your statistics on the right. One of those columns is your "win rate given avail". Click the header to sort by it.


Here's my best board:

$5  Jester
$4  Coppersmith, Walled Village, Spice Merchant, Talisman
$3  Trade Route, Woodcutter, Smugglers
$2  Hamlet, Pawn

I'm pretty sure that the only action cards I would actively buy in this kingdom are Jester and Pawn. Besides that I'd aim for Big Money, though "Big Money/Jester" is not a well-defined strategy because you have to adapt it to whatever ends up in your deck. Maybe I'd pick up a Hamlet or WV if I ended up with too many terminals because of my Jester or my opponent's. This board mostly involves being adaptable, and picking the right time to start greening, which I think I can do.


Worst board*:

$5  Highway, Archivist, Haggler
$4  Noble Brigand, Bridge
$3  Tunnel, Scheme, Oasis
$2  Chapel, Fool's Gold

This board is telling me two things: "you're bad at Hinterlands", and "you're bad at combos". Thanks, board, way to make me look like a noob.

But it's probably right. My reaction upon looking at this kingdom is "buhhhhhh". But let me think through it.

Of course I need a Chapel, and I'd probably open Chapel/Silver. Now there's the fan card Archivist on the board, and I remember it being described as a "one card combo card", so loading up on Archivists in a chapeled deck is
probably good. Especially because it does something slightly useful with Chapel (discards it for $1) after it has served its purpose.

Is Archivist/Oasis a combo, or just redundant? I might pick up an Oasis just to try it. But most notably I'm discarding all the  time, so once I have an Archivist I'd probably start buying Tunnels. Which have a significant threat of clogging my chapeled deck, but Archivist/Tunnel just sounds way too good to pass up. And that sounds like an argument for more Oases later.

Oh, and I need a Bridge, as my one terminal, for +buys. With which I'd probably buy even more Tunnels while it's possible. This game might empty the gold pile. And wouldn't Highways go well with Bridge? Well, I don't know. I don't think I have time to buy them among everything else I'm trying to do.

I'd probably pass entirely on Fool's Gold. The deck is going to be too full of tunnels and real Gold. Archivist sounds initially like a good way to find two FGs to pair up, but that only actually works if you get two Archivists to pair up!

Now show me why I screwed that up entirely.


*I cheated a bit. Jack of All Trades is, remarkably, on my worst list, and I skipped over it. I think this is due to a phase where I desperately tried to find ways to not buy it. I've got a bunch of games where I didn't buy a Jack, and my win rate in these games is an abysmal 0.44. If you put Jack in this kingdom instead of Oasis, you get a predictably boring board that's dominated by DoubleJack, so let's not.

9
Game Reports / Why Cartographer is awesome
« on: December 01, 2011, 05:26:28 am »
Because my opponent chained Cartographers until he could King's Court a Baron and have it actually work, for $12 and +3 buys.

http://dominion.isotropic.org/gamelog/201112/01/game-20111201-022125-6be0f35a.html

10
Simulation / Help decide on a TR/KC priority list
« on: September 17, 2011, 06:45:34 pm »
Below is the Action-playing priority list in Dominiate. It can be overridden by specific strategies, but most strategies will leave it alone, so we want a reasonable play order for all situations.

One question, of course, is if you have any suggested changes to this default priority order so far. But another pertinent question is: assume I'm implementing Throne Room and King's Court soon. There will be a similar action list for them, except now you've got a variable called "multiplier" that's either 2 or 3. How should the action list change?

What goes at the top of the list for what to play with a KC/TR? Wait, I know the answer to that, it's King's Court. Followed by Throne Room.

But what comes next? Followers? Familiar? Grand Market? In other words, if you have the choice of playing any action card with a King's Court, how would you decide? (Checking for things like whether there are curses left makes sense, of course.)

Here's the current list for non-multiplied actions:
Code: [Select]
    # First priority: cards that succeed if we play them now, and might
    # not if we play them later.
    "Menagerie" if my.menagerieDraws() == 3
    "Shanty Town" if my.shantyTownDraws(true) == 2
    "Tournament" if my.countInHand("Province") > 0

    # Second priority: cards that give +2 actions.
    "Trusty Steed"
    "Festival"
    "University"
    "Farming Village"
    "Bazaar"
    "Worker's Village"
    "City"
    "Walled Village"
    "Fishing Village"
    "Village"

    # Third priority: cards that give +1 action and are almost always good.
    "Bag of Gold"
    "Grand Market"
    "Hunting Party"
    "Alchemist"
    "Laboratory"
    "Caravan"
    "Market"
    "Peddler"
    "Conspirator" if my.inPlay.length >= 2
    "Great Hall"
    "Wishing Well"
    "Lighthouse"

    # Fourth priority: terminal card-drawers, if we have actions to spare.
    "Smithy" if my.actions > 1
    "Watchtower" if my.actions > 1 and my.hand.length <= 4

    # Fifth priority: card-cycling that might improve the hand.
    "Familiar" # after other non-terminals in case non-terminal draws KC/TR
    "Pawn"
    "Warehouse"
    "Cellar"

    # Sixth priority: non-terminal cards that don't succeed but at least
    # give us something.
    "Tournament"
    "Menagerie"
    "Shanty Town" if my.actions == 1

    # Seventh priority: terminals. Of course, Nobles might be a non-terminal
    # if we decide we need the actions more than the cards.
    "Nobles"
    "Treasure Map" if my.countInHand("Treasure Map") >= 2
    "Followers"
    "Mountebank"
    "Witch"
    "Sea Hag"
    "Tribute" # after Cursers but before other terminals, there is probably a better spot for it
    "Goons"
    "Wharf"
    # Tactician needs a play condition, but I don't know what it would be.
    "Tactician"
    "Militia"
    "Princess"
    "Explorer" if my.countInHand("Province") >= 1
    "Steward"
    "Moneylender" if my.countInHand("Copper") >= 1
    "Bridge"
    "Horse Traders"
    "Coppersmith" if my.countInHand("Copper") >= 3
    "Watchtower" if my.hand.length <= 3
    "Smithy"
    "Council Room"
    "Watchtower" if my.hand.length <= 4
    "Merchant Ship"
    "Baron" if my.countInHand("Estate") >= 1
    "Monument"
    "Adventurer"
    "Harvest"
    "Explorer"
    "Woodcutter"
    "Coppersmith" if my.countInHand("Copper") >= 2
    # Play an Ambassador if our hand has something we'd want to discard.
    "Ambassador" if my.ai.wantsToTrash(state)
    "Trading Post" if my.ai.wantsToTrash(state) + my.countInHand("Silver") >= 2
    "Chapel" if my.ai.wantsToTrash(state)
    "Trade Route" if my.ai.wantsToTrash(state)
    "Conspirator"
    "Moat"
    "Watchtower" if my.hand.length <= 5
    "Ironworks" # should have higher priority if condition can see it will gain an Action card
    "Workshop"
    "Coppersmith"
    "Watchtower" if my.hand.length <= 6

    # Eighth priority: cards that have become useless. Maybe they'll decrease
    # the cost of Peddler or something.
    "Treasure Map" if my.countInDeck("Gold") >= 4 and state.current.countInDeck("Treasure Map") == 1
    "Shanty Town"
    "Chapel"

    # At this point, we take no action if that choice is available.
    null

    # Nope, something is forcing us to take an action.
   
    # Last priority: cards that are actively harmful to play at this point,
    # in order of increasing badness.
    "Watchtower"
    "Trade Route"
    "Treasure Map"
    "Ambassador"

11
Simulation / Dominiate: a Dominion simulator that runs on the Web
« on: September 11, 2011, 03:55:09 am »
Hey all. I've got a new Dominion simulator, and it's made of JavaScript so you can run it right now on the Web (unless your browser sucks)! Here it is: http://rspeer.github.com/dominiate/play.html

Now, this is nowhere near a substitute for Geronimoo's simulator at this point. For one thing, I've only implemented 37-ish Kingdom cards so far (although now that OMG IT WORKS, I can probably get to defining a lot more of them quickly.) It'd also be nice if it had more pre-defined strategies than the few that appear in the dropdown box.

But running on the Web will hopefully make simulation accessible to many more people. Some other interesting differences are:
  • AIs can set their own priorities not just for gaining cards, but also actions, trashing, discarding, and so on. Every decision an AI is asked to make can actually be decided by the AI, except for really lame ones like which cards to clean up in which order. Or the decision can be left to the BasicAI, where I hope I've put some reasonable play rules.
  • There's a "play until one player dominates" button. It pits two AIs against each other repeatedly until it's 99.7% sure which AI is better. This could take 10 iterations, or it could take 10,000, or it might never stop if the AIs are functionally identical.
  • Strategies are designed in a concise form based on CoffeeScript. I don't think you'll need any prior familiarity with CoffeeScript -- you have a bunch of lines that look like this: "Colony" if state.current.countInDeck("Platinum") > 0
Notable deficiencies:
  • It probably has some terrible/hilarious bugs in it. Sometime around last week I found that the Witch was giving other players Witches instead of Curses, for example. I wonder what I haven't caught yet.
  • The Web page only has an interface for 2-player games, even though the command line supports more.
  • It doesn't yet do smart things like avoiding suicidal buys, or buying out piles when it's ahead.
  • It's unfortunately incompatible with Geronimoo's XML strategies. I code this for fun, and XML is the opposite of fun, but I totally wouldn't mind if someone could help make a translator.

This project is open source, and I really would appreciate help finishing it, because Dominion is a game with a lot of parts to it. Heck, I made all the JavaScript and CSS and stuff work, so implementing more cards and strategies is the fun part. Places to start with that include:

12
Game Reports / The Apothecary/Warehouse combo
« on: June 19, 2011, 05:14:22 pm »
First of all: You may have seen me logging on with something called BuyBorg. This is the first implementation of the Dominion AI I'm developing at http://github.com/rspeer/golem. It's called "BuyBorg" because it only decides what to buy, and needs a human to decide everything else. It's not necessarily that good yet.


Anyway, I'm playing a test game against BuyBorg and it opens Potion/Warehouse. The only Alchemy card on the board is Apothecary. I sigh at the bot's incompetence, assuming it's going to leave itself floundering with ineffective hands full of copper in a colony game. For myself I open Silver/Warehouse.


Second time through its deck, it buys an apothecary and another warehouse.


Third time through, it buys another apothecary and a gold. Fourth time, it buys a platinum. Soon it's drawing enough money to get a platinum or a colony on every turn, and it's got something like three colonies by the time I finally buy a platinum.


So getting my ass handed to me by my own glitchy bot has shown me that Apothecary/Warehouse can apparently be a strong enough combo to open with, something I hadn't thought of before.

Pages: [1]

Page created in 0.045 seconds with 17 queries.