As mentioned before, I love this deck! It's only my second day using it, but I've won plenty of times with it (over 50 FG kills already according to kong and I'm not even playing that much). It's also the most relaxing one to play against FGs that I've tried.
However, being a software engineer by trade, I wanted to see if I could make a few micro-tweaks to it to improve certain probabilities. Mostly I wanted to see if I could improve the odds of playing RoL/hope and electrocutor early, since while this deck often beats Divine Glory quite easily, e.g. (easiest FG with this deck IMO), there are times when it is too slow and even the easiest gods just deal too much damage before we can get things under control, or we fail to get electrocutor fast enough (Osiris is especially annoying otherwise). I wanted to decrease the likelihood of these unlucky situations with the easier FGs.
I wrote a computer simulation to simply see how many turns it would take to play certain cards or meet certain criteria. It's a simple console program written in C++ and doesn't take into account what enemies are doing or anything like that, but it does take into account all the dynamics involved with quantums, the creatures you play, the permanents, etc. For instance, here's ray of light:
static struct RayOfLight: public Creature
{
virtual const char* v_name() const
{
return "Ray of Light";
}
virtual bool v_can_play(const Player* player) const
{
return true;
}
virtual void v_end_turn(Player* player)
{
// adds 1 light at the end of every turn
player->modify_quantums(Element::light , 1);
}
} ray_of_light;
Here's fractal:
static struct Fractal: public Card
{
virtual const char* v_name() const
{
return "Fractal";
}
virtual bool v_can_play(const Player* player) const
{
// Assume we only fractal RoLs.
return player->playing_count(&ray_of_light) > 0 // requires an RoL in play
&& player->quantums(Element::aether) >= 8; // requires 8 aether
}
virtual void v_play(Player* player)
{
int num = hand_size - player->in_hand().size();
// fill the player's hand with RoL
for (int j=0; j < num; ++j)
player->draw_card(&ray_of_light);
// this is not a permanent so we remove it from the playing field
player->remove_playing_card(this);
}
} fractal;
Anyway, I did a simulation of Seravy's current deck. I wanted to see how long it takes to play electrocutor, fractal, and/or hope. Here are the results:
30 card deck - mark of aether
-- 6 Fractal
-- 4 Hope
-- 6 Ray of Light
-- 9 Aether Tower
-- 3 Electrocutor
-- 2 Light Dragon
50000 games simulated for each condition
condition: use electrocutor
-- min number of turns: 1
-- max number of turns: 22
-- avg number of turns: 3.60072
condition: use fractal and hope
-- min number of turns: 3
-- max number of turns: 21
-- avg number of turns: 5.45066
condition: use fractal, hope, and electrocutor
-- min number of turns: 3
-- max number of turns: 21
-- avg number of turns: 6.5884
Now here's a variant I tried which I thought had slightly more favorable results.
30 card deck - mark of aether
-- 6 Ray of Light
-- 10 Aether Tower
-- 4 Fractal
-- 4 Hope
-- 4 Electrocutor
-- 2 Light Dragon
50000 games simulated for each condition
condition: use electrocutor
-- min number of turns: 1
-- max number of turns: 20
-- avg number of turns: 2.6256
condition: use fractal and hope
-- min number of turns: 3
-- max number of turns: 20
-- avg number of turns: 5.81976
condition: use fractal, hope, and electrocutor
-- min number of turns: 3
-- max number of turns: 20
-- avg number of turns: 6.35914
The variant I tried does take 0.37 turns longer on average to use fractal and hope, but is almost a turn faster on average to play electrocutor and is slightly faster when it comes to simulations taking into account how long it takes to play all three: electrocutor, fractal, and hope.
Out of curiosity I also tried switching the mark to light instead. It turned out to be a bad idea:
30 card deck - mark of light
-- 6 Ray of Light
-- 10 Aether Tower
-- 4 Fractal
-- 4 Hope
-- 4 Electrocutor
-- 2 Light Dragon
50000 games simulated for each condition
condition: use electrocutor
-- min number of turns: 1
-- max number of turns: 20
-- avg number of turns: 2.71948
condition: use fractal and hope
-- min number of turns: 3
-- max number of turns: 20
-- avg number of turns: 6.0946
condition: use fractal, hope, and electrocutor
-- min number of turns: 3
-- max number of turns: 20
-- avg number of turns: 6.62174
Anyway, I'll leave it up to you guys to interpret these results, but I'm giving the second version a try. I think it has the best overall chances of having the essential cards (electrocutor, hope, and fractal) played early as possible. Nevertheless, having 2 less fractals might be a problem in the longer games even if it's faster. My simulation isn't sophisticated enough to see the long term effects: it just stops once it has played the right cards. Then again it might still be better because the increased number of aether towers and the 2 less fractals and extra electrocutor might reduce the likelihood of the first couple of fractals being somewhat wasted because your hand is full of cards you can't use or discard.
I also like to add an SoG and improved miracle to the deck to improve my chances of getting elemental mastery, and sometimes miracle saves me when I'm having an unlucky hand where I can't draw hope for a long time or if I need to buy some more time because of momentum or big creatures to improve my hope shield and/or lobotomize more creatures. With the miracle I've managed to beat FGs quite often before even drawing hope. I omitted these from this simulation since I wanted to focus on first optimizing the "pure" deck without shards and miracles which would, of course, add a little bit to the average number of turns for the above criteria.
Note that the variations are slight as these are micro-tweaks to an already awesome deck. All credits go to Seravy for the original idea. Nevertheless, it took me a bit of effort to write this computer simulation and I'd like to try it for some other things, so if anyone has any RoL/hope ideas that are radically different, I'd be happy to run them through the simulator.