Hi Deadlock39,
I'm glad that the available options cover everything you'd want for RL games.
I definitely hadn't planned on keeping default state of every option as-is.. the current default settings are simply what I personally use for most RL games. I'll definitely switch the defaults to true-random in the next version. As for the functional restrictions section being arbitrary.. I suspect that comes from the fact that I didn't really preface the entire project well at all (as it started out of a thread specifically about the use of vetos to select cards, and the program options do a lot more than limit veto metagaming). The only really arbitrary aspect of those restrictions is that they are incomplete (one of the reasons I was wanting feedback on the program). Here's the rationale behind the program (beyond the fact that it's easier to use a computer program to pick cards than shuffle a 130-card deck) and the argument for non-veto-based artificial selection of cards:
1). Artificial selection pre-game vs. after-the-fact - as was being discussed in the thread that started this, I've always found card selection methods which include vetos a problem, as they too-often lead to metagaming. While there's not necessarily anything 'unfair' about metagaming (unless one player happens to know a lot more about the other player than vice-versa, which can lead to very unfair metagaming strategies), it can often lead to unbalanced, undesirable, or gimmicky strategies (e.g. Paralyzed). I didn't think to mention it when responding to Rrenaud above, but there is definitely a 'principled' difference between pre-game rejections and those after-the-fact: with pre-game rejections, both players have already agreed to reject a specific card before the cards are drawn. By comparison, with a veto system, all players agree to allow vetos, but not necessarily that each player will use said vetos with the same objectives in mind (for example, many players on the veto strategy thread said they just set the veto to random, while other players suggested very specific strategies). So the simple act of agreeing on rejected cards before seeing them already eliminates a huge metagaming component.
2). True-random selection vs. artificial selection - I didn't really mention previously all of what the program options are attempting to do, as they definitely go quite a lot beyond just limiting veto metagaming. I suspect that this is this aspect of the program that Rrenaud didn't like.. and there are definitely players who prefer true-random games.. which is why all of the options are configurable. For those players who already artificially select cards, however.. in my experience, there are two possible motivations for this: to alter the set of cards to favor your play-style or hinder your opponent (metagaming with veto), or to alter the set of cards to make the game more 'interesting'. So if you're using veto specifically because you enjoy metagaming.. keep doing it, but don't use this program.
Maybe also try bidding on who plays first? There are some neat ways to metagame card selection. If you're wanting a true-random card picker that still includes the ability to reject specific cards without metagaming, try the program with all other options turned off. Finally, if you're wanting to artificially select cards, there are an extra 50+ options for you. Here is the rationale for artificial selection (as well as for the specific filters included). I apologize in advance for getting long-winded.. but this is going to stray heavily into game design theory..
As the core of gameplay is formed by player 'decisions', the fundamental argument for artificially selecting cards is to attempt to produce 'better' game 'decisions' for the players to make than are typically present with true random selection. Game 'decisions' come in two basic forms: 'problems' and 'choices'. A 'problem' is anytime the player is asked to decide between a variety of options, and there is some mathematical best answer. A 'choice' is anytime the player is asked to decide between things of equal or incomparable mathematical value. Now I definitely need to mention that just because a player doesn't have enough time or information to math out the 'correct' answer doesn't make a particular decision a 'choice'.. it's still a problem, just a sub-set of 'problems' known as 'incomplete information problems'. Dominion 'decisions' (what action(s) to play, and what card(s) to purchase), for example, are often obfuscated by players not knowing the precise sequence of cards in their deck (due to the shuffle and the deck being hidden). Plus, due to random variation sometimes it's very possible for the correct 'decisions' to still lose.. some games are more skill-based than others.
The particular filters currently listed fall into two general categories: those attempting to produce more 'interesting' game decisions, and those attempting to reduce the prevalence of useless or redundant cards in the set. Here is a brief rundown of the various options:
Cost Restrictions - Depending on what settings you chose for these, they can be either very subtle or very intrusive. You could, for example, use them to produce games with zero cost $5 cards, not something that a lot of players would probably want. The goal, though, was to subtly increase the number of interesting 'decisions' the players need to make. For example, in many games the 'decision' between purchasing a $2 card and skipping the buy is an interesting one. Sometimes it's mathematically strongest to skip the purchase during the opening and then pick it up later.. sometimes it's best to grab it right away.. and other times it's best to just pass entirely on a $2 card that doesn't help your particular strategy. All of these decisions, of course, rely on actually having a cost $2 card to debate purchasing. Similarly, the interesting 'decision' "is x $3 action better than a silver?" is only possible when there is an available cost $3.
Include at least 1 card that provides additional buys - This filter does reject enough sets to possibly be subject to some amount of metagaming. By comparison to true-random selection using all 130 cards, this filter rejects roughly 18.43% of sets. So if one player knows they really don't do well in games with the potential for multiple buys, they might want this option off. The reason for this particular filter is probably obvious.. the decision as to how many extra possible buys a player wants is typically a very interesting one. Sometimes the +buy card is very weak (e.g. Woodcutter), and only purchased situationally. Other times, purchasing +buys at the right moment during the game is critical. The presence of +buy in a game also has the potential to dramatically change the pace of a game in ways that are difficult to predict, as victory point totals can change much quicker with multiple purchases in a turn. Further, the possibility of multiple buys often reduces the first-turn advantage, allowing more games to reward player skill rather than who went first.
Include at least 1 card that lets you trash or return other cards. - Once again, this filter rejects enough sets to be subject to some amount of metagaming (roughly 18.43% of sets). I can certainly see this one being metagamed, although removing the ability to veto the trash card after seeing the set prevents the worst of this. The presence of a trashing card typically changes the pace of games, and presents unique decisions. How quickly and aggressively do you trash? Is a weak trash card like Loan worth it at all? When do you purchase a second upgrade-style trash card to remove an early-game trash card like Chapel? How are the available Attack cards affected by the ability to trash?
Include at least 1 card that provides +2 actions - This filter rejects roughly 27.98% of sets, and could possibly be subject to some amount of metagaming. I don't know if any players find they play significantly better/worse with the presence of +card/+action engine opportunities. The presence of +2 action card(s), though, presents several interesting 'decisions'.. for example, what ratio of terminal action / +2 action cards is optimal?
The remaining options all attempt to address the strong possibility with true-random selection of redundant or useless cards. Quite simply, redundant or useless cards are ones that all players immediately dismiss and do not purchase anytime during the game. This definitely doesn't include 'traps'.. promising-looking cards that just don't quite pan out given the card set, or are just too slow to utilize. But maximizing the number of interesting 'decisions' the player has to make includes making sure each card in the set is worth putting thought into. Humans are very potent pattern-recognizers, and have a natural tendency to, on identifying a known 'successful' pattern, ignore everything else without much thought. By artificially removing obviously-useless cards, though, you can force players to re-evaluate their ingrained pattern-recognition more frequently.
As mentioned above, these options are definitely incomplete and/or need some works still. Some of them do have a beneficial effect on increasing interesting game 'decisions', though. The options limiting the number of terminal action and non-action cards, for example, help prevent the mind-numbing Big Money + Terminal games, where player skill typically takes a back seat to random chance and the first-turn advantage on who ends up winning.
While I definitely think the redundancy options, even the very small ones (e.g. Don't allow both Workshop and Ironworks), do matter even if they throw out a very small percentage of sets, I could definitely see the argument for just lumping them all into a single checkbox. Some of them also definitely need reworking or eliminating entirely. The Quarry restriction, for example, probably needs eliminating.. I've now seen quite a few games decided by a multiple-buy + Quarry engine, used to buy out cheap (and now cheaper) Action cards en-masse. I definitely welcome comments and feedback on the redundancy filters in particular.