Dominion Strategy Forum

Dominion => Dominion General Discussion => Topic started by: onigame on December 07, 2012, 03:51:32 pm

Title: Announcing Dominion Set Generator
Post by: onigame on December 07, 2012, 03:51:32 pm
http://dominionsetgenerator.com/

I got a bit frustrated that a purely uniformly-random set generator sometimes makes sets that aren't fun.  This is a set generator that, by default, generates "fun and balanced" sets.  And if you don't like that you can customize it in lots of different ways.

I highly welcome feedback or any offers to help (especially if you want to help make it look snazzy and cool!).
Title: Re: Announcing Dominion Set Generator
Post by: theory on December 07, 2012, 03:52:59 pm
Looks awesome!  Except, I got a card titled "NHguild" ;-)
Title: Re: Announcing Dominion Set Generator
Post by: heron on December 07, 2012, 04:00:57 pm
When I select that I don't own an expansion and/or click "avoid" cards from that expansion, I still get cards from that set.
Ex: I select that I don't own cornucopia, it still generates horn of plenty in the kingdom.
Title: Re: Announcing Dominion Set Generator
Post by: LastFootnote on December 07, 2012, 04:01:59 pm
BEguild ($4)
CBguild ($5)
CVguild ($5)
DNguild ($2)
EPguild ($3)
GPguild ($3)
HVguild ($5)
IFguild ($4)
NHguild ($5)
NJguild ($2)
TPguild ($5)
UWguild ($4)
UYguild ($4)

Sorry, couldn't resist.  ;D

EDIT: Added costs.
Title: Re: Announcing Dominion Set Generator
Post by: brokoli on December 07, 2012, 04:04:43 pm
BEguild
CBguild
CVguild
DNguild
EPguild
GPguild
HVguild
IFguild
NHguild
NJguild
TPguild
UWguild
UYguild

Sorry, couldn't resist.  ;D

First Guilds spoiler ! Awesome !   ;D
Title: Re: Announcing Dominion Set Generator
Post by: HiveMindEmulator on December 07, 2012, 04:13:02 pm
Cool! Looks very complicated... Is there a Glossary or something? I don't know what Chippers, Antisplitters, Mutators, etc. are. They sound quite awesome though :)
Title: Re: Announcing Dominion Set Generator
Post by: theory on December 07, 2012, 04:34:18 pm
Cool! Looks very complicated... Is there a Glossary or something? I don't know what Chippers, Antisplitters, Mutators, etc. are. They sound quite awesome though :)

http://dominionsetgenerator.com/explanations.txt

Quote
Chainer: Gives at least +1 Action
Cantrip: Gives at least +1 Card +1 Action
Splitter: Gives at least +2 Actions
Multiplier: Gives actions when combined with the right cards
Terminus: Decreases Actions played
Cumulative: Cards that are useful when played in quantity
Antisplitter: Cards that don't benefit from Splitters (i.e., Splitters and non-Cumulative Terminuses)

Buyer: Gives at least +1 Buy
Gainer: Gains an extra card into deck
Coinage: Amount of money given (actions only)
Discounter: Makes cards cheaper

Carddrawer: Number of cards hand size increases when played (Cantrips = 1, averaged)
Selftrasher: Number of cards that one's deck can shrink by (on average)
Mutator: Changes cards in deck without increasing deck size
Discardcasher: Turns discards to money

Attack: Does bad things to opponents
Blocker: Nullifies or slows some attacks
Giver: Increases opponent's deck size (e.g., by giving curses)
Trasher: Trashes other players' cards
Helper: Non-attacks that may give opponent a benefit or decision
Shrinker: Makes opponents have a smaller hand
Grower: Restores some effect against shrinking attacks

Scouter: Allows some control over composition of top of deck (# of cards)
Topdecker: Allows some control over composition of next hand

Selfmiller: May cause own cards to be discarded without a chance of being able to play them
Miller: May cause other players to discard cards without a chance of being able to play them
Spier: Mills with tactical decisions
Speeder: Goes through own deck faster
Slower: Causes other players to go through their deck slower

Interactive: Attack * 2 + Helper + (1 if Victory)
Improver: Cards that get better closer to game end
Variance: The "luck" factor of the effects of having this card --
 0 -- has no luck at all (e.g., cantrips)
 1 -- has a bit of luck (e.g., drawing actions with no actions left)
 2 -- needs to be paired with rather common cards, or like 1 but more variance
 3 -- needs to be paired with uncommon cards
 4 -- variance in this card can be game-deciding
Chooser: Player gets decisions when playing the card
 0 -- no decisions
 1 -- trivial or inconsequential decisions
 2 -- often obvious but occasionally interesting
 3 -- interesting decisions

Deckchanger: a Buyer, Gainer, or \Selftrasher (i.e., anything that
 allows deck size to change by more than +0/+1 cards a turn)
Medichainer: a medium-cost chainer
Brancher: Splitter or Multiplier (i.e., anything that helps you play
 multiple Terminuses).
Antiterminus: Treasure, Chainer, Discardcasher, or Mutator (i.e., anything that
 won't really clash if you have multiple ones in your deck)
Title: Re: Announcing Dominion Set Generator
Post by: HiveMindEmulator on December 07, 2012, 04:41:12 pm
^Ah. Should of clicked on that... :P Didn't occur to me that "notes" could include definitions of the terms...
Title: Re: Announcing Dominion Set Generator
Post by: eHalcyon on December 07, 2012, 04:42:25 pm
I would suggest using more common parlance.  e.g. instead of "splitter", say "village".  Or "non-terminal" instead of "chainer".
Title: Re: Announcing Dominion Set Generator
Post by: theory on December 07, 2012, 04:46:39 pm
I would suggest using more common parlance.  e.g. instead of "splitter", say "village".  Or "non-terminal" instead of "chainer".

I think these are terms that the playtesters used (as opposed to the ones we came up with independently).
Title: Re: Announcing Dominion Set Generator
Post by: Insomniac on December 07, 2012, 04:50:46 pm
HMM

"Play on Goko Internal Test Machine (Goko employees only)"

link has things like param=Border Village... in it....Why Cant I play with Hinterlands :(
Title: Re: Announcing Dominion Set Generator
Post by: onigame on December 07, 2012, 04:57:27 pm
When I select that I don't own an expansion and/or click "avoid" cards from that expansion, I still get cards from that set.
Ex: I select that I don't own cornucopia, it still generates horn of plenty in the kingdom.

Oops, that's a pretty severe bug that was caused when I tried to make something more
user-friendly.  Working on it now.  EDIT: Fixed.

Donald, sorry for giving people a little peek at Guilds :)
Title: Re: Announcing Dominion Set Generator
Post by: onigame on December 07, 2012, 05:15:59 pm
^Ah. Should of clicked on that... :P Didn't occur to me that "notes" could include definitions of the terms...

Also, you may be able to mouseOver the terms to see the explanations.
Title: Re: Announcing Dominion Set Generator
Post by: Polk5440 on December 07, 2012, 05:36:21 pm
Thanks for sharing this!! I am very interested in how people choose "interesting" kingdoms!
Title: Re: Announcing Dominion Set Generator
Post by: eHalcyon on December 07, 2012, 05:38:12 pm
I would suggest using more common parlance.  e.g. instead of "splitter", say "village".  Or "non-terminal" instead of "chainer".

I think these are terms that the playtesters used (as opposed to the ones we came up with independently).

Huh.  Neat!
Title: Re: Announcing Dominion Set Generator
Post by: ftl on December 07, 2012, 05:39:30 pm
I read the notes but I still don't get how the algorithm works or how it determines "interesting" kingdoms... can anyone explain in small words in English what the basic idea of the code is?
Title: Re: Announcing Dominion Set Generator
Post by: heron on December 07, 2012, 06:24:41 pm
Thanks for the quick bug fix!

I would echo the previous idea that the terms should be renamed to the standard dominionstrategy.com names.
(e.g., splitter—>village, giver—>junker)

Also, it would be nice if the settings that I used before were still there the next time I used the randomizer, or it at least remembered which sets I own.
Title: Re: Announcing Dominion Set Generator
Post by: LastFootnote on December 07, 2012, 06:35:14 pm
By default it seems to have 1 or 2 villages per set, which I'm not sure I like.
Title: Re: Announcing Dominion Set Generator
Post by: ^_^_^_^ on December 07, 2012, 07:04:40 pm
By default it seems to have 1 or 2 villages per set, which I'm not sure I like.
Agreed. I tried Base-only and it has either Throne Room, Festival, or Village.
Title: Re: Announcing Dominion Set Generator
Post by: greatexpectations on December 07, 2012, 07:45:15 pm
By default it seems to have 1 or 2 villages per set, which I'm not sure I like.

as someone who prefers full random i agree. but if a person is using a tool like this they are likely trying to create an 'interesting' board, typically one with some sort of viable engine. and in that case, a village is usually going to be a helpful card.
Title: Re: Announcing Dominion Set Generator
Post by: Tables on December 07, 2012, 07:57:10 pm
I haven't tested to see if a village is always included, but I'd personally like the default to not always select such kingdoms. Some interesting games have no villages in them (usually a few cantrips or non-terminals at least though)
Title: Re: Announcing Dominion Set Generator
Post by: LastFootnote on December 07, 2012, 08:00:25 pm
By default it seems to have 1 or 2 villages per set, which I'm not sure I like.

as someone who prefers full random i agree. but if a person is using a tool like this they are likely trying to create an 'interesting' board, typically one with some sort of viable engine. and in that case, a village is usually going to be a helpful card.

I strongly disagree with the implication that a board needs an engine to be interesting. Most of my favorite cards thrive in the absence of a viable engine.
Title: Re: Announcing Dominion Set Generator
Post by: rrenaud on December 07, 2012, 08:01:16 pm
It doesn't always generate sets with a village.  It generated this one, for example.  Obviously, it would be wonderful if there was actually an "interesting set" and a "boring set" feedback mechanism built into goko so this could get feedback.

Market
Ironworks
Grand Market
Royal Seal
Militia
Mine
Cellar
Gardens
Bank
Thief
Title: Re: Announcing Dominion Set Generator
Post by: LastFootnote on December 07, 2012, 08:35:05 pm
Um, is this actually being built into Goko? Please say no.
Title: Re: Announcing Dominion Set Generator
Post by: greatexpectations on December 07, 2012, 08:39:04 pm
I strongly disagree with the implication that a board needs an engine to be interesting. Most of my favorite cards thrive in the absence of a viable engine.

you are just nitpicking here mate. obviously there will still be some boards without engines that are still going to be interesting. and if you prefer boards without engines well hey that's your opinion. but if other people were of that same mentality then would just play full random and take what they got. if they are going out of their way to use this sort of tool, they are most likely looking for some sort of board with interesting engine options.

i'm not sitting here trying to make any bold statement on which board is best. i'm just explaining the rationale for why people using this tool might prefer to see these types of cards.
Title: Re: Announcing Dominion Set Generator
Post by: LastFootnote on December 07, 2012, 08:41:18 pm
I strongly disagree with the implication that a board needs an engine to be interesting. Most of my favorite cards thrive in the absence of a viable engine.

you are just nitpicking here mate. obviously there will still be some boards without engines that are still going to be interesting. and if you prefer boards without engines well hey that's your opinion. but if other people were of that same mentality then would just play full random and take what they got. if they are going out of their way to use this sort of tool, they are most likely looking for some sort of board with interesting engine options.

i'm not sitting here trying to make any bold statement on which board is best. i'm just explaining the rationale for why people using this tool might prefer to see these types of cards.

That's all well and good, unless they build this into Goko as the only randomization option.
Title: Re: Announcing Dominion Set Generator
Post by: Tables on December 07, 2012, 09:19:27 pm
Um, is this actually being built into Goko? Please say no.

??? Why would you dislike having an extra option for randomizing? If you don't like it, you wouldn't use it, but personally, I'd love to have this available as an option.
Title: Re: Announcing Dominion Set Generator
Post by: jonts26 on December 07, 2012, 09:45:36 pm
Um, is this actually being built into Goko? Please say no.

Why? This is basically what I suggested they do. Well, part of it. What I said was it would be nice to have a way to bias towards games which are more balanced, i.e. have a village, card draw, trashing, etc. But I made sure to tell them this is just an option. Keep a full random option for sure. Also I told them that this much configurability was too much for the common user and to only include these types of things in advanced settings. The main settings can just have a handful of bias checkmarks (balanced, full random, attack heavy, no attacks, etc).
Title: Re: Announcing Dominion Set Generator
Post by: greatexpectations on December 07, 2012, 09:58:51 pm
it bears remembering that goko has a target audience that will include people outside of this forum. not all will be as serious fans of dominion, and the more casual dominion player might be quite interested in this, especially for gaming with friends.
Title: Re: Announcing Dominion Set Generator
Post by: ftl on December 07, 2012, 10:57:31 pm
I read the notes but I still don't get how the algorithm works or how it determines "interesting" kingdoms... can anyone explain in small words in English what the basic idea of the code is?

Bumping my question ahead of goko stuff...
Title: Re: Announcing Dominion Set Generator
Post by: WanderingWinder on December 07, 2012, 11:06:06 pm
Um, is this actually being built into Goko? Please say no.
What I said was it would be nice to have a way to bias towards games which are more balanced, i.e. have a village, card draw, trashing, etc.
I.E. unbalanced boards where engines are almost always the way to go?

Title: Re: Announcing Dominion Set Generator
Post by: LastFootnote on December 07, 2012, 11:12:39 pm
Um, is this actually being built into Goko? Please say no.

Why? This is basically what I suggested they do. Well, part of it. What I said was it would be nice to have a way to bias towards games which are more balanced, i.e. have a village, card draw, trashing, etc. But I made sure to tell them this is just an option. Keep a full random option for sure. Also I told them that this much configurability was too much for the common user and to only include these types of things in advanced settings. The main settings can just have a handful of bias checkmarks (balanced, full random, attack heavy, no attacks, etc).

As long as it's just an option, that's completely fine. I'm just worried they'll build it in as the automatic randomization algorithm for Pro-ranked games. If that's not going to happen, cool.

I agree that in general, more options are good. Personally, I'd like an option to limit the total number of sets included in a board of 10 cards. I enjoy playing games with 5 cards each from 2 sets or ≈3 cards from 3 sets. A lot of marginal cards like Scout and Contraband are much more useful when matched with more cards from their set.
Title: Re: Announcing Dominion Set Generator
Post by: jonts26 on December 07, 2012, 11:12:57 pm
Um, is this actually being built into Goko? Please say no.
What I said was it would be nice to have a way to bias towards games which are more balanced, i.e. have a village, card draw, trashing, etc.
I.E. unbalanced boards where engines are almost always the way to go?

Defining balanced as including more various types of cards. If you want to call that unbalanced, whatevs. We can call it engine biased or something if you'd like. Point is, that should be an option. Probably not for pro leaderboard but for casual why not.
Title: Re: Announcing Dominion Set Generator
Post by: Beyond Awesome on December 08, 2012, 12:51:27 am
Um, is this actually being built into Goko? Please say no.
What I said was it would be nice to have a way to bias towards games which are more balanced, i.e. have a village, card draw, trashing, etc.
I.E. unbalanced boards where engines are almost always the way to go?

How about boards where BM is the only way to go. Isn't that unbalanced as well?
Title: Re: Announcing Dominion Set Generator
Post by: onigame on December 08, 2012, 03:05:01 am
I agree that in general, more options are good. Personally, I'd like an option to limit the total number of sets included in a board of 10 cards. I enjoy playing games with 5 cards each from 2 sets or ≈3 cards from 3 sets. A lot of marginal cards like Scout and Contraband are much more useful when matched with more cards from their set.

Then you should be glad to know that clustering sets is one of the biases in the Set Generator's current default settings.
Title: Re: Announcing Dominion Set Generator
Post by: Kuildeous on December 10, 2012, 09:49:24 am
I would suggest using more common parlance.  e.g. instead of "splitter", say "village".  Or "non-terminal" instead of "chainer".

I actually don’t have a problem with these terms.

Yeah, we all know what is meant by "village," but technically not all villages are really villages. City, Shanty Town, and Bandit Camp are not villages. This could confuse a new player who hasn't been playing the game since base, when the only way to get +2 Actions was to play a card named Village. And "splitter" has an appropriate visual reference. If you lay the cards down as you play them, then you can visualize the actions splitting.

This visualization also makes sense for "chainers," though I agree that "non-terminal" is also accurate. Actually, I favor "non-terminal" more, since by these definitions, cantrips and splitters are subsets of chainers, but that's all splitting hairs. The fact is that the terms are defined; no matter what terms are used, players likely will have to get used to the terminology.
Title: Re: Announcing Dominion Set Generator
Post by: clb on December 19, 2012, 02:15:43 pm
Hey, just wanted to give you a heads up (if you weren't already aware) that there are two boxes between "Hinterlands 2" and "Dark Ages 1" where I would expect to see only one check box for DA1.

Title: Re: Announcing Dominion Set Generator
Post by: onigame on December 20, 2012, 12:14:12 am
Mm, that checkbox is supposed to be invisible... care to tell me what browser you're using?
Title: Re: Announcing Dominion Set Generator
Post by: werothegreat on December 20, 2012, 12:59:27 am
Guilds checkbox?
Title: Re: Announcing Dominion Set Generator
Post by: Davio on December 20, 2012, 06:19:01 am
Now that CouncilRoom is back up, it would be totally frickin' awesome to do some datamining to discover interesting interactions between cards and base sets on that, minimizing the number of "wasted" card slots.
Title: Re: Announcing Dominion Set Generator
Post by: clb on December 24, 2012, 01:43:30 am
Mm, that checkbox is supposed to be invisible... care to tell me what browser you're using?

IE 8
Sorry - it is a work computer, and I don't get to pick which browser I get to use (or the version). :(
I have also tried it on Mozilla, whatever Blackberry runs, Chrome, and whatever Kindle uses and did not see the mystery box.
Incidentally, in IE8, the sets don't generate - the page comes up with an error and flickers but doesn't display anything.

Could I make a request? Would you mind (if you have tons of spare time!  :P) making a feature to swap out one of the cards in the displayed kingdom? I have no idea how much work that woudl entail, so it may not be worth it to you. We used the generator extensively on Friday and loved it, but we found that some cards were favorites of the algorithm (checked all the boxes and left everything at default). Toward the end of the night, we would remove the one or two cards from the generated set that we had already seen numerous times that evening and replace them with something else. It would be awesome if the generator could do that, but if not, we can continue on in analogue mode.
Thanks!!
Title: Re: Announcing Dominion Set Generator
Post by: onigame on December 30, 2012, 05:04:57 am
Incidentally, in IE8, the sets don't generate - the page comes up with an error and flickers but doesn't display anything.

Yes, I'm sorry about that.  I really should learn how to use Closure.  It's on the task list.  :)

Quote
Could I make a request? Would you mind (if you have tons of spare time!  :P) making a feature to swap out one of the cards in the displayed kingdom? Toward the end of the night, we would remove the one or two cards from the generated set that we had already seen numerous times that evening and replace them with something else.

Sounds like what you want is the ability to write some card names and say "don't put these cards in my set".  It's on the planned feature list, so I will prioritize it (in my spare time).  However, I'd like to know, if you're willing, which cards you felt you were seeing too much.  I would still like to tweak the main selection rules somewhat and that feedback would be useful.
Title: Re: Announcing Dominion Set Generator
Post by: clb on December 30, 2012, 11:58:20 pm

Sounds like what you want is the ability to write some card names and say "don't put these cards in my set".  It's on the planned feature list, so I will prioritize it (in my spare time).  However, I'd like to know, if you're willing, which cards you felt you were seeing too much.  I would still like to tweak the main selection rules somewhat and that feedback would be useful.

I understand that this is something you are doing because you are awesome, so I won't whine and complain if things don't happen.
The card that was the stand-out in my memory was Familiar - it showed up in at least half of the decks we generated. I will ask the guys I played with if they remember any others. We may be using it again on Friday - if so, I will let you know what seems to show up a lot.
Thanks for working on it!
Title: Re: Announcing Dominion Set Generator
Post by: IamOBESE on January 05, 2013, 09:46:54 am
This is a really neat concept.

I've been using it with DA, Intrigue, and Prosperity, and the generator seems to put at least 2 of peddler/grand market/workers village into at least half of the sets I generate.

I think peddler is the one of the 3 i see most often
Title: Re: Announcing Dominion Set Generator
Post by: hsiale on January 05, 2013, 01:00:50 pm
This card picker: http://inprogressgaming.com/dominion-card-picker/ has a very nice function - once the set is generated, there is a veto button under each card. If you don't want it, just click it and the card is replaced. Adding such thing should solve problems with cards that appear (or you feel they appear) too often.
Title: Re: Announcing Dominion Set Generator
Post by: LastFootnote on January 05, 2013, 01:03:36 pm
This card picker: http://inprogressgaming.com/dominion-card-picker/ has a very nice function - once the set is generated, there is a veto button under each card. If you don't want it, just click it and the card is replaced. Adding such thing should solve problems with cards that appear (or you feel they appear) too often.

That sounds like a band-aid to avoid addressing the actual problem.
Title: Re: Announcing Dominion Set Generator
Post by: hsiale on January 06, 2013, 03:40:51 am
It depends on what the actual problem really is. If the problem is the generator returning some cards more often, then you're right (and some big scale testing is needed to verify this, find the reason and fix). But it may well be that the problem is users seeing some card (most often a card they don't like, and Familiar is not a popular card) as appearing very often while in reality it doesn't. I also sometimes feel that Iso is throwing Possession or Mountebank on me every second game.
Title: Re: Announcing Dominion Set Generator
Post by: LastFootnote on January 07, 2013, 03:37:45 pm
It depends on what the actual problem really is. If the problem is the generator returning some cards more often, then you're right (and some big scale testing is needed to verify this, find the reason and fix). But it may well be that the problem is users seeing some card (most often a card they don't like, and Familiar is not a popular card) as appearing very often while in reality it doesn't. I also sometimes feel that Iso is throwing Possession or Mountebank on me every second game.

Onigame has readily admitted that his set generator includes some cards more often than others. He has no plans to fix it. It's an integral part of the algorithm, apparently.

EDIT: Here's the relevant post. (http://boardgamegeek.com/thread/895067/announcing-dominion-set-generator/page/2#body_article10759958)
Title: Re: Announcing Dominion Set Generator
Post by: werothegreat on January 07, 2013, 03:42:45 pm
The Goko card picker, as is, will throw up Monument super often, almost always has about three Attacks in it, and almost never has Pirate Ship.
Title: Re: Announcing Dominion Set Generator
Post by: LastFootnote on January 07, 2013, 04:04:51 pm
The Goko card picker, as is, will throw up Monument super often, almost always has about three Attacks in it, and almost never has Pirate Ship.

I haven't had that experience. I see Pirate Ship quite a bit, and don't see Monument that often. I think you're overstating the ratio of Attack cards, but it's possible that it biases sets toward them.
Title: Re: Announcing Dominion Set Generator
Post by: Toskk on January 07, 2013, 04:14:43 pm
The Goko card picker, as is, will throw up Monument super often, almost always has about three Attacks in it, and almost never has Pirate Ship.

Why would the Goko kingdom picker bias anything? It's specifically billed as 'true random' kingdom selection, so it would have to be a failure of their random number generator, if there's any kind of bias there. I'm a firm believer in artificial kingdom selection (thus all of the artificial selection options in my card picker program on inprogressgaming.com), but in my opinion it is critical that *all* players understand (and agree on) the selection criteria that will be used for any (rated) match. Goko should/would need to be very open about how they are selecting kingdoms *if* they were to be intentionally using anything other than true random.
Title: Re: Announcing Dominion Set Generator
Post by: Donald X. on January 07, 2013, 04:30:06 pm
Onigame has readily admitted that his set generator includes some cards more often than others. He has no plans to fix it. It's an integral part of the algorithm, apparently.

EDIT: Here's the relevant post. (http://boardgamegeek.com/thread/895067/announcing-dominion-set-generator/page/2#body_article10759958)
I feel like he said the opposite there. More directly, he said to me that he might change the program to de-emphasize cards that are ubiquitous as it stands (Festival being an example). This would just be a matter of weighting that card by default, which is trivial (the entire thing is based on generating weightings for how likely it is to pick a card).
Title: Re: Announcing Dominion Set Generator
Post by: onigame on January 07, 2013, 07:12:46 pm
It depends on what the actual problem really is. If the problem is the generator returning some cards more often, then you're right (and some big scale testing is needed to verify this, find the reason and fix). But it may well be that the problem is users seeing some card (most often a card they don't like, and Familiar is not a popular card) as appearing very often while in reality it doesn't. I also sometimes feel that Iso is throwing Possession or Mountebank on me every second game.

Onigame has readily admitted that his set generator includes some cards more often than others. He has no plans to fix it. It's an integral part of the algorithm, apparently.

EDIT: Here's the relevant post. (http://boardgamegeek.com/thread/895067/announcing-dominion-set-generator/page/2#body_article10759958)

You're misinterpreting my response.  I certainly intend to figure out which cards are chosen more often than others and adjust the algorithm so that the respective probabilities of individual cards getting selected are not egregiously out of proportion.  For example, right now I believe Governor gets chosen waaaay too much, and it's because the algorithm thinks it's a very versatile card that improves a lot of layout.  This tells me that it's okay for Governor to be chosen a bit more frequently than the other cards, but not to the extent to which the generator is doing so.

What my point was in the thread is that I'm not going to enforce a hard limit that constrains each card to appear exactly the same number of times as any other card.  I want to have cards roughly chosen equally, yes, but I'm not going to sacrifice playability and fun for what I consider to be an arbitrary restriction.

The goal is to have the generator create fun sets.  It's pretty clear, from popularity rankings and such, that "fun" is antithetical to strictly making everything precisely fair.

The hard part is that I want to affect these biases by changing the underlying parameters to the algorithm, rather than just have a blanket statement like "you're choosing Governor too much, so put a special case for Governor that makes it get chosen less."
Title: Re: Announcing Dominion Set Generator
Post by: LastFootnote on January 07, 2013, 08:43:56 pm
Ah, I see. Sorry for misinterpreting your response and thanks for clarifying.
Title: Re: Announcing Dominion Set Generator
Post by: onigame on January 07, 2013, 09:41:12 pm
The Goko card picker, as is, will throw up Monument super often, almost always has about three Attacks in it, and almost never has Pirate Ship.

Why would the Goko kingdom picker bias anything? It's specifically billed as 'true random' kingdom selection, so it would have to be a failure of their random number generator, if there's any kind of bias there. I'm a firm believer in artificial kingdom selection (thus all of the artificial selection options in my card picker program on inprogressgaming.com), but in my opinion it is critical that *all* players understand (and agree on) the selection criteria that will be used for any (rated) match. Goko should/would need to be very open about how they are selecting kingdoms *if* they were to be intentionally using anything other than true random.

Right now the plan is that "Pro" games on Goko will use uniformly random, with the rules as published, but Casual games and single-player games against the computer will use some form of my generator's algorithm.  As for being open, my code is open source and freely available if anyone wants to decipher how it selects "kingdoms".  Also, the "Deck Builder" option to fill out the rest of the deck with random cards will use my generator initially, but I'm lobbying for a setting that lets you adjust the settings for that, including changing
it to "uniformly random" if you want.

Personally, I don't see why having something be rated necessarily means that the kingdom card selection has to be uniformly random.  You could have every game be the "First Game" recommended set of 10, and the ratings would still be valid -- they'd just be ratings for how well a player plays with that specific set.  I think for a rating to be completely fair, the necessary attributes should be that an individual player has no control over what cards are picked, and that a player can't refuse to play a game without it counting as a resignation.

Right now, on isotropic, a player gets to look at the kingdom before deciding if they want to play a rated game with that set.  Suppose a player hates Saboteur and chooses to never play a rated game if Saboteur is in the set.  In that case, isn't his rating based on a non-uniformly random selection?

I feel that anyone who insists on uniformly random being some sort of "true basis" of Dominion skill is, to some extent, deceiving themselves.  For example, they'll play a random setup where it's clear that the Chapel-Witch opening is going to win and suffer through a boring game and justify to themselves that at least it's "fair".  Or some setup where Big Money is 70% likely to win and it's just a matter of hoping you get $6s and $8s instead of $7s.

But, because of the large following on isotropic, it's clear that there are plenty of intense Dominion players who enjoy the challenges that come from having a uniformly-random chosen set, with strict rules in play.  So I think it's okay to have the "Pro" section provide them what they want.  I just don't see any reason why casual players have to be confronted with the occasional crazy-but-not-fun setup where everything is an Attack or there aren't any +Actions or everything costs $4 or less of whatever (unless they want to).
Title: Re: Announcing Dominion Set Generator
Post by: Beyond Awesome on January 07, 2013, 09:50:36 pm
I agree with you on your points. I am not a fan of veto mode on isotropic, and I will play any kingdom regardless. On iso, I used to play veto mode a lot since most players play that way. I do like how on Goko it is pure random, and in pro games you have no clue what the kingdom is until you play it.
Title: Re: Announcing Dominion Set Generator
Post by: Donald X. on January 07, 2013, 11:18:28 pm
Personally, I don't see why having something be rated necessarily means that the kingdom card selection has to be uniformly random.  You could have every game be the "First Game" recommended set of 10, and the ratings would still be valid -- they'd just be ratings for how well a player plays with that specific set.  I think for a rating to be completely fair, the necessary attributes should be that an individual player has no control over what cards are picked, and that a player can't refuse to play a game without it counting as a resignation.
I think it would be fine to rate games with only very broad limits on what cards are used - specifically, letting you pick "use X cards from expansion Y" seems fine (maybe X can't be more than 5 for the small sets for it to be rated?). People would use that setting to get games they thought they had an edge in, but I don't see it screwing things up. I mean it screws it up for people who want to play with Alchemy but always force 10 Prosperity because they think they do the best there. But people like to play with the new cards, newly purchased or new for everyone, and it seems sad to push them out of that if they care about being rated on the pro board. I guess they are already pushed out by not wanting to take risks with new cards.

If you can pick specific cards then you can either do the King's Court / Masquerade / Goons trick that one guy did on isotropic when such games were rated (or some new thing if there ever is one), or you can just play Duke games against the bots until that's fixed (or whatever card people find out the bot is bad with). So I think those shouldn't be rated for sure. It would make the "casual" rating way more meaningful if picking specific cards didn't get you rated there either.

Using the uh "fun set of 10" generator with default settings seems like fair game for rating. Engines will be more common I guess? But like, let's say Joe uses the generator because he wants engines that he's good at, and Sam says all-Prosperity for me (in this new world of that not forcing Colony), and Fred says who cares, shut up and deal. I don't feel like now the pro board is a joke (unless the rating system sucks as some people think, but that's a separate issue). You have to be pretty good to crush people consistently in whichever of these formats.
Title: Re: Announcing Dominion Set Generator
Post by: ftl on January 08, 2013, 04:57:31 am
I think I'd dislike having games with this set generator be the default. Dunno, maybe I'm wrong, maybe I'd like it, but I'd be worried if this became the default that everyone plays.

Variety is fun - variety in what sorts of games happen. Some games are engine-y and some are BM, sometimes you use all the cards and sometimes you just have to realize that you only need one of the 10, sometimes the games are ugly and sometimes they're clever, sometimes everyone picks different strategies and sometimes there's one obvious strategy with minor tweaks that everyone does, sometimes there's no attacks and sometimes every other card seems to be an attack.  This seems to be aiming for balance within a single game - make sure you have a balanced set! - instead of balance over a bunch of games (sometimes you'll get balanced sets, sometimes you'll get ones which are unbalanced in various ways).

Maybe it's just trying to solve a problem I don't really have. I just don't find "sometimes it's a Witch-BM set" to be a problem. Play that one, then play again and it'll be something different, I don't really want to exclude them. I'm not "suffering through" those, there's nothing wrong with a straightforward game. Or with a crazy one. As long as they don't happen too often - which they don't, even in full-random! - they enhance the game and don't detract from it.

It's not even that I have a particular attachment to "plain random". But I don't think I like the design philosophy of this set generator...

(And it's sort of strange and more than a bit rude to just decide that everyone who disagrees with you is just deceiving themselves. Seriously now...)
Title: Re: Announcing Dominion Set Generator
Post by: Beyond Awesome on January 08, 2013, 05:38:33 am
I think I'd dislike having games with this set generator be the default. Dunno, maybe I'm wrong, maybe I'd like it, but I'd be worried if this became the default that everyone plays.

Variety is fun - variety in what sorts of games happen. Some games are engine-y and some are BM, sometimes you use all the cards and sometimes you just have to realize that you only need one of the 10, sometimes the games are ugly and sometimes they're clever, sometimes everyone picks different strategies and sometimes there's one obvious strategy with minor tweaks that everyone does, sometimes there's no attacks and sometimes every other card seems to be an attack.  This seems to be aiming for balance within a single game - make sure you have a balanced set! - instead of balance over a bunch of games (sometimes you'll get balanced sets, sometimes you'll get ones which are unbalanced in various ways).

Maybe it's just trying to solve a problem I don't really have. I just don't find "sometimes it's a Witch-BM set" to be a problem. Play that one, then play again and it'll be something different, I don't really want to exclude them. I'm not "suffering through" those, there's nothing wrong with a straightforward game. Or with a crazy one. As long as they don't happen too often - which they don't, even in full-random! - they enhance the game and don't detract from it.

It's not even that I have a particular attachment to "plain random". But I don't think I like the design philosophy of this set generator...

(And it's sort of strange and more than a bit rude to just decide that everyone who disagrees with you is just deceiving themselves. Seriously now...)

Everything that ftl just said. To be honest, I don't mind cursing games or games without +actions/lack of villages. You need to learn to adapt. My biggest concern is that this set generator will lead to almost every game being enginey, and to me, that would be a bit boring. There are many strategies to Dominion, and it would be unforuntate to have these almost never show up. And, for the record, I enjoy engine games.
Title: Re: Announcing Dominion Set Generator
Post by: Davio on January 08, 2013, 07:24:01 am
Set generators bias promos way too much anyway.

But there's two sides to this coin: On the one hand it's cool that playing online enables access to cards that have a limited amount of physical copies. You could also say that because there aren't many physical copies and they're promo items that exist a bit outside of the regular Dominion space, people would not have come into contact with them as much. And the generator should reflect this.

I just think it's weird that with Dominion's online play possibilities the promos have become an integral part of Dominion space. I know the strength of BM-Envoy and I don't even have that card at home! I will also be the first to recognize that online play isn't the same as offline play and it's cool to leverage this kind of added value.

I'm still a bit clueless as to my own point of view, but I thought it would be at least good to let you guys think about it.
Title: Re: Announcing Dominion Set Generator
Post by: Lashof on January 08, 2013, 02:11:20 pm
I've found that when I try to play "pro" games on goko, I can't seem to get it to randomize shelters/plat-colony.  Is there anything special I need to do, or have I just had a weird string of province/estate games (I don't own all sets, just prosp + dark ages + 1/2 seaside, so one of the two should come up fairly often)
Title: Re: Announcing Dominion Set Generator
Post by: Beyond Awesome on January 08, 2013, 02:14:30 pm
I've found that when I try to play "pro" games on goko, I can't seem to get it to randomize shelters/plat-colony.  Is there anything special I need to do, or have I just had a weird string of province/estate games (I don't own all sets, just prosp + dark ages + 1/2 seaside, so one of the two should come up fairly often)

You can just click on the shelters or colony button and that should do the trick. But, I would say about 2 out of every 10 games for me are shelter games and 1 out of 15 are Colony games (maybe because Prosperity is a smaller set than DA), and about 1 out of 40 games seem to be both Colony and Shelters. If you play more games and pure random, you will see Shelters and Colonies.
Title: Re: Announcing Dominion Set Generator
Post by: onigame on January 08, 2013, 02:33:57 pm
(And it's sort of strange and more than a bit rude to just decide that everyone who disagrees with you is just deceiving themselves. Seriously now...)

I didn't decide that everyone who disagrees with me is deceiving themselves.  Just those people who disagree with me on whether imbalanced sets are fun for Dominion players in general.

I don't have a problem with playing the occasional game where BM is clearly dominant.  I don't even have a problem with playing many games where BM is slightly dominant.  I also don't have a problem with playing the occasional ugly game where you need only one of the 10 cards to win ... the problem is that with a wide pool of cards to choose from, those ugly games show up too often!

Roughly I would characterize kingdoms (sets of 10 cards) into these categories:
A. There's three or more viable strategies, with approximately equal likelihood of winning.
B. There's two or more viable strategies and maybe some that are obviously inferior to
 an experienced player but not to a casual player.
C. There's only one viable strategy for an experienced player.  Casual players who don't
 see it will lose.  There are some nuances to executing the strategy that will distinguish
 the experienced player from the expert player.
D. There's only one viable strategy for the expert player.  The winner will come down to
 whomever is luckiest with the shuffle (and maybe seating order).

What I would call a "fun" set is a set that is in the A or B categories.  I certainly see the C category as personally interesting, but I would only be willing to play that with experienced players -- C category games are not fun against casual players.  I don't understand why anyone finds D category games fun, but perhaps expert players will claim that D category games don't exist and that every game is really a C, I'm just not expert enough to see the differences.

When I called some players "delusional" I'm referring to people who believe that it's important to have D category games to get a full experience of Dominion, and that if you don't include them "you're not really playing Dominion."

To make an analogy, I enjoy playing Super Mario Brothers going through every level and collecting every coin.  Most casual players, including most (but not all) of my friends would not find that fun.  If I insisted that my way of playing was the only way to fully enjoy Super Mario Brothers and that everyone should play that way to get the full experience, I think my friends would be fully justified in calling me delusional.

On the other hand, I would be very sad if it was impossible or very hard to play Super Mario Brothers the way I enjoy playing it -- I feel the opportunity should be there for experienced players who do enjoy playing things to a much thorough detail than a casual player would.  This is why my set generator has a master "balance" setting now -- put it at zero and you get an unbiased uniformly-random set.  Put it at -1 and you're more likely to get C and D sets and fewer A and B sets.  The default setting is 1 (more A and B, fewer C and D) because I think that's what casual players will enjoy the most.  And I do believe that "Pro" games on Goko should use it at zero.

It's possible that I might be wrong about that assumption (what casual players like).  Another thing that I am trying to get Goko to do is to have a way to get user feedback on kingdoms.  A simple way to start would be, after a game, let the player give a simple "thumbs up / thumbs down" on whether they liked the kingdom they just played.  I'd then adjust the generator to compensate.

Having said all that, I do believe that my current implementation of the Set Generator weights engine games too high and I am trying to find ways to lower it.  There are many fun sets that don't have an engine and I don't think my generator is finding them frequently enough.  (It's also worth noting that since my generator is probability-based, every possible set can be theoretically generated -- so I'm really tweaking frequencies, not absolutes.)
Title: Re: Announcing Dominion Set Generator
Post by: ftl on January 08, 2013, 03:57:49 pm
... the problem is that with a wide pool of cards to choose from, those ugly games show up too often!

I would disagree with you there. I just went to iso and flipped 10 sets of full-random cards, I got just one "ugly" set out of those...

Quote
Roughly I would characterize kingdoms (sets of 10 cards) into these categories:
A. There's three or more viable strategies, with approximately equal likelihood of winning.
B. There's two or more viable strategies and maybe some that are obviously inferior to
 an experienced player but not to a casual player.
C. There's only one viable strategy for an experienced player.  Casual players who don't
 see it will lose.  There are some nuances to executing the strategy that will distinguish
 the experienced player from the expert player.
D. There's only one viable strategy for the expert player.  The winner will come down to
 whomever is luckiest with the shuffle (and maybe seating order).

What I would call a "fun" set is a set that is in the A or B categories.  I certainly see the C category as personally interesting, but I would only be willing to play that with experienced players -- C category games are not fun against casual players.

Man, A and B category games aren't any fun against casual players either. You pick a strategy and win, they flounder with strategies and don't put together anything reasonable.

D is the only way to make a big skill disparity fun, because otherwise the game is boring, easy wins aren't any fun.

C is a lot of fun too - it feels good to be able to make very small changes and see a difference in results. (I remember at one point on Goko I was testing what the bots did, and played some games where I deliberately set up there to be nothing to do except smithy-money. It was pretty cool to see how just by being slightly better with my duchy-dancing how I could get a noticeably above 50% winrate even on a board where literally all either of us bought was a smithy, maybe a second smithy depending on draws, money, and green.)

Quote
I don't understand why anyone finds D category games fun, but perhaps expert players will claim that D category games don't exist and that every game is really a C, I'm just not expert enough to see the differences.

I'm no expert, you're probably better than me. But at the very least, D category games are fun in the same way that Fluxx or gambling or straight-up games of chance are fun. That with a dash of knowing you can raise your chances a bit in the long run with experience and playing better.

Dominion can be either a game of basically pure skill, basically pure chance (assuming both players are familiar with basic strategy), or anything in between depending on the board, and that's pretty cool. 

And in addition, the presence of C-D games MAKES A-B games better. If you've a priori excluded "Boring optimal strategy both people go for" from the strategy space, there's no longer a decision to be made of "hmm, is this a set where I should get clever or a set where I should buy courtyards and that's it". Games where the thinking goes "Hmm, I thought it was a D game but it turns out you can do this clever thing" are infinitely more satisfying than "Hmm, looks like a boring set with nothing going on; but since those are effectively excluded by the set generator, I'm clearly missing something."

Quote
When I called some players "delusional" I'm referring to people who believe that it's important to have D category games to get a full experience of Dominion, and that if you don't include them "you're not really playing Dominion."

I think the presence of category D games makes Dominion a better game than without them; so yes, I think people who miss out on them ARE missing "the full experience of Dominion".

I mean, obviously they're still playing Dominion, any method of picking sets is fair game.

Quote
To make an analogy, I enjoy playing Super Mario Brothers going through every level and collecting every coin.  Most casual players, including most (but not all) of my friends would not find that fun.  If I insisted that my way of playing was the only way to fully enjoy Super Mario Brothers and that everyone should play that way to get the full experience, I think my friends would be fully justified in calling me delusional.

On the other hand, I would be very sad if it was impossible or very hard to play Super Mario Brothers the way I enjoy playing it -- I feel the opportunity should be there for experienced players who do enjoy playing things to a much thorough detail than a casual player would.  This is why my set generator has a master "balance" setting now -- put it at zero and you get an unbiased uniformly-random set.  Put it at -1 and you're more likely to get C and D sets and fewer A and B sets.  The default setting is 1 (more A and B, fewer C and D) because I think that's what casual players will enjoy the most.  And I do believe that "Pro" games on Goko should use it at zero.

See, I'd think the analogy is flipped. Playing every game with the set generator is going through every level and collecting every coin. You're making every single game a clever game with lots of strategies to do. Playing full-random would be playing some levels collecting every coin, but playing some levels just breezing through doing the minimum to get to the end of the level.
Title: Re: Announcing Dominion Set Generator
Post by: Toskk on January 08, 2013, 04:00:09 pm
Using the uh "fun set of 10" generator with default settings seems like fair game for rating. Engines will be more common I guess? But like, let's say Joe uses the generator because he wants engines that he's good at, and Sam says all-Prosperity for me (in this new world of that not forcing Colony), and Fred says who cares, shut up and deal. I don't feel like now the pro board is a joke (unless the rating system sucks as some people think, but that's a separate issue). You have to be pretty good to crush people consistently in whichever of these formats.

Yes, essentially all of the artificial selection methods I've seen/used tend to at the very least slightly prioritize 'engine' games, or at least the presence of a +2 action card in the set (even if there isn't any great use for it with the specific other cards). Many of them also tend to prioritize a +buy or gain x card. I agree that these two options alone aren't likely to give any specific player much of an artificial advantage.. certainly less than being able to select specific expansions would, anyway.

If Onigame is correct, and Goko is going to implement artificial selection options, I'd strongly recommend that they allow them for all rated game types, along with combining all matches generated in this manner into a single rating system (i.e. combine 'pro' games with 'casual' games when their kingdom selection method is the same as that used for 'pro' games).

As for the Pro board.. currently it is indeed a 'joke', simply due to the ability of players to disconnect instead of being counted as a loss. With that fixed (and of course all ratings reset), the second piece comes down to just how meaningful the rating system itself is.. which I've been arguing is a problem for quite some time now. The problem, as I keep trying to explain, is the range/accuracy measurement that accompanies the actual rating number. In short, as total number of matches increases, the overall range/accuracy of player ratings is not decreasing adequately, at least not enough to mask the fact that some percentage of games are going to come down to luck rather than skill (i.e. the win/loss had no meaning, regardless of player rating). For example, my current rating is approximately 7200 on Goko, with roughly 900 matches played, all against bots using true-random kingdom selection. A win vs. a bot will give me anywhere from 7-20 points, and a loss will cost me 195-210 points. This means that over the span of 30 matches, my rating could be ~6500 or it could be ~7500. ~95% of the time it'll stay within a range of 6800-7400. So a 600-point rating interval could well have no meaning whatsoever when it comes to determining win/loss probability vs other players, yet the number of points awarded/lost for each player will vary a considerable amount based on that 600-point swing, when it should vary essentially none (once a sufficient number of matches have been played).
Title: Re: Announcing Dominion Set Generator
Post by: Rabid on January 08, 2013, 04:03:47 pm

A. There's three or more viable strategies, with approximately equal likelihood of winning.
B. There's two or more viable strategies and maybe some that are obviously inferior to
 an experienced player but not to a casual player.
C. There's only one viable strategy for an experienced player.  Casual players who don't
 see it will lose.  There are some nuances to executing the strategy that will distinguish
 the experienced player from the expert player.
D. There's only one viable strategy for the expert player.  The winner will come down to
 whomever is luckiest with the shuffle (and maybe seating order).


I would be really interested to see a few example type A sets please?
I think they are much harder to make than you think.
Title: Re: Announcing Dominion Set Generator
Post by: jonts26 on January 08, 2013, 04:07:20 pm

A. There's three or more viable strategies, with approximately equal likelihood of winning.
B. There's two or more viable strategies and maybe some that are obviously inferior to
 an experienced player but not to a casual player.
C. There's only one viable strategy for an experienced player.  Casual players who don't
 see it will lose.  There are some nuances to executing the strategy that will distinguish
 the experienced player from the expert player.
D. There's only one viable strategy for the expert player.  The winner will come down to
 whomever is luckiest with the shuffle (and maybe seating order).


I would be really interested to see a few example type A sets please?
I think they are much harder to make than you think.

I agree. Most likely, you'll get game C. There tends to be one good overall strategy, but there's a lot of wiggle room on how to play it, what support cards you get and what you prioritize, etc. That's where skill is separated out.

Occasionally I see two strong yet viable options, but three is incredibly rare.
Title: Re: Announcing Dominion Set Generator
Post by: Davio on January 08, 2013, 04:08:41 pm
I'm pondering: Does the set generator decouple from "engine" or "BM" terminology and just asses the number of strategies picking either one?

I'll try to explain what I mean.

Stef posted an interesting topic the other day where Courtyard-BM was very competitive against the engine he would build (although the jury is still out on that one) and it even depended on what the opponent would do. So there you have a B-type game with both engine and BM as competitive strategies.

Just because a game has a possible BM strategy that can go toe to toe with an engine doesn't make it boring. Correctly assessing whether BM will beat an engine or not is also part of being an expert player.
Title: Re: Announcing Dominion Set Generator
Post by: Beyond Awesome on January 08, 2013, 04:48:52 pm

It's possible that I might be wrong about that assumption (what casual players like).  Another thing that I am trying to get Goko to do is to have a way to get user feedback on kingdoms.  A simple way to start would be, after a game, let the player give a simple "thumbs up / thumbs down" on whether they liked the kingdom they just played.  I'd then adjust the generator to compensate.


I do want to say, I like your user feedback idea.
Title: Re: Announcing Dominion Set Generator
Post by: onigame on January 08, 2013, 08:29:10 pm

A. There's three or more viable strategies, with approximately equal likelihood of winning.
B. There's two or more viable strategies and maybe some that are obviously inferior to
 an experienced player but not to a casual player.
C. There's only one viable strategy for an experienced player.  Casual players who don't
 see it will lose.  There are some nuances to executing the strategy that will distinguish
 the experienced player from the expert player.
D. There's only one viable strategy for the expert player.  The winner will come down to
 whomever is luckiest with the shuffle (and maybe seating order).


I would be really interested to see a few example type A sets please?
I think they are much harder to make than you think.

I would say that most of the Recommended Sets of 10 that come with the game are type A sets.  Obviously depending on where you set the bar for "experienced" player is going to change whether a set is A, B, or C, but as a rough guess, I mentally set the bar at around a level 15 on isotropic.

And yes, absolutely they're hard to make.  I remember spending a lot of time testing the sets for Alchemy, Prosperity, Cornucopia, Hinterlands, and Guilds.  I got a bit lazy during Dark Ages and let the other playtesters do more of the work :)  But in general I'd consider them the pinnacle of "fun" sets -- all of them are sets that I'd be happy to play many games with.
Title: Re: Announcing Dominion Set Generator
Post by: Polk5440 on January 08, 2013, 08:39:56 pm

A. There's three or more viable strategies, with approximately equal likelihood of winning.
B. There's two or more viable strategies and maybe some that are obviously inferior to
 an experienced player but not to a casual player.
C. There's only one viable strategy for an experienced player.  Casual players who don't
 see it will lose.  There are some nuances to executing the strategy that will distinguish
 the experienced player from the expert player.
D. There's only one viable strategy for the expert player.  The winner will come down to
 whomever is luckiest with the shuffle (and maybe seating order).


I would be really interested to see a few example type A sets please?
I think they are much harder to make than you think.

That is why for those of us who are interested in seeing more kingdoms from set A (or B) find a tool that can give them to you with higher likelihood than uniform random draws so valuable.

I am happy to see this generator being implemented in some fashion in Goko.
Title: Re: Announcing Dominion Set Generator
Post by: WanderingWinder on January 08, 2013, 09:12:42 pm

A. There's three or more viable strategies, with approximately equal likelihood of winning.
B. There's two or more viable strategies and maybe some that are obviously inferior to
 an experienced player but not to a casual player.
C. There's only one viable strategy for an experienced player.  Casual players who don't
 see it will lose.  There are some nuances to executing the strategy that will distinguish
 the experienced player from the expert player.
D. There's only one viable strategy for the expert player.  The winner will come down to
 whomever is luckiest with the shuffle (and maybe seating order).


I would be really interested to see a few example type A sets please?
I think they are much harder to make than you think.

I would say that most of the Recommended Sets of 10 that come with the game are type A sets.  Obviously depending on where you set the bar for "experienced" player is going to change whether a set is A, B, or C, but as a rough guess, I mentally set the bar at around a level 15 on isotropic.

And yes, absolutely they're hard to make.  I remember spending a lot of time testing the sets for Alchemy, Prosperity, Cornucopia, Hinterlands, and Guilds.  I got a bit lazy during Dark Ages and let the other playtesters do more of the work :)  But in general I'd consider them the pinnacle of "fun" sets -- all of them are sets that I'd be happy to play many games with.
If that's your bar, there's almost nothing of the witch-chapel sort you complain about.
Title: Re: Announcing Dominion Set Generator
Post by: Beyond Awesome on January 08, 2013, 10:40:28 pm
I know some people might disagree with me here, but I do think people should choose what sets get chosen for the randomizer. As it is, someone can buy Prosperity and have just Prosperity and base come up. In real life, many people only play with two sets at a time. So, I think that the option for full random or choosing which expansions should exist. Even in real life tournaments, often the kingdoms are from two expansions and are not full random of every expansion ever created. But, for pro ranked games, I am against the idea of being able to decide what kinds of cards or which cards come up. But, limiting the sets to specific expansions does not bother me.
Title: Re: Announcing Dominion Set Generator
Post by: hsiale on January 09, 2013, 02:49:02 am
depending on where you set the bar for "experienced" player is going to change whether a set is A, B, or C, but as a rough guess, I mentally set the bar at around a level 15 on isotropic.
IMO that's too low to talk about "experienced" player. I am level 21 and still make many horrible mistakes when it comes to seeing viable strategies on the board (especially in noticing strong engine possibilities).
Title: Re: Announcing Dominion Set Generator
Post by: onigame on January 09, 2013, 03:00:47 am
I know some people might disagree with me here, but I do think people should choose what sets get chosen for the randomizer. As it is, someone can buy Prosperity and have just Prosperity and base come up. In real life, many people only play with two sets at a time. So, I think that the option for full random or choosing which expansions should exist.

Absolutely.  It's why the expansion sets are at the top of my list in my ugly-looking HTML interface.  Almost certainly it's going to be the most requested feature in any set generator Goko uses.  The tricky bit with anything that has to face a casual player, though, is to not overwhelm them with options they don't understand yet.
Title: Re: Announcing Dominion Set Generator
Post by: Donald X. on January 09, 2013, 03:06:31 am
What I would call a "fun" set is a set that is in the A or B categories.
This suggests a direct approach. Pick 10 cards at random. Count how many strategies you see. If too low, try again with a new 10. You have certain broad strategies that you identify, and then card-specific ones where certain things are needed to make them plausible enough. This is the method-of-producing-option-rich-sets that minimizes the bias towards specific cards (though it doesn't get rid of it).
Title: Re: Announcing Dominion Set Generator
Post by: Donald X. on January 09, 2013, 03:12:05 am
It's possible that I might be wrong about that assumption (what casual players like).  Another thing that I am trying to get Goko to do is to have a way to get user feedback on kingdoms.  A simple way to start would be, after a game, let the player give a simple "thumbs up / thumbs down" on whether they liked the kingdom they just played.  I'd then adjust the generator to compensate.
If people are rating sets, then you could use those lists directly. Have all games provide the ranking option. If the players both thumbs up a set (or at least two do if it's multiplayer), store the list. Once you have enough, add a mode that's "play a set two people liked." It just picks a double-thumb'd up set and that's that. These too are ranked. After enough data piles up on those, have a mode that's "play a set that a bunch of people liked."
Title: Re: Announcing Dominion Set Generator
Post by: Davio on January 09, 2013, 04:41:05 am
I know some people might disagree with me here, but I do think people should choose what sets get chosen for the randomizer. As it is, someone can buy Prosperity and have just Prosperity and base come up. In real life, many people only play with two sets at a time. So, I think that the option for full random or choosing which expansions should exist.

Absolutely.  It's why the expansion sets are at the top of my list in my ugly-looking HTML interface.  Almost certainly it's going to be the most requested feature in any set generator Goko uses.  The tricky bit with anything that has to face a casual player, though, is to not overwhelm them with options they don't understand yet.
Well, you could just make a collapsible section with a button "Advanced Options" or something.
Title: Re: Announcing Dominion Set Generator
Post by: onigame on January 09, 2013, 12:53:16 pm
What I would call a "fun" set is a set that is in the A or B categories.
This suggests a direct approach. Pick 10 cards at random. Count how many strategies you see. If too low, try again with a new 10. You have certain broad strategies that you identify, and then card-specific ones where certain things are needed to make them plausible enough. This is the method-of-producing-option-rich-sets that minimizes the bias towards specific cards (though it doesn't get rid of it).

This direct approach was my first approach.  I eventually abandoned it because (1) I couldn't be confident that I was comprehensively identifying all the broad strategies; (2) The generation would tend to choke for partial data -- say the user wanted to play with five specific cards, and the generator would take a long time to find five cards to add that satisfied its conditions; (3) There wasn't a great way to "reverse the polarity" and bias away from those decks.

I think it works well if you're trying to find a few good kingdoms that you're willing to play over-and-over again, but not so hot for a more general-purpose random filler.
Title: Re: Announcing Dominion Set Generator
Post by: LastFootnote on January 11, 2013, 06:17:50 pm
Well, a "new randomizer" has apparently been implemented on Goko. Apparently it's used for all non-Pro games, if I understand correctly. So, Wei-Hwa, I'm writing to try to summarize my feelings. As you suggested, I'm doing it here rather than on my bug report in Goko's GetSatisfaction.

I feel like, if you'd created this randomizer for your own use and put it on your website, or if you'd gotten them to implement it in a special, separate mode in Goko, or if it was just a non-default option for casual (or even pro) games on Goko, I might be helping and supporting you in this endeavor. Maybe not. But in theory it sounds nice to create a randomizer that magically only makes 'fun' sets, and I respect your chutzpah.

Now that it's been implemented on Goko as the only way to randomize non-Pro games, I'm livid. I'm just so, so angry. I just don't see why you've wrenched away the status quo in order to put in place your new, still highly experimental algorithm. Yeah, I could play only Pro-rated games, but a lot of times I just want a lower-stress experience or I want to include certain cards to practice with them. That's another effect of this change: randomly-generated casual games no longer 'match-up' with pro games. Practicing in casual games will no longer actually prepare me for what I may encounter in pro games (non-fun sets).

I could use a randomizer external to Goko and then painstakingly enter the cards into a new set each game, but that's just not a hoop I'm willing to jump through.

Why did you feel you had to do this? Why couldn't you at least wait until they were willing to make it a choice, rather than the only option? Why are your opinions so much more important than mine?

I guess it would be hyperbole to say that I feel betrayed or duped. I feel a little like the rug was pulled out from under me. I paid for the service, with the assumption that I knew more or less what I was getting and that functionality wouldn't be taken away. I feel…unhappy. A lot of my desire to play on Goko has just sort of leaked away. They've already got my money, so no skin off their teeth, I guess…

 :'(

P.S. Good luck with your randomizer.
Title: Re: Announcing Dominion Set Generator
Post by: Beyond Awesome on January 11, 2013, 06:28:17 pm
The randomizer is already up? I thought it was supposed to let you choose from sets and whatnot. Maybe your right though. I clicked through the randomizer 10 times (not enough for a true sample size), but each time there was a village.
Title: Re: Announcing Dominion Set Generator
Post by: WanderingWinder on January 11, 2013, 06:30:59 pm
Well, a "new randomizer" has apparently been implemented on Goko. Apparently it's used for all non-Pro games, if I understand correctly. So, Wei-Hwa, I'm writing to try to summarize my feelings. As you suggested, I'm doing it here rather than on my bug report in Goko's GetSatisfaction.

I feel like, if you'd created this randomizer for your own use and put it on your website, or if you'd gotten them to implement it in a special, separate mode in Goko, or if it was just a non-default option for casual (or even pro) games on Goko, I might be helping and supporting you in this endeavor. Maybe not. But in theory it sounds nice to create a randomizer that magically only makes 'fun' sets, and I respect your chutzpah.

Now that it's been implemented on Goko as the only way to randomize non-Pro games, I'm livid. I'm just so, so angry. I just don't see why you've wrenched away the status quo in order to put in place your new, still highly experimental algorithm. Yeah, I could play only Pro-rated games, but a lot of times I just want a lower-stress experience or I want to include certain cards to practice with them. That's another effect of this change: randomly-generated casual games no longer 'match-up' with pro games. Practicing in casual games will no longer actually prepare me for what I may encounter in pro games (non-fun sets).

I could use a randomizer external to Goko and then painstakingly enter the cards into a new set each game, but that's just not a hoop I'm willing to jump through.

Why did you feel you had to do this? Why couldn't you at least wait until they were willing to make it a choice, rather than the only option? Why are your opinions so much more important than mine?

I guess it would be hyperbole to say that I feel betrayed or duped. I feel a little like the rug was pulled out from under me. I paid for the service, with the assumption that I knew more or less what I was getting and that functionality wouldn't be taken away. I feel…unhappy. A lot of my desire to play on Goko has just sort of leaked away. They've already got my money, so no skin off their teeth, I guess…

 :'(

P.S. Good luck with your randomizer.
I don't think blaming the implementation of this on Goko on Wei-Hwa is fair. I mean, I assume he permitted them to use it, but it's not like he is the one who forced it to happen or made the final decision.
Title: Re: Announcing Dominion Set Generator
Post by: LastFootnote on January 11, 2013, 07:19:20 pm
I don't think blaming the implementation of this on Goko on Wei-Hwa is fair. I mean, I assume he permitted them to use it, but it's not like he is the one who forced it to happen or made the final decision.

Forgive me, but I'm struggling to come up with a scenario where he's not mostly to blame.
Title: Re: Announcing Dominion Set Generator
Post by: WanderingWinder on January 11, 2013, 07:33:43 pm
I don't think blaming the implementation of this on Goko on Wei-Hwa is fair. I mean, I assume he permitted them to use it, but it's not like he is the one who forced it to happen or made the final decision.

Forgive me, but I'm struggling to come up with a scenario where he's not mostly to blame.
Wei-Hwa wants to come up with a way to make kingdoms he thinks are fun. He designs this tool. He thinks, 'hey, maybe other people like this too, I should at least give them the chance to use it, because I think it's neat'. He tells other people (including this board) about it.
Goko thinks 'Hey there's this really cool tool that we think makes awesome kingdoms. Let's make this the default and incidentally give nobody the option to play pure random on casual. People like having FUN right?'
Goko asks Wei-Hwa 'Hey, can we use your set generator on our site?'
Wei-Hwa says yes.
Goko implements.

I'm really struggling to place blame on Wei-Hwa in this scenario, which is sorta my null assumption of what happened.

 I wouldn't at all be surprised that he pushed for this to be used on their site, but even so, I would still be very surprised, given his statements, if he pushed to make full random not be an option.
Title: Re: Announcing Dominion Set Generator
Post by: ftl on January 11, 2013, 07:35:59 pm

Having said all that, I do believe that my current implementation of the Set Generator weights engine games too high and I am trying to find ways to lower it.  There are many fun sets that don't have an engine and I don't think my generator is finding them frequently enough.

It seems like your generator is fundamentally always going to be engine-biased. You say on the page that the aim is to have
Quote
- sets that have bits of everything

and those are fundamentally engine sets. If you have a village, card draw, an attack, +buy, trashing, alt-vp in the set - you know, a little bit of everything - that'll be an engine set unless all the components suck.
Title: Re: Announcing Dominion Set Generator
Post by: LastFootnote on January 11, 2013, 11:12:37 pm
I don't think blaming the implementation of this on Goko on Wei-Hwa is fair. I mean, I assume he permitted them to use it, but it's not like he is the one who forced it to happen or made the final decision.

Forgive me, but I'm struggling to come up with a scenario where he's not mostly to blame.
Wei-Hwa wants to come up with a way to make kingdoms he thinks are fun. He designs this tool. He thinks, 'hey, maybe other people like this too, I should at least give them the chance to use it, because I think it's neat'. He tells other people (including this board) about it.
Goko thinks 'Hey there's this really cool tool that we think makes awesome kingdoms. Let's make this the default and incidentally give nobody the option to play pure random on casual. People like having FUN right?'
Goko asks Wei-Hwa 'Hey, can we use your set generator on our site?'
Wei-Hwa says yes.
Goko implements.

I'm really struggling to place blame on Wei-Hwa in this scenario, which is sorta my null assumption of what happened.

 I wouldn't at all be surprised that he pushed for this to be used on their site, but even so, I would still be very surprised, given his statements, if he pushed to make full random not be an option.

I don't think he pushed for full random not to be an option either. I just don't think he pushed very hard to make sure it was.

Here are some assumptions I'm making. If any are false, I'd very much appreciate being corrected.

• Wei-Hwa has a close relationship with Goko. If this weren't the case, we'd have seen the conversation that led to this implementation take place. It would have been a thread in the "Ideas Under Consideration" area of Goko's GetSatisfaction or something.
• He approached Goko about implementing his algorithm, not the other way around.
• He didn't tell Goko that some people had concerns about his algorithm.
• He didn't say, "You may use this algorithm, but make sure it's only an option, not mandatory."
Title: Re: Announcing Dominion Set Generator
Post by: Toskk on January 12, 2013, 12:22:32 am
Goko definitely implemented something.. although I would agree with a few others here that the algorithm is significantly over-prioritizing certain cards. Using only Base, Intrigue, half of Seaside, and Governor, I got 6 games in a row today with Governor, Laboratory, Throne Room, Mine, Workshop, and Duke. They all had either Village or Fishing Village, as well. :(
Title: Re: Announcing Dominion Set Generator
Post by: LastFootnote on January 12, 2013, 12:27:25 am
I'm currently generating sets at dominionsetgenerator and tallying up how often each card comes up. After 1000 runs on the default settings with only the base set selected, here's how often each card came up, along with the percentage compared to full random (50% means the card only appears half as often as it would in full random).

Card Name
#Occurrences
Proportion
Festival
954
238.50%
Market
943
235.75%
Laboratory
921
230.25%
Mine
799
199.75%
Village
730
182.50%
Remodel
693
173.25%
Moneylender
626
156.50%
Spy
601
150.25%
Feast
345
86.25%
Workshop
305
76.25%
Woodcutter
294
73.50%
Gardens
281
70.25%
Chapel
276
69.00%
Cellar
256
64.00%
Council Room
256
64.00%
Witch
229
57.25%
Thief
223
55.75%
Bureaucrat
218
54.50%
Library
197
49.25%
Throne Room
192
48.00%
Militia
181
45.25%
Adventurer
159
39.75%
Moat
137
34.25%
Smithy
137
34.25%
Chancellor
47
11.75%

Here's Intrigue:

Card Name
#Occurrences
Proportion
Harem
966
241.50%
Duke
963
240.75%
Mining Village
916
229.00%
Great Hall
906
226.50%
Conspirator
852
213.00%
Upgrade
724
181.00%
Trading Post
616
154.00%
Bridge
484
121.00%
Tribute
473
118.25%
Wishing Well
378
94.50%
Baron
376
94.00%
Shanty Town
366
91.50%
Scout
362
90.50%
Ironworks
201
50.25%
Pawn
195
48.75%
Torturer
190
47.50%
Nobles
149
37.25%
Saboteur
147
36.75%
Masquerade
145
36.25%
Steward
144
36.00%
Swindler
108
27.00%
Minion
99
24.75%
Secret Chamber
87
21.75%
Courtyard
84
21.00%
Coppersmith
69
17.25%

And Seaside:

Card Name
#Occurrences
Proportion
Merchant Ship
918
238.68%
Bazaar
834
216.84%
Treasury
770
200.20%
Explorer
556
144.56%
Native Village
555
144.30%
Haven
547
142.22%
Caravan
494
128.44%
Wharf
481
125.06%
Fishing Village
430
111.80%
Lighthouse
410
106.60%
Salvager
382
99.32%
Pearl Diver
380
98.80%
Ghost Ship
375
97.50%
Ambassador
356
92.56%
Island
337
87.62%
Outpost
330
85.80%
Embargo
300
78.00%
Sea Hag
299
77.74%
Treasure Map
279
72.54%
Smugglers
172
44.72%
Warehouse
165
42.90%
Cutpurse
155
40.30%
Pirate Ship
146
37.96%
Tactician
139
36.14%
Lookout
133
34.58%
Navigator
57
14.82%
Title: Re: Announcing Dominion Set Generator
Post by: LastFootnote on January 12, 2013, 12:44:44 am
Prosperity:

Card Name
#Occurrences
Proportion
Grand Market
930
232.50%
Peddler
869
217.25%
Worker's Village
833
208.25%
Trade Route
766
191.50%
Forge
619
154.75%
Expand
567
141.75%
City
558
139.50%
Rabble
539
134.75%
Vault
432
108.00%
Bishop
426
106.50%
Watchtower
411
102.75%
Talisman
352
88.00%
Mountebank
313
78.25%
Royal Seal
287
71.75%
Quarry
278
69.50%
Monument
273
68.25%
Hoard
272
68.00%
Goons
249
62.25%
Contraband
222
55.50%
Bank
179
44.75%
Venture
170
42.50%
Mint
155
38.75%
Loan
141
35.25%
Counting House
86
21.50%
King's Court
73
18.25%

Hinterlands:

Card Name
#Occurrences
Proportion
Border Village
718
186.68%
Highway
704
183.04%
Cache
695
180.70%
Farmland
657
170.82%
Crossroads
645
167.70%
Nomad Camp
555
144.30%
Silk Road
543
141.18%
Ill-Gotten Gains
532
138.32%
Spice Merchant
498
129.48%
Stables
470
122.20%
Mandarin
464
120.64%
Cartographer
425
110.50%
Margrave
398
103.48%
Scheme
362
94.12%
Jack of all Trades
306
79.56%
Haggler
249
64.74%
Duchess
233
60.58%
Oasis
232
60.32%
Trader
215
55.90%
Tunnel
214
55.64%
Noble Brigand
189
49.14%
Oracle
176
45.76%
Fool's Gold
176
45.76%
Inn
139
36.14%
Develop
124
32.24%
Embassy
81
21.06%

Dark Ages:

Card Name
#Occurrences
Proportion
Bandit Camp
999
349.65%
Forager
908
317.80%
Beggar
901
315.35%
Vagrant
835
292.25%
Marauder
663
232.05%
Altar
477
166.95%
Armory
418
146.30%
Junk Dealer
413
144.55%
Count
359
125.65%
Mystic
304
106.40%
Counterfeit
292
102.20%
Market Square
263
92.05%
Catacombs
257
89.95%
Urchin
228
79.80%
Band of Misfits
192
67.20%
Fortress
184
64.40%
Hunting Grounds
175
61.25%
Rats
166
58.10%
Pillage
163
57.05%
Sage
162
56.70%
Cultist
159
55.65%
Death Cart
156
54.60%
Graverobber
151
52.85%
Ironmonger
143
50.05%
Knights
142
49.70%
Rebuild
136
47.60%
Hermit
134
46.90%
Feodum
110
38.50%
Wandering Minstrel
89
31.15%
Storeroom
86
30.10%
Squire
77
26.95%
Procession
72
25.20%
Rogue
72
25.20%
Scavenger
66
23.10%
Poor House
48
16.80%

Apparently, you essentially cannot have a fun Dark Ages-only set without Bandit Camp.
Title: Re: Announcing Dominion Set Generator
Post by: Beyond Awesome on January 12, 2013, 12:57:24 am
There does seem to be some bias going on there. That's for sure. lol at KC.
Title: Re: Announcing Dominion Set Generator
Post by: Donald X. on January 12, 2013, 04:03:32 am
I'm currently generating sets at dominionsetgenerator and tallying up how often each card comes up. After 1000 runs on the default settings with only the base set selected, here's how often each card came up, along with the percentage compared to full random (50% means the card only appears half as often as it would in full random).
Thanks for the data, it's interesting. I should say up front that I will tell Goko I think pure random is a mandatory option.

The biases you have charted are due to the algorithm weighting cards for filling particular roles. Chancellor fills no roles and so is low. Festival fills multiple roles - +2 Actions, +1 Buy, costs $5 - and so is high.

I think overall the difference between high and low is too extreme. If I were actually picking how to bias sets on a per-card basis, I could see wanting to see Chancellor less often than average (since I'd just replace it if I had the chance), and Festival more often than average (due to the roles it fills). The actual amounts are extreme though, and not all of the winners/losers are hits/duds. Spy for example is at 150% and yet is another card I'd replace, since it bogs down games without adding much; Squire meanwhile is a very flexible compelling card that only rates 27%. Some of the cards seem like they have to be mistakes, I mean really, how does Squire do so poorly via this algorithm? Is it because every game already has Bandit Camp? Most attacks are below average, and yet I have attacks in the game on purpose.

Anyway it doesn't seem ready for prime time, but regardless, for sure people should be able to play random too.
Title: Re: Announcing Dominion Set Generator
Post by: Donald X. on January 12, 2013, 10:13:07 am
Update: Ted says they will go back to random in a day or two, and hold off on onigame's thing until they can have a full interface for it (understanding that random needs to still be supported).
Title: Re: Announcing Dominion Set Generator
Post by: serakfalcon on January 12, 2013, 10:20:36 am
Yeah, poor Squire! I love squire, it is such a good card! Also KC, I don't see why its rated so bad either.
An easy way to deal with the generation vs. rating problem is simple:
Include the generation method used as information somewhere in the game, so people can read that before they join. It ideally shouldn't show exact cards, but rather how you generated the set. If you have it as a side button that expands or something, people can read that and decide for themselves if they want to join or not. After they join, they will be hit by the resign penalty if they don't like it.
If you don't make it obtrusive, novice players will ignore it (or be unaware that it exists), and skilled players can use it to get an idea if they want to play or not (letting them know beforehand what the biases are, so they can decide for themselves if they want to risk it or not). That's a more organic way, since, if you agree to play with certain preconditions, its your own fault if you lose. If you don't know enough about the game to care about the preconditions, it won't matter anyways. Everyone wins!
Title: Re: Announcing Dominion Set Generator
Post by: onigame on January 12, 2013, 01:42:54 pm
I'm currently generating sets at dominionsetgenerator and tallying up how often each card comes up. After 1000 runs on the default settings with only the base set selected, here's how often each card came up, along with the percentage compared to full random (50% means the card only appears half as often as it would in full random).

I want to say, thanks a lot for doing this!  It saves me a lot of the work of doing it myself.
Title: Re: Announcing Dominion Set Generator
Post by: onigame on January 12, 2013, 02:07:21 pm
• Wei-Hwa has a close relationship with Goko. If this weren't the case, we'd have seen the conversation that led to this implementation take place. It would have been a thread in the "Ideas Under Consideration" area of Goko's GetSatisfaction or something.

Confirmed.  I've been using my spare time in the last two months to go to their offices and work on things.  I spend about 2/3rds of my time there answering questions on rules interactions and creating test cases.  I'm not getting paid for any of the work, except for the fact that I own a stake in the company.

Quote
• He approached Goko about implementing his algorithm, not the other way around.

Confirmed, if you replace the word "implementing" with "integrating".  I've had this idea for months (if you dig around in the old Goko feedback site you can find the original post by me that was the genesis of the idea).  The implementation of the algorithm is all mine.  The source is readable for anyone who knows how Javascript works and is copyright by me and not Goko.  I provided the code and an API to Goko.  If you dig around Goko's visible client-side code you can see that my code is just loaded on the side (presumably invoked by something in theirs).

Quote
• He didn't tell Goko that some people had concerns about his algorithm.
• He didn't say, "You may use this algorithm, but make sure it's only an option, not mandatory."

This is a bit of a mix.  There were definitely people at Goko who liked it and wanted to put it in.  I said something to the effect of "Don't put it in everywhere, the people on the Professional Leaderboard will revolt."  I was asked, "What if we put it for casual play but not on the Professional Leaderboard then?"  I responded that that could probably work.

They put it on a test server and gave me a link to test it.  But (and this is the part I'm definitely not happy about) it went live on the main site before I got around to testing it.

Generally there's a pretty aggressive attitude towards implementing and pushing out new features there, which is not what I'm comfortable with in regards to game design.

The ironic thing is that I originally went to try to get more work on Race for the Galaxy done but it seems like all my time there is spent on Dominion now.  Sigh.
Title: Re: Announcing Dominion Set Generator
Post by: onigame on January 12, 2013, 02:12:30 pm
Yeah, poor Squire! I love squire, it is such a good card! Also KC, I don't see why its rated so bad either.

This is definitely a big surprise to me too, especially Squire.  Right now I suspect I probably just didn't type in the right flags for Squire.
Title: Re: Announcing Dominion Set Generator
Post by: timchen on January 12, 2013, 02:44:33 pm
Seems to me either the algorithm has some systematic error, or it thinks "fun" very differently to what I think.

Some highlight examples (just from the same set to be comparable):

Smithy is 1/5 as fun as Moneylender and less than half as fun as Wood Cutter. Throne Room is not much better.
Treasure Map is doubly as fun as Tactician.
Courtyard is 1/10 as fun as Harem. So is Minion (Probably fit thematically but... I don't think Duke should be almost as fun then.)
Border Village is the most interesting card among Hinterlands.

Ok, I understand that the algorithm is not ranking how fun each card is, but instead looking at their functionality on the board. But this method seems really biased upon those card who can fit multiple roles while those card may actually not be that interesting.

One improvement might be to normalize one card's appearing probability as a specific role by how many roles it can be? This way the board can still be interesting by having the needed roles, without overemphasizing those cards.
Title: Re: Announcing Dominion Set Generator
Post by: onigame on January 12, 2013, 02:52:02 pm
Now that it's been implemented on Goko as the only way to randomize non-Pro games, I'm livid. I'm just so, so angry. I just don't see why you've wrenched away the status quo in order to put in place your new, still highly experimental algorithm. Yeah, I could play only Pro-rated games, but a lot of times I just want a lower-stress experience or I want to include certain cards to practice with them. That's another effect of this change: randomly-generated casual games no longer 'match-up' with pro games. Practicing in casual games will no longer actually prepare me for what I may encounter in pro games (non-fun sets).

I'm very sorry that I did things that led to cause you emotional stress, and I'd like to try to make things better.

I really do apologize for this and I am willing to take some responsibility for allowing this to occur.  I'm sorry.  The scenario of wanting to play with the "Pro" generator as practice without it actually affecting your "Pro rating" is important, and it wasn't a use case that had occurred to me (or had ever been pointed out to me) in the short amount of time before it went live.  I honestly thought that the change would have just been on the beta site (you know, where tests are supposed to happen) for a while before it went to the live site.

I've been working furiously on a design revamp for game selection that would allow complete freedom in choice of randomizing options and been just typing and writing and putting off all my non-Dominion-related work for the last week.  I just posted a summary last night on the getsatisfaction forum in a new thread.  I know that saying that I've been working hard doesn't absolve me of the responsibility of making you feel bad.  So, again, I'm sorry.

Quote
Why are your opinions so much more important than mine?

I guess it would be hyperbole to say that I feel betrayed or duped. I feel a little like the rug was pulled out from under me. I paid for the service, with the assumption that I knew more or less what I was getting and that functionality wouldn't be taken away. I feel…unhappy. A lot of my desire to play on Goko has just sort of leaked away. They've already got my money, so no skin off their teeth, I guess…

I feel I have to address this even though you may not enjoy the answer.  My opinions are "more important" than yours because Goko has a lot more of my money than they have of yours (as far as I can tell; I don't actually know for sure that you also aren't one of the investors).  I invested in the company rather early, when it was more hope than actual implementation, and a lot of the work I'm putting in is motivated by making that investment be profitable.  I know that the company can't succeed without having customer loyalty, but also that it can't succeed without a wider, casual, audience.

We all have invisible biases towards our own experiences.  I enjoyed isotropic when it first came out, but soon got tired of it, because I felt I was just playing too many games where the kingdom was a one-strategy kingdom and that to do well I had to invest a lot of time to sense and execute tiny improvements in strategy and that having a good time seemed to be more about winning games rather than actually having fun with different game mechanics (which is the whole reason I enjoy playing Dominion).  I don't feel that a completely faithful clone of isotropic would ever be monetarily successful.

It's very hard treading the line between getting new users and satisfying old users.  In this case a confluence of events, some of which I was responsible for, tipped the ship too far in one direction.  I'm doing my best to course-correct.

It's never been about getting *my* code into Goko.  It's been about doing what I feel is important to make a niche game appeal to a wider audience.  I realize that it's not very honorable to come out and say "You accuse me of vanity, but the only sin I'm actually committing is greed," but I hope at least you understand.

To put some stuff in perspective -- the integration and push all happened in the space of a week.  It's actually not hard to roll that aspect back, and I'm in full support of doing this.  Again, I'm sorry.
Title: Re: Announcing Dominion Set Generator
Post by: onigame on January 12, 2013, 03:13:30 pm
Seems to me either the algorithm has some systematic error, or it thinks "fun" very differently to what I think.

I am leaning more towards the "systematic error" side of things.  Addressing your specific examples:

Quote
Smithy is 1/5 as fun as Moneylender and less than half as fun as Wood Cutter. Throne Room is not much better.

Smithy: I noticed last week that my weighting on "Carddrawers" (which Smithy gets a high score in) was not high enough -- the intent is that the generator (on default settings) favors Carddrawers until there's about +6 Cards total or so, then discourages them.  The problem is that the discouraging factor is too large.  I made a change yesterday afternoon to try to correct this.  I don't know if LastFootnote's stats were before or after this change.  I agree, Smithy needs to be better.

Throne Room: Gets a boost from a "Brancher" attribute (if you combine it with a +1 Action you get a splitter) but a threshhold-based penalty from a "Variance" attribute (if you draw it without any Actions it's useless).  I think right now the "Variance" penalty threshhold is too low, and that's almost certainly because of my own personal biases -- I really hate it when I draw a TR with no actions, and so I almost never buy them.  I will raise that threshhold to compensate.

Quote
Treasure Map is doubly as fun as Tactician.

Tactician was showing up waaay too much in early versions of the generator (almost every Seaside game).  I eventually realized that it was because it drew cards, gave you +Buys, and gave you an extra action -- so it does everything, why would you ever not want it in the game?  But the +Buys is kinda only half of the time since it's often more like you're pushing your Buy to the next turn.  Anyway I changed some of the Tactician attributes and I probably nerfed it too much.

Quote
Courtyard is 1/10 as fun as Harem. So is Minion (Probably fit thematically but... I don't think Duke should be almost as fun then.)

Courtyard is getting hit by the Carddrawer bug I mentioned above.  Minion I dunno, I'll look into that.  Harem and Duke got a bonus because Donald made a strong argument that including Victory cards in the set changes the focus of the game significantly and makes things more interesting.   While I don't doubt that for Gardens, I'm not so sure Harem has that property.

Quote
Border Village is the most interesting card among Hinterlands.

Huh, I actually don't see a problem with that (although the magnitude of the favoritism may be a bit high, I admit).  Sorry, we might just disagree on this statement.  :)
Title: Re: Announcing Dominion Set Generator
Post by: dondon151 on January 12, 2013, 03:48:50 pm
I don't actually think that biases on any cards need to be strong in order to influence the creation of "interesting" kingdoms. You can probably get away with very slight biases such that dud cards (like Chancellor) appear just a little less often than normal and good cards (like BV) appear just a little more often than normal, and you'll find a middle ground that most people can probably agree on. I think that most Dominion sets are fairly interesting anyway, even the boring ones, because sometimes even little decisions matter, and it's those decisions that tend to draw out the difference between a L30 and a L40 player.
Title: Re: Announcing Dominion Set Generator
Post by: theory on January 12, 2013, 09:07:04 pm
On BGG, you wrote:

Quote
It is common in games in the real world to use the randomizer of "let's take all the randomizer cards, shuffle them, and take 10 off the top". The reason this randomizer is popular is because it is very easy to implement. Any other randomizer that tries to bias things is a bear to implement in real life.

But because it is so easy to implement (and consequently because isotropic has decided to use it default), there's a substantial part of the community that now treats it as gospel, as the One True Way of playing Dominion.

In real life play, while I am willing to use the unbiased randomizer as a basis for generating a kingdom, I won't commit to its results. If the resulting output kingdom contains Militia, Goons, Cutpurse, and Mountebank, I'm going go "hey guys, I think there are too many similar Attacks here, how about we swap out a couple of them?" Most players will respond to my question with "Yeah, that makes sense". But some players will react with unease, as if I had just suggested that the God they believe in was not omniscient and omnibenevolent (which in some sense is exactly what I did).

That generally works well in real-life. But online, it's very hard to discuss such things, when everyone just wants a quick play.

Online play offers a rare opportunity that can't be done in real life -- having the ability to use randomizers that use unbiased random as a starting point but biases away from those crazy kingdoms.

The unbiased randomizer has its uses. It's great for tournaments and professional games because it makes serious players need to be well-rounded and serious players don't mind adopting non-flashy strategies or being hit with the long whiplash of the variance curve. A tournament player who gets a kingdom where everything costs $4 or less doesn't have any problem just rolling with it. But I think most casual players will go "man, this set ain't any fun."

1. You don't win anyone over to your side by suggesting that their opinions are the product of cognitive biases.

2. The point of random sets is to learn something.  If every set you throw in cards that you "know" work together, you never get that feeling of discovering something new.  Maybe you believe that you've exhausted everything new, but suppose your rubric had been in place pre-KC/Goons/Masq: according to this set generator, maybe you would have never seen it.  You would think KC is too swingy.  Goons is too high variance or dominating.  So you never discover interesting combos because you've already limited yourself.

3. I don't think it's a cognitive bias to suggest that a player's default expectation is going to be a randomly chosen set of 10.  It's really misleading that when you choose "random set", you almost will never get Throne Room or King's Court, and almost always get Bandit Camp and Border Village.

4. I understand that this is eventually going to be somewhat subjective, but wow, I did not realize the extent to which your personal views were being injected into this generator.  What the heck is the point of playing Dominion without King's Court?  Platinum is more swingy, as DXV likes to say, and no one bans that.  You can't please everyone, but right now it seems like there is a very very wide gulf of opinion on what is "fun" between your set generator and what I thought to be general consensus.

5. I understand also that you are invested in this company, literally, but you gotta be able to take a step back and realize when you're not helping.  I mean, for real, you put in a set generator that stops KC from being on the board.  Obviously you didn't mean to do this, and that you're going to bump it up, but we're concerned that your personal views on how you'd like to play Dominion are dominating at the expense of both casual and experienced players.  If in the end, you come up with a set generator that nevertheless actively discourages KC, that's not the Dominion I enjoy playing.  It's some weird form of "onigame Dominion" where a lot of the variance is removed.
Title: Re: Announcing Dominion Set Generator
Post by: theory on January 12, 2013, 09:10:46 pm
Here's a card-playing analogy: suppose I make a Bridge site, the only official online place to play Bridge.  Except, because I have strongly held views on what constitutes "interesting" and "not interesting" hands, I'm going to make everyone play with my Bridge deck shuffler, which only creates hands that I deem "interesting". 

Do you see how this might raise objections?  The whole point of Bridge is to play it full random.  That's where the joy of the game comes in.  There is value in occasionally picking a deal, but in general, the idea of Bridge is supposed to be that you master a set of techniques to be applied to a randomly sorted deck of 52 cards.  Not only certain techniques relating to certain sorts of those cards.
Title: Re: Announcing Dominion Set Generator
Post by: Beyond Awesome on January 12, 2013, 10:01:44 pm
Here, I am going to post my thoughts on select cards that I think are too high or too low. Please note that these are just my opinions, and anyone who disagrees may say so.

Too high:
Festival   
954
238.50%
Market   
943
235.75%
Laboratory   
921
230.25%

Don't get me wrong, these are all great cards. But, out of 1000 games, they will almost always show up. Heck, I haven't even played 1000 games on Goko yet. I would be pretty frustrated if I kept seeing these three cards over and over.

Too low
Smithy   
137
34.25%

This is an important card in a lot of games. Surprised to it so low.

Too high
Harem   
966
241.50%
Duke   
963
240.75%
Great Hall   
906
226.50%

Harem does not add enough value in my opinion. I do like Duke games, but it should not be so dominating that every game of Intrigue has it show up. For Great Hall, it does not add enough value to show up in every 1 out of 10 games.

Too low
Nobles   
149
37.25%
Masquerade   
145
36.25%
Steward   
144
36.00%
Swindler   
108
27.00%
Minion   
99
24.75%
Courtyard   
84
21.00%

Most of these are key power cards from Intrigue and yet, they are missing from a majority of games. I find something wrong with that.

Too high
Merchant Ship   
918
238.68%
Conspirator   
852
213.00%

Merchant Ship is a good card, but I don't think any one card is so good that it should be allowed to show up every 9 out of 10 games. Also, I do enjoy me some Conspirator chains but 85% of the games is just too much imo.

Too low
Cutpurse   
155
40.30%
Pirate Ship   
146
37.96%
Tactician   
139
36.14%
Lookout   
133
34.58%

I think a lot of new players overvalue Pirate Ship, and enjoy playing it, so you probably want it to show up a bit higher. Tactician is a pretty cool card and should show up higher, and it is always good to have some trashing going on, so Lookout should also be higher.

Too high
Grand Market   
930
232.50%
Peddler   
869
217.25%

Again, no card should be showing up 93% of the time. And, Peddler is cool, but it doesn't need to show up in every kingdm that Worker's Village shows up in. I assure you that's going to get old very fast.

Too low
Mint   
155
38.75%
Loan   
141
35.25%
King's Court   
73
18.25%

These are all interesting cards that people like playing and KC is one of the most popular cards of all-time. And, also a card that a lot of players consider fun (some do consider it unfun though). But, nothing gets a casual player more excited when they string together a major combo turn and realize they can do that with King's Court. IMO, KC is the benchmark of fun cards when it comes to casual Dominion. I might be wrong this, but it seems theory shares a similiar opinion to mine in htis respect.

Shockingly for Hinterlands, nothing is too high. Border Village seems about right. However, Hinterlands does have a few cards that imo, show up at too low of a frequency.

Too low
Oracle   
176
45.76%
Fool's Gold   
176
45.76%
Inn   
139
36.14%
Develop   
124
32.24%
Embassy   
81
21.06%


All of these cards are interesting. Embassy offers amazing draw. Inn is a village that also sifts through your deck. Develop is a trasher. Fool's Gold is just awesome and Oracle is pretty decent drawing. I think the case can easily be made for having these cards show up a little more common.

Too high
Bandit Camp   
999
349.65%
Forager   
908
317.80%
Beggar   
901
315.35%
Vagrant   
835
292.25%

Wtf at Bandit Camp. No card should show up 99.9% of the time, especially in a set with 35 kingdom cards!!! Forager is fun. Don't get me wrong, but it is still a little too high. For Beggar, I actually really like the card, but most often, you can ignore buying it and a lot of players I play against never touch that card. Ditto for Vagrant. Unless you're playing a Ruins/Cursing game, it is essentially a sucky Pearl Diver and Pearl Diver already sucked to begin with.

Too low
Pillage   
163
57.05%
Sage   
162
56.70%
Cultist   
159
55.65%
Death Cart   
156
54.60%
Graverobber   
151
52.85%
Ironmonger   
143
50.05%
Knights   
142
49.70%
Rebuild   
136
47.60%
Hermit   
134
46.90%
Feodum   
110
38.50%
Wandering Minstrel   
89
31.15%
Storeroom   
86
30.10%
Squire   
77
26.95%
Procession   
72
25.20%
Rogue   
72
25.20%
Scavenger   
66
23.10%
Poor House   
48
16.80%


DA seems to have a huge imbalance. Poor House is actually pretty fun. Sometimes, you can never use it, but it shouldn't be so low. To be honest, Graverobber and Procession might be placed right. But, I am saying that because I almost never play with them. It could very well be possible that I just don't know how to make them work. Anyway, Wandering Minstrel is a pretty awesome village. Scavenger can do neat tricks. My opinion of Sage is dropping, but people seem to like buying it. Overall, though, I think a lot of cards show up a lot less than they should and a handful of cards show up too much.
Title: Re: Announcing Dominion Set Generator
Post by: Donald X. on January 13, 2013, 03:24:50 am
This is definitely a big surprise to me too, especially Squire.  Right now I suspect I probably just didn't type in the right flags for Squire.
I bet Bandit Camp is part of it. If you have Bandit Camp then you down-weight Squire, since it's another village, and as it happens you always have Bandit Camp. You can manage to have Squire by picking it before Bandit Camp, or taking it even though the odds are against it.
Title: Re: Announcing Dominion Set Generator
Post by: Donald X. on January 13, 2013, 03:48:25 am
What the heck is the point of playing Dominion without King's Court?
Another thing is, that you bought Prosperity, you spent money, and you would like to play with those cards you bought. Even if you decide to add King's Court to a veto list (which would be nice to have), you would still like to see the next-least-likely card make a decent number of appearances. I mean every purchase makes every card show up less often, but, you know.

I think having card selection algorithms is fine; I could see having a choice of algorithms somewhere, something like

1) random (with a veto list for casual games)
2) onigame's algorithm
3) onigame's algorithm but with cards appearing at the normal frequency
4) wacky - like, five cards with one functional theme, five with another
5) some other algorithm that someone proposes
6) "set of the day" - a set of 10 someone picked out

Incidentally I think #3 is possible, and onigame said he might try it out (it preserves frequency but does mean it would be more likely to have certain cards show up with/without certain other cards).

Quote from: Donald X.
Divide the number of cards the player owns by 10. Prepare to generate that many sets-of-10. Pick a random starting card for each one. Now go through and pick a 2nd card for each set out of the cards remaining, using your existing algorithm. Then pick a 3rd card for each set out of the cards remaining, etc. Eventually you will have used every card, while doing a certain amount to increase the chance of "fun" via how the cards are grouped. Now just pick one of the generated sets at random and there you go. You can use the other generated sets later or not.

If the number of cards they own isn't a multiple of 10, then for perfect results we would have to generate ten times as many sets, using ten copies of each card but of course not allowing duplicates in a set. There is a chance that you will end up with a duplicate left at the end - the card that has to go in this slot is already in this set. I don't know how common that would be, but there are things you can do there, depending on how much work you want to do vs. how much you care about a small amount of compromising card frequency or fun.
I see now that this doesn't account for Young Witch, so possibly banes would just have to show up slightly more often; I do not think the math works out there.
Title: Re: Announcing Dominion Set Generator
Post by: onigame on January 13, 2013, 04:03:33 am
Here's a card-playing analogy: suppose I make a Bridge site, the only official online place to play Bridge.  Except, because I have strongly held views on what constitutes "interesting" and "not interesting" hands, I'm going to make everyone play with my Bridge deck shuffler, which only creates hands that I deem "interesting". 

Do you see how this might raise objections?  The whole point of Bridge is to play it full random.  That's where the joy of the game comes in.  There is value in occasionally picking a deal, but in general, the idea of Bridge is supposed to be that you master a set of techniques to be applied to a randomly sorted deck of 52 cards.  Not only certain techniques relating to certain sorts of those cards.

Yes, I see how this might raise objections.  Let me make a different analogy.

Suppose I make an online Bridge site, the only official online place to play Bridge.  I have a section of the site for seasoned Bridge players and it's pretty much everything they want, with a randomly sorted deck of 52 cards.  There's a different section of the site for novice Bridge players, where instead of a randomly sorted deck, there are custom decks that make it easier to for novices to learn Bridge.  Most hands perform well to early techniques such as "draw trumps and then collect winners," and there aren't any hands where you have to perform squeezes or end-plays to make the contract.  The seasoned Bridge players see this section and are completely aghast.  They feel that the site sullies the fundamental nature of Bridge!  Bridge is supposed to be played with a randomly sorted deck of 52 cards!  That's the whole *point* of the game!  These novices might, oh my gosh, end up actually having fun playing these false "novice games" without ever enjoying the pleasure of a well-executed squeeze play or a French Coup!  I learned Bridge by going to my local Bridge Club and getting berated by little old ladies and how dare this site make something more accessible and friendly and call it Bridge!

Now, does *that* analogy make any sense to you?

(The sad thing is that, to some extent, I think this actually *is* happening in the Bridge world.  Very frequently I meet intelligent game players who say "well, I tried Bridge once, but there was all this entrenched knowledge about how to bid and all this complicated terms they used for playing and I just kind of lost interest.")

Title: Re: Announcing Dominion Set Generator
Post by: Donald X. on January 13, 2013, 04:13:36 am
Suppose I make an online Bridge site, the only official online place to play Bridge.  I have a section of the site for seasoned Bridge players and it's pretty much everything they want, with a randomly sorted deck of 52 cards.  There's a different section of the site for novice Bridge players, where instead of a randomly sorted deck, there are custom decks that make it easier to for novices to learn Bridge.  Most hands perform well to early techniques such as "draw trumps and then collect winners," and there aren't any hands where you have to perform squeezes or end-plays to make the contract.  The seasoned Bridge players see this section and are completely aghast.  They feel that the site sullies the fundamental nature of Bridge!  Bridge is supposed to be played with a randomly sorted deck of 52 cards!  That's the whole *point* of the game!  These novices might, oh my gosh, end up actually having fun playing these false "novice games" without ever enjoying the pleasure of a well-executed squeeze play or a French Coup!  I learned Bridge by going to my local Bridge Club and getting berated by little old ladies and how dare this site make something more accessible and friendly and call it Bridge!
We have novices covered though. They can play endless carefully chosen sets of 10 (well, they can once the old base set campaign gets replaced with the new one). We could have an option to play rulebook recommended sets - 7) recommended set. They don't need that much of that to be ready for random.
Title: Re: Announcing Dominion Set Generator
Post by: onigame on January 13, 2013, 04:48:23 am
1. You don't win anyone over to your side by suggesting that their opinions are the product of cognitive biases.

True.  But you can win over the undecideds, whom you're not accusing of having cognitive biases. 

Quote
2. The point of random sets is to learn something.  If every set you throw in cards that you "know" work together, you never get that feeling of discovering something new.  Maybe you believe that you've exhausted everything new, but suppose your rubric had been in place pre-KC/Goons/Masq: according to this set generator, maybe you would have never seen it.  You would think KC is too swingy.  Goons is too high variance or dominating.  So you never discover interesting combos because you've already limited yourself.

I can learn better stuff by taking classes at a community college.  The point of playing games is to have fun; learning something is secondary and in many cases not actually a necessary component of having fun.  (Learning about KC/Goons/Masq has increased my enjoyment of Dominion in the same way that learning about wedgies has increased my enjoyment of high school gym class.)

Yes, it's true that playing with more restricted sets limits what you can get out of a game.  But as long as you're having fun, does it matter?  Once you stop having fun, you remove some of the limits and there are now new things to discover.  Let players go to the next level when they feel they're ready.

Quote
3. I don't think it's a cognitive bias to suggest that a player's default expectation is going to be a randomly chosen set of 10.  It's really misleading that when you choose "random set", you almost will never get Throne Room or King's Court, and almost always get Bandit Camp and Border Village.

Yes, that would be very misleading.  Which is why I do NOT want to call it "random set".

Quote
4. I understand that this is eventually going to be somewhat subjective, but wow, I did not realize the extent to which your personal views were being injected into this generator.  What the heck is the point of playing Dominion without King's Court?  Platinum is more swingy, as DXV likes to say, and no one bans that.
You can't please everyone, but right now it seems like there is a very very wide gulf of opinion on what is "fun" between your set generator and what I thought to be general consensus.

There's a difference between (1) what my personal preference for games are, (2) what I want my generator to output (by default), (3) and what my generator currently outputs.  Please don't confuse the three.

(3) is 18.25% as of LastFootnote's last stats run.
(2) is somewhere between 95% and 120%.
(1) is somewhere around 0.3%.

Quote
5. I understand also that you are invested in this company, literally, but you gotta be able to take a step back and realize when you're not helping.  I mean, for real, you put in a set generator that stops KC from being on the board.  Obviously you didn't mean to do this, and that you're going to bump it up, but we're concerned that your personal views on how you'd like to play Dominion are dominating at the expense of both casual and experienced players.  If in the end, you come up with a set generator that nevertheless actively discourages KC, that's not the Dominion I enjoy playing.  It's some weird form of "onigame Dominion" where a lot of the variance is removed.

I understand your points and your concern.  I will vow right now that, in any version of software that I approve of, playing a game with 10 cards selected by a "pure unbiased random" generator will be always available and easy to get to.  No more than 5 taps/clicks from the home screen.

Honestly, I didn't know until yesterday that my generator was *sooo* dismissive towards KC.  I announced this thing, what, 37 days ago, and asked for feedback then?  In the last 1 day I've gotten more useful feedback and analysis on my generator than in all 36 days preceding it.  (I'm not sure if I'm learning the right lesson from that.)
Title: Re: Announcing Dominion Set Generator
Post by: onigame on January 13, 2013, 08:04:32 am
Thanks to some help from LastFootnote, you can now generate your own stats similar to what he posted earlier in the thread.

Please go to:  http://dominionsetgenerator.com/stats.html

Based on some help from this tool, I have changed many of the underlying parameters for the generator, and some of the extremes are more tempered now.  For example, Bandit Camp is no longer in 99% of all Dark Ages games -- it's in 51% of them (which is still a lot more than pure random, 28.6%).  Some of the more interesting changes I made:

* Victory cards originally tended to cluster; i.e., if the set had at least one Victory card, the generator would try to favor adding more of them.  This made some sense when mixing expansions but had a side-effect when doing Intrigue-only decks, which is that you're very likely to get at least one Victory card in your first 5 picks and as a result the game often chose all three of them.  Upon reflection I realized that clustering Victory cards wasn't really doing much good and removed that.

* I had two attributes that were closely correlated: "Carddrawers" (things that draw cards) and "Selfmillers" (things that can potentially skip past cards in your deck).  Both of these had a recommended range.  However, cards like Smithy and Moat would often get a double penalty for going past the range of both of these.  (Council Room too, but it got a boost both for being cost $5 and for having a +Buy).  I increased the viable range and decreased the penalty to compensate.

Here are the current top and bottom 5 cards for each expansion based on a 1000-trial run:

Base Set top 5:
Market    732    73.2%    183%
Festival    636    63.6%    159%
Laboratory    595    59.5%    148.75%
Council Room    543    54.3%    135.75%
Remodel    527    52.7%    131.75%

Base Set bottom 5:
Throne Room    290    29%    72.5%
Gardens    286    28.6%    71.5%
Thief    266    26.6%    66.5%
Bureaucrat    259    25.9%    64.75%
Chancellor    218    21.8%    54.5%

Intrigue top 5:
Tribute    606    60.6%    151.5%
Trading Post    593    59.3%    148.25%
Mining Village    545    54.5%    136.25%
Upgrade    528    52.8%    132%
Baron    519    51.9%    129.75%

Intrigue bottom 5:
Harem    278    27.8%    69.5%
Minion    273    27.3%    68.25%
Courtyard    266    26.6%    66.5%
Secret Chamber    245    24.5%    61.25%
Coppersmith    235    23.5%    58.75%

Seaside top 5:
Bazaar    701    70.1%    182.26%
Treasury    654    65.4%    170.04%
Explorer    603    60.3%    156.78%
Wharf    557    55.7%    144.82%
Island    489    48.9%    127.14%

Seaside bottom 5:
Pirate Ship    237    23.7%    61.62%
Merchant Ship    219    21.9%    56.94%
Embargo    208    20.8%    54.08%
Sea Hag    190    19%    49.4%
Cutpurse    188    18.8%    48.88%

Prosperity top 5:
Peddler    710    71%    177.5%
City    666    66.6%    166.5%
Grand Market    620    62%    155%
Forge    600    60%    150%
Expand    564    56.4%    141%

Prosperity bottom 5:
Talisman    253    25.3%    63.25%
Royal Seal    247    24.7%    61.75%
Mountebank    224    22.4%    56%
Counting House    215    21.5%    53.75%
Quarry    205    20.5%    51.25%

Hinterlands top 5:
Stables    666    66.6%    173.16%
Highway    652    65.2%    169.52%
Border Village    589    58.9%    153.14%
Margrave    544    54.4%    141.44%
Spice Merchant    540    54%    140.4%

Hinterlands bottom 5:
Embassy    242    24.2%    62.92%
Silk Road    242    24.2%    62.92%
Noble Brigand    240    24%    62.4%
Oracle    237    23.7%    61.62%
Fool's Gold    231    23.1%    60.06%

Dark Ages top 5:
Bandit Camp    507    50.7%    177.45%
Cultist    458    45.8%    160.3%
Count    439    43.9%    153.65%
Fortress    401    40.1%    140.35%
Junk Dealer    399    39.9%    139.65%

Dark Ages bottom 5:
Feodum    176    17.6%    61.6%
Armory    170    17%    59.5%
Rogue    166    16.6%    58.1%
Poor House    154    15.4%    53.9%
Marauder    154    15.4%    53.9%

I'm certainly not claiming that things are perfect now, but hopefully people will find these extremes more palatable.  As always, I welcome comments.
Title: Re: Announcing Dominion Set Generator
Post by: hsiale on January 13, 2013, 08:05:56 am
I don't know if this is due to the set generator but I just played a game at Goko in single player mode where every single card except the bane was from Cornucopia.

Started another one now and I got some more distribution - 5 Prosperity, 3 Dark Ages, 1 Seaside, 1 Base.
Title: Re: Announcing Dominion Set Generator
Post by: Donald X. on January 13, 2013, 09:11:23 am
Seaside bottom 5:
Pirate Ship    237    23.7%    61.62%
Merchant Ship    219    21.9%    56.94%
Embargo    208    20.8%    54.08%
Sea Hag    190    19%    49.4%
Cutpurse    188    18.8%    48.88%
In the older sets I mean expansions, the idea was that 1 in 5 cards would be an attack, with a sprinkling of 1-2 additional non-attack interactive cards like Council Rooms (we will use your term for them, "helpers"). This holds true for Alchemy/Cornucopia considered as a single expansion. I wanted to have player interaction and attacks were where you got that (and helpers, and, to a lesser degree, VP cards like Gardens). For Prosperity though I downplayed attacks in favor of helpers, to make it easier to get to Colony. Then it seemed like people preferred it that way, so Hinterlands and Dark Ages are both a little lighter on attacks, but not on interaction - one attack slot replaced by a helper (and obv. IGG counts for an attack slot).

You seem to be aiming for maybe one attack card per set-of-10? But that's half what the expansions themselves have. So here's the Seaside bottom 5, with three attacks plus a "helper" (okay Embargo does not "help" much, but you know, it's non-attack interaction). The Hinterlands bottom 5 has two attacks, two helpers, and a VP card.

So, I think player interaction is being downweighted too much.
Title: Re: Announcing Dominion Set Generator
Post by: werothegreat on January 13, 2013, 10:16:45 am
When the set generator was announced, my thought was that the implementation was going to be pretty much exactly what was put up on Wei-Hwa's website - you CHOOSE exactly what you want put into the kingdom.  Now, I realize this may be too much for novice players, so why not have three options for casual games:

1) Pure random
2) An average implementation of the generator, maybe called "Well-rounded kingdom"
3) "Advanced" - which lets you set all the parameters of the kingdom

I would like a pure random option in casual because, personally, I like to reserve my pro games for when I'm making videos, and I don't always feel like making a video, so if I just want to play a game with someone, I'll do casual, and I sometimes want to play a purely random kingdom, as much as I complain about there not being Villages in a kingdom.  I may dislike when that happens, but it encourages me to think more about what to do in a kingdom.
Title: Re: Announcing Dominion Set Generator
Post by: Polk5440 on January 13, 2013, 11:38:23 am
Do you see how this might raise objections?  The whole point of Bridge is to play it full random.  That's where the joy of the game comes in.

I disagree with this. And I find this comment surprising given the "build a kingdom" competition for the final round of the tournament....

This analogy overlooks the ways that Bridge deals with uninteresting games. Because of the bidding round, uninteresting games are either played quickly or not at all. Sometimes Bridge players even re-deal games if the winning contract is 1 of something (i.e. too boring) when playing casually. If a contract is easily made by a team, often play stops, and a certain number of tricks will be immediately conceded, so the game is often not played out or is played out quickly.

The opposite tends to happen in Dominion online with full random. There is no way to speed up or pass on the uninteresting games. In addition, because of unresolved shuffle luck people rarely concede (unless very far behind or are shut out of the needed points) because there is still a chance they can win.  A biased randomizer is a proposed solution to do so (by making uninteresting kingdoms come up less often), and one I really like.

Backgammon deals with this issue by having a doubling cube. There is a lot of luck and variance to Backgammon (because of dice rolling) and strategy (how to move your pieces) so it is a decent comparison (although, the starting position is the same every time). If a player gets out to an early lead (think flipping a Sea Hag with his Sea Hag, twice in a row), then doubling the stakes forces the player who is behind to concede or to commit to mounting a comeback relying on some luck. This pressure of the doubled stakes makes people more likely to concede when losing and ends uninteresting games quickly (lopsided games are uninteresting, too). I would be interested to know what a doubling cube solution would look like for 3 or 4 player games. Or what a doubling cube style solution would look like for 2 players in casual play with different opponents (where stakes are not easily defined).

In addition, in duplicate Bridge tournaments, everyone plays the same set of starting hands, not full random. The point is to play better than others, not to play random deals. Also, you can learn more from duplicate tournaments. If one team sees something interesting that many others overlook, people can then go back and say, "wow! I learned something!" You can learn from how the winners played your exact deals. Your learning is not dependent on playing every single deal all the way through. The fact is, many deals are uninteresting no matter how you slice it. Much like in Dominion. It's a great game, but some kingdoms are just more interesting than others. Very few people want to think about EVERY kingdom and EVERY game all the way through equally seriously. They shouldn't be forced to.
Title: Re: Announcing Dominion Set Generator
Post by: LastFootnote on January 13, 2013, 02:06:48 pm
onigame, I want you to know how much I appreciate your apology. It was very good of you to take the time to address my concerns. Even this part:

Quote
Why are your opinions so much more important than mine?

I feel I have to address this even though you may not enjoy the answer.  My opinions are "more important" than yours because Goko has a lot more of my money than they have of yours (as far as I can tell; I don't actually know for sure that you also aren't one of the investors).  I invested in the company rather early, when it was more hope than actual implementation, and a lot of the work I'm putting in is motivated by making that investment be profitable.

That was me being petulant. Just the fact that you were a Dominion playtester and helped create the recommended sets of 10 in many of the expansions (which I also appreciate!) would put a lot of weight behind your opinions, and I was aware of that. It was kind of you to respond anyway. :)

Quote
I know that the company can't succeed without having customer loyalty, but also that it can't succeed without a wider, casual, audience.

We all have invisible biases towards our own experiences.  I enjoyed isotropic when it first came out, but soon got tired of it, because I felt I was just playing too many games where the kingdom was a one-strategy kingdom and that to do well I had to invest a lot of time to sense and execute tiny improvements in strategy and that having a good time seemed to be more about winning games rather than actually having fun with different game mechanics (which is the whole reason I enjoy playing Dominion).  I don't feel that a completely faithful clone of isotropic would ever be monetarily successful.

It's very hard treading the line between getting new users and satisfying old users.  In this case a confluence of events, some of which I was responsible for, tipped the ship too far in one direction.  I'm doing my best to course-correct.

It's never been about getting *my* code into Goko.  It's been about doing what I feel is important to make a niche game appeal to a wider audience.

I understand. From the beginning, I've also want Goko to succeed and for Goko Dominion to be friendly to casual players. At no time have I wanted Goko to be a faithful isotropic clone.

Let me dispel another assumption you may (or may not!) have about me. I'm not a pure-random zealot, to coin a phrase. I, too, have designed my own randomizer that I believe makes Kingdoms more fun. It's a Java Swing app and whenever I play in real life, it's what I use to create sets. Even when I played on isotropic, I rarely played pure random. I would bias my first game toward the base set, my second game toward Intrigue, and so on down the line. Seeing more of the interesting card interactions between cards within the same expansion is one of the things I consider fun.

My concerns are that your randomizer isn't effective at its stated goal (making games that are more friendly to casual players) and that it's going to have lots of negative side effects.

I can't speak for everybody, but for me, the long-lasting appeal of Dominion is its sheer variety. Even if you iron out the severe biases that your randomizer has, the fact that it always creates sets with 'a little bit of everything' removes a huge chunk of variety from the game. If all games felt so similar, I think I would have tired of Dominion really quickly. I'm guessing that with your randomizer many new players will have that very experience. If your goal is to keep them interested long enough to buy an expansion or two, then drop off to make space on the server for new players, maybe this is perfect. (I'm not claiming this is your motivation, but if somebody's sole concern were revenue, this might be attractive.)

Theory and Donald have already put forth many of the concerns I have, such as the fact that if I buy a new pack of cards, I want to see all of them a good portion of the time, or I don't feel I'm getting what I payed for. I'll try to avoid just repeating what they've said, but know that I agree wholeheartedly.

Quote
2. The point of random sets is to learn something.  If every set you throw in cards that you "know" work together, you never get that feeling of discovering something new.  Maybe you believe that you've exhausted everything new, but suppose your rubric had been in place pre-KC/Goons/Masq: according to this set generator, maybe you would have never seen it.  You would think KC is too swingy.  Goons is too high variance or dominating.  So you never discover interesting combos because you've already limited yourself.

I can learn better stuff by taking classes at a community college.  The point of playing games is to have fun; learning something is secondary and in many cases not actually a necessary component of having fun.  (Learning about KC/Goons/Masq has increased my enjoyment of Dominion in the same way that learning about wedgies has increased my enjoyment of high school gym class.)

Yes, it's true that playing with more restricted sets limits what you can get out of a game.  But as long as you're having fun, does it matter?  Once you stop having fun, you remove some of the limits and there are now new things to discover.  Let players go to the next level when they feel they're ready.

I think theory's point is that for many players, learning a new strategy or card interaction is fun. I don't like the KC/Goons/Masq pin either and I don't think it was a very good example. It's sort of a fluke.

Quote
Quote
3. I don't think it's a cognitive bias to suggest that a player's default expectation is going to be a randomly chosen set of 10.  It's really misleading that when you choose "random set", you almost will never get Throne Room or King's Court, and almost always get Bandit Camp and Border Village.

Yes, that would be very misleading.  Which is why I do NOT want to call it "random set".

But in your GetSatisfaction thread, you do advocate calling it a "Basic Game" and calling pure random a "Pro Game", which is just as misleading. There's nothing basic about your randomizer.

In fact, that's what's so wrong. Your randomizer is the very definition of inelegant. If I had to give someone an example of an inelegant software solution to a perceived problem, I'd just point them to dominionsetgenerator.com. When I said that I liked playing with niche cards and your randomizer discouraged them, your solution was to add a 'niche card' weighting. When I read that, I shook my head in disbelief. You're missing the entire point! The point is that, for many cards, what categories it fits under isn't cut and dried. 'Niche' is the perfect example of that. Which cards are niche is not pinned down, and it changes both as more cards are released and as people become more familiar with using the cards in different situations (which they won't be able to if they're using your generator)!

To put it plainly, the set of categories available is arbitrary, the cards that fit into each category are arbitrary, and how much each category is weighted is arbitrary. The default settings are all dependent on what role you feel each card fits and which roles are important to you! You will never fix this randomizer! It is fundamentally flawed.

All that said, it's easy to criticize without suggesting any solutions. In a later post today, I will put forth my own ideas about how to address these issues in Goko.
Title: Re: Announcing Dominion Set Generator
Post by: onigame on January 13, 2013, 02:54:29 pm
I don't know if this is due to the set generator but I just played a game at Goko in single player mode where every single card except the bane was from Cornucopia.

Started another one now and I got some more distribution - 5 Prosperity, 3 Dark Ages, 1 Seaside, 1 Base.

It most likely is due to the set generator.  The generator (on default settings) tries to cluster cards from the same expansion together.  The weight of the cluster is stronger for the small expansions (Cornucopia, Alchemy, Guilds). 
Title: Re: Announcing Dominion Set Generator
Post by: WanderingWinder on January 13, 2013, 03:19:07 pm
1. You don't win anyone over to your side by suggesting that their opinions are the product of cognitive biases.

True.  But you can win over the undecideds, whom you're not accusing of having cognitive biases. 
I think you're more likely to lose them by appearing to just insult anyone who disagrees with you. I mean 'my opponents have cognitive biases' comes across as 'my opponents are mentally challenged' or 'my opponents are stupid', and this is not a very endearing thing to say. Of course, it doesn't actually mean that, but it can come across that way, and, having cognitive biases is something that is just inherently true of everyone - you have them just as much. So do I. So as an argument, it's a non-starter.

Quote
Quote
2. The point of random sets is to learn something.  If every set you throw in cards that you "know" work together, you never get that feeling of discovering something new.  Maybe you believe that you've exhausted everything new, but suppose your rubric had been in place pre-KC/Goons/Masq: according to this set generator, maybe you would have never seen it.  You would think KC is too swingy.  Goons is too high variance or dominating.  So you never discover interesting combos because you've already limited yourself.

I can learn better stuff by taking classes at a community college.  The point of playing games is to have fun; learning something is secondary and in many cases not actually a necessary component of having fun.  (Learning about KC/Goons/Masq has increased my enjoyment of Dominion in the same way that learning about wedgies has increased my enjoyment of high school gym class.)

Yes, it's true that playing with more restricted sets limits what you can get out of a game.  But as long as you're having fun, does it matter?  Once you stop having fun, you remove some of the limits and there are now new things to discover.  Let players go to the next level when they feel they're ready.

Quote
3. I don't think it's a cognitive bias to suggest that a player's default expectation is going to be a randomly chosen set of 10.  It's really misleading that when you choose "random set", you almost will never get Throne Room or King's Court, and almost always get Bandit Camp and Border Village.

Yes, that would be very misleading.  Which is why I do NOT want to call it "random set".

Quote
4. I understand that this is eventually going to be somewhat subjective, but wow, I did not realize the extent to which your personal views were being injected into this generator.  What the heck is the point of playing Dominion without King's Court?  Platinum is more swingy, as DXV likes to say, and no one bans that.
You can't please everyone, but right now it seems like there is a very very wide gulf of opinion on what is "fun" between your set generator and what I thought to be general consensus.

There's a difference between (1) what my personal preference for games are, (2) what I want my generator to output (by default), (3) and what my generator currently outputs.  Please don't confuse the three.

(3) is 18.25% as of LastFootnote's last stats run.
(2) is somewhere between 95% and 120%.
(1) is somewhere around 0.3%.
But the point isn't that this is your definition of what is fun, the point is that it's some definition that doesn't come from them and is being imposed by you. Whether it's what you actually enjoy or not is not super relevant. Now, it's true that uniform random isn't from them either - but it is a null position, objective except insofar as it was decided by the people who made the game.

Quote
Quote
5. I understand also that you are invested in this company, literally, but you gotta be able to take a step back and realize when you're not helping.  I mean, for real, you put in a set generator that stops KC from being on the board.  Obviously you didn't mean to do this, and that you're going to bump it up, but we're concerned that your personal views on how you'd like to play Dominion are dominating at the expense of both casual and experienced players.  If in the end, you come up with a set generator that nevertheless actively discourages KC, that's not the Dominion I enjoy playing.  It's some weird form of "onigame Dominion" where a lot of the variance is removed.

I understand your points and your concern.  I will vow right now that, in any version of software that I approve of, playing a game with 10 cards selected by a "pure unbiased random" generator will be always available and easy to get to.  No more than 5 taps/clicks from the home screen.

Honestly, I didn't know until yesterday that my generator was *sooo* dismissive towards KC.  I announced this thing, what, 37 days ago, and asked for feedback then?  In the last 1 day I've gotten more useful feedback and analysis on my generator than in all 36 days preceding it.  (I'm not sure if I'm learning the right lesson from that.)
The thing is, if you don't know this stuff, you should probably not be pushing it out. People are unlikely to take your 'vow' seriously if that's the way it actually is right now, which may not be your fault, but if you don't have control over this, people are actually going to care when someone who does have that control says something.

The reason you're hearing about it now is that it's having an effect on people now. Before, if they didn't like it, there was no reason to point out problems they have with it - maybe someone else likes it, and well, you generally just don't tell somebody that their work is bad if there isn't a reason; it's impolite. But now, this is being pushed on people - really forcefully apparently, which I understand isn't your particular intention, but it does get people's attention. And even if your scenario were put in place, it would be the default, which still is going to carry some weight.

One more point:
The point about not graduating people to full random until they're ready seems at odds with the concept of card selection you're talking about, that this is supposed to get rid of boring sets where there's just one clear dominant strategy - those should be EASIER to learn; if you're graduating people, it should be FROM them, not TO them (assuming your original argument were right, which I'm not convinced of).

tl;dr It's not that uniform random is better, it's that people don't always agree on what 'fun' is, and uniform random is the one objective null point inherent to the game.
Title: Re: Announcing Dominion Set Generator
Post by: onigame on January 13, 2013, 03:24:44 pm
But in your GetSatisfaction thread, you do advocate calling it a "Basic Game" and calling pure random a "Pro Game", which is just as misleading. There's nothing basic about your randomizer.

Coming up with short descriptive names for complicated things is hard.  I want a name that means "generator that uses a complicated algorithm to create a kingdom with the goals of making a kingdom that is well-rounded in strategy space intended for casual players who want something comfortable (and not expert players who want the chance to explore rare and specialized strategies)."

Maybe "Onigame's Casual Setup" would be a better short name.  It feels so vain though!
Title: Re: Announcing Dominion Set Generator
Post by: hsiale on January 13, 2013, 03:56:38 pm
I have just looked at generator page. I don't even understand what half of the settings mean. And this looks like the biggest problem for me. How should a new player use this generator? As an opposite example, let's look at http://inprogressgaming.com/dominion-card-picker/ - a generator by Toskk I use when playing with RL cards. It has customization, but the options are easy to understand to anyone who knows game rules.

I don't know how would I code a randomizer, as I don't know how to code. But here's how I would like it to work (note: I am not a very experienced player, I play Dominion for 3 months, with my games divided more or less 50% between Goko and Iso. My current Iso level is 20). For first games, there should be no randomizer at all. There are (and from what I've heard they will be improved) adventures with lots of fixed board to learn the game. If a new player doesn't like adventures, we have recommended sets of 10. There are 5 of them in Base Game rulebook and I guess it's not a problem to make 10-15 more. Throwing a card from some other expansion into each of them, one that works well within the set (to make people want to buy more sets and to learn them rules introduced in them). And each of them should have a short article available directly at Goko, hinting at the possibilities in the set while still leaving interesting things to explore on your own. This should cover beginners.

Now we have a player that has learned something. But not a lot still. But enough to understand what the game is about. And enough to start playing random sets. This is where the randomizer should step in. A customizable one, though the default should still be full random. And there should be options. Many of them, allowing to customize towards any kind of deck. If someone chooses to customize towards engines all the time, then so be it. But give everyone a choice, they may want to play something else from time to time. For example, I would love to have a generator giving me rush sets, as I enjoy those games but often fail at them, so having a chance to practice several games in a row would help me a lot. Other people may want to practice anything else.

Engines are not everything in the world. And many of them definitely are not where the world should begin. There's nothing more frustrated than playing an engine board when you have screwed up building and your opponent did not - not only on your turns you can't do anything interesting, but also you have to sit through long turns of your opponent, full of magic tricks most of which you don't understand and having to do something only when a discard attack is fired at you. And beginners are likely to get into such situations, as engine building is very often a high level skill. I still fail on this most of the time. If every game sends you unprepared in the middle of such hell, chances are you leave the game before learning to survive there.

So, there should be choices. Full random, full engine, full money, other possibilities, mixes between them. And a good manual. So that people can learn using the generator the way they prefer and bias the set in whichever direction they like. And of course it should be done the way that no card appears too often or too seldom - I think no card should appear more than twice as often as any other card. And for cards with rare uses, a nice thing would be to bias towards those uses whenever they appear - so that for example 30-40% of games with Chancellor also use Stash (on the other hand definitely not 100%, there are other uses of this card as well).

--------------------
And by the way, I think a set generator is not the most important thing Goko needs to make new players enjoy the game, stay and buy cards. A good help system would do much more. All you get at Goko is a pdf containing Base Set rules and a link to RGG saying "learn more about offline Dominion". I think the mistake people at Goko make is trying to create an online implementation of a board game, while they should create an online game (which happens to already have a paper implementation, a very popular one, and this is good as there is a player base to begin with). What Goko needs is a true online rulebook:
- big, covering lots of topics (because storage space on the server is cheap while printed rulebooks are not),
- hyperlinked, both internally and to external sources (this is the internet, links are the very point of creating webpages),
- clearly divided into beginner, medium level and advanced content, so that people read what they need and can come back for more when they're ready.

Of course this is not something that a Goko employee can do in half a day (I guess this is how the current "rulebook" was created). I think no single person could create something like this, unless being a high level player given a month or two of full time job on this. If Goko feels they need something I describe, what they need is to come here and ask people to help. There definitely are people willing to help here, especially as Goko has improved a lot since summer. Everyone will benefit on lots of casual players appearing and learning the game - Goko will have money when they buy sets (if the game grows big enough it can bring money perpetually at low maintenance cost) and players needs lots of people playing casually so that new high skill players appear to make top level online Dominion interesting. I think a good help system should be Goko's top priority after all cards are implemented. If you agree, then make them come here and ask us to help.  I will help and I'm sure many others will as well.
Title: Re: Announcing Dominion Set Generator
Post by: werothegreat on January 13, 2013, 04:06:23 pm
But in your GetSatisfaction thread, you do advocate calling it a "Basic Game" and calling pure random a "Pro Game", which is just as misleading. There's nothing basic about your randomizer.

Coming up with short descriptive names for complicated things is hard.  I want a name that means "generator that uses a complicated algorithm to create a kingdom with the goals of making a kingdom that is well-rounded in strategy space intended for casual players who want something comfortable (and not expert players who want the chance to explore rare and specialized strategies)."

Maybe "Onigame's Casual Setup" would be a better short name.  It feels so vain though!

Which is why I'm wondering why everyone is ignoring my suggestion.  On the game creation page, if you select Casual, just have 3 options:
1) Pure random
2) Basic implementation of set generator (call it "Well-rounded kingdom" or whatever)
3) Advanced - let's you pick and choose the parameters of the generator.

Doesn't that seem self-explanatory enough?
Title: Re: Announcing Dominion Set Generator
Post by: onigame on January 13, 2013, 04:15:37 pm
I think you're more likely to lose them by appearing to just insult anyone who disagrees with you. I mean 'my opponents have cognitive biases' comes across as 'my opponents are mentally challenged' or 'my opponents are stupid', and this is not a very endearing thing to say. Of course, it doesn't actually mean that, but it can come across that way, and, having cognitive biases is something that is just inherently true of everyone - you have them just as much. So do I. So as an argument, it's a non-starter.

Consider these two arguments:
(A) "Everyone who disagrees with me is an idiot."
(B) "There are some people out there who believe X.  People who believe X are idiots.  If you're reading this and you haven't made up your mind about X, please don't believe X."

On some level, these two arguments are actually the same.  Yet if you go out in the world you'll see that (B)-style is actually used quite frequently -- in political campaigns, in public-service announcements, in activist activities.  Presumably they wouldn't use it if it wasn't at least working to some extent.

Quote
The reason you're hearing about it now is that it's having an effect on people now.

Absolutely.  I knew this.  My cognitive dissonance isn't because I didn't know why this thread is suddenly so popular; it's because I can't tell whether the events of the last three days was a good thing or a bad thing.

On some level, it's a bad thing because I did stuff that made people unhappy.  But on some level, it's a good thing because I'm actually getting some very good opinions from people on this thread and I feel that both my generator and Goko's eventual implementation of Kingdom selecting will be much improved because of it (but who knows, that might just be unrealistically optimistic on my part).  So maybe a couple of days of unhappiness was worth it.  I guess time will tell.

Quote
One more point:
The point about not graduating people to full random until they're ready seems at odds with the concept of card selection you're talking about, that this is supposed to get rid of boring sets where there's just one clear dominant strategy - those should be EASIER to learn; if you're graduating people, it should be FROM them, not TO them (assuming your original argument were right, which I'm not convinced of).

This is an absolutely beautiful point, and I'm glad you made it, because it's definitely a game-changer in forming how I think about players and what my goals are in trying to design a good interface for Goko.

Unfortunately I'll need some time before I can articulate my new thoughts fully on this... Other projects beckon and I won't have a free weekend for a while.
Title: Re: Announcing Dominion Set Generator
Post by: WanderingWinder on January 13, 2013, 04:19:58 pm
I think you're more likely to lose them by appearing to just insult anyone who disagrees with you. I mean 'my opponents have cognitive biases' comes across as 'my opponents are mentally challenged' or 'my opponents are stupid', and this is not a very endearing thing to say. Of course, it doesn't actually mean that, but it can come across that way, and, having cognitive biases is something that is just inherently true of everyone - you have them just as much. So do I. So as an argument, it's a non-starter.

Consider these two arguments:
(A) "Everyone who disagrees with me is an idiot."
(B) "There are some people out there who believe X.  People who believe X are idiots.  If you're reading this and you haven't made up your mind about X, please don't believe X."

On some level, these two arguments are actually the same.  Yet if you go out in the world you'll see that (B)-style is actually used quite frequently -- in political campaigns, in public-service announcements, in activist activities.  Presumably they wouldn't use it if it wasn't at least working to some extent.
There's a difference between telling someone they're wrong and calling them idiotic.
Title: Re: Announcing Dominion Set Generator
Post by: onigame on January 13, 2013, 04:21:54 pm
Which is why I'm wondering why everyone is ignoring my suggestion.  On the game creation page, if you select Casual, just have 3 options:
1) Pure random
2) Basic implementation of set generator (call it "Well-rounded kingdom" or whatever)
3) Advanced - let's you pick and choose the parameters of the generator.
Doesn't that seem self-explanatory enough?

It's a good suggestion.  So good that it was what I expected to happen when I gave them my code a week ago.  Unfortunately what actually came out was
1) To get "Pure random", select "Pro Leaderboard".
2) To get "Well-rounded kingdom", select "Casual Leaderboard".
3) Advanced -- we'll implement this later

I can certainly understand why someone at Goko might have thought this would have been a reasonable midpoint milestone to get to the original idea.  The devil is in the details!
Title: Re: Announcing Dominion Set Generator
Post by: onigame on January 13, 2013, 04:23:48 pm
I think you're more likely to lose them by appearing to just insult anyone who disagrees with you. I mean 'my opponents have cognitive biases' comes across as 'my opponents are mentally challenged' or 'my opponents are stupid', and this is not a very endearing thing to say. Of course, it doesn't actually mean that, but it can come across that way, and, having cognitive biases is something that is just inherently true of everyone - you have them just as much. So do I. So as an argument, it's a non-starter.

Consider these two arguments:
(A) "Everyone who disagrees with me is an idiot."
(B) "There are some people out there who believe X.  People who believe X are idiots.  If you're reading this and you haven't made up your mind about X, please don't believe X."

On some level, these two arguments are actually the same.  Yet if you go out in the world you'll see that (B)-style is actually used quite frequently -- in political campaigns, in public-service announcements, in activist activities.  Presumably they wouldn't use it if it wasn't at least working to some extent.
There's a difference between telling someone they're wrong and calling them idiotic.

True, but that's missing my point.  Imagine I wrote this; maybe it gets my point across better:

(A) "Everyone who disagrees with me is wrong."
(B) "There are some people out there who believe X.  People who believe X are wrong.  If you're reading this and you haven't made up your mind about X, please don't believe X."
Title: Re: Announcing Dominion Set Generator
Post by: Donald X. on January 13, 2013, 04:35:49 pm
Maybe "Onigame's Casual Setup" would be a better short name.  It feels so vain though!
Call it "Trisha's Casual Setup." Then it sounds good because there's a girl involved. Or "Engine-Heavy."

I feel like "pick a random 10, count the strategies" has got to be the best way to make sets where the goal is to have multiple strategies. Go directly to what you want and you'll do the best job of maximizing it. Each step away hurts how well you do this. Focusing on categories of effects is a step removed and those categories aren't even a measure of fun, it's not "fun cards," it's "+1 buy" and there's an idea that games have more possibilities if you throw that in. Which I mean is true. But Woodcutter isn't directly fun or even directly a strategy. Saying "let's always include these six things" means you'll have sets that always include those six things; it may tend towards three things to do but it's making the sets more samey in other ways having nothing to do with how many things to do there are. But count the strategies and there will be three things to do and +buy won't be remotely mandatory.

I think for a lot of people a good approach to "fun" would just be, let them have a list of cards they don't like, automatically left out of games they generate. Bam, good times. For new players who aren't playing recommended sets / campaigns, a good first pass for "make sure there are multiple things to do" would just be "include three $5's."

Even something like "be less likely to include Counting House when there isn't a combo for it" is I think overall *less* fun. It's not so bad to have a 9-card game with Counting House sometimes. When you get to go for Counting House, part of the joy of it is those other games where Counting House was useless. If every time it shows up you've got a combo for it available, it stops being special.

I think it's fine to have an engine-heavy option, and totally good to have multiple options for how the set-of-10 is generated. And certainly your approach is related to how I made the campaign lists. It's like, most of the time I want a village because it lets you do more, ditto +buy, gotta have some interaction, need some $5's. A big difference is I was specifically trying to use the cards about equally often.
Title: Re: Announcing Dominion Set Generator
Post by: Donald X. on January 13, 2013, 04:39:11 pm
So, there should be choices. Full random, full engine, full money, other possibilities, mixes between them.
I broadly categorize decks by how you deal with the "one action per turn" rule:

1) only play a couple actions
2) play with actions with +1 action, or special treasures
3) play with villages
4) play with ways to make use of dead cards, broadly categorized as Remodel and Vault
5) play a strategy that tolerates having dead cards, such as Gardens

And of course you can combine these.
Title: Re: Announcing Dominion Set Generator
Post by: WanderingWinder on January 13, 2013, 04:42:56 pm
I think you're more likely to lose them by appearing to just insult anyone who disagrees with you. I mean 'my opponents have cognitive biases' comes across as 'my opponents are mentally challenged' or 'my opponents are stupid', and this is not a very endearing thing to say. Of course, it doesn't actually mean that, but it can come across that way, and, having cognitive biases is something that is just inherently true of everyone - you have them just as much. So do I. So as an argument, it's a non-starter.

Consider these two arguments:
(A) "Everyone who disagrees with me is an idiot."
(B) "There are some people out there who believe X.  People who believe X are idiots.  If you're reading this and you haven't made up your mind about X, please don't believe X."

On some level, these two arguments are actually the same.  Yet if you go out in the world you'll see that (B)-style is actually used quite frequently -- in political campaigns, in public-service announcements, in activist activities.  Presumably they wouldn't use it if it wasn't at least working to some extent.
There's a difference between telling someone they're wrong and calling them idiotic.

True, but that's missing my point.  Imagine I wrote this; maybe it gets my point across better:

(A) "Everyone who disagrees with me is wrong."
(B) "There are some people out there who believe X.  People who believe X are wrong.  If you're reading this and you haven't made up your mind about X, please don't believe X."

B is fine, if entirely ineffectual. But when you are talking about people having cognitive biases, it doesn't sound like you're saying B, it sounds like you're calling them idiotic. If you want to say B, why would you bring up cognitive biases?
Title: Re: Announcing Dominion Set Generator
Post by: werothegreat on January 13, 2013, 04:56:11 pm
Which is why I'm wondering why everyone is ignoring my suggestion.  On the game creation page, if you select Casual, just have 3 options:
1) Pure random
2) Basic implementation of set generator (call it "Well-rounded kingdom" or whatever)
3) Advanced - let's you pick and choose the parameters of the generator.
Doesn't that seem self-explanatory enough?

It's a good suggestion.  So good that it was what I expected to happen when I gave them my code a week ago.  Unfortunately what actually came out was
1) To get "Pure random", select "Pro Leaderboard".
2) To get "Well-rounded kingdom", select "Casual Leaderboard".
3) Advanced -- we'll implement this later

I can certainly understand why someone at Goko might have thought this would have been a reasonable midpoint milestone to get to the original idea.  The devil is in the details!

See, but this loses the whole "self-explanatory" part.
Title: Re: Announcing Dominion Set Generator
Post by: onigame on January 13, 2013, 05:12:05 pm
I have just looked at generator page. I don't even understand what half of the settings mean. And this looks like the biggest problem for me.

Because I'm exposing all the settings for the generator, the amount of adjustments can be overwhelming.  There's definitely a lot of room for improvement in the UI (that's why my biggest plea on the page is for a UI guru to pretty things up).  Nevertheless, I just rearranged some things and added a help description to make things a bit more understandable.  Let me know if things are still confusing.

Quote
How should a new player use this generator?

1.  Click on "Generate a Set!"
2.  Look at the set generated.
3.  Play!
Title: Re: Announcing Dominion Set Generator
Post by: onigame on January 13, 2013, 05:21:07 pm
B is fine, if entirely ineffectual. But when you are talking about people having cognitive biases, it doesn't sound like you're saying B, it sounds like you're calling them idiotic. If you want to say B, why would you bring up cognitive biases?

I didn't bring up cognitive biases.  I said a "substantial part of the community" treats the pure unbiased random generator system as "gospel".  theory then asserted that I was accusing my opponents of having cognitive biases.
Title: Re: Announcing Dominion Set Generator
Post by: LastFootnote on January 13, 2013, 05:29:42 pm
If I understand correctly, the problem we have is that pure random creates too many 'crazy' Kingdoms and not enough 'fun' Kingdoms. 'Crazy' Kingoms being defined as Kingdoms that are 'unbalanced'; they have too much of some things and none of other things. 'Fun' Kingdoms have a good mix of everything on offer: non-terminal Actions, extra buys and/or gains, attacks, a good cost distribution, etc.

If you own just the Base Set, this is basically a non-issue. The card pool is small enough that choosing a card that fits one criterion makes it significanly more likely that the other cards you choose will fit other criteria. You can't very well have a Kingdom with 10 splitters (villages) if there are only 3 splitters in your card pool (Village, Throne Room, Festival). Under these circumstances, I argue that a fancy randomizer is completely unnecessary. Sure, you'll get a Kingdom with no non-terminal Actions once in a great while, but they're rare enough to be a cool novelty rather than a big issue.

As the card pool grows, however, crazy Kingoms become more common when you use pure random. Adding a splitter no longer significantly reduces the chances of getting more splitters, etc. Now some might argue that this is as it should be. Players are likely to buy more expansions as they get more familiar with the game and crave more variety. As that happens, they may be more able to deal with 'crazier' Kingdoms. However, let's assume that this isn't the case. I'm sure there will be some players who love the Base Set so much that they'll buy the mega-pack and get everything all at once. So we'll take it as a given that it's still desirable to have fewer 'crazy' Kingdoms than full random provides.

So if the issue is that a larger card pool creates more crazy Kingdoms, here's my solution: reduce the size of the cardpool before choosing your Kingdom cards.

Doing this is simple. Just choose 2 or 3 expansions that you're going to use and then only choose cards from them. Specifically, here's how my homemade randomizer does it:

1. Add 'required' cards to the Kingdom (cards that the user has chosen to definitely be in the Kingdom).
2. Determine how many promo cards will be included in the Kingdom (using a hypergeometric distribution), choose that many promo cards randomly, and add them to the Kingdom.
3. Put tokens into a bag representing the expansions the user owns. There are 2 tokens for the Base Set and 1 token per sub-expansion the user owns. (So if the user owns all of Dark Ages, put three Dark Ages tokens in the bag).
4. Draw out X tokens randomly where X is the maximum number of expansions the user wants to use this game (usually 1, 2, or 3).
5. Until the Kingdom is full, round-robin between the tokens and randomly choose a card from the corresponding expansion. So if I have no required or promo cards in the Kingdom and I chose Seaside and Hinterlands tokens, I'd have 5 Seaside cards and 5 Hinterlands cards in the Kingdom.

I left out a few steps, such as not putting an expansion's tokens in the bag if the max # of expansions is 1 and you'd only have one token for that expansion. You usually don't want to play an all-Alchemy game, etc.

Here are some built-in features of this algorithm:

• It's less likely to create 'crazy' Kingdoms than full random from all cards.
• All cards appear with approximately equal likelyhood.
• You see the interactions between cards in the same expansion more often.
• Cards that work better in the context of their expansion will be duds less often (Scout, Contraband, etc.).
• It automatically abides by the 3-5 Alchemy cards suggestion without additional tweaking as long as the "maximum number of expansions" setting does not exceed 3.
• Your Colony games are more likely to have 3-5 Prosperity cards in them rather than 1 or 2, making Colonies easier to attain.
• It makes it very easy to say, "Give me a game with half (or all) cards from Expansion X." This should be handy for those who just bought a new pack of cards and want to try them out.
• It makes it very easy to say, "Don't give me any cards from Expansion X." This is nice for completionists that want to buy everything but don't always want to play Alchemy games.

I should explain those last two. The UI for my Kingdom generator looks like this:

(http://i413.photobucket.com/albums/pp212/Last_Footnote/KingdomGenerator_zps67d29775.png)

If a player disallows an expansion, the expansion's tokens don't get put in the bag. If they require an expansion, it automatically chooses ONE token from that expansion before filling the bag (the other tokens from the expansion go into the bag).

One quirk of this generator is that it can generate Kingdoms of all one expansion when you specify, say, a maximum of two expansions. I don't consider it an issue, but I could easily see that some might have a problem with it.

It's my understanding that when playtesting in real life, this is more or less how Donald and company would play; take cards from 2 or 3 expansions rather than from all of them. So the idea has certainly been thoroughly tested. In my opinion, it's a good compromise.
Title: Re: Announcing Dominion Set Generator
Post by: WanderingWinder on January 13, 2013, 05:32:03 pm
B is fine, if entirely ineffectual. But when you are talking about people having cognitive biases, it doesn't sound like you're saying B, it sounds like you're calling them idiotic. If you want to say B, why would you bring up cognitive biases?

I didn't bring up cognitive biases.  I said a "substantial part of the community" treats the pure unbiased random generator system as "gospel".  theory then asserted that I was accusing my opponents of having cognitive biases.
You're absolutely right, and I apologize.

On the other hand, what you said isn't exactly free of insult either. But definitely not what I was making out, so I apologize.
Title: Re: Announcing Dominion Set Generator
Post by: Ozle on January 13, 2013, 05:36:44 pm
Hmm, I'm now wondering if the Dominion Kingdom App now isn't completely random.

Although it does have options which implies if you turn them off it is
(like 'must contain cards of value 2-5')
Title: Re: Announcing Dominion Set Generator
Post by: hsiale on January 13, 2013, 05:48:27 pm
I'm exposing all the settings for the generator, the amount of adjustments can be overwhelming.  There's definitely a lot of room for improvement in the UI (that's why my biggest plea on the page is for a UI guru to pretty things up).  Nevertheless, I just rearranged some things and added a help description to make things a bit more understandable.  Let me know if things are still confusing.
This helps a bit. Still I think you're not in need of an UI specialist, but a manual writing specialist. Pretty but hard to understand UI can have a good look, but will not work. You use lots of game-specific language, and to make things worse this is not the language commonly used when talking about Dominion - both here and on BGG I haven't found words "Antisplitter", "Deckchanger" and a few more.

Quote
How should a new player use this generator?
1.  Click on "Generate a Set!"
2.  Look at the set generated.
3.  Play!
OK. So you want your tool to be a magical wand, not a hammer. People should use it without having a clue how it works.

This is a completely wrong approach. It works for absolute beginners, but those people should be playing fixed, recommended sets anyway. They should not touch the randomizer. And for people who have grown out of fixed sets (which, when those sets are made with enough time and thought put into them, should be somewhere after 50-100 games) it is possible to make a better (providing more choices) randomizer and explain how it works so that they can make the choices consciously. You just need to leave the "I know better than you, do as I say and don't ask why" approach and change it to "I have more experience, let me teach you something so you can make your choices".
Title: Re: Announcing Dominion Set Generator
Post by: werothegreat on January 13, 2013, 05:51:15 pm
If I understand correctly, the problem we have is that pure random creates too many 'crazy' Kingdoms and not enough 'fun' Kingdoms. 'Crazy' Kingoms being defined as Kingdoms that are 'unbalanced'; they have too much of some things and none of other things. 'Fun' Kingdoms have a good mix of everything on offer: non-terminal Actions, extra buys and/or gains, attacks, a good cost distribution, etc.

If you own just the Base Set, this is basically a non-issue. The card pool is small enough that choosing a card that fits one criterion makes it significanly more likely that the other cards you choose will fit other criteria. You can't very well have a Kingdom with 10 splitters (villages) if there are only 3 splitters in your card pool (Village, Throne Room, Festival). Under these circumstances, I argue that a fancy randomizer is completely unnecessary. Sure, you'll get a Kingdom with no non-terminal Actions once in a great while, but they're rare enough to be a cool novelty rather than a big issue.

As the card pool grows, however, crazy Kingoms become more common when you use pure random. Adding a splitter no longer significantly reduces the chances of getting more splitters, etc. Now some might argue that this is as it should be. Players are likely to buy more expansions as they get more familiar with the game and crave more variety. As that happens, they may be more able to deal with 'crazier' Kingdoms. However, let's assume that this isn't the case. I'm sure there will be some players who love the Base Set so much that they'll buy the mega-pack and get everything all at once. So we'll take it as a given that it's still desirable to have fewer 'crazy' Kingdoms than full random provides.

So if the issue is that a larger card pool creates more crazy Kingdoms, here's my solution: reduce the size of the cardpool before choosing your Kingdom cards.

Doing this is simple. Just choose 2 or 3 expansions that you're going to use and then only choose cards from them. Specifically, here's how my homemade randomizer does it:

1. Add 'required' cards to the Kingdom (cards that the user has chosen to definitely be in the Kingdom).
2. Determine how many promo cards will be included in the Kingdom (using a hypergeometric distribution), choose that many promo cards randomly, and add them to the Kingdom.
3. Put tokens into a bag representing the expansions the user owns. There are 2 tokens for the Base Set and 1 token per sub-expansion the user owns. (So if the user owns all of Dark Ages, put three Dark Ages tokens in the bag).
4. Draw out X tokens randomly where X is the maximum number of expansions the user wants to use this game (usually 1, 2, or 3).
5. Until the Kingdom is full, round-robin between the tokens and randomly choose a card from the corresponding expansion. So if I have no required or promo cards in the Kingdom and I chose Seaside and Hinterlands tokens, I'd have 5 Seaside cards and 5 Hinterlands cards in the Kingdom.

I left out a few steps, such as not putting an expansion's tokens in the bag if the max # of expansions is 1 and you'd only have one token for that expansion. You usually don't want to play an all-Alchemy game, etc.

Here are some built-in features of this algorithm:

• It's less likely to create 'crazy' Kingdoms than full random from all cards.
• All cards appear with approximately equal likelyhood.
• You see the interactions between cards in the same expansion more often.
• Cards that work better in the context of their expansion will be duds less often (Scout, Contraband, etc.).
• It automatically abides by the 3-5 Alchemy cards suggestion without additional tweaking as long as the "maximum number of expansions" setting does not exceed 3.
• Your Colony games are more likely to have 3-5 Prosperity cards in them rather than 1 or 2, making Colonies easier to attain.
• It makes it very easy to say, "Give me a game with half (or all) cards from Expansion X." This should be handy for those who just bought a new pack of cards and want to try them out.
• It makes it very easy to say, "Don't give me any cards from Expansion X." This is nice for completionists that want to buy everything but don't always want to play Alchemy games.

I should explain those last two. The UI for my Kingdom generator looks like this:

(http://i413.photobucket.com/albums/pp212/Last_Footnote/KingdomGenerator_zps67d29775.png)

If a player disallows an expansion, the expansion's tokens don't get put in the bag. If they require an expansion, it automatically chooses ONE token from that expansion before filling the bag (the other tokens from the expansion go into the bag).

One quirk of this generator is that it can generate Kingdoms of all one expansion when you specify, say, a maximum of two expansions. I don't consider it an issue, but I could easily see that some might have a problem with it.

It's my understanding that when playtesting in real life, this is more or less how Donald and company would play; take cards from 2 or 3 expansions rather than from all of them. So the idea has certainly been thoroughly tested. In my opinion, it's a good compromise.

Do you have a day job?  I don't mean this as an insult, I'm just impressed you have the time to do all of this Dominion stuff without actually being paid to do it.
Title: Re: Announcing Dominion Set Generator
Post by: onigame on January 13, 2013, 06:25:58 pm
Seaside bottom 5:
Pirate Ship    237    23.7%    61.62%
Merchant Ship    219    21.9%    56.94%
Embargo    208    20.8%    54.08%
Sea Hag    190    19%    49.4%
Cutpurse    188    18.8%    48.88%
You seem to be aiming for maybe one attack card per set-of-10? But that's half what the expansions themselves have. So here's the Seaside bottom 5, with three attacks plus a "helper" (okay Embargo does not "help" much, but you know, it's non-attack interaction). The Hinterlands bottom 5 has two attacks, two helpers, and a VP card.

So, I think player interaction is being downweighted too much.

That's a reasonable inference from the data I shared, but it's a bit more complicated than that.  There's no special treatment for Attacks, but the generator tries to aim for 2 to 5 "Interactive" cards (Helpers and Attacks).  The problem with these five guys is not that they're Interactive, but because they have nothing else going for them besides being Interactive.  Ambassador, for example, is the 8th favorite card, because of it being a deck thinner in addition to being Interactive.  These guys are down here because, they don't do anything extra that the generator values (there's a tiny little boost for cards that give coins, but it's pretty small).

Look at Hinterlands, where Margrave is sitting happily at 4th place (he's got a +Buy and he's worth 5).  Probably it would go up more if I tried boosting the Interactive field more.

So maybe what's going on is that Pirate Ship and Embargo (and to some extent, Sea Hag) have a "playing with toys and evocative" fun factor that I'm not catching here.  That's a bit hard to quantify.  Or maybe I just need to boost the Coinage attribute.
Title: Re: Announcing Dominion Set Generator
Post by: onigame on January 13, 2013, 06:31:30 pm
OK. So you want your tool to be a magical wand, not a hammer. People should use it without having a clue how it works.

This is a completely wrong approach. It works for absolute beginners, but those people should be playing fixed, recommended sets anyway.

Going with this analogy, I want neither a magical wand nor a hammer.

I want my tool to be a "magical wand creator".  For beginners, here's a magical wand that my tool made, use it however you want.  For tinkerers, they twiddle with dials and stuff until they've made their favorite magical wand, then they use that.
Title: Re: Announcing Dominion Set Generator
Post by: Beyond Awesome on January 13, 2013, 06:35:21 pm
@onigames, I think the biggest problem with your set generator as far as UI is concerned as that the language you use is very confusing. I looked at it a couple of months ago and gave up because I had no idea what the words meant. Now, I know this can fixed. I think there is even a page here about commonly used Dominion terminology. For example, village is the term that you use for splitter (I believe). Using terminology that most people are familiar with would be super helpful. I know you were a playtester, but almost all of us here weren't playtesters, and as a result, we use different words but I do believe mean the same thing. No insult intended, but some of your words seem like a foreign language.
Title: Re: Announcing Dominion Set Generator
Post by: hsiale on January 13, 2013, 06:57:54 pm
I want my tool to be a "magical wand creator".  For beginners, here's a magical wand that my tool made, use it however you want.  For tinkerers, they twiddle with dials and stuff until they've made their favorite magical wand, then they use that.
Beginners can't use it however they want. They can choose to use it or not, and the choice is not theirs. They will do whatever you tell them, how do they know what to choose on their own? And this is what I'm most afraid of, the generator prefers engine heavy boards and those are not what people should start from. Learning Dominion should start from learning basics of Big Money and then being shown some boards with an easy (both to notice and to play) engine which can beat Big Money (and a few where it can't, with a good explanation why). Then a few other boards showing other basic Dominion strategies, deck types and card interactions. You don't need hundreds of boards for this, that's why set generator should not be made with beginners in mind. They should get handpicked sets and learn basics. Enough to be able to use set generator as a hammer (consciously choosing which nail to hit this time) and if confronted with a board too hard for them, knowing at least enough to understand why they were destroyed.

On the other hand, I don't want to move dials a lot and look for my favourite "magic wand" by trial and error. I prefer to be given a set of hammers and choose at first glance the one that suits me on a given day. And once I change my mind, I want to pick another one I'm happier with. Giving way to influence sets is good, but you should promote using variety of sets. If all players are encouraged to look for their comfort zone, there might be a problem of noone wanting to enter the zone of another player (and to play a game someone must join another player's table). Set generator settings should be something easily readable, so that when I click "Table Details" button in the game room, I see settings used here and can instantly decide if I'm in a mood for such game and join. That's why too many options is a bad things and you should look for simplicity while preserving as much of choice as possible.
Title: Re: Announcing Dominion Set Generator
Post by: WanderingWinder on January 13, 2013, 08:45:50 pm
Okay, maybe I'm stupid here, but... why is there a bonus for cards costing 5?
Title: Re: Announcing Dominion Set Generator
Post by: theory on January 13, 2013, 10:32:48 pm
I imagine because boards with no $5's tend to be really bad boards.
Title: Re: Announcing Dominion Set Generator
Post by: WanderingWinder on January 13, 2013, 11:14:18 pm
But isn't this mostly a function of there tending to not be the right kind of power, more than the actual cost of 5? I mean, isn't that 5 cost a proxy? Like, if there's counting houses and saboteurs and outposts, the board can still suck. But if there's fishing villages and smithies and goonses and grand markets or whatever, you can get a really nice board anyway. I would think that it's more about having the spots and the power level covered, which I would be wanting to check by other measures of strength if I were doing this kind of thing. And since onigame IS checking those other things, the 5-cost thing seems superfluous, like he is double counting.
Title: Re: Announcing Dominion Set Generator
Post by: ftl on January 14, 2013, 03:54:29 am
Honestly, I didn't know until yesterday that my generator was *sooo* dismissive towards KC.

See, and even if you fix that, it would still be worrisome. Because what if it's just as dismissive towards some pairs of cards, or towards some interactions, or strategies? You can't pick that out as easily as running numbers on card frequencies... but it'll have the same effect, or making games more "samey" than they need to be.

Maybe "Onigame's Casual Setup" would be a better short name.  It feels so vain though!

I'd even take out "casual" because I don't particularly see this a more "casual" than full-random...

Quote
Absolutely.  I knew this.  My cognitive dissonance isn't because I didn't know why this thread is suddenly so popular; it's because I can't tell whether the events of the last three days was a good thing or a bad thing.

On some level, it's a bad thing because I did stuff that made people unhappy.  But on some level, it's a good thing because I'm actually getting some very good opinions from people on this thread and I feel that both my generator and Goko's eventual implementation of Kingdom selecting will be much improved because of it (but who knows, that might just be unrealistically optimistic on my part).  So maybe a couple of days of unhappiness was worth it.  I guess time will tell.

You could have had basically a similar good effect with much less bad effect by announcing "this generator will be the default for casual games. Please try it out" instead of just implementing it first, making it the default by surprise, and asking questions later...

Quote
This is an absolutely beautiful point, and I'm glad you made it, because it's definitely a game-changer in forming how I think about players and what my goals are in trying to design a good interface for Goko.

Unfortunately I'll need some time before I can articulate my new thoughts fully on this... Other projects beckon and I won't have a free weekend for a while.

A good start when finding out what players want would probably be, well to ask them. Put out a survey (to your target audience, I guess not to us ;)) , or maybe get goko to add a "like/dislike this kingdom" button and data-mine the results of that. I suspect that would be a much better starting point for designing something that casual players want, rather than trying to come up with something super-complicated on your own based on what your hunches are as to what people would find fun.

"Making it the default" should be the *last* step in designing something, not the first one! ;)

Oh, just a random comment, about a board that I thought was cool precisely *because* it violated the balance your algorithm wants; it's from an IRL game a few weeks ago, but it's still in my mind, so it must have been memorable. I remember it had Steward, Familiar, Procession, Fortress, Trading Post, Expand, and no other $5-cost cards and no +Buy and nothing besides Steward that drew more than 1 card. It's a pretty unbalanced board. There's the Procession-Fortress combo, but nothing costing $5 worth getting lots of copies of... except it didn't matter, because the Expand just wanted $5-cost fuel to turn into Provinces, didn't matter what it was. So it was a game where I gained like 5-6 trading posts, mostly because they were the only thing costing $5, and I thought that was pretty cool because it's not often that you want that many Trading Posts!

That's a game where the magic would have been killed by trying to make the board balanced. With your algorithm, it would have been heavily weighted to have something like a $5-cost card which gives +Buy and card draw and has interaction... so maybe Margrave or Council Room something? But man, that would turn the kingdom into a standard engine board with Prcssn/Frtrss to gain those. It's fun to use cards in strange ways! I don't think that's something which only "pros" find fun!
Title: Re: Announcing Dominion Set Generator
Post by: Donald X. on January 14, 2013, 04:46:04 am
It's my understanding that when playtesting in real life, this is more or less how Donald and company would play; take cards from 2 or 3 expansions rather than from all of them. So the idea has certainly been thoroughly tested. In my opinion, it's a good compromise.
Most of my testing IRL has in fact been, 5 cards from expansion A, 5 from expansion B, otherwise random. For the next game I would rotate out 2 of each rather than replace all ten. I have also done a fair amount of 10 cards from one expansion.

Online testing has mostly been, force 3-5 cards from current expansion, the rest random. Some testing of course has involved, we have to play with a particular card this game to test it.

Anyway I can say that 5 cards from each of two expansions is a fine way to play Dominion.
Title: Re: Announcing Dominion Set Generator
Post by: Donald X. on January 14, 2013, 04:49:40 am
OK. So you want your tool to be a magical wand, not a hammer. People should use it without having a clue how it works.
I think a magic wand will be better for most players, beginners or not. It's not that it should be uh non-clue-giving; it should be clearly titled, "Engine-heavy" or "Wacky" or whatever it is. A mass of options is no good, it's for computer programmers. A small number of big toggles is fine, or just, picking a selection algorithm from a list. It's fine if the mass of options is hidden away somewhere but man I do not think the average player is messing with it. They are here to play Dominion, not to learn what "splitter" means and then consider how many of those they want.
Title: Re: Announcing Dominion Set Generator
Post by: Donald X. on January 14, 2013, 04:55:01 am
Look at Hinterlands, where Margrave is sitting happily at 4th place (he's got a +Buy and he's worth 5).  Probably it would go up more if I tried boosting the Interactive field more.
But this just makes me think, it picks Margrave because Margrave has more going on, what with the card-drawing and +buy, and then that makes it less likely to pick the other attacks because the set of 10 has an attack already, it has Margrave. The presence of an attack that fits multiple slots lowers the frequency of all the other attacks. This in turn makes your player interaction tend to come from the same cards over multiple games, when it's more fun to mix that up.

So maybe what's going on is that Pirate Ship and Embargo (and to some extent, Sea Hag) have a "playing with toys and evocative" fun factor that I'm not catching here.  That's a bit hard to quantify.  Or maybe I just need to boost the Coinage attribute.
I think it's okay that say Pirate Ship fills no slots other than attacking and making coins. That doesn't make it a bad card to include in sets of 10. It remains an important card because it provides interaction, and for sure it's best if the interaction varies, if it's not a ton of Ghost Ship and Ambassador games and not many Pirate Ship or Sea Hag ones.
Title: Re: Announcing Dominion Set Generator
Post by: Donald X. on January 14, 2013, 05:35:47 am
Okay, maybe I'm stupid here, but... why is there a bonus for cards costing 5?
I imagine this comes directly from me, saying, $5's are important (it goes further: $5's that you can load up on are even better, and you will notice an emphasis on them in the later sets).

While power level may not correspond directly to cost, it tends to at the high end, and at $6 you have Gold. If there are good $5's then I can buy them at $5, and consider buying them over Gold at $6. If there are no $5's then I am buying Silver and Gold more often and my deck is more boring. If I am a good player I don't want to be punished for drawing $5, even though I'm good enough to know when I should buy a $2 instead, and if I'm not a good player I feel really punished when I draw $5 and there isn't one, even vs. the case where the $5 is Counting House. If I am a good player I may really enjoy buying a $2 when I have $11, and so on, but the presence of a $5 on the table if anything increases that joy rather than reduces it - look, I could have had a Lab, but I bought a Pawn.

Now there might be $4's that are strong enough to compete with $5's, such that for some players it would make sense to include them in the "$5's" category. They never do the job of costing $5 though.

I did not realize the important of $5's initially; the main set emphasizes $4's, on the grounds that none of the basic cards cost $4, as if Duchy is doing something for $5. These days I am all about the $5's. I don't feel like players feel so screwed drawing $4 in a game with no $4's; they get used to paying $4 for Silver. A $2 makes you feel less screwed getting $2/$5 or when you're choking on Curses or what have you; if I had to pick two costs to include on kingdom cards in a set-of-10, I'd pick $2 second.

One of the Dark Ages recommended sets has no $5's, because it seemed like, hey, here's something you don't see every day. And I've told the story of a game Bill won with a deck that at one point was all $2's (there were $5's in that game, but some of them trashed your cards costing $3-$6). Those rare situations are good, but they should remain rare. I don't know the odds of a game having no $5's using random all sets these days, but you know, it's intentionally not too common.
Title: Re: Announcing Dominion Set Generator
Post by: DStu on January 14, 2013, 06:18:57 am
Now there might be $4's that are strong enough to compete with $5's, such that for some players it would make sense to include them in the "$5's" category. They never do the job of costing $5 though.

I have done no statistics on that, but my feeling is also that there are not that many $4s that you really want to load up with.  Of course there are lots of Villages+, but these you either need for your deck, because you have an +action/+draw engine or want 1 or two villages to add to your cantrip engine. In which you don't load up with them in the sense of "they might always be a nice thing you can add to your deck over Silver/Gold", but they just are the topic of the strategic decission you have taken anyway.  In other types of deck, you don't want them at all.
Next to them, there is what? Spy (yeah), Tournament is probably the best one here but already has some drawbacks if you get to many of them, Conspirators needs their own special deck.  That's what I can think of, going to the wiki to find more .... ok Caravan might fit, Ironmonger looks like a candiate, and that's it.

In contrast, there are 3 Lab-variants at $5, Bazaar, Market, Treasury which easily win over Silver in most decks and sometimes over Gold.  Already more than I named at $4, and that's before I even started thinking...
Title: Re: Announcing Dominion Set Generator
Post by: hsiale on January 14, 2013, 07:38:35 am
I think a magic wand will be better for most players, beginners or not. It's not that it should be uh non-clue-giving; it should be clearly titled
I agree. And once it is clearly titled, it becomes a hammer. I don't want to easily understand how did someone make this hammer. I just want to know how it will work when I take it. So there are 5-8 various hammers to choose from (not 500, given 500 hammers I would just stare at them and not do any work). Which is extremally important especially when those generators will be used for casual play - I look at the table, see which generator was used and can instantly decide if I want to play this game, without having to spend time on analyzing the whole set.
Title: Re: Announcing Dominion Set Generator
Post by: onigame on January 14, 2013, 01:34:22 pm
Which is extremally important especially when those generators will be used for casual play - I look at the table, see which generator was used and can instantly decide if I want to play this game, without having to spend time on analyzing the whole set.

Well, what I had in mind is that while you do get the see what generator was used, in casual play the table generation should try to occur before you decide if you want to play the game.  This not only mimics real life but is what isotropic does:  Here's the kingdom you're going to play with, do you want to play it?

And if you can see the kingdom, it is really that important which generator was used to make it?  (My generator, unlike any other custom generator out there that I've seen, is completely probabilistic and so it is theoretically possible that every set will be generated by it.)
Title: Re: Announcing Dominion Set Generator
Post by: LastFootnote on January 14, 2013, 01:39:09 pm
Which is extremally important especially when those generators will be used for casual play - I look at the table, see which generator was used and can instantly decide if I want to play this game, without having to spend time on analyzing the whole set.

Well, what I had in mind is that while you do get the see what generator was used, in casual play the table generation should try to occur before you decide if you want to play the game.  This not only mimics real life but is what isotropic does:  Here's the kingdom you're going to play with, do you want to play it?

And if you can see the kingdom, it is really that important which generator was used to make it?  (My generator, unlike any other custom generator out there that I've seen, is completely probabilistic and so it is theoretically possible that every set will be generated by it.)

While technically true, this is a pretty meaningless statement. Here's my new random algorithm: Generate a random number between 1 and 10000000. If the number is 17, pull random cards from all owned cards. Otherwise, use the recommended First Set kingdom from the base game.

All Kingdoms are technically possible! Woo-hoo!
Title: Re: Announcing Dominion Set Generator
Post by: WanderingWinder on January 14, 2013, 02:05:14 pm
Which is extremally important especially when those generators will be used for casual play - I look at the table, see which generator was used and can instantly decide if I want to play this game, without having to spend time on analyzing the whole set.

Well, what I had in mind is that while you do get the see what generator was used, in casual play the table generation should try to occur before you decide if you want to play the game.  This not only mimics real life but is what isotropic does:  Here's the kingdom you're going to play with, do you want to play it?

And if you can see the kingdom, it is really that important which generator was used to make it?  (My generator, unlike any other custom generator out there that I've seen, is completely probabilistic and so it is theoretically possible that every set will be generated by it.)
How many custom generators are out there that you've seen that don't fit this description? How widely used are they?
Title: Re: Announcing Dominion Set Generator
Post by: hsiale on January 14, 2013, 02:11:16 pm
Well, what I had in mind is that while you do get the see what generator was used, in casual play the table generation should try to occur before you decide if you want to play the game.  This not only mimics real life but is what isotropic does:  Here's the kingdom you're going to play with, do you want to play it?
Of course the set can, and probably should, be generated before the game. But still I prefer to base my decision if I want to join on what generator was used - just because there will be just a few of them so I can look and instantly decide. Analyzing the kingdom itself takes way more time and for more casual players is completely impossible (because they don't know all the cards by heart).
Title: Re: Announcing Dominion Set Generator
Post by: onigame on January 14, 2013, 02:13:17 pm
You could have had basically a similar good effect with much less bad effect by announcing "this generator will be the default for casual games. Please try it out" instead of just implementing it first, making it the default by surprise, and asking questions later...

A good start when finding out what players want would probably be, well to ask them. Put out a survey (to your target audience, I guess not to us ;)) , or maybe get goko to add a "like/dislike this kingdom" button and data-mine the results of that. I suspect that would be a much better starting point for designing something that casual players want, rather than trying to come up with something super-complicated on your own based on what your hunches are as to what people would find fun.

"Making it the default" should be the *last* step in designing something, not the first one! ;)

While I completely agree with the overall gist of what you're saying, I think you may be making assumptions that doing things the "right" way is easy.  Addressing these assumptions:

* Making my generator the default for casual games on the live Goko site was just an error in judgment that I didn't catch in time.  If I had been consulted on it, I would have been more cautious -- "Let's try it on alpha first, make sure there aren't any bugs, then let's try it on beta and see what our beta users think."  The problem is there's a common (not everywhere, but common) mentality that wants to pushing out new features as fast as possible.   Some of it is due to investor pressure (not me), and some of it is due to (perceived) community pressure.  (Think about it, if your pool of customers is a pool of disgruntled opinionated fans that say "You won't see a dime of my money unless you do X!", you're going to feel that pressure too.)  Had I been more prescient, I would have more explicitly said, "Hey dudes, I know that you feel it's important to get Alchemy running and the iOS standalone app working, but my set generator is not in the same category as that.  I really want to push it out more slowly and get some user feedback."

* This is an offshoot of the aforementioned problem, which is that Goko's Customer Support / User Feedback / QA / Testing, which really should be a team of people considering the rate at which features are getting pushed out, is currently being handled by 1.5 people (one full-timer and one part-timer).  So while yes, it would be nice to have regular user surveys and more feedback UI, it's not something the company has manpower for right now.  I've been coming to the office part-time for the last month and have been doing a lot more QA / Testing than I was expecting to do.  (Feel free to thank me when Alchemy comes out and the rules are correctly implemented when you have Alchemists, Herbalists, Schemes, Hermits, and Outposts in play.  [EDIT: Except that my proposal isn't implemented yet on Alpha, so it's entirely possible that things will still be broken when they release it.  :P ] )

* Putting out a survey to your existing users is tricky.  Putting out a survey to your target audience is *hard*.

* Yes, "like / dislike this kingdom" is important.  I proposed it last month, and it's still in the massive UI re-design proposal that I'm writing.  This is a more general programming thing instead of being Goko-specific: coming up with ideas is easy.  Programming them takes effort.  One of the reasons my set generator went through so quickly is because I provided Goko an actual API:  "Here's my code, here's a sample program that calls it."  Putting aside the question of whether it was the right thing to do, it was technically easy to replace the existing set generator with a call to my code.  Adding a "like / dislike this kingdom" thing, though, would require adding a system for storing that feedback, getting a graphic artist to design what the buttons look like, and so on.
Title: Re: Announcing Dominion Set Generator
Post by: onigame on January 14, 2013, 02:27:18 pm
And if you can see the kingdom, it is really that important which generator was used to make it?  (My generator, unlike any other custom generator out there that I've seen, is completely probabilistic and so it is theoretically possible that every set will be generated by it.)
How many custom generators are out there that you've seen that don't fit this description? How widely used are they?

I will answer the questions you asked, instead of trying to guess at what point you were trying to make (it's not clear to me).

All of them (I think I've seen probably around the neighborhood of 6-10?).  Every custom generator out there usually has some flag such as "have at least 9 Treasure cards" or "have at most 2 cards from Prosperity" or something like that.  My generator doesn't let you do that.  You can say "I'd like to have at most 2 cards from Prosperity", but if you have other likes and dislikes that make it impossible to have at most 2 cards from Prosperity (maybe you also said "I'd like to have at least 9 Treasure cards"), the generator will try to do its best to compromise between your preferences.  You can also indicate how strong your individual preferences are.  You can say "At Least 9 Treasure cards" is more important than "At most 2 cards from Prosperity", or vice versa.

I really enjoy the flexibility of this approach (I do want to see the occasional screwy set, just less frequently than the pure random generator makes them), but I have definitely realized that it is a pain to explain it.  In my experience, most people really like having absolutes when they're in control.  (But as the Bandit Camp example shows, people really hate even near-absolutes when they're not in control.)

I don't have statistics on how widely used other generators are.
Title: Re: Announcing Dominion Set Generator
Post by: WanderingWinder on January 14, 2013, 02:32:40 pm
And if you can see the kingdom, it is really that important which generator was used to make it?  (My generator, unlike any other custom generator out there that I've seen, is completely probabilistic and so it is theoretically possible that every set will be generated by it.)
How many custom generators are out there that you've seen that don't fit this description? How widely used are they?

I will answer the questions you asked, instead of trying to guess at what point you were trying to make (it's not clear to me).

All of them (I think I've seen probably around the neighborhood of 6-10?).  Every custom generator out there usually has some flag such as "have at least 9 Treasure cards" or "have at most 2 cards from Prosperity" or something like that.  My generator doesn't let you do that.  You can say "I'd like to have at most 2 cards from Prosperity", but if you have other likes and dislikes that make it impossible to have at most 2 cards from Prosperity (maybe you also said "I'd like to have at least 9 Treasure cards"), the generator will try to do its best to compromise between your preferences.  You can also indicate how strong your individual preferences are.  You can say "At Least 9 Treasure cards" is more important than "At most 2 cards from Prosperity", or vice versa.

I really enjoy the flexibility of this approach (I do want to see the occasional screwy set, just less frequently than the pure random generator makes them), but I have definitely realized that it is a pain to explain it.  In my experience, most people really like having absolutes when they're in control.  (But as the Bandit Camp example shows, people really hate even near-absolutes when they're not in control.)

I don't have statistics on how widely used other generators are.
I wasn't trying to make a point. It's just, I think I've only seen like 1 other generator that wasn't just a pure-random or pure-random-from-these-sets-which-I-own. So when you made your comparison, I was like 'man, is that a thing?' I was just curious.



Having said that, are you advocating that your generator is better here because it doesn't LET you have options like 'including at least X cards with attribute Y'? Or are you saying that the other ones FORCE you to have something like that? Because I would think the option to do that is good - more options is always good - but forcing you to have some flag like that would be really weird.
Title: Re: Announcing Dominion Set Generator
Post by: LastFootnote on January 14, 2013, 02:37:49 pm
Onigame, please answer me this question: why are you convinced this convoluted algorithm is necessary, especially for casual players? Have you played Dominion with new players a bunch of times using full random and had them complain that too many kingdoms weren't fun? Because I've never had that happen.

If you want it so that new players can get the hang of the game with some good kingdoms, Adventure mode already takes care of that. Hell, the fact that they can only play with the Base Set takes care of that. I've said it before: Dominion has become very popular without your fancy algorithm that reduces variety.

Why are you so convinced that there is a problem and that an algorithm of your design is the solution? You yourself have said that there are a bunch of other things you'd like to be working on. Why is this such a high priority? Every time you post, it seems like you're operating under the assumption that this randomizer is necessary for Goko. Why? Why can't you just tell them, "Hey, turns out this was a bad idea. Nevermind"?

Again, the reason I'm so vehemently against your algorithm is that it only serves to reduce variety. In my eyes, Dominion's main draw for new players is that variety. I'm guessing your algorithm is more likely to make the experience of playing several games less fun for new players, rather than more.
Title: Re: Announcing Dominion Set Generator
Post by: onigame on January 14, 2013, 02:41:44 pm
So if the issue is that a larger card pool creates more crazy Kingdoms, here's my solution: reduce the size of the cardpool before choosing your Kingdom cards.

Doing this is simple. Just choose 2 or 3 expansions that you're going to use and then only choose cards from them. Specifically, here's how my homemade randomizer does it:

Your homemade randomizer is pretty close to how I randomized games when using real randomizer cards.
I certainly fully support having this as an option for Goko, assuming that you don't feel that you have some sort of ownership over the basic concept.

As an independent question, would you have any objections if I replicated your generator's behavior in my set generator?  Not as the "default" settings, but effectively a separate generation option.
Title: Re: Announcing Dominion Set Generator
Post by: GendoIkari on January 14, 2013, 03:02:21 pm
Mm, that checkbox is supposed to be invisible... care to tell me what browser you're using?

If you don't want that check box to be there, you really should either completely delete it from the published version, or make a change on the server-side to not render it in the first place. Just using attributes to hide it allows users to easily switch it back to visible. I just tried it out and the checkbox is still fully functional.
Title: Re: Announcing Dominion Set Generator
Post by: LastFootnote on January 14, 2013, 03:07:44 pm
Your homemade randomizer is pretty close to how I randomized games when using real randomizer cards.
I certainly fully support having this as an option for Goko, assuming that you don't feel that you have some sort of ownership over the basic concept.

No, I certainly have no such feeling of ownership.

Quote
As an independent question, would you have any objections if I replicated your generator's behavior in my set generator?  Not as the "default" settings, but effectively a separate generation option.

I was actually considering doing that myself. It may be faster since I'm already familiar with coding the algorithm and the various necessary quirks to take care of edge cases. I'm much more familiar with HTML and JavaScript than I was two years ago when I coded my Java app, or chances are I would have made it HTML in the first place.
Title: Re: Announcing Dominion Set Generator
Post by: onigame on January 14, 2013, 03:38:36 pm
Onigame, please answer me this question: why are you convinced this convoluted algorithm is necessary, especially for casual players? Have you played Dominion with new players a bunch of times using full random and had them complain that too many kingdoms weren't fun? Because I've never had that happen.

Your actual question is loaded -- it's confusing "new players" with "casual players".

Currently, I refuse to play full random with new players.  I pretty much hated the game after my first five plays or so, and that was just full random with base set.  After I grew to like the game, I initially would play full random with new players, and I noticed a similar reaction.  I have played probably around 3 games with players for whom they had played the game once with experienced players on full random, and felt that they just "didn't get the game" and weren't interested in playing it again.  I convinced them to give it another chance, but with the First Game Starting Kingdom, and generally their feelings towards the game improved.

Casual players I define differently.  Even though I've probably played the game a few hundred
times by now, I consider myself a casual player (although I'm definitely on the edge).  The line that I draw is this: A serious player is looking to better themselves at the game and is willing to spend time improving their skills.  A casual player wants a few dozen minutes of entertainment.  The fun in Dominion, for casual players, is not about learning cute-but-rare interactions, or about making strategic decisions that increase your chances of winning by 1% at a time, but about playing the common interactions that most players who are no longer "new" know about.

I remember a discussion I had, not soon after Intrigue came out, in one of my regular gaming groups.  Some players wanted to veto Saboteur and Torturer, on the grounds that games with them aren't very fun.  David desJardins said something along the lines of, "Why aren't they fun?  The purpose of the game is to win, why does it matter whether the winning score is 30 or 2?"  That was probably the starting point of me noticing this divide.

I think it is likely that casual players are the "silent majority" of Dominion players.  I would say that every single employee here at Goko is a casual player, which is why sometimes have to fight pretty hard about getting card interactions to actually work correctly.  I bet if you put a poll within Goko, asking the question, "Is it important that when-buy and when-gain work correctly?", the votes for "Not really, but we should do it because the fan base wants it" would outnumber the votes for "Yes, because it's the right thing to do."

There was a period in my life when I played on isotropic regularly, maybe about 3 games a day.  At some point I realized that I wasn't enjoying the overall experience.  I hated getting crushed by high-rated players because I didn't want to invest the time into bettering myself.  I kind-of enjoyed crushing lower-rated players but I couldn't get the full enjoyment because I knew there was another human on the other side that was losing.  I hated going through "crazy" kingdoms. 

Now on Goko, I get a much happier play experience.  I play lots of bots and I don't have to feel bad about crushing them.  I still suffer through the "crazy" kingdoms, but now that I actually got off my ass and wrote a generator that decreases them I play them much less.

I really don't feel that my play desires are that uncommon.  I play in a local pinball league; few of the other players there spend time doing card games or board games.  I know of at least three people there who play Androminion on their phone, against a bot.  I've asked them if they would rather play on isotropic, and they say "no, I tried isotropic and all the players there are too good."

Quote
If you want it so that new players can get the hang of the game with some good kingdoms, Adventure mode already takes care of that. Hell, the fact that they can only play with the Base Set takes care of that. I've said it before: Dominion has become very popular without your fancy algorithm that reduces variety.

I'm not denying that it's become very popular without my fancy algorithm.  But if you're trying to make an argument that giving people the option of my fancy algorithm is going to decrease its popularity, it's going to require more than that assertion to convince me.  Dominion is a popular game, but I want to see it reach the popularity of Farmville.

Quote
Why are you so convinced that there is a problem and that an algorithm of your design is the solution? You yourself have said that there are a bunch of other things you'd like to be working on. Why is this such a high priority? Every time you post, it seems like you're operating under the assumption that this randomizer is necessary for Goko. Why? Why can't you just tell them, "Hey, turns out this was a bad idea. Nevermind"?

I can tell them that, but I won't tell them that because I don't believe it.  I do want to get user feedback into the next re-design, so that if it is a bad idea, I can find out.  Then I will tell them that.

Quote
Again, the reason I'm so vehemently against your algorithm is that it only serves to reduce variety. In my eyes, Dominion's main draw for new players is that variety. I'm guessing your algorithm is more likely to make the experience of playing several games less fun for new players, rather than more.

Right, this is a fundamental disagreement between our philosophies.  I believe that Dominion's main draw for players is a certain level of manageable variety, but then any additional variety added on top of that is lost on most players.  I bet the most popular game on Windows right now is Solitaire.  People don't play that because they want variety, they play that game because they know the rules already and it's a fun way to waste some time.  (Did you know Windows Solitaire has six different ways you can play it?  I believe most people don't because they're not looking for variety.)  I want to try to get Dominion into that niche.

(My favorite game, Race for the Galaxy, by the way, totally has more variety than Dominion.  I think one big reason Dominion is more popular than RftG because Dominion has less variety.)
Title: Re: Announcing Dominion Set Generator
Post by: onigame on January 14, 2013, 03:44:21 pm
confusing "new players" with "casual players".

One thing I forgot to mention -- I had this similar confusion as of, oh, 24 hours ago.  It was one of WanderingWinder's posts on this thread that made me realize that I was mixing the two groups.  The "experience" axis is independent from the "casual-serious" axis -- you can have new players who are serious about learning the game and doing well, just you like can have new players who want a laid-back casual experience.  The two axes are correlated but not absolutely so.  I happen to be the somewhat rarer example of someone who is high on the "experience" axis but on the low end of the "casual-serious" axis.

So thank you, WanderingWinder, for that piece of enlightenment.
Title: Re: Announcing Dominion Set Generator
Post by: onigame on January 14, 2013, 03:47:19 pm
Mm, that checkbox is supposed to be invisible... care to tell me what browser you're using?

If you don't want that check box to be there, you really should either completely delete it from the published version, or make a change on the server-side to not render it in the first place. Just using attributes to hide it allows users to easily switch it back to visible. I just tried it out and the checkbox is still fully functional.

I don't want it there, but it's not important enough to me to prioritize it over other more interesting features I want to add.  I don't mind if people manage to generate some sets with Guilds in them by hacking my generator -- the important data, such as what the names of the cards are and what they do, aren't on the server.
Title: Re: Announcing Dominion Set Generator
Post by: GendoIkari on January 14, 2013, 03:50:06 pm
Mm, that checkbox is supposed to be invisible... care to tell me what browser you're using?

If you don't want that check box to be there, you really should either completely delete it from the published version, or make a change on the server-side to not render it in the first place. Just using attributes to hide it allows users to easily switch it back to visible. I just tried it out and the checkbox is still fully functional.

I don't want it there, but it's not important enough to me to prioritize it over other more interesting features I want to add.  I don't mind if people manage to generate some sets with Guilds in them by hacking my generator -- the important data, such as what the names of the cards are and what they do, aren't on the server.

I'll assume you're telling the truth, and stop wasting my time trying to get the program to show me the real names of the cards then!
Title: Re: Announcing Dominion Set Generator
Post by: onigame on January 14, 2013, 03:51:38 pm
Quote
As an independent question, would you have any objections if I replicated your generator's behavior in my set generator?  Not as the "default" settings, but effectively a separate generation option.

I was actually considering doing that myself. It may be faster since I'm already familiar with coding the algorithm and the various necessary quirks to take care of edge cases. I'm much more familiar with HTML and JavaScript than I was two years ago when I coded my Java app, or chances are I would have made it HTML in the first place.

That was not an answer to my actual question.  :)  May I have your approval, please?

Independently, if you would like to write your code in Javascript, provide an API with examples, and allow them to use it for free, I would be very enthusiastic to convince Goko to put your generator in as an option.

A longer-range plan would be for Goko to provide an API that would allow any programmer to use their own generator when making kingdoms.  I will put that in as a stretch goal.
Title: Re: Announcing Dominion Set Generator
Post by: hsiale on January 14, 2013, 04:00:07 pm
Dominion is a popular game, but I want to see it reach the popularity of Farmville.
If you achieve this, great for everyone (Goko has good income and big crowd of casual players means big pool to recruit serious players making the experience of high level playing more enjoyable). But before you go this way, you really, really need to improve your rulebook. You don't make manuals for online games the way Goko has it done now. This is way more important than set generators and I think you should do this soon (as I've heard facebook launch is under preparation and if it's done with current manual it will fail even if all other problems in the game are fixed).
Title: Re: Announcing Dominion Set Generator
Post by: LastFootnote on January 14, 2013, 04:11:32 pm
That was not an answer to my actual question.  :)  May I have your approval, please?

Independently, if you would like to write your code in Javascript, provide an API with examples, and allow them to use it for free, I would be very enthusiastic to convince Goko to put your generator in as an option.

Let me rephrase. I don't have a webserver. I would be happy to have you host my algorithm and to provide it to Goko for free. Ideally, I'd like to take a crack at writing it myself, using your generator and your API as a starting point and hosting it on your server, both for my convenience and Goko's. I assume our generators can have an identical output format, for instance, and I believe your card data in dominionSetGeneratorData.js is sufficient for my needs. If this is acceptable, perhaps we can discuss the specifics through email.

Quote
A longer-range plan would be for Goko to provide an API that would allow any programmer to use their own generator when making kingdoms.  I will put that in as a stretch goal.

I had this idea as well. It would be neat, but I wouldn't blame Goko for putting it at the bottom of the priority list.
Title: Re: Announcing Dominion Set Generator
Post by: ftl on January 14, 2013, 04:27:41 pm
"no, I tried isotropic and all the players there are too good."

That's not just casual players - playing mismatched games is no fun no matter what your skill level is.

Which is why I think good matchmaking is important! For both casual and serious and experienced and inexperienced players, you want to match up with people roughly the same level as you are. I don't think that's unique to casual players.
Title: Re: Announcing Dominion Set Generator
Post by: LastFootnote on January 14, 2013, 04:36:29 pm
Currently, I refuse to play full random with new players.  I pretty much hated the game after my first five plays or so, and that was just full random with base set.  After I grew to like the game, I initially would play full random with new players, and I noticed a similar reaction.  I have played probably around 3 games with players for whom they had played the game once with experienced players on full random, and felt that they just "didn't get the game" and weren't interested in playing it again.  I convinced them to give it another chance, but with the First Game Starting Kingdom, and generally their feelings towards the game improved.

This may be why I never had this experience. I always start new players with the First Game setup. I'm not surprised that new players thrown into the deep end would have a negative reaction.

Quote
Casual players I define differently.  Even though I've probably played the game a few hundred
times by now, I consider myself a casual player (although I'm definitely on the edge).  The line that I draw is this: A serious player is looking to better themselves at the game and is willing to spend time improving their skills.  A casual player wants a few dozen minutes of entertainment.  The fun in Dominion, for casual players, is not about learning cute-but-rare interactions, or about making strategic decisions that increase your chances of winning by 1% at a time, but about playing the common interactions that most players who are no longer "new" know about.

I remember a discussion I had, not soon after Intrigue came out, in one of my regular gaming groups.  Some players wanted to veto Saboteur and Torturer, on the grounds that games with them aren't very fun.  David desJardins said something along the lines of, "Why aren't they fun?  The purpose of the game is to win, why does it matter whether the winning score is 30 or 2?"  That was probably the starting point of me noticing this divide.

I think it is likely that casual players are the "silent majority" of Dominion players.  I would say that every single employee here at Goko is a casual player, which is why sometimes have to fight pretty hard about getting card interactions to actually work correctly.  I bet if you put a poll within Goko, asking the question, "Is it important that when-buy and when-gain work correctly?", the votes for "Not really, but we should do it because the fan base wants it" would outnumber the votes for "Yes, because it's the right thing to do."

This is all very reasonable, but I'm not convinced your algorithm addresses these issues. If people think games with Attacks are not fun (and I know a few such people), how does your little-bit-of-everything randomizer help that? A card veto list is certainly desirable for casual games. I won't argue that point.

Quote
There was a period in my life when I played on isotropic regularly, maybe about 3 games a day.  At some point I realized that I wasn't enjoying the overall experience.  I hated getting crushed by high-rated players because I didn't want to invest the time into bettering myself.  I kind-of enjoyed crushing lower-rated players but I couldn't get the full enjoyment because I knew there was another human on the other side that was losing.  I hated going through "crazy" kingdoms. 

Now on Goko, I get a much happier play experience.  I play lots of bots and I don't have to feel bad about crushing them.  I still suffer through the "crazy" kingdoms, but now that I actually got off my ass and wrote a generator that decreases them I play them much less.

I really don't feel that my play desires are that uncommon.  I play in a local pinball league; few of the other players there spend time doing card games or board games.  I know of at least three people there who play Androminion on their phone, against a bot.  I've asked them if they would rather play on isotropic, and they say "no, I tried isotropic and all the players there are too good."

Sounds like your bad experiences and those of your friends have a lot more to do with your opponents than with the Kingdoms you played. I agree that Goko needs a good ranking system and a good matching system based on it, but that's a separate issue (and one that deserves a higher priority). This is a problem for any game. I wouldn't want to play chess against a grandmaster other than to say I've done it. Here you only mention crazy kingdoms as a brief aside.

Quote
Quote
If you want it so that new players can get the hang of the game with some good kingdoms, Adventure mode already takes care of that. Hell, the fact that they can only play with the Base Set takes care of that. I've said it before: Dominion has become very popular without your fancy algorithm that reduces variety.

I'm not denying that it's become very popular without my fancy algorithm.  But if you're trying to make an argument that giving people the option of my fancy algorithm is going to decrease its popularity, it's going to require more than that assertion to convince me.  Dominion is a popular game, but I want to see it reach the popularity of Farmville.

Giving them the option is fine as long as:

A) Your algorithm actually provides something that people want.
B) It's not the default.

Yeah, you say you want there not to be a default, but in a UI there is ALWAYS a default. You say you want to make it so a player has to choose which randomizer to use before each game. I ask you, "Which option is the top one?" Because that's the default. That's what new players are going to try first. As long as your algorithm isn't the default (the top option) and has a descriptive name, I'm fine with it being available.

I admit that I'm wrestling to come up with a good name for kingdoms produced by your algorithm. I guess "Balanced Game" might be OK once you've evened out the card biases a little more.

Quote
I believe that Dominion's main draw for players is a certain level of manageable variety, but then any additional variety added on top of that is lost on most players.  I bet the most popular game on Windows right now is Solitaire.  People don't play that because they want variety, they play that game because they know the rules already and it's a fun way to waste some time.  (Did you know Windows Solitaire has six different ways you can play it?  I believe most people don't because they're not looking for variety.)  I want to try to get Dominion into that niche.

The people who don't want variety won't buy more sets, which only serve to increase variety. Those people provide revenue through ads rather than Gokoins. If they don't want variety, they can play the recommended sets of 10 and the Adventures over and over. Nothing wrong with that.
Title: Re: Announcing Dominion Set Generator
Post by: onigame on January 14, 2013, 04:47:19 pm
That's not just casual players - playing mismatched games is no fun no matter what your skill level is.

Which is why I think good matchmaking is important! For both casual and serious and experienced and inexperienced players, you want to match up with people roughly the same level as you are. I don't think that's unique to casual players.

Actually, I enjoy games when playing against people who are ranked much lower than I am.  I am a bit ashamed to admit that it's probably even true that I enjoy them more than playing against people roughly the same level as I am.  When I turn on a game of Civilization (the computer game) I set all the AIs on easy and stomp all over the map.  It's because I don't derive enjoyment from being a better player or from beating a close challenge.  I derive enjoyment from the comfort of exploring a system I know.

I do suspect that serious players are very unlikely to feel this way.  If you're a serious player you want a real challenge and you want to get better at the game, and playing against a significantly weaker player doesn't help.  Also, inexperienced players don't get this option, because there aren't any weaker players around.  So it tends to require the combo of experience and casualness.
Title: Re: Announcing Dominion Set Generator
Post by: onigame on January 14, 2013, 05:05:35 pm
Yeah, you say you want there not to be a default, but in a UI there is ALWAYS a default. You say you want to make it so a player has to choose which randomizer to use before each game. I ask you, "Which option is the top one?" Because that's the default. That's what new players are going to try first. As long as your algorithm isn't the default (the top option) and has a descriptive name, I'm fine with it being available.

Well, how about this as a proposal: Initially the pure unbiased randomizer will be listed as the top one.  We implement a rating/approval system for kingdoms that players can give after they play a game.  The order of randomizers will be re-sorted based on whichever randomizer has a higher (Bayesian) rating.

That way, in the long run, whichever randomizer, yours, mine, unbiased, generates the better kingdoms, as determined by the players, becomes the UI default for new players who have decided to use a randomizer for the first time.

Would that work for you?
Title: Re: Announcing Dominion Set Generator
Post by: LastFootnote on January 14, 2013, 06:04:05 pm
Well, how about this as a proposal: Initially the pure unbiased randomizer will be listed as the top one.  We implement a rating/approval system for kingdoms that players can give after they play a game.  The order of randomizers will be re-sorted based on whichever randomizer has a higher (Bayesian) rating.

That way, in the long run, whichever randomizer, yours, mine, unbiased, generates the better kingdoms, as determined by the players, becomes the UI default for new players who have decided to use a randomizer for the first time.

Would that work for you?

I think that sounds very reasonable. The biggest issue I have is that the buttons shouldn't jump around too much. People don't like it when the options are suddenly in a different order for no explained reason. If one of the randomizers is the runaway winner, this would be a non-issue.

It would be nice to somehow give players Kingdoms generated by a randomly selected randomizer. That would remove some biases and give players an opportunity to rank sets generated by all the randomizers. However, I wouldn't want to force that on people by default and having a 'Random Randomizer' button seems strange. Maybe it'd be OK.

One other minor note is that, if and when my suggested randomizer is available on Goko, it should only be available to players who have purchased at least one expansion. The reason is that if you only own the Base Set, it's identical to unbiased random. The extra option that doesn't change anything would only serve to confuse players.

I think we need some nomenclature for these randomizers and the games they generate. For yours, "Balanced Game" seems most appropriate, assuming that you will/have already gotten it to the point where it successfully creates Kingdoms with no one clear strategy. For the algorithm I use, I suggest the name "Flavorful Game", since it produces games that have concentrations of flavor from just two or three expansions, rather than mixing in everything.

But what's the best name for unbiased random? "Default Game" won't work if it doesn't end up as the default. "Unbiased Game" seems a little technical. "Random Game" isn't specific enough; they're all random. "Pro Game" implies the game is being ranked on the Pro leaderboard, which won't necessarily be the case. Maybe "Basic Game" is the best bet.

Of course, it's also important that players get a short description of each randomizer when they choose it, so they know what to expect.
Title: Re: Announcing Dominion Set Generator
Post by: Donald X. on January 14, 2013, 06:09:22 pm
Well, how about this as a proposal: Initially the pure unbiased randomizer will be listed as the top one.  We implement a rating/approval system for kingdoms that players can give after they play a game.  The order of randomizers will be re-sorted based on whichever randomizer has a higher (Bayesian) rating.

That way, in the long run, whichever randomizer, yours, mine, unbiased, generates the better kingdoms, as determined by the players, becomes the UI default for new players who have decided to use a randomizer for the first time.
For sure I would not have the order of a list of options change over time, that would obv. suck. You could change which radio button is the default, but only for players who haven't played yet - for people who've ever seen this screen, it should retain what they previously picked. Aside from those things, if for a completely-new-to-Goko player the default radio button is the method most people are upvoting sets for, that's fine. Of course a lot of the time they will just join a game someone else started, without even seeing that list of options.

I got better at making sets after Intrigue. I can believe that people playing the base set by itself might feel like it needs something. There are some duds, and those duds reduce strategic options. The base set has done great anyway, but you know, there's room for improvement. But I mean take out the duds and you're there, that's what I think. If someone plays a random ten from Dark Ages they are not going to see all these boards with nothing to do.

I know there are people out there who don't like Dominion. Like I always say, it didn't win game of the year in Austria. Maybe some of those people just needed better first experiences; I don't have that data. But I have, over the course of thousands of games, taught lots of people the game, and my experience does not match yours. I was not teaching them with the base set though, not ever; I had whatever I was testing and whatever set I was pairing it with and I taught them with that; no time to lose on a game with the first game setup, and I might not even have those cards with me. I think the first game setup is a good first game setup, I recommend it; I am just giving my data here. Pure random from two sets, no lost customers.

If the concern really is, that the game needs to be at its very best for new-to-Dominion players, which seems to be your pitch in that one post, then you maximize that by giving those people human-generated carefully chosen sets of 10, like the first game setup; a spiffy randomizing algorithm is not as good. So no argument about disappointed new players really defends the spiffy randomizer. And a lot of people go straight to the campaigns, so hey, we are already doing well there, except that the main set campaign sucks. The spiffy randomizer would be to make games more fun for people who have been hooked already and need endless sets-of-10. And for those people, those non-isotropic casual players, I have a lot of confidence in random, but if you want to provide your thing as another option, that's fine.

There's nothing sacred about pure random; it's important to have because it's the suggested real-life algorithm, and lets you play with all of your cards, and the expansions (the later ones at least) have been balanced with it in mind. I like the premise of "let's generate sets that are more fun." If the game had started as a computer game, it might have had a non-trivial card-selection algorithm from the start. The way the card frequencies fall out in your version though make me think that's not the approach for me. I don't want to see Margrave more often than Noble Brigand, etc., that's just making the sets worse for me.
Title: Re: Announcing Dominion Set Generator
Post by: Donald X. on January 14, 2013, 06:28:30 pm
I don't want to see Margrave more often than Noble Brigand, etc., that's just making the sets worse for me.
I feel the need to hammer on this point. As it stands, Margrave shows up more often than average and Noble Brigand less often (for example), because Margrave has +3 Cards and +1 Buy and Noble Brigand just looks good in leather. But that means that with this randomizer, I play more games with Margrave and fewer with Noble Brigand. That cannot possibly be making games more fun; attacks in particular are a place where variety is crucial. Discarding down to 3 every turn is much more tolerable when you aren't doing it game after game. And the flexibility of Margrave gets it purchased in more games that it's present in; maybe we didn't even buy Noble Brigand that game it came up. So Margrave extra-dominates.

Again I recommend trying to group cards via your algorithm but with flat card frequencies; just as many Noble Brigands as Margraves.
Title: Re: Announcing Dominion Set Generator
Post by: onigame on January 14, 2013, 06:50:28 pm
For sure I would not have the order of a list of options change over time, that would obv. suck. You could change which radio button is the default, but only for players who haven't played yet - for people who've ever seen this screen, it should retain what they previously picked.

Yes.  Absolutely I approve of "sticky".  If you actually read my proposal (which you can't yet, because I'm not done with the first draft) you can see "sticky" all over the place.

Quote
If the concern really is, that the game needs to be at its very best for new-to-Dominion players, which seems to be your pitch in that one post,

That used to be my pitch but I've now changed my mind.  It has to do with the epiphany that "new" players and "casual" players are not the same thing, that I mentioned above.

Quote
If the game had started as a computer game, it might have had a non-trivial card-selection algorithm from the start. The way the card frequencies fall out in your version though make me think that's not the approach for me. I don't want to see Margrave more often than Noble Brigand, etc., that's just making the sets worse for me.

Yeah, if the game had started as a computer game, you'd be doing all this work and not me.  :)

I totally see the desire for having a uniform distribution.  Previously I felt unable to accommodate it, but your idea on BGG was pretty good and I'm working on that now.

(Me personally, I want to see Margrave more often than Noble Brigand.  But options are good.)
Title: Re: Announcing Dominion Set Generator
Post by: dondon151 on January 14, 2013, 06:57:44 pm
So I've stated this already, and it seemed to have been ignored, but I think that weighting the cards such that the most frequent cards appear at most 150% as often as they are supposed to vs. a uniform distribution and the least frequent cards appear at least 66% as often would be a good middle ground to lower the frequency of "dud" cards (and even non-dud cards) while still allowing them to be strategically relevant.

Although, if your goal is to create "fun" kingdoms... doesn't veto mode do more or less the same thing? Cards that people dislike or are useless get played less often because people choose to strike them out.
Title: Re: Announcing Dominion Set Generator
Post by: Beyond Awesome on January 14, 2013, 08:03:31 pm
As others have touched upon before, I think the biggest culprit is not the kingdoms but lack of good matchmaking. Onigame, I think you should really suggest to Goko to have a good matchmaking system, and I am going to reiterate basically what everyone else said. Already, I have played over 1000 games on Goko. There are more "casual" or "newbie" players on there than iso. I have played some players who rage-quit or who were rather pissed off by my play style. I have had a few Village/Torturer pin games, HoP engines with long turns, and ditto for KC engines. In all these games, a lot of the more casual players were frustrated. Here I was doing a million things in one turn and winning while they were just getting a hang of the cards.

So, priority number 1 needs to be better match-making on Goko!

Number 2, another forum member here touched upon the rulebook needing to be revamped. I agree. Last night, I clicked through the current rules on Goko, and damn are they a mess. It needs to be more accessible and user friendly if Dominion is remotely going to reach the popularity of Farmville. And, this should be another top priorty for Goko. And, hey, guess what, I would love it if Dominion reached even half the success of Farmville. I think if Goko were to post on this forum saying they needed some help with a couple of things like an improved online rulebook, you would have people pitch-in. Again, I think this is very important.

Number 3, I get where you are going with your balanced sets. I have actually played a couple now, and ironically, they are a bit boring and usually lend towards a big money strategic which is quite ironic. The thing is, your kingdoms don't often have the card draw for an engine. Sometimes a certain attack dominates, but that's about it. So, at this point, at least, your randomizer does not achieve what you hopped it would. But, I agree that casual players need something a little more "fun" as you put it. I am not sure how best to go about it. I think a good idea is to allow choosing which expansions get selected for games. People can do this in real life and so they should also have that option in real life. I also think options like no attacks or no cursing attacks or always have an attack should be an option under an advance settings option. Some other options might be always include an engine, always include a card that draws +2, etc. Obviously, this would need to be in an advance option menu, but I think you will find many casual players who appreciate having the option of turning attacks on or off.

Anyway, I hope these suggestions have been helpful and you pass this information along to Goko. Thanks.
Title: Re: Announcing Dominion Set Generator
Post by: onigame on January 14, 2013, 08:30:15 pm
So, I now have an option for generating Uniform sets!  It's inspired by an idea from Donald.  Here's a simplified example to show how it works:

Take the 25 Randomizer cards, and separate it into piles X and Y this way:
(1) Use my set generator and put a randomizer card into pile X.
(2) Use my set generator and put a randomizer card into pile Y.
(3) Go to step 1.

Eventually you'll be out of randomizer cards, and pile X will have 13 cards and pile Y will have 12 cards.
Choose one of those piles randomly, and choose 10 cards from that pile at random.

The result should be something that comes kinda close to my default settings but makes each card almost* equally likely to show up.

I've also implemented this on the stats page.  What is somewhat surprising is the amount of variance even with what seems to be a lot of runs.  For example, I just ran the Uniform generator 100 times on Hinterlands, and here are the top 3 and bottom 3:
Border Village    52    52%    135.2%
Tunnel    46    46%    119.6%
Duchess    42    42%    109.2%
Oracle    34    34%    88.4%
Embassy    33    33%    85.8%
Jack of all Trades    33    33%    85.8%



Run it another time and here are the top 3 and bottom 3:
Develop    45    45%    117%
Tunnel    44    44%    114.4%
Scheme    43    43%    111.8%
Border Village    34    34%    88.4%
Mandarin    33    33%    85.8%
Spice Merchant    32    32%    83.2%

In comparison, here's the same for the non-uniform generator:
Highway    68    68%    176.8%
Stables    65    65%    169%
Border Village    63    63%    163.8%
Silk Road    24    24%    62.4%
Oasis    21    21%    54.6%
Oracle    20    20%    52%

What I'm learning from that is that how my intuition matches margins of error are surprisingly poor.  If you had just shown me the first set of results, I'd totally be thinking that "Gosh, Border Village at 135.2% is totally unacceptable."  But a second run and now Border Village is in the bottom 3.  This suggests to me that, even with my generator on default (non-uniform settings), you'd probably need around 50 games or so before really detecting a difference outside the margin of error.

Another caveat for the Uniform generator is that if you have biased settings in the Attribute section you won't get the full effect.  For example, say you own all the expansions but you want a set that "has at least 5 Prosperity cards."  Well, the Uniform generator is generating 18 different sets (since you have 189 Randomizers), but there are only 25 Prosperity cards.  Each of those sets will be trying to get 5 Prosperity cards, and what will happen is that each set will end up with 1 or 2 of them.  Since you only get one of those 18 sets, you'll have only 1 or 2 Prosperity cards.

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.

*The reason each card isn't exactly equally likely to show up is because X and Y are of different sizes.  Imagine that my basic set picker was so biased it always chose Festival first when it can.  Then Festival is going to always be in set X, which means Festival is actually less likely to show up (because it's always competing against 12 other cards in set X for 10 spots, as opposed to competing against 11 other cards in set Y).

Title: Re: Announcing Dominion Set Generator
Post by: Beyond Awesome on January 14, 2013, 09:43:08 pm
Another thought I have is to have a lobby marked for pro play and another for casual. Casual can be the default lobby, but then players who want to play pro games can go to the pro lobby. Aside from better matchmaking, this should also prevent more casual players from getting paired up with more experienced players.
Title: Re: Announcing Dominion Set Generator
Post by: DStu on January 15, 2013, 01:53:49 am
What I'm learning from that is that how my intuition matches margins of error are surprisingly poor.  If you had just shown me the first set of results, I'd totally be thinking that "Gosh, Border Village at 135.2% is totally unacceptable."  But a second run and now Border Village is in the bottom 3.  This suggests to me that, even with my generator on default (non-uniform settings), you'd probably need around 50 games or so before really detecting a difference outside the margin of error.
The effect that happens here is that, while after 100 samples you expect one variable to be quite close to it's average, you are not only interested in one variable, but in 25.   And having (at least) 1 variable out of 25 off its average is about 25 times as likely (at least as long as the probability of this event is small, which is what you are aiming for) than having 1 variable escaping.

Slightly relevant xkcd: http://xkcd.com/882/


To your alogorithm:  I don't see by what method you put which randomizer cards in piles X/Y.  Also randomly?  If deterministicly, you have the problem that cards that are in X never show up with cards in Y.  If everything happens uniform at random, this should also be perfectly uniform.  A quite complicated method to uniformly draw 10 out of 25, but I haven't followed the thread close enough, I suppose there is a reason why you just don't draw 10 out of 25, but instead preprocess to draw 10 out of  13/12
Title: Re: Announcing Dominion Set Generator
Post by: hsiale on January 15, 2013, 02:03:34 am
I got better at making sets after Intrigue. I can believe that people playing the base set by itself might feel like it needs something. There are some duds, and those duds reduce strategic options. The base set has done great anyway, but you know, there's room for improvement.
Why not use this room? Doing 2-3 changes to the Goko base set (taking out duds, adding a better but still simple card from another set which would both improve the base and preview later sets, maybe adding one new card if you can talk Jay into releasing it as a promo for people playing with RL cards). If Goko really succeeds, then the clear majority of Dominion players in the world have not seen the game yet, it's not too late for small changes if they're going to improve the experience a lot.
Title: Re: Announcing Dominion Set Generator
Post by: charlequin on January 15, 2013, 02:52:10 am
Why not use this room? Doing 2-3 changes to the Goko base set (taking out duds, adding a better but still simple card from another set which would both improve the base and preview later sets, maybe adding one new card if you can talk Jay into releasing it as a promo for people playing with RL cards).

I quite liked the idea of printing Dungeon as a promo and adding it to the "base set" going forward, myself.
Title: Re: Announcing Dominion Set Generator
Post by: Donald X. on January 15, 2013, 06:17:28 am
So, I now have an option for generating Uniform sets!  It's inspired by an idea from Donald.  Here's a simplified example to show how it works:
Sweet.

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.
Title: Re: Announcing Dominion Set Generator
Post by: Donald X. on January 15, 2013, 06:22:58 am
To your alogorithm:  I don't see by what method you put which randomizer cards in piles X/Y.  Also randomly?  If deterministicly, you have the problem that cards that are in X never show up with cards in Y.  If everything happens uniform at random, this should also be perfectly uniform.  A quite complicated method to uniformly draw 10 out of 25, but I haven't followed the thread close enough, I suppose there is a reason why you just don't draw 10 out of 25, but instead preprocess to draw 10 out of  13/12
The method for putting cards into piles is the old method - all cards are weighted by what they do, so that a set of 10 is more likely to get a village if it doesn't have one yet and less likely if it does, and so on. So with this new algorithm you get some amount of the old idea of "sets are more fun with a village" but with much less "so every set has Bandit Camp."

Quote from: Donald X.
Divide the number of cards the player owns by 10. Prepare to generate that many sets-of-10. Pick a random starting card for each one. Now go through and pick a 2nd card for each set out of the cards remaining, using your existing algorithm. Then pick a 3rd card for each set out of the cards remaining, etc. Eventually you will have used every card, while doing a certain amount to increase the chance of "fun" via how the cards are grouped. Now just pick one of the generated sets at random and there you go. You can use the other generated sets later or not.

If the number of cards they own isn't a multiple of 10, then for perfect results we would have to generate ten times as many sets, using ten copies of each card but of course not allowing duplicates in a set. There is a chance that you will end up with a duplicate left at the end - the card that has to go in this slot is already in this set. I don't know how common that would be, but there are things you can do there, depending on how much work you want to do vs. how much you care about a small amount of compromising card frequency or fun.
Title: Re: Announcing Dominion Set Generator
Post by: DStu on January 15, 2013, 06:32:12 am
Quote from: Donald X.
Thanks for the hint, at least I now know what the goal is...

Edit: So if I understand the algorithm correctly, it should get nearly what you want.  You chose a pile at random and 10 cards from this pile at random. Assuming both piles have equally many cards, this would give you each card equally likely, no matter by what method you fill pile X and Y.

Now X has 1 more card than Y, and if there are some cards that happen to have preference to be in X over Y (depends on how exactly the algorithm work, may as well happen), but I don't think that is a big problem, a card from pile X has probability 5/13 to be in a set and a card in pile Y 5/12, which is 38,3% vs 41,6% while you ideally want 40%. Seems close enough. [Edit: Even if you have cards that always end up in X or some that always end up in Y, which is probably not even the case]

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.
Title: Re: Announcing Dominion Set Generator
Post by: Donald X. on January 15, 2013, 07:19:53 am
I got better at making sets after Intrigue. I can believe that people playing the base set by itself might feel like it needs something. There are some duds, and those duds reduce strategic options. The base set has done great anyway, but you know, there's room for improvement.
Why not use this room? Doing 2-3 changes to the Goko base set (taking out duds, adding a better but still simple card from another set which would both improve the base and preview later sets, maybe adding one new card if you can talk Jay into releasing it as a promo for people playing with RL cards). If Goko really succeeds, then the clear majority of Dominion players in the world have not seen the game yet, it's not too late for small changes if they're going to improve the experience a lot.
I am trying to think of how to approach this without having any issues. I don't want to try to sell people overlapping products. I am not sold on the idea that Goko's audience will exceed Dominion's; it's nice to aim high though. Currently I think most people just buy everything, so any re-sorting of cards wouldn't make a difference there anyway; what you want is a veto list.

Anyway let's say we want a better introductory set. We can probably do better than the main set with a few swaps, but there's the overlap issue, so let's say, we just merge the main set and Intrigue into one set. To increase variety we'll make it larger - there are 50 cards so let's say we take 40 of them. The remaining 10 cards can go into a Leftovers product that people can ignore, although many will end up with it via buying everything.

I am not sure this plan is so great. Mostly I've just eliminated Intrigue as a product. When you're a new player, you only play pure main set if you start the game yourself or play the main set campaign. The main set campaign in the future will sprinkle in cards from Intrigue/Seaside/Prosperity to spice it up a little; it could go further in that direction although man I don't want to work on it more.

I am not thrilled with the idea of a boring promo irl so that it can be in the main set on Goko. The needs of a promo do not match the needs of a main set.

If we just stick in a few Goko-only cards then I think some of our current actual customers would be pissed.

The main set irl could be changed. Then it couldn't have the SdJ logo though. That's never going to be compelling. It also has an overlap problem. Let's say it has 5 new cards. You already own everything and feel like you have to buy a full large set to get the 5 new cards. You hate us. We need the 5 cards to be available as a separate product. It's not a good number of cards for a product. Let's say there are 12 new cards and we can sell them as a separate product. That separate product looks weird. It's these random simple redundant cards. It's not trivial to make 12 new worthwhile main set cards either; I do not have leftover simple cards worth making. Some people long for Dungeon but well 1) it's redundant, and 2) where are your other 11.

Let's say we just sprinkle in cards from expansions; to make expansions not look awful due to overlap we only take one from each large one. We take out 5 duds for a card each from Intrigue, Seaside, Prosperity, Hinterlands, Dark Ages, avoiding stuff like duration cards in favor of straightforward but interesting things. Online we already have just such a sampler for people with that card you scan in; you still have the duds but well have I mentioned that a veto list would be nice? IRL well like I said, no SdJ logo. It sounds okay otherwise. We could also ditch the Copper randomizer etc. and have 26 cards, dropping 4 for the new 5. Online there's no logo, but we can't just give that 5-card sampler to everyone because then it's like "ha ha you got that card to scan in for nothing." Let's say online there's a different 5-card sampler we just give away. We don't want to take out those 4-5 duds though, this would disappoint people who actually know the physical game, which I still think is most people. I am not thrilled with a 5-card Leftovers set. Again a veto list does the trick.

And again the main set campaign can just include non-main-set cards, that seems like the big trick. If I am a new player, probably I go straight to the campaigns. Those levels can include Chancellor less often and throw a Nobles at you somewhere. If I go to the multiplayer lobby then probably I join someone else's game and see all sorts of non-main-set things. Anyway I think improving the main set campaign is as good as it gets online.

For a better starting experience IRL, probably there are two things you can do. You can package the main set with a small expansion, although now your product is more expensive and maybe that's just self-defeating. Or you can do a retheme like the Hobby Japan ones; you lose the logo and totally overlap but kind of sort of deal with it by having new art.
Title: Re: Announcing Dominion Set Generator
Post by: serakfalcon on January 15, 2013, 12:01:38 pm
Two quick comments:
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. However, what you may see, is that people who may not own dominion, but play it with friends, or dominion fans, will add to their addiction by playing online as well. A good implementation will attract more casual gamers, but I think the internet is full with plenty of fun computer games that aren't pretending to be card games, so chances are people will find Goko Dominion because they are already know about Dominion, and more casual people will stick around then they do on iso, on account of it being easier to use. (and more possible for them to win, b/c of the bots)

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!

As a note on new players:
I usually do like to introduce new players to the variety of Dominion right away, so that they can get an idea of what the game is all about. So, I do draw randomly from all the sets I have available, with three caveats:
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. For some reason people are pretty good at figuring out the value of KC or Throne Room, so I usually can leave those in.
2. I try to make it a little bit of a learning experience, so if I see that a certain type of winning strategy is more possible, I'll swap out cards to make it a little more obvious, and still possible to do if they buy things randomly.
I try to take them through four main 'flavors' of winning dominion: The engine game, the big money game, the greening game (aka special VPs, a la gardens, or bishop or duke etc.), and my special favorite, the hail mary three pile scramble (don't need special victory points, just end the game when you're ahead by buying out three piles, works especially well if everyone is trying to buy the same actions and there are lots of cursers out there).
3. I explain the importance of trashing and junking early on, and may even play a game with nothing but trashing and junking, just so that they can see why junking is bad if it happens to you, but not the end of the world if you manage it, and that trashing is powerful (even those hard-earned estates that you start with! Even if you could buy a silver instead! Nobody likes to see those go at first, for some reason). Also, I help them see that junkers, especially cursers, can be an easy ticket to a 3-pile hail mary.

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.

 I don't think its fair to prioritize one way of winning the game over others. Engines usually get picked up at first because they are easy to understand, but once people realize there are other ways to win they enjoy trying them (one of my latest games with new people ended with a tie: one person had gone big money with fools gold, smithy and squire, and bought out almost all the fools gold, the other had gone engine with smithy, golem and festival after trashing everything they started with, got almost all their money from actions and by the end went through their deck every turn, naturally. All the people playing were impressed that such radically different strategies could have the same end result).

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.


Title: Re: Announcing Dominion Set Generator
Post by: hsiale on January 15, 2013, 12:35:07 pm
Anyway let's say we want a better introductory set. We can probably do better than the main set with a few swaps, but there's the overlap issue
What about adding Stash to the (online) main set? I don't see any problem with this:
- it is not a very complicated card, I think it's second simplest promo after Envoy (but Envoy is too similar to Smithy), I'd say some base set cards are more complicated (Library, Bureucrat, Adventurer),
- it is not implemented yet, so nobody has bought/earned it and nobody will be unhappy other people get it for free,
- many people will actually be happy that they don't have to get it adventures way (there's still not enough adventures to get 3 already implemented promos),
- it introduces the idea of kingdom card which is a treasure (there is alt-VP in base set, but no alt-$),
- it makes Chancellor, definitely the biggest dud of the set, way more useful,
- and I guess if RGG decides to put the IRL base set in line with this, they could get away with printing "Bonus promo card included" on the box to avoid SdJ logo issues. By the way, I'm not even sure if it will lead to any problems anyway, Carcassonne had a major rule change after getting SdJ and my copy (2009 RGG edition) still has the logo on it.

For a better starting experience IRL, probably there are two things you can do. You can package the main set with a small expansion, although now your product is more expensive and maybe that's just self-defeating.
Will it be so much expensive? Looking at Dominion products that include only cards, we have:
- 150-cards Alchemy and Cornucopia: MSRP $30,
- 300-cards Hinterlands: MSRP $40,
- 500-cards Base and Intrigue: MSRP $45.
I think a 1000-cards box would have MSRP of $60. $65 if some extra things like tokens or mats are included.
Title: Re: Announcing Dominion Set Generator
Post by: Donald X. on January 15, 2013, 12:56:27 pm
What about adding Stash to the (online) main set? I don't see any problem with this:
I don't imagine springing whatever interface Stash gets on new players will be ideal, but whatever; giving people Stash means not having it as a thing to play through campaigns to get. They already wish they had more promos.

By the way, I'm not even sure if it will lead to any problems anyway, Carcassonne had a major rule change after getting SdJ and my copy (2009 RGG edition) still has the logo on it.
I don't know the details there, I just know it's an issue. Maybe the SdJ people would say, sure, swap out a few cards. That would be a necessary step though. We had to change the rulebook to match the German one, back when, in order to use the logo.

Will it be so much expensive? Looking at Dominion products that include only cards, we have:
- 150-cards Alchemy and Cornucopia: MSRP $30,
- 300-cards Hinterlands: MSRP $40,
- 500-cards Base and Intrigue: MSRP $45.
I think a 1000-cards box would have MSRP of $60. $65 if some extra things like tokens or mats are included.
Looks like main set plus Prosperity plus Alchemy is $100: http://www.amazon.com/Rio-Grande-Games-RGG-425/dp/B003Y737CO/ref=sr_1_1?ie=UTF8&qid=1358271977&sr=8-1
Title: Re: Announcing Dominion Set Generator
Post by: werothegreat on January 15, 2013, 01:05:59 pm
I think it might be worth doing a 5th/10th/Whatever-th Anniversary edition of the base set, where you streamline the wordings (say "Copper" instead of "Copper card" etc), and put a "may" into Throne Room.  It wouldn't change all that much, and most players wouldn't feel that they *needed* to pick it up, but they would know that Dominion now works by this second edition where Throne Room has a "may."  That would really be the only change.
Title: Re: Announcing Dominion Set Generator
Post by: Donald X. on January 15, 2013, 01:11:56 pm
I think it might be worth doing a 5th/10th/Whatever-th Anniversary edition of the base set, where you streamline the wordings (say "Copper" instead of "Copper card" etc), and put a "may" into Throne Room.  It wouldn't change all that much, and most players wouldn't feel that they *needed* to pick it up, but they would know that Dominion now works by this second edition where Throne Room has a "may."  That would really be the only change.
Throne Room isn't the only one of those in the main set, but I don't think nonessential functional wording changes are on the table.
Title: Re: Announcing Dominion Set Generator
Post by: hsiale on January 15, 2013, 01:26:03 pm
I don't imagine springing whatever interface Stash gets on new players will be ideal, but whatever;
I don't know what interface do they plan for Stash, looking at the time it takes them to code it it will most probably be overly complicated, Iso interface for Stash is not hard to use. But indeed if it is complicated then it's a problem.

giving people Stash means not having it as a thing to play through campaigns to get. They already wish they had more promos.
I hope they release those campaigns then, so far it's still impossible to get all 3 of Governor, Envoy, Walled Village.

Looks like main set plus Prosperity plus Alchemy is $100: http://www.amazon.com/Rio-Grande-Games-RGG-425/dp/B003Y737CO/ref=sr_1_1?ie=UTF8&qid=1358271977&sr=8-1
Because it's 3 boxes sold together, not one box containing 1000 cards. What I had in mind is packaging together at the production stage. Alchemy and Cornucopia are 300 cards in two boxes with total MSRP $60, Hinterlands is 300 cards in one box with MSRP $40.
Title: Re: Announcing Dominion Set Generator
Post by: Donald X. on January 15, 2013, 01:36:52 pm
Because it's 3 boxes sold together, not one box containing 1000 cards.
It is not three boxes sold together, it is one box containing 950 cards plus playmats and tokens. http://tabletopgeeks.com/files/2012/03/DominionBigBox-650x487.jpg
Title: Re: Announcing Dominion Set Generator
Post by: onigame 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.
Title: Re: Announcing Dominion Set Generator
Post by: eHalcyon on January 15, 2013, 03:18:48 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.

On the specific example -- IMO, "Include 5 prosperity" is a harder constraint than "make all cards equally likely to appear".  Yeah, Prosperity is heavily favoured when your enforce including 5, but you can at least make all other cards equally likely among the remaining 5.
Title: Re: Announcing Dominion Set Generator
Post by: Donald X. on January 15, 2013, 03:20:29 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.

I also think that for most people, set bias is the knob they are most likely to actually fiddle with, to the extent that I would take it out of the randomizer-specific section - the main game-generating screen the user sees lets them pick "pure random" or "engine-heavy" or "engine-heavy with cards equally likely" or "some other option," and then next to that they pick, bias towards Prosperity or Seaside or whatever. And then if they pick the Prosperity option, that applies whether they want pure random (thus not actually pure random, but pure random within the limits of N being from Prosperity) or engine-heavy or whatever.
Title: Re: Announcing Dominion Set Generator
Post by: onigame 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.  :)
Title: Re: Announcing Dominion Set Generator
Post by: onigame 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.
Title: Re: Announcing Dominion Set Generator
Post by: Donald X. on January 15, 2013, 04:17:58 pm
As a human, I understand this.  But you're missing my point, which is that the generator doesn't understand this.
It seems crazy to me to be talking about how the generator doesn't understand it. The generator doesn't understand anything and doesn't have to. It can do what it's told. And we don't need to let people tell it to do impossible things. Again, completely outside of your program, the user picks a selection method and picks set biases. At that level there's some decision about how many cards to include from each set based on what they picked. Inside your selection method code, you know you need 5 from Prosperity and just deal with it.

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.
I don't need any work from you here ever. I don't mean that in an unfriendly way. Why would I need you to do this? Pure random is awesome and we have that already. If you feel like writing something, man, have fun, I don't mind.

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.
Title: Re: Announcing Dominion Set Generator
Post by: onigame 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.

Title: Re: Announcing Dominion Set Generator
Post by: Beyond Awesome on January 15, 2013, 04:48:36 pm
I have an idea. We should have a contest on Dominion Strategy to try and come up with 50 fun casual kingdoms that Goko will implement. After players play through those 50 kingdoms, then, they can play full random. I don't know. Just a thought.
Title: Re: Announcing Dominion Set Generator
Post by: onigame 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.
Title: Re: Announcing Dominion Set Generator
Post by: WanderingWinder on January 15, 2013, 05:05:13 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.'

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?
Title: Re: Announcing Dominion Set Generator
Post by: onigame 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.
Title: Re: Announcing Dominion Set Generator
Post by: onigame 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.)
Title: Re: Announcing Dominion Set Generator
Post by: Donald X. on January 15, 2013, 05:30:59 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.

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.
Title: Re: Announcing Dominion Set Generator
Post by: Donald X. on January 15, 2013, 05:38:52 pm
I have an idea. We should have a contest on Dominion Strategy to try and come up with 50 fun casual kingdoms that Goko will implement. After players play through those 50 kingdoms, then, they can play full random. I don't know. Just a thought.
Obv. there are campaigns, and new players do gravitate towards them; the important thing currently is, man, replace the main set campaign with a better one. And then that's uh 60 games so there you go.

However! I believe Goko wants more campaigns. Specifically they want multi-expansion campaigns. There may be nifty tools available for spicing up levels, but let's say for the moment that there aren't, that all you have to work with is the set of 10 and the starting decks. And the number of players and which bots they are if that's relevant and the paragraph of flavor at the start. And how many zaps you get. Possibly I'm forgetting something.

So anyway. You, Beyond Awesome, and your pals at dominionstrategy.com, could make just such a campaign. Pick two or three expansions and only use those cards (expansions meaning the published ones, so Prosperity and Cornucopia and so on, I am just clarifying that I don't mean the half-sets like Bigger and Better). Tell your story, such as it is. Try to make the levels fun. Maybe 20 levels? Since that's what the others are.

And I mean if you produce this thing and offer it to them, directly or through me, then odds are they will put it up when they get to fixing the campaigns.
Title: Re: Announcing Dominion Set Generator
Post by: Donald X. on January 15, 2013, 05:46:35 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?

I want Prosperity dammit, I had Seaside for lunch.
Title: Re: Announcing Dominion Set Generator
Post by: ftl on January 15, 2013, 05:48:16 pm
So anyway. You, Beyond Awesome, and your pals at dominionstrategy.com, could make just such a campaign. Pick two or three expansions and only use those cards (expansions meaning the published ones, so Prosperity and Cornucopia and so on, I am just clarifying that I don't mean the half-sets like Bigger and Better). Tell your story, such as it is. Try to make the levels fun. Maybe 20 levels? Since that's what the others are.

And I mean if you produce this thing and offer it to them, directly or through me, then odds are they will put it up when they get to fixing the campaigns.


Oh man, that sounds fun. I should try to do that.

I have an idea. We should have a contest on Dominion Strategy to try and come up with 50 fun casual kingdoms that Goko will implement. After players play through those 50 kingdoms, then, they can play full random. I don't know. Just a thought.

...but making it mandatory is a terrible idea, IMO.
Title: Re: Announcing Dominion Set Generator
Post by: Polk5440 on January 15, 2013, 05:54:57 pm
I have an idea. We should have a contest on Dominion Strategy to try and come up with 50 fun casual kingdoms that Goko will implement. After players play through those 50 kingdoms, then, they can play full random. I don't know. Just a thought.

I was really hoping they would implement something like this with the "My Decks"/Deck Building tool (whatever they're calling it now) where you can select the recommended kingdoms from the rulebooks to play and other hand-picked stored kingdoms, like maybe those from the DS Championships last year and this year (and any Goko tournaments in the future).
Title: Re: Announcing Dominion Set Generator
Post by: Ozle on January 15, 2013, 05:58:43 pm
So anyway. You, Beyond Awesome, and your pals at dominionstrategy.com, could make just such a campaign. Pick two or three expansions and only use those cards (expansions meaning the published ones, so Prosperity and Cornucopia and so on, I am just clarifying that I don't mean the half-sets like Bigger and Better). Tell your story, such as it is. Try to make the levels fun. Maybe 20 levels? Since that's what the others are.

And I mean if you produce this thing and offer it to them, directly or through me, then odds are they will put it up when they get to fixing the campaigns.


Oh man, that sounds fun. I should try to do that.



Woah, im in!
Title: Re: Announcing Dominion Set Generator
Post by: charlequin on January 15, 2013, 06:16:53 pm
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. 

I think you're making this too complicated. I think that the consistent intuition of an average player, presented with a generator like this, is something like the following:


You don't need a mind-reading AI to implement that, just to set a reasonable and intuitive default. I think the problem here is that you're interpreting the restriction as "cards must be equally likely" rather than "cards must be equally likely as a baseline before other restrictions are applied."

(The more this gets talked about, the more I think a "fun" generator needs to back into the question by defining different types of "interesting" games and randomizing between them, rather than just an algorithm that veers towards a single specific type of "fun kingdom.")
Title: Re: Announcing Dominion Set Generator
Post by: onigame 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.
Title: Re: Announcing Dominion Set Generator
Post by: onigame 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.
Title: Re: Announcing Dominion Set Generator
Post by: ftl on January 15, 2013, 08:33:09 pm
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.

I feel like some of the disconnect is because you have two separate goals maybe?

One is to make a complex randomizer with lots of different options which can make all these different fun sets matching all the constraints.

The other is to make a thing which a casualplayer on Goko will use as their default set generator like a magic wand without knowing about what's going on under the hood as long as it makes cool sets.

Those two are sort of different. For the first, saying "hmm, you can do that by fiddling with options and doing X" is a good answer. But for the second, if you're saying that something like "pick 5 Prosperity cards" won't work as expected with your set generator, well, then that's a problem, and "if you fiddle with options you can make it do that" doesn't really help at all.
Title: Re: Announcing Dominion Set Generator
Post by: Donald X. on January 15, 2013, 10:10:41 pm
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).
The routine I was describing only handles #2. If you want it to pick a Prosperity card you only give it Prosperity cards to pick from. To get the uniform card frequencies we use the previously discussed algorithm outside of this routine. This routine just picks a fun card to add, given a set of cards already chosen and a set of cards to pick from to add.

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.
Okay yes, you need the meta-algorithm, and #1 and #3 are in the meta-algorithm rather than in the routine I described. I was just saying, if that #2 routine exists then prioritizing Prosperity sounds easy to me. You call the routine using just Prosperity cards for 5 sets, rotating as previously discussed. You pick a set of 5, there's your 5 uniform fun Prosperity cards. Then we call the routine using just non-Prosperity etc.

Again "5 Prosperity" isn't a "should." We just pick 5 from Prosperity and 5 not, it's not something we leave up to chance. It's not a bias like "try to have some player interaction" and so on (in my conception of how things should be). And the reason is that this particular criteria, being from a certain set, happens to be something that many people understand and want, and this blatant "5 from Prosperity" solution is going to beat out anything that leaves you scratching your head.
Title: Re: Announcing Dominion Set Generator
Post by: Donald X. on January 15, 2013, 10:11:43 pm
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.
Maybe *you* don't encounter enough - *I* have internet access. Boom swish.
Title: Re: Announcing Dominion Set Generator
Post by: serakfalcon on January 15, 2013, 11:32:59 pm
Quote
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.

But if Solitaire wasn't installed by default on everyone's computer, that would likely not be the case. You have to think about, how will people find out about this product, channels of distribution, and what will lead them to adopt it. Unless Goko is planning on doing some intense advertising, (which I highly doubt) in an already crowded market (there are so many online games out there its ridiculous, why should I pay to play Dominion online when I could, I dunno, play Kongregate for free, as an example?) I doubt that people will hear about the online version before hearing about the card game. Also, the card game has the jump on the website in that its been out for a while. Anyways, this is kind of off topic.

Quote
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.
Ah, but if the user asked for 5 cards from prosperity (or, 50% prosperity to put it another way), then the user does not want a flat average. Any user input specifying anything should be prioritized beyond anything else you are coding, unless the input is garbage.
(Theoretically, the UI should prevent garbage from being inputted in the first place, but if you have API calls, then it doesn't hurt to include handlers for garbage, so that johnny power user using the API can get still get a result, even if its not exactly what they expected but hey, if they are a power user they are used to getting problems like that and its their fault for over customizing, but joe normal user gets what they expect because they are prevented from getting anything else) I too, am a programmer lol.

Quote
Again "5 Prosperity" isn't a "should." We just pick 5 from Prosperity and 5 not, it's not something we leave up to chance.
The Donald has spoken lol

Quote
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.
Well, considering its the first game or second game (I introduce the game to a lot of people), the early intro of possession makes them think the game is complicated and mean. I actually love possession, here's a fun example of possession/hoard/KC (http://councilroom.com/game?game_id=game-20130110-214833-021f9bd9.html), I just don't like taking the time to explain it to new people. Also, the one guy that figures out how good it is will dominate over the people that thought it was confusing and avoided it because it scares them and/or they thought it was mean.

Quote
(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.
Logic should be: Pick 5 prosperity that are fun.
Pick 5 more cards that are fun, taking the 5 prosperity into consideration.
If it is not possible to find 5 more that are fun, pick randomly.
If it's always pulling up Margrave its flawed somehow.

Random should always be the default if the program doesn't know what to do, but if the user has specified anything they are, in a sense saying, "this is what I define to be fun". Another point, if people have limited sets, your generator may 'choke' and not use the full amount of cards they have available right?

I'm thinking though, if implemented maybe your generator should just be an option "Onigame's fun set" without letting people specify further. Maybe allow proportions from sets, I think that would be the number one thing people would want to specify if they specify anything.

(another note, I don't think its a good idea to allow generation of sets through an API call to Goko, that allows clever people to hack the sets by manipulating the call.) 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.

Quote
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.
If I can get some free time I may think about coding that. I code for enterprise solution stuff so my java is really rusty.
 




Title: Re: Announcing Dominion Set Generator
Post by: onigame 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.
Title: Re: Announcing Dominion Set Generator
Post by: Beyond Awesome on January 16, 2013, 05:13:27 pm
onigame, I might be wrong about this, but I don't think I am. In the private beta, I believe your randomizer is still being used for casual games. Almost every game has one card with Potion in its cost coming up. I believe your randomizer might be weighted a very heavily towards Alchemey.
Title: Re: Announcing Dominion Set Generator
Post by: ftl on January 16, 2013, 05:25:19 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.
Title: Re: Announcing Dominion Set Generator
Post by: Beyond Awesome on January 16, 2013, 06:27:10 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.

Interesting. I wonder why so many kingdoms in the casual setup have Alchemy cards showing up. Maybe to make it easier to test the cards?
Title: Re: Announcing Dominion Set Generator
Post by: Tables on January 16, 2013, 08:01:18 pm
Well, what's the chance of full random (currently) selecting at least one alchemy card? I suspect it's actually pretty high.

Ignoring Young Witch and only considering potion cost cards, I make it about 43% assuming you have no promos. That might look low, but eh, it's an average. Assuming 'almost every' game means about 4 in every 5 games or so, that doesn't seem especially unlikely unless you've played like 30+ games.
Title: Re: Announcing Dominion Set Generator
Post by: onigame 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. 
Title: Re: Announcing Dominion Set Generator
Post by: Davio on June 28, 2013, 03:50:06 am
A recent game with Robz made me come back to this thread.

The game we played had Tournament and that's pretty much saying it all.
I got the first Province, he got the first Prize and it was game over for me.

Now I'm not sad that I lost, I was sad that we played such a dull game basically just going through the motions and whoever got luckiest would win. Playing dull games like that are just a waste of both players' time and not why we like to play Dominion. I play Dominion to discover interesting interactions and try my best to optimize my moves, surprise myself and my opponent. Games where optimal moves are clear don't do much for me.

So I was thinking about pure random sets like they are generated on Goko right now (at least I think it's just full random with no tweaking) and thought: How often are they boring like this? I don't have a number, but I did think a tweaked semi-random generator may be better.

How do you guys feel about using a semi-random generator, like the one in this thread, for pro games? Is it blasphemy? Paradise?
Title: Re: Announcing Dominion Set Generator
Post by: ftl on June 28, 2013, 04:25:18 am
Sort of blasphemy I think?

The problem is that by picking the semi-random generator already inherently pick which interactions to put in and which ones not to. If you know what kind of game you want to play you can design kingdoms like that, but if you want to encounter something you didn't expect, that's hard to design into a kingdom generator! I remember earlier, it turned out that the Kingdom generator would basically never give you some cards, and would give you others all the time. So onigame fixed that, but who knows whether it's still doing the same thing for two-card combos? Are some two-card combos basically never going to show up? 

I know for me, my favorite kingdoms are the ones where you have to work around the lack of some resource - maybe use Remodel+Fortress to get around lack of +Buy, or the obvious one of TR+Cantrip to get around lack of Villages or using Moat as draw, etc. And the kingdom generator discussed here would explicitly work against that, trying to generate sets that had a little bit of everything natively.

I remember  back when this started, I went on iso and just randomized sets a bunch of times to see how many of them 'looked boring' and it was pretty low, 1 in 10 or so. Of course, maybe more sets would look boring if I were better and could more clearly see that one of the possible strategies is clearly superior or something, I don't know.
Title: Re: Announcing Dominion Set Generator
Post by: Warfreak2 on June 28, 2013, 05:06:23 am
It doesn't sound like blasphemy, given that Pro games already aren't all full-random; some are base-only (why do people host these and not label them), some are base+intrigue, some base+seaside, many are full-random except guilds, &c. Of course, you can't avoid having those base cards show up if you really don't like them, but every other expansion, you can avoid by just not getting the cards (some of the expansions, you can even get only half of). Since it's already possible to randomise pro kingdoms from a set of expansions you choose, I don't see why that shouldn't just be part of the interface.
Title: Re: Announcing Dominion Set Generator
Post by: Polk5440 on June 28, 2013, 07:28:42 pm
I am a big proponent of using the set generator... for casual games. And I do use it for casual games with friends sometimes.

I am not so sure how I would feel if it was implemented for Pro games. Too much tweaking in how kingdoms are chosen for Pro could lead to rating confusion (what kind of game are we playing? -- it's enough of a problem with just differences in expansion ownership). But I can see an argument for Pro = "blind" and Casual = "not blind" where you have a choice of several ways of randomizing in Pro games, too.

I guess I like the Pro as full random and casual as anything goes. I would use the generator more, but I don't like having to manually type in results from the kingdom generator into My Decks in order to create the games. I do a batch at a time, but still.
Title: Re: Announcing Dominion Set Generator
Post by: LastFootnote on June 28, 2013, 11:56:03 pm
Just throwing in my 2˘ here. I never play Pro games anymore. I play Casual and use the Kingdom generator (the user extension's, not Wei Hwa's) to randomize games that pull from two expansions (sprinkling in promos proportionately). Granted, there are intra-set combos I see more often, but I enjoy it a lot more than full random. Thanks to those combos, the games tend to be more flavorful (a Hinterlands game tends to be more sifty, while a Dark Ages game is trash-crazy) and less samey. It also lets a lot of marginalized cards shine much more often (especially Transmute, holy crap).

I guess I like the Pro as full random and casual as anything goes. I would use the generator more, but I don't like having to manually type in results from the kingdom generator into My Decks in order to create the games. I do a batch at a time, but still.

I actually set up a local HTML page that randomizes randomizer strings for pasting into the user extension's Kingdom generator. For instance, "Governor, 4 Cornucopia, Hinterlands". My page has a text field that randomizes and selects itself once per minute. When I finish a game, I just have to crtl-2 over to my randomizer page, ctrl-C to copy the string, ctrl-1 back to Goko, and ctrl-V to paste it into the Kingdom Generator. This is why I made the feature request for the Kingdom Generator field to be auto-selected when it comes up. It's incredibly convenient.