I imagine that solutions to this problem have been discussed ad nauseam (Mulligan rule on this page alone), but I think it might be useful to have a discussion about why this happens so often in this game to begin with.
I'm using a deck for defeating false gods created by Scaredgirl a long time back. It's a (mostly) unupgraded deck, but I know that people have had success with it (and I have succeeded in killing a few myself with it). It's 30% pillars which, from my time playing other CCGs feels right, and statistically it makes perfect sense.
However, way too often I start a match with one pillar (due to auto-mulligan) and don't pull one for several more turns, causing me to lose. Considering that I have lots of sundials to stall the game while trying to get quanta built up in order to launch an assault, the rate that I pull pillars is very, very wrong. This has happened with every deck I've built with lots of percentage mixes of pillars (I've gone as high as half the deck being pillars before). I have also seen a lot of predictability in general, where out of a bunch of matches I've had several occurrences of exactly the same thing. For instance, Eternity gets drawn at the very end of the deck, preventing its use for a cardout, which is very noticeable for obvious reasons, and has happened several times in the same day. Out of a 40 card deck this should almost never happen, statistically, yet I've actually seen it multiple times. I've also noticed that my Otyughs tend to be pulled fairly early and a druid gets pulled very late. The same can be said for Quintessence, where I've seen it happen several times where both of them sit at the very bottom of a deck (last six cards or so) and get pulled together. These things make me suspect that the cards in a person's deck are being stored in an array or similar structure in the same order for every match (which is a sensible way to code this) and that it's the PRNG which is the real cause of this problem.
I'm a mathematician by trade, so please don't suggest that I "just don't understand random number generators." I've played a lot of games and some of them have good PRNGs and others have awful ones. This one seems to be using an awful one. Random numbers are supposed to be sometimes streaky, but this one has predictable streakiness that seems to occur in the same ways fairly often. Can anyone shed some light on how the RNG picks are done here? Is the PRNG being used just the one that comes with whatever language the server was developed in (generally it is acknowledged that the PRNGs that come with a language, even when seeded, are often quite bad). Perhaps some of us with mathematics and programming backgrounds might be able to discern what is going wrong here and make suggestions to improve the behavior of the PRNG itself. How does this game's PRNG do in a chi square test, for example? There is a good one here (
http://www.fourmilab.ch/random/) that, if used correctly, can help to determine how good a PRNG is.