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.

Messages - onigame

Filter to certain boards:

Pages: [1] 2 3
1
Not to be unhelpful, but it depends on what else is in my deck and what else is in my opponent's deck. I might very well buy Gold if their deck is in a worse state than mine. I'm about to shuffle, after all.

True enough, but the point of my question isn't about the Duchy vs. Gold decision, it's about whether buying the Coppers ever makes sense.

But if you want something more concrete to think on, let's say this is just BM+Market.

2
Well, here's a slightly more detailed example.

You're playing a 2-player game. The score is tied; you have 2 Provinces and 2 Duchies and your opponent has 3 Provinces. You both have all starting Estates (if that matters). You're player 1.  Your hand generates $7 with two extra buys.  Your draw pile is empty.  What will you buy?

  • Duchy
  • Duchy, Estate
  • Duchy, Estate, Copper
  • Duchy, Copper, Copper
  • Gold
  • Gold, Copper
  • Gold, Copper, Copper

(Presumably not the Gold but I list it here for completeness)

3
Yeah, yeah, I know, never buy Copper.  But sometimes I feel near the endgame where I'm drawing 4 Victory cards and $1, that maaaybe I should be buying another Copper instead of passing.  Certainly if my deck is >80% green, buying Copper actually increases the average play power of a card in the deck, right?

Anyone ever done any rigorous analysis here?

4
Dominion General Discussion / Crestfallen Turn 3 hands
« on: December 15, 2021, 12:52:13 pm »
On turn 3, I draw this:



"Well, I'm f***ed."

What are your favorite examples of Turn 3 hands that instantly make you swear?

5
Now I'm wondering if perhaps if it makes sense to have each of these ideas be a separate on-line promo cards.

Isotropic Black Market: 25 random cards not in Supply.
Full Black Market: All cards not in Supply.
Vaccarino Black Market: All cards from a random expansion.  (maybe x2 for the mini-expansions)

That way, there are more things you can spend your coins on...

6
I'm starting to look at the Black Market rules again (no brownie points if you can guess why).

The biggest feature the way most people play Black Market is that it's very high-variance.  There's very little control over whether you will get a chance at a good card or not.  With a smaller BM deck, such as the 25-card "house rule" at isotropic, at least after 8 plays of BM you can have less variance over figuring out what's going to be there.

This feature can be frustrating if you don't like high-variance.  (If you do, this is actually quite fun.)

Now, the official rules for Black Market don't actually say that all the cards in the Black Market must be distinct -- that's just a suggestion.  It also doesn't specify the number of cards in the Black Market; it suggests 15 but again that's not a rule.

So, for example, if your group wanted, you could decide to make the Black Market deck a deck of 10 Villages (assuming Village is not in the Supply).  That would be an example of a very low-variance BM deck; each time you know you're going to flip over 3 Villages.  In fact, if that was the only +2 Actions card available in the game, it might actually be strategically interesting; if you want an Engine you have to commit to Black Market first.  It would be kind of like having a Potion-cost card in the Supply; players have to decide if they want a Potion card to enable those strategies.  I can certainly see even players who hate high-variance enjoy Black Market with such a deck in play.

Seems like to me there's a very wide range of possibilities between "a deck of 10 Villages" and "a deck of 25 different cards chosen at random", and some of them might have a managable-and-interesting amount of variance.  For example, just off the top of my head, imagine a BM deck that was "a deck of 10 distinct $5-cost cards that provide at least +1 Action; two copies of each".  This deck would potentially have Festival, Lab, Highway, Hunting Party, Treasury, etc.  It would add some interesting spice to the game but not feel swingy, sort of as if you had a Knights pile except that all the Knights are constructive instead of being Attacks.  It could be quite fun.

I'm sure you guys can come up with some other interesting ways to design a Black Market deck.  Want to try?

7
Rules Questions / Re: Border Village and Top-Decking?
« on: January 30, 2013, 09:01:15 pm »
That actually clarifies the original requested ruling here though - BV goes into discard, then lab goes into discard, then it can be pulled off by royal seal, but now because it stopped being the top of the discard pile for a second, even though it is now again, BV can't be pointed to as being 'when gained' by RS anymore, and so that effect fizzles.
Which would imply that... I'm still not sure on the top-deck-BV THEN gain another card thing. I am guessing you can't, but it doesn't seem entirely clear.
"Lose track" *only* stops cards from being moved. Once Border Village triggers, it will happen, there is just ordering to deal with. Border Village can end up trashed or whatever and that doesn't matter.

Just to make this more explicit for FAQ-readers coming to this thread:

1.  You buy a Border Village; Royal Seal is in play.  You intend to use BV's ability on a Lab, and you intend to top-deck as much as you can.
2.  Assuming that no "When Buy" effects are relevant, the first thing that happens is the Gain -- you get BV on top of your discard.
3.  Two things happen: (BV) "Gain a Lab"; (RS) "Put BV on top of deck".  You can choose which happens first.
4.  You decide to do (RS) first.  Royal Seal looks for the BV on top of your discard pile; it's still there and hasn't been covered up.  (RS) succeeds and the BV moves to the top of your deck.
5.  Then (BV) happens.  You gain a Lab, it goes on top of your discard.
6.  Royal Seal now triggers on the Lab gain, and so the Lab moves from your discard to the top of your deck.
7.  Net result:  The top card of your deck is a Lab.  The card underneath it is a Border Village.

Say you did the other choice in step 3.  Then we get:

1.  You buy a Border Village; Royal Seal is in play.  You intend to use BV's ability on a Lab, and you intend to top-deck as much as you can.
2.  Assuming that no "When Buy" effects are relevant, the first thing that happens is the Gain -- you get BV on top of your discard.
3.  Two things happen: (BV) "Gain a Lab"; (RS) "Put BV on top of deck".  You can choose which happens first.
4.  You decide to do (BV) first.  You gain a Lab, it goes on top of your discard.  This covers up the Border Village, making everything (except for BV) lose track of it.
5.  Royal Seal triggers on the Lab gain, and so the Lab moves from your discard to the top of your deck.
6.  Now the (RS) thing from step 3 happens.  Royal Seal looks for the BV on top of your discard pile; but since it was covered up, Royal Seal can't find the BV even though now it is back on top of your discard pile.  (RS) fails and nothing is moved.
7.  Net result:  The top card of your deck is a Lab.  The top card of your discard is a Border Village.


8
Goko Dominion Online / Re: Harem
« on: January 28, 2013, 09:16:53 pm »
That sounds like extra unnecessary programming and extra unnecessary code to execute every time a card needs to be drawn.

Well the images don't appear to be entirely static.  Band of Misfits is the biggest example, but also costs change with price reduction and the number displayed on Copper changes with Coppersmith.

Also the text changes when the display language changes, even though you would want to reuse other things like art and costs.

9
Goko Dominion Online / Re: Alchemy on Goko
« on: January 28, 2013, 06:18:43 pm »
For Trader, it could just be, resolve Trader for the possessed player, then resolve Possession's when-would-gain, then resolve Trader for the possessing player. There's no point to being able to order the first Trader after Possession.

I'm glad that your proposed solution is what I told them to do.  There are only two "would gain" cards in the whole game, and one ordering is pointless, so don't bother trying to create a UI to let the player choose between the ordering.

Right now in alpha there's a bug with Trader, which is that the current implementation is "Possessee would gain" -> "Possessor gains", when it should be "Possessee would gain" -> "Possessor would gain" -> "Possessor gains".  But that should be fixed before the beta release.

10
Goko Dominion Online / Re: Alchemy on Goko
« on: January 28, 2013, 01:43:48 pm »
I don't like the idea of cards being released before they are implemented properly, but I have no problem with Goko releasing all of Alchemy save for Possession until they get Possession dealt with.  I've already paid for Alchemy, so I'd rather start playing with the rest of the cards.  Possession is fun, but I'm really looking forward to seeing Rats interact with Apprentice, Scrying Pool, and Vineyard.  I also feel that Storeroom may have some nice synergy with Philosopher's Stone.
It seems unlikely they'll put it out without Possession. It would look worse than the delay.

They programmed Possession. It probably has some obscure things that need fixing; I mentioned some things to check but did not check them personally. I haven't seen it with AI.

I have logged around 15 different bugs with Possession and other cards in alpha.  Most of them are now fixed.  The ones that aren't fixed have to do with the more general issue that the interface doesn't have a clean way of having the user select between multiple "on-X" effects that happen at the same time, and I'm working on a design for that.

Some of those bugs might end up not being fixed before release.  For example, if you trash Fortress on a turn when you're being Possessed, technically there is a choice you can make so that Fortress doesn't end up in your hand.  Since strategy-wise it is very rare that a Fortress in hand is worse than not having a Fortress in hand, currently the code just defaults to Fortress in hand.  (To do it properly would require a sequence picker.)

The most amusing bug I found in alpha is that Possession was mistakenly coded as an Attack  :)

11
Goko Dominion Online / Re: Possession in one-player games -- Important?
« on: January 26, 2013, 03:59:24 am »
So to answer your question, onigame, we don't even care if Possession is implemented, just be wary of the grammar employed when prompting the player for input.

Ugh, that's horrible news.  Getting the grammar of the input messages right on Possession and yet still fitting in the one little display line is impossible.  Consider this prompt:  "Would you like to reveal Trader in response to the Curse that Alice would gain (but you are about to gain instead because the current turn is one where you are gaining any cards that Alice would gain since Charlie made you play Possession on the previous turn) from Bill just gaining an Ill-Gotten Gains because Alice revealed an Ill-Gotten Gains with an Ambassador (which was something you made her do)?"

I think right now (in alpha) that case just says "You may choose to reveal a Trader. [Alice possessed by you]"  Which, you know, doesn't explain much.

 ;)

12
Goko Dominion Online / Re: Alchemy on Goko
« on: January 24, 2013, 02:32:59 am »
Quote
Donald has told them that a switch of priority between Herbalist and Alchemist should fix most realistic issues; I don't know what the progress is on that yet.

...or let us choose what order to resolve them in.   OR have an option in some settings menu where you can either choose to have options go through the most likely order (the default option), or to be able to choose the order yourself.  Maybe sometimes you want that Outpost turn to come first, and maybe sometimes you want that 2nd Possessed turn to come first.

You're missing the point.  Eventually the plan is to implement the game completely correctly, which of course includes letting the player choose what order to resolve things in, because those are the official rules.  The decision is between releasing something earlier that is easy to implement, or waiting until it's absolutely correct before releasing.  Also to balance against other audience desires -- for example, given the choice between having the standalone iOS app first, versus the timing of the Clean-up phase working perfectly first, I suspect a lot more people would want the standalone iOS app.

(Also, deciding whether the Possession or the Outpost phase comes first is not done in the Clean-Up phase.)

13
Goko Dominion Online / Re: Alchemy on Goko
« on: January 23, 2013, 08:51:47 pm »
So I can't get on to GetSatisfaction (telling me to check my email for the verification code, but not actually sending me the verification code), so I'll just leave this here...

"When you discard this from play" effects should happen in an order the player chooses. Right now, Herbalist resolves before Alchemist, so Alchemist+Herbalist has turned into a nombo. Off the top of my head, Treasury and Scheme also care about that timing event.

Confirmed. I emailed them. As it is now, Scheme resolves first, Herbalist second, Alchemist third, and Treasury fourth.

You forgot Hermit.  Hermit-Scheme is a very messy combo as far as User Interface is concerned.

Anyway, they deemed that getting Alchemy cards on Beta was more important than fixing all the timing issues involved in the Clean-up phase, but they definitely are aware of it since I sent them a long chunk of pseudocode a month ago.

Donald has told them that a switch of priority between Herbalist and Alchemist should fix most realistic issues; I don't know what the progress is on that yet.

14
Goko Dominion Online / Possession in one-player games -- Important?
« on: January 23, 2013, 08:29:27 pm »
I'm currently working with Goko on doing an overhaul that will clean up the "when-buy" / "when-gain" bugs, as well as getting Possession into a playable state so that Alchemy can be released.  (By the way, Alchemy will probably be released before all the "when-buy"/"when-gain" bugs are fixed.)

One niggly bit that will actually require some substantial code change is playing Possession in a 1-player game.  Although the official rules don't allow for 1-player games, the codebase supports it and you can even do it on the live server (just go to the "Secret Chamber" room).  Most of the card rules generalize and work fine in 1-player games.

Possession is a bit of an exception.  Technically, if you go with the letter of the rules, you should be able to play a turn where you are Possessing yourself.  It would increment the round count differently, and the behaviour of cards you trash would be different on the Possessed turn.

Currently the implementation of Possession just ignores turns where you're Possessing yourself, which is clean and easy to code, and also means that internal routines can check quickly whether a turn is a Possession turn by checking to see if the controlling player and the current player are the same player.  If we want a more correct implementation, a bunch of code needs to change, and I'm not sure whether it is worth the effort to make all these changes to support a mode that isn't in the official rules anyway (namely, 1-player games).

So I'm throwing up this poll.  Please vote and I'll use the feedback to make a recommendation to Goko as to where to put this on their priority list (or if it's going to go there at all).

15
Dominion General Discussion / Re: Announcing Dominion Set Generator
« on: January 17, 2013, 08:49:43 pm »
If it has one card with potion, then it's probably not that. This randomizer would cluster potion-cost cards, so you'd have 0 or 3, but not 1.

Yep.  The general way my randomizer (on default) deals with Alchemy is that already having an Alchemy card greatly favors the selection of more Alchemy cards, so getting just 1 Alchemy card is a rare occurrence -- it means that either that was the last card you got or you managed to get an earlier Alchemy card and made a whole bunch of "saving throws vs. Alchemy". 

You can go to my site and experiment.  (Remember, to get "full random", just change "Overall Balance" to zero -- and that's a sticky setting.)  http://dominionsetgenerator.com/

One side-effect of this implementation, though, is that when an Alchemy card is picked early, sometimes I'm getting 5+ Alchemy cards and I'm not totally sure that's a fun thing. 

16
Dominion General Discussion / Re: Announcing Dominion Set Generator
« on: January 16, 2013, 05:46:30 am »
I think the issue is, you designed this to be "a" weighted "fun" random generator, something that people could try, for fun, if they wanted. It was implemented as "the" random generator, and now we're asking your generator to do things that it wasn't designed to do, but that "the" random generator should have, aka, being able to pull directly from sets in pre-specified amounts, weigh towards different strategies etc.

Actually it does do the examples you cite -- pull directly from sets in pre-specified amounts, and weight towards different strategies.  It's just that there's not a very good UI to make it do that easily.

I was able to use it to generate a set that had 5 Prosperity and 5 non-Prosperity, and had it use the "balanced" metric, and had every card in Prosperity have an equal chance of appearing, and had every non-Prosperity card have an equal chance of appearing.  The problem is that it took me about 20 mouse operations and some typing to make it do that.

I bet I can also make it do a deck that weights towards trashing strategies and that would take me more than 20 mouse operations.

I still have faith that the underlying theory/engine (have a set of cards, use weighted probabilities to choose the next one) is relatively robust and can be made to handle most common use-cases.  But the next step is to make those use cases easy to request.

17
Dominion General Discussion / Re: Announcing Dominion Set Generator
« on: January 15, 2013, 08:18:36 pm »
Going with this analogy, I believe that puts you in the "power user" bracket as far as ordering food is concerned.  I agree that as far as restaurant ordering is concerned, most people are at the "power user" level.  An example of someone who wouldn't be is, say, a mentally-retarded person who has been trained to always say "I want duck".  When the waitress says "we don't have any duck," he gets agitated and repeats: "I want duck."  For this customer, bringing turkey because it's the closest is actually a better solution, because the customer won't get agitated and in all probability it won't make that much of a difference.
Dude, are you calling us all retards?

No, I'm calling us all insensitive people who don't encounter enough retards in your life.  I know I certainly don't encounter enough retards in my life, considering how awkward I tend to act around them.

18
Dominion General Discussion / Re: Announcing Dominion Set Generator
« on: January 15, 2013, 08:13:05 pm »
Right now, there is no way to tell the generator to do all four of these, even though it is theoretically possible:
A) I want 5 Prosperity cards.
B) I want each Prosperity card to have an equal probability of being picked.
C) I want each non-Prosperity card to have an equal probability of being picked.
D) I want the generator to be biased towards "balanced" sets.
My feeling is that "include 5 from Prosperity (etc.)" is going to be an option that users are vastly more interested in than any other specifics of card selection algorithms. Again I would have the game-instance-generation screen give a choice of algorithms and a choice of expansions. Your algorithm would be called knowing that it was expected to include exactly 5 from Prosperity. To be an algorithm on the list it would have to handle that.

It currently does handle that.  Just not with B), C), and D) all at once. 

And, actually, there is a way to do all of them at once, now that I think about it.  Just say that Prosperity is your only set, and generate a set using the Uniform randomizer.  Then copy the first five cards, reload the page, paste those five cards into the "must have" field, say that you own all the other sets and not Prosperity, and then use the Uniform randomizer to generate the rest of the set.

I think the lesson to be learned here is that you (and by "you" I mean Dominion players in general) do not want just an algorithm that handles that.  You also want a User Interface that handles that and makes it easy to do.  Which I clearly do not have.

And now I realize why there's been a disconnect for a lot of the discussion here.  I've been creating a new randomizer as an underlying engine for picking cards.  I know that because my randomizer has "pure random" as a possible option, it must be at least at least as good of an engine as a hypothetical randomizer that only provides "pure random", because no matter how you might dislike some of the settings I've put in, you can always change those settings and get the "pure random" you like.  The problem is that I have not provided a clean, simple, and easy-to-understand User Interface for my engine.

It's like, I want to build a house.  I find the existing foundation design for houses limiting so I build a new foundation and I make sure that it can do anything the old foundation can.  Then I present to the public this foundation and ask for comments.  I get a lot of good comments, but also a lot of comments from people who complain that it looks nothing like a house and that a house should have this feature and that feature and they don't see how my foundation does that.  Also there's a house already on the market that decided to swap their foundation for mine, instead of building a new house, and people didn't like how that looked.

So I think it is clear to me what I must do next.  I must build an actual model house that uses my foundation.  Then I can present the model house to people and ask for another round of comments.  (I just hope there won't be a lot of people who knock it away in disgust and say "What is this??  A house for ANTS????")

The underlying randomizer knows how to pick cards using "pure random".  It knows how to pick cards using "balanced".  Now it even knows how to pick cards using "balanced uniform".  It knows how to restrict the selection pool to whatever the invoker wants.  So I'm pretty sure all I need is to figure out how to design the right way to get the randomizer to pick what you want.

Quote
In my imagination your generator comes down to a routine that's handed a list of cards already chosen and a list of additional cards to pick from, and it picks one. It is straightforward to force that to pick 5 Prosperity and 5 non-Prosperity or whatever, biased towards "fun" but with equal probabilities for cards. I don't know what your program looks like of course and understand that work is work.

You are right about most of that, except for the "straightforward" part.  Perhaps this example illustrates why it is not:

I give you a list of 9 cards already chosen.  Your job is to pick the 10th and final card.  However, here are the desiderata:
(1) The set of 10 cards should have 5 Prosperity.
(2) The set of 10 cards should be "fun".
(3) Each card that isn't already part of the 9 should have an equal chance of getting picked.

See the problem?  Those first nine cards may have already lost you the chance of succeeding at (1) and (2).  And even if you still have a chance, your hands are bound by (3) anyway.  You can't favor any card to help (1) or (2) unless you give up on (3).

What this means is that the routine of "here's a list of cards already chosen, now pick one more with calculated biases" is insufficient to be the only basis of a full-fledged kingdom creator.  There has to be some more stuff overseeing the whole thing and making sure that it all fits together to give the desired result.

19
Dominion General Discussion / Re: Announcing Dominion Set Generator
« on: January 15, 2013, 05:28:10 pm »
I fundamentally disagree with your statement that telling people their constraints are invalid is a power user/programmer way to do things. I can't think of ANYONE I know who wouldn't rather be told that such a request is invalid than for you to try to 'get as close as you can'. At least without being told first. For instance, if I go to a restaurant and order duck, and they don't have duck, I don't want them to bring me turkey just because it's the closest they can get - I want them to tell me 'we don't have any duck.'

Going with this analogy, I believe that puts you in the "power user" bracket as far as ordering food is concerned.  I agree that as far as restaurant ordering is concerned, most people are at the "power user" level.  An example of someone who wouldn't be is, say, a mentally-retarded person who has been trained to always say "I want duck".  When the waitress says "we don't have any duck," he gets agitated and repeats: "I want duck."  For this customer, bringing turkey because it's the closest is actually a better solution, because the customer won't get agitated and in all probability it won't make that much of a difference.

So what that means to me, is that the restaurant has to evaluate their customer base.  A cafeteria in a hospital for the mentally-retarded would do better to behave differently than a public restaurant.  In my experience, this is exactly what happens in real life.

Quote
Of course, I don't know everyone there is, and it's possible that I only know 'power users'. But especially given that EVERYONE else here seems to think that your perceptions of what people want are wrong here, what evidence do you have to the contrary?

I think you misunderstood the post I was referring to.  I'm not saying "power-users" are a minority.  I myself am a "power user" and would also prefer the system to give me an error when the generator can't satisfy my hard constraints.  What I was saying is that "closest possible" is harder to do than "power-user", and I want to solve the "closest possible" interface before I work on the "power-user" interface.  It's easy to tell a customer you don't have any duck; it's harder to figure out what you have that is closest to duck.  I'm trying to tackle the hard problem first, because I know that plenty of people have already tackled the easy problem.

In other words, I'm not prioritizing code-development based on what I think is going to be more popular, I'm prioritizing code-development based on which problems are more difficult to solve.

(Heck, that should be obvious from the very beginning.  It's pretty darned clear that the most popular way of set generation is the "choose all cards with a simple pure-random selection process," so the fact that I'm not doing that should be a hint that I'm not trying to satisfy the most popular segment and be done with it.)

20
Dominion General Discussion / Re: Announcing Dominion Set Generator
« on: January 15, 2013, 05:08:05 pm »
Alternatively, for perfection, just take pile X with probabiility 13/25 and pile Y with probability 12/25, in which case you get 40% for everyone.

(Whaps head)  Why didn't I think of that?  Great idea.  I've implemented it and it's live now.

21
Dominion General Discussion / Re: Announcing Dominion Set Generator
« on: January 15, 2013, 04:54:01 pm »
But the idea that "include 5 from Prosperity" is hard, man, I don't see it. Speaking as a computer programmer, it sounds trivial. For sure it would not involve treating that bias like the biases towards Village etc.

I think I wasn't clear on what is hard and what isn't.  "Include 5 from Prosperity" isn't hard, it's already in the system.

If you want to generate a set that uses pure-unbiased random to choose 5 Prosperity cards, here's how to do it.

1.  Change the "Balance" setting to 0.
2.  Click on "Custom..." next to Prosperity.
3.  Click on "Range".
4.  Set "Min" to 5 and "Max" to 5.
5.  Click on "Extreme" in the "Importance" box.
6.  Click on "OK."
7.  Click on "Generate a Set!"

If you want to generate a set that uses the default "balanced set" generator, but want 5 Prosperity cards, do the same thing, but in step 1, use 1 instead of 0.  However, if you do that, then Margrave will be 6 times more likely to show up than Noble Brigand.  But you'll get 5 Prosperity cards and a "balanced" set.

Right now, there is no way to tell the generator to do all four of these, even though it is theoretically possible:
A) I want 5 Prosperity cards.
B) I want each Prosperity card to have an equal probability of being picked.
C) I want each non-Prosperity card to have an equal probability of being picked.
D) I want the generator to be biased towards "balanced" sets.

It is the combination of these four goals that is time-consuming to implement.  Not any of the individual goals, each of which are already in the generator.  I can give you A, B, AB, C, D, AC, BC, BD, CD, ABC, AD, and BCD.  I just can't give you ABD, ACD, or ABCD without more code-writing.

22
Dominion General Discussion / Re: Announcing Dominion Set Generator
« on: January 15, 2013, 04:21:53 pm »
Have the system check if all constraints are compatible.  If there are conflicts, report those conflicts to the user.  At this point you may have the system decide which constraint to fulfill and which to break.  That should also be reported to the user.  Then, leave it to the user to tweak the settings if they aren't satisfied with the way the system resolved conflicts.

This is a "programmer"/"power user" way of system design.  In general, it tends to work well for people who have some understanding of the system and fail horribly for people who "just want things to work".

Think about, oh, Microsoft Windows, which may pop up some screen saying "A critical system error was encountered when accessing 0x0438FA3E.  Abort, Retry, Fail, or open a debugger?"  Surely you can accept that this message is a fine thing to show power users and a bad thing to show most casual users.

We may have different beliefs on whether choosing a set of Dominion cards is at the same level of difficulty and when it is appropriate to carry on even if things are broken and when it is appropriate to report and error and make the user start over.  But, at least for the time being, I'd like to try to get the "carry on even if things are broken" to work, because it's easier to go the other way if I end up deciding that the other way is better.


23
Dominion General Discussion / Re: Announcing Dominion Set Generator
« on: January 15, 2013, 04:04:32 pm »
Maybe it's more important to the user that cards are uniform, and the Prosperity restriction was an unimportant "try to do this if you can" rule. 
This seems extremely unlikely to me. I think anyone saying "5 from Prosperity" actually wants 5 from Prosperity, that's more important to them than whatever other criteria. They want to play with Prosperity.

As a human, I understand this.  But you're missing my point, which is that the generator doesn't understand this.

Most generators out there have one fundamental assumption, which is "If what the user asks for is impossible, report an error and fail."

My generator goes against this assumption, and instead does "If what the user asks for is impossible, try to get as close as you can."

Let's say that the user says "I want at least 5 Prosperity, I want at least 5 Intrigue, and I want at least 5 Seaside."  Right now, you can tell this to my generator, and it will give you a set that has 3-4 Prosperity, 3-4 Intrigue, and 3-4 Seaside.  It compromises your three desires and fails at all of them, but does something that may have come close to what you wanted.

Let's say that the user says "I want at least 5 Prosperity (important!), I want at least 5 Intrigue (important!), and I want at least 5 Seaside (not important)."  Then the generator will make you a set of 5 Prosperity and 5 Intrigue.  Your two important constraints got satisfied, your unimportant one got shafted.  You can even tweak the importance values so that you get a 5-4-1 distribution.  (Although honestly, if you're at the "tweaking importance values" stage, maybe you should consider just changing the "5"s?  Just saying.)

Having said that, my generator does have some high-level constraints that are in the "super-important" class, where lower constraints cannot override them, and if they can't be satisfied, the generator will fail and issue an error.  Some of them are:
* The generator doesn't give you cards from a set you don't own.  If you try to generate a normal set and you don't own 10 distinct cards, it will fail ignominiously. 
* The generator doesn't give you more or fewer cards than are specified.  If you ask for a 13-card set, you will get a 13-card set.  You will never get 12 or 14 even if that would make your other constraints more satisfied.  If you only own 12 cards and you ask for a 13-card set, the generator will fail.
* If you said you want a uniform distribution, you will get one.

Right now, the problem is that "uniform" is super-important and will always be prioritized over "favor Prosperity cards".  This isn't a mistake in the code, it's just code design that doesn't match what you expect.

What it seems like I need to do to satisfy you guys is to put more stuff in the "super-important" category (such as "I want to play with 5 Prosperity dammit!"), and bump "uniform" down to a "more important than other stuff but not as important as the super-important stuff". 

This way, if the user says "I want 5 Prosperity (super-important), 5 Intrigue (super-important), 5 Seaside (super-important), and only 10 cards (super-important)", it should fail and give you an error message; but if the user says "I want 5 Prosperity (super-important), 5 Intrigue (super-important), 5 Seaside (not important), and only 10 cards (super-important)", it should actually give you something.

That's a fundamental extra layer on top of the existing code, and, as I said, it's substantially more work and I don't have the next few weekends free.  So, yeah, please don't be too disappointed if it doesn't show up quickly.

24
Dominion General Discussion / Re: Announcing Dominion Set Generator
« on: January 15, 2013, 03:33:50 pm »
Dominion, is first and foremost, a card game. It is highly unlikely that the amount of people that know how to play dominion and/or have purchased dominion online will ever surpass the amount of people who know it and/or play it regularly IRL.

Why do you feel that being a card game makes this highly unlikely? 

As a counterexample, I feel that the amount of people who play Solitaire on the computer greatly surpasses the amount of people who play it IRL.

Quote
I have a feeling that if someone is trying to specify 5 Prosperity cards, that they would be a little confused at only getting 1 or 2. Of course at that point, they are screwing with probability, chances are, they want to. In that case, rather than a flat average, it should be, a flat average given the constraints. So, there should be no particular prosperity card favored in the 5, and no particular non-prosperity card favored in the other 5. Tools need to be straightforward: Gimme 5 Prosperity shouldn't give me 2 prosperity!

Yes, but one could make the argument "Gimme a flat average shouldn't give me something where Prosperity is favored 250%!"  Maybe some studly programmer could write an AI that can take a morass of contradictory human desires and figure out what the human *really* wants, but I'm not that good.  (I'm reminded of the automatic Google search term spell check -- sometimes I'm like "Thanks Google, I did have a typo in my search term and I'm glad you corrected it," but sometimes I'm "Darn you Google!  That wasn't a typo, stop showing me search results for what you thought I meant!")

Quote
1. I take out game killer cards, that are easy to run away with the game if you know what you're doing. This is mostly to prevent temptation to myself. For example, fool's gold, goons, (especially if there is a village), possession, tournament.

How do you run away with the game with Possession?  I'm pretty sure the general dislike of Possession has little to do with it being a run-away game-killer and more to do with it being a I-feel-like-you-stole-my-good-hand card.

Quote
Any randomizer trying to make the game more fun should probably take those into consideration, and each one separately (maybe there should be different randomizers for game flavors, or a slider?) For example, what makes an engine game can kill big money, greening could kill an engine but depending on the board the engine may be faster, engines or big money could lose to a well-timed three pile scramble, sometimes two or more strategies are possible on the same board but that usually makes the board a little weaker either way since the strategies are at odds with eachother.

From what I can gather, your simulator doesn't keep these strategies distinct. They are very distinct, and pull the game in different ways. Maybe rather than try to enable all of them, keep them as separate 'flavors', that could be mixed, but not necessarily.

I really like the concept of there being a randomizer that evaulates sets based on potential strategies and then tries to balance those strategies on the board.

I do not feel that my randomizer can easily be adapted to become such a randomizer.  My randomizer works at a much lower-level; it looks at simple attributes of cards and tries to balance a kingdom around which attributes show up.

If anyone wants to try to write such a randomizer and succeeds, I have no doubt that it will do a better job at generating fun sets than my randomizer does.  But until someone actually writes one, I will prefer to play with my randomizer over "pure random".  Yes, the default settings of my randomizer prioritizes engines over non-engine strategies.  As a casual player, I find engines more fun than other strategies.  If you're a player who wants to see other strategies more, the default settings on my randomizer are not for you.  Either use a different randomizer, write your own, or see if you can tweak the settings on my randomizer to make one that works for you.  There's a high-level setting, "balance", that can be set to negative values to make the selection be biased against engines.  Maybe that's a good place to start?

I don't and have never intended for my randomizer to be the be-all-end-all of Dominion set generators.  The domain name was available so I just grabbed it.  :)

25
Dominion General Discussion / Re: Announcing Dominion Set Generator
« on: January 15, 2013, 03:07:41 pm »
In other words, "I want at least 5 Prosperity cards" is incompatible with "I want each card to be equally likely to show up", and I gotta choose one of those to prioritize.  "Equally likely to show up" is a global constraint, so it wins.
Well obv. you could manage this if you wanted.

Pick 5 Prosperity cards using your algorithm, as if Prosperity were the only set available. You have 25 and make two lists but stop at 5 cards. Pick one of those lists of 5 cards. Now there are 164 cards left for the remaining 5 slots, so start 32 lists of 10, and fill the first 5 slots of each with the Prosperity cards selected. Now finish the algorithm on these 32 lists, then pick one.

While this probably satisfies what the user *meant*, it doesn't actually do what the user *said*, because now each card is not equally likely to show up.  Prosperity cards are heavily favored.  Now, you might argue that perhaps the user is okay with Prosperity cards being heavily favored, since they did want 5 of them.  But that's a human, psychological judgment; the generator doesn't have a smart AI that can predict which preference is more important.  Maybe it's more important to the user that cards are uniform, and the Prosperity restriction was an unimportant "try to do this if you can" rule. 

Without an interface to let the user set an importance on the "uniform" constraint, I have to set the default somewhere.  Right now it's at the top because it chooses cards in a fundamentally different way than the core generator does.

So, essentially what's needed is an interface to be able to say "I want some of my constraints to be more important than the card selection being uniform."

The correct solution, I feel, is that the user can designate which slots are to be filled by what generator.  That way a user can, say, pick 5 slots and use the "Prosperity-only generator" to fill those, and use the "All-cards generator" to fill the other 5.  Or maybe they use the "All-cards-except-Prosperity generator" to fill the rest, depending on whether they intended 5 as a minimum or an absolute.

To make that work on my site would require pretty extensive UI changes (the uniform thing was easy in terms of UI -- it was just adding one button).  I do not enjoy coding UI, as you can probably tell from the massive amount of confusing settings on the page, so it may be a long while before I will get to this on my page.

Pages: [1] 2 3

Page created in 2.277 seconds with 18 queries.