Category Archives: MTG

Magic: the Gathering is a collectible card game created by Richard Garfield as something for ComiCon attendees to do during their downtime. The game took off, is now played across the world, and is printed in many languages.

Zendikar Expeditions: Good for the Game or Another WOTC Money Grab?

There are a number of opinions floating around about the Zendikar Expeditions, and for good reason. WOTC doesn’t do this very often. As Magic players, we have come to expect certain things in our packs (I’m still waiting for them to fold the $20 bills right…), and when WOTC doesn’t deliver on that, we begin to get uncomfortable and start complaining, sometimes without even thinking about it.

That was me when the announcement came. I didn’t like it because it meant my parents and other family members who help to feed my Magic addiction would probably have to pay more for the sealed product since that is what I told them I wanted for my birthday. In reality, the thing that is making the fat packs cost more this time around is the pack of full art lands that is included, and less so the Zendikar Expeditions stuff. Now, these I will probably keep sealed and look to sell in a couple of years. I don’t care much for any of the art on the lands, save for one or two, so it doesn’t make sense for me to open them up (yeah, I can get pretty particular about my lands when I want to… If I had all the money in the world, I’d be buying up Beta Islands like nobody’s business).

Now… back to reality. What is the big deal about Zendikar Expeditions? Well, they are exceptionally rare for one–slightly less rare than a foil mythic, according to MARO–which occur 1 in every 216 packs, approximately (here’s a Reddit post that breaks down–and argues in typical Reddit fashion–the numbers). They are foil ‘full-art’ versions of cards that see play in Modern and Legacy–Shocklands and Fetchlands are the big ones people will be after, along with foil versions of cards that occur in the block. My biggest fear was the increased cost of sealed product. Now, this promotion WILL do that. The people who want these premium lands will spend money hand over fist to get them, especially if they plan on dropping some serious money on a couple of cases anyway. Increased demand for the product will invariably mean an increased price. What does this mean for the typical FNM regular? Little to nothing. I MIGHT buy a booster box if I can scrape together enough loose change to do it (i.e. not likely… My LGS would probably ban me for life if I tried to pay for a booster box with loose pennies anyway), but I would not be terribly disappointed if I don’t, and here’s why.

Thanks to this promotion, the full-art basic lands, the new duals, and the new manlands, Battle for Zendikar will be heavily opened. Staples for Standard will be pretty inexpensive in the secondary market unless they have implications for Modern, Legacy, or Vintage (Monastery Swiftspear, I’m looking at you!). It would not be unreasonable to see some tier-1 or 1.5 competitive decks that sit around $100-$150 post-rotation when purchased from sites like TCGPlayer.com.

Many players fear this is a move towards a new Ultra-Rare rarity. This is not the case. All the cards in the Zendikar Expeditions are reprints, or available in other versions. They are not needed to play the game. They are valuable because they are dolled up versions of multi-format staples that are in high demand. Any version of those staples will do what any other version could do.

Some argue that this is Wizards ‘printing money’ with these promotions. Players are upset because this promotion creates artificial demand for the sealed product, which drives up prices of said sealed product. Here, if anywhere, I believe players have reason to be angry. Not being able to easily acquire product at or below MSRP for the first couple of weeks of availability because of speculators and people pre-ordering and then re-selling at a markup could be an issue. Hopefully, the print runs are large enough to account for this, and I suspect they will be. For the first few weeks of availability, expect to pay full-on retail unless you had some stuff on pre-order at a discount or you have special arrangements. As for the secondary market, new set hype should begin to settle down after a few weeks, and the cream of the crop will rise to the top in typical fashion. Aside from the ‘chase’ rares, things should be pretty cheap on the secondary market after that.

Personally, I am looking forward to the new set because I have never had any desire–and probably never will–to drop $300+ on a deck that I can only play for a year or so, and this is shaping up to be the cheapest Standard in recent history.

How to do Drag and Drop in Ember.js… with Mixins

Implementing drag and drop in Ember has given me headaches, and after finally breaking down and searching hard on the internet, I found a Stack Overflow post that had a pretty good solution.

Unfortunately, I’m still not very good at Ember.  I don’t think it’s an IQ thing.. I think it’s more of an Ember is a different beast thing.  Ember does way more out of the box than I would ever expect, and I end up fighting it a lot.  And losing.  Anyway.

Here’s the mixin I created (i.e. mostly stole from a Stack Overflow answer) for the app I’m working on:

DnD = Ember.Namespace.create();

DnD.cancel = function(event) {
  event.preventDefault();
  return false;
};

DnD.dragStartHandler = function(event) {
  //record the id, alt tag of the element being dragged.
  event.dataTransfer.setData("text/plain", JSON.stringify({alt: this.element.alt, id: this.element.id}));
}

DnD.Draggable = Ember.Mixin.create({
  attributeBindings: 'draggable',
  draggable: 'true',
  dragStart: DnD.dragStartHandler
});

DnD.Droppable = Ember.Mixin.create({
  dragEnter: DnD.cancel,
  dragOver: DnD.cancel,
  dragLeave: DnD.cancel,
  drop: function(event) {
    event.preventDefault();
    var data = event.dataTransfer.getData("text/plain");
    console.log("data from droppable: " + JSON.parse(data));
    console.log("event.target: " + event.target.id);
    this.sendAction("dropped", event.target.id, JSON.parse(data));
  }
});

Let’s walk through it piece by piece.

First, I create a namespace.  Here’s the documentation if you’re curious: http://emberjs.com/api/classes/Ember.Namespace.html.

It just makes a nice pretty little object I can dangle things off of.   In truth, I have no idea why you need to use it.  Talk to the Ember faeries.  I’m sure they can help you demystify Ember’s magic.

The cancel function takes care of the ondragenter, ondragover, and ondragleave handler for my use case.  The user doesn’t need any kind of indication that they are over a drop area and nothing happens as a result of being over a drop area.  If you want something to happen in that function, you will need to specify it in between the event.preventDefault() and return false lines, as both of those are required to cancel the default action for drag and drop.

DnD.Draggable is the name of the mixin I am using for anything I make draggable (in this case, a Magic: the Gathering card image built out using an Ember component).  Here, I set draggable to true using an attributeBinding.  dragStart is equivalent to ondragstart=”[some function](event)” on the draggable object in html code, only that would be a pain to write over and over again.  In my implementation of the handler, I’m sending both the alt attribute and the id of the target using dataTransfer by creating a JSON object and stringifying it.

DnD.Draggable = Ember.Mixin.create({
  attributeBindings: 'draggable',
  draggable: 'true',
  dragStart: DnD.dragStartHandler
});

The other mixin I create  is dubbed DnD.Droppable.  Objects I create with this mixin will be valid drop zones for components with the DnD.Draggable mixin.  The dragEnter event is equivalent to the ondragenter event in HTML 5.  Similar are true for dragOver and dragLeave.  And again, since I do not need to do anything when these events trigger aside from preventing the default action, my DnD.cancel function suffices for my use case.

The drop function is going to be the hardest piece to absorb if you are new to Ember, or to drag and drop.  The first thing I do is retrieve the data being transferred from the object I am dropping using dataTransfer.getData.  Once that’s done, I send the action on using sendAction. The console.log calls were there simply to test the code.

drop: function(event) {
  event.preventDefault();
  var data = event.dataTransfer.getData("text/plain");
  console.log("data from droppable: " + JSON.parse(data));
  console.log("event.target: " + event.target.id);
  this.sendAction("dropped", event.target.id, JSON.parse(data));
}

There are a few reasons for doing this.  The first reason is you aren’t supposed to handle actions on your components in Ember.  It makes Ember angry… and Ember doesn’t like being angry…
Your components are supposed to handle the low-level stuff (e.g. “Hey! a click happened” or “Hey! the user submitted a form” or “Hey! your house is on fire”), and then pass the data to the controllers for processing. Keeps everything nice and neat.

The second reason I do this is so that I can specify what I want to do when a card is dropped on a particular zone.  This is super-handy in my use case, since I will need to do different things depending on where the card is dropped.  Generally speaking, it’s straightforward, but there are a few exceptions that I would like to do something a bit different with.  You may be wondering where my action is going and what it’s doing.  First, we will have to look at the controller using a mixin, and its handlebars implementation.

This is my game zone component and card image component. Notice the DnD.Droppable after Ember.Component.extend below? All the mixin attributes and other stuff are added to this component. Now, any instances of GameZoneComponent I create are a valid dropzone for my CardImgComponent, which have the DnD.Draggable mixin added in the same fashion:

Areas.GameZoneComponent= Ember.Component.extend(DnD.Droppable, {
  classNames: ['zone', 'display-zone'],
  classNameBindings: ['display-zone', 'player', 'location', 'id'],
  displayZone: true,
  player: "p1",
  location: "somelocation"
});
Areas.CardImgComponent = Ember.Component.extend(DnD.Draggable, {
  classNames: ['card'],
  classNameBindings: ['player', 'location'],
  player: "p1",
  tagName: 'img',
  attributeBindings: ['src', 'alt']
});

Now, since I am sending an action via the “dropped” attribute on the GameZoneComponent, each time I use the component, I will need to specify an action, as in this one:

{{game-zone cards=lib1 id="lib1" class="zone display-zone p1 library hidden" dropped="moveCard"}}

moveCard is the name of an action on my GameController and it looks like this:

moveCard: function(target, card) {
  var mycard = this.model.filterBy('domid', card.id);
  var domcard = document.getElementById(card.id);
  if(target.indexOf("card") == -1) {
    mycard.objectAt(0).set('zone', target);
    document.getElementById(target).appendChild(domcard);
    this.get('model').save();
  }
}

This is really where all the magic happens.  I update the data model based on the drop, and then move the object to where it was dropped.  There is probably a more semantically correct way to update the DOM when the underlying data model changes, and I’m guessing it involves observers.  This works, so I’m keeping it as-is for now… unless one of you guys want to share a solution to this problem?

Comments and questions are always welcome.  Hope this helped.  Oh, and before I get flamed for not giving credit where credit is due, here is the Stack Overflow answer that was mostly responsible for this: http://stackoverflow.com/questions/10739322/dragdrop-with-ember-js and was written by pangratz based on a post by Remy Sharp here.

I’ll leave you with another little tidbit of code. These are my game zone component and card image component templates. Ember magic ties them to the code I showed you earlier. GameZoneComponent will look for a handlebars template with the name: “components/game-zone,” and similar is true for CardImgComponent: “components/card-img.”

<!-- 	4. Card-img Component  -->
</script>
<script type="text/x-handlebars" data-template-name="components/card-img">
    <img {{action "tap" on='click'}}>
</script>

<!--	5. Game-zone Component  -->
<script type="text/x-handlebars" data-template-name="components/game-zone">
	{{#each card in cards}}
		{{card-img card=card draggable="true" class="card" src=card.img elementId=card.domid alt=card.name}}
	{{/each}}
</script>

I’d be willing to make a JSfiddle so you can dig through the code yourself and see it in action. Just let me know in the comments and I’ll toss a link in there.

My MTG webapp is almost ready!

I’ve been working on this project for a few weeks now… I’m currently unemployed, so I’ve had plenty of free time.  Probably not the best use of my time, but it has been a pretty good learning experience.

It’s hacked together, it’s not pretty, and the analysis tools are pretty basic, but I’m still pretty excited about it.  I was looking to create a different kind of deckbuilding tool that took into account the result of playtesting.

There are hiccups (like accidental javascript closures that cause some unintended data ‘memory’ that can mess things up), layout issues, and features are not implemented, but have buttons in the menu for them.

Once polished up a bit more, it will be posted on another subdomain of this site (mtgwebapp.wrightonlineworks.com or something similar).

I’d love some feedback and suggestions once it’s up.

The State of Standard–Dec. 2014

The Standard metagame continues to fluctuate.  Decks that were good have continued to evolve–and still show up, and new ones continue to crop up.  Reanimator has come on  strong over the past few tournaments.  Whip of Erebos (no real surprise here) has become an important tool in this strategy.

Jeskai continues to stick around, but what the ‘best Jeskai Ascendancy deck’ is remains to be seen.  Right now, the answer seems to be avoiding going all in on the Ascendancy combo plan, and operate like a tempo deck for the most part.  Since it operates as a tempo deck, Hordeling Outburst has found yet another home.

Many of the successful control decks appear to be UB in construction.  Going 1-for-1, refilling your hand with Jace’s Ingenuity and the like, resetting the board or removing hard-to-deal-with threats using Perilous Vault, and finishing games with Pearl Lake Ancient.  There are plenty of exceptions to the rule, however.

Standard has become quite an open format.  Play any deck type you wish to, and you will have a reasonable chance against anything.  It’s refreshing to see such changes.  Here’s hoping things continue in that direction.

How to play Steam Augury

For starters, let’s break down the card.  Steam Augury is a 4 mana instant that costs 2UR.  Its CMC is the same as one of the most skill intensive cards ever printed: Fact or Fiction, and its similarities to the Extended staple don’t end there.  It digs 5 cards deep, the cards get separated into two piles, and one pile gets chosen over the other.

The primary distinction between this and Fact or Fiction is a pretty big deal, however.  The caster is the one who makes the piles and the other player is the one who chooses the pile to be given to the caster.  This makes getting what you want off a Steam Augury a little tougher than if it were a reprint of Fact or Fiction.

However, the one advantage Steam Augury has is made apparent when multiple cards of the same type are revealed in the five.  If digging for lands and there are 2 lands revealed, the opponent will not be able to force you to choose between lands or spells.  The same is true for removal spells and threats.

In splitting piles, players will typically want to stack the piles such that one of the important cards are in each of the piles.  If there is a card that is overwhelmingly important or just wins the game on the spot in the current boardstate, that card will get put by itself with the other four cards in the other pile.  Pretty self-explanatory.

The card is obviously better when you are ahead, when you are not digging for anything specific, and your opponent doesn’t know what you have in hand.

With the return of the Delve mechanic, Steam Augury provides added value.  Cards like Treasure Cruise, Empty The Pits, and Dig Through Time come online faster, and 4-1 pile splits become a slightly more reasonable option than they would be otherwise.

 

UR Control: Why NOT to build it like UW…

In all honesty, UR Control seems fair, but some of the cards clash pretty hard.  I’ve been running Trading Posts in place of the Young Pyromancers I don’t have and am too cheap to purchase right now.  The deck is durdly, even for durdly decks, and really wants to be on the offensive… or at least it seems that way.  Ral Zarek is pretty unimpressive without some kind of backup, or creatures to clear the way for, or to untap after they attack.  Elixir of Immortality is in primarily because U/W control runs it, but hitting it with Steam Augury is REALLY miserable.  Sure, you can get four cards off your Steam Augury when that happens some of the time, but you would rather have the Elixir in those situations.  You’re also not going to be drawing 10 cards every turn like U/W gets to do.  Not gonna happen. Period.  Don’t get me wrong… Steam Augury is an all-star of a card, but it can under-perform when you are digging for one card in particular and your opponent knows it (cough, cough,  Aetherling,  cough…).

If you get to Aetherling mana, the game will be over in quick order usually.  Overloading Cyclonic Rift is sometimes your only way to stabilize, which makes a pretty good case for adding Mizzium Mortars.  The only way I can conceive of to compensate properly is to make the deck more aggressive.  (earlier posts have a link to the original control list if desired).  The deck really wants to be on the more aggressive side.

Here’s what I’m thinking:

8 UR sources
2 Islands
13 Mountains

total: 23 lands

2 Hammer of Purphoros
3 Izzet Charm
1 Ordeal of Thassa
4 Steam Augury
1 Bident of Thassa
4 Lightning Strike
2 Counterflux
1 Negate
1 Voyage’s End

total: 19 spells

4 Firedrinker Satyr
2 Frostburn Weird
4 Rakdos Cackler
4 Gore-House Chainwalker
4 Splatter Thug (sort of trades w/ Reckoner, solid blocker in the matchups where it’s relevant.  Probably should be Reconer, but I’m cheap and not running Fanatic of Mogis, which is probably incorrect…)

total: 18 creatures

sideboard:

3 Ral Zarek (goes in against UW Control, red aggro, mono-B devotion.. I’m sure there are others…)
2 Negate
2 Counterflux
3 Divination
1-2 Island (or UR source once Born of the Gods comes out?)
1 Frostburn Weird
1-2 Prognostic Sphinx
1 Ordeal of Thassa

The post-board controlling version seems decent, but will be a bit top-heavy on its curve, even after adding 1-2 lands.  That might be reason enough to cut another Ral Zarek from the sideboard or make Prognostic Sphinx a 1-of in the board.  The Sphinx is a solid blocker against most of BW midrage’s threats, Mono-G, Mono-R, and Mono-U devotion decks, and lets you rifle through your deck or set up for some stacked Steam Augury’s.

Prognostic Sphinx won’t be in against UW because of their wraths, which will undoubtedly get left in.

The mise Ordeal is to provide a mana sink, add extra damage, and make for a ruthlessly explosive start in some games.  I can’t see running more than two Ordeals, and it might be right to just run none of them, but give me a break… I came up with this from scratch with no playtesting to support it.  I think Ordeal of Thassa barely edges out Ordeal of Purphoros because of its ability to compensate for the card disadvantage when you manage to cash it in.  Riding a turn 1 Cackler to victory seems pretty satisfying, and it seems more likely to happen when you’re drawing 2 extra cards when you attack on turn 3 instead of dealing 3 damage to a player/creature.  I don’t think it would be the case in a less controlling deck, but here, I think it is.  Madcap Skills would get the nod over Ordeal if the curve were dropped further and the deck became still more aggressive.

Counterflux is a great card to have against control.  Sphinx’s Rev, a late Detention Sphere, an Azorius Charm to stay alive…  They can’t fight over anything they are casting!  The drawn-out counter-wars will revolve around the spells you are trying to resolve.  Since many of your spells are low casting-cost creatures, you should have a bit of an advantage in the mana department.  Unfortunately, the U/W wrath isn’t counterable.  That doesn’t mean there are no ways around it.  Hammer of Purphoros provides a sustainable stream of attackers and Voyage’s End lets you save a creature from certain doom.  It’s probably better to save that to protect Hammer against Detention Sphere, however.

Esper has a bit of an edge through Duress and Thoughtseize.  Getting your hand torn apart is a real possibility.  If given the opportunity, trade Izzet Charms for Thoughtsiezes and Duresses.  It won’t be useful outside of that unless they have Pack Rat in the main.

That’s all I’ve got for now.  Merry Christmas!

Izzet control

Izzet is a strange pairing of colors… reckless aggression and rage meets calm and patience.  It seems like a color pairing that will always produce some form of aggro-control similar to Delver… Resolve a threat and protect it with countermagic.  Well, I wanted something a tad more controlling, with the ability to board into a more aggressive build after game 1, and early experiments have been promising.  Aetherling is the best finisher a control deck could ever ask for.  Even Elspeth, Sun’s Champion can’t do it justice (and Elspeth is an awesome card.. don’t get me wrong).

(here’s my list for reference)

Don’t laugh, but the best card in the deck is probably Lightning Strike.  It deals with a majority of the big loyalty producers in mono-black and mono-blue devotion, and it trades 1-for-1 with Reckoner (granted, you take damage, but still… a sweet trade).

The slots that were originally Trading Posts are Young Pyromancers.  The Trading Posts didn’t perform as well as I had hoped in protecting my life total.  Maybe it should be a 1-of in the sideboard.  Sometimes, discarding a card to gain 4 life was good or paying 1 life and 1 mana for a chump blocker, but not very often.

Izzet Charm is really underwhelming in a deck that doesn’t run a whole lot of card draw… its third ability is almost completely irrelevant.  It seems I’m usually pretty elated to trade this away for a mana dork or other durdly creature.  The other modes have never been relevant.  Ever.  Granted my testing consisted of three rounds of far less than competitive REL Magic.

Cyclonic Rift overloaded is an out to anything hexproof, gets rid of planeswalkers about to ultimate, and sometimes is just a non-overloaded tempo play to keep up the pressure when you go on the beatdown.  Sometimes, you live in magical Christmas Land and stabilize on the back of double overloaded Cyclonic Rifts.  Sometimes, but not often.  It is the deck’s “wrath” effect, but it costs just a tad more.  Mizzium Mortars and Anger of the Gods may have a place in the deck as well, but I haven’t fully explored all my options yet.

The most annoying threat to this deck comes out of the sideboard: Mistcutter Hydra.  If it gets more than 3 +1/+1 counters put on it, it is nigh-impossible for the deck to deal with inside of Izzet colors.  Ratchet Bomb does a reasonable job, and can do a lot of work against other cards as well.  That might be the answer, particularly considering how well Ral Zarek interacts with Ratchet bomb.

Steam Augury has been pretty sweet… None of the cards you pull off of it are bad.  Even if it’s all land, it’s still pretty sweet because you didn’t have to sit there and draw all five of those lands.

The aggressive vane in it seems pretty obvious to me, but maybe I should cover it anyway… but it’ll have to wait.  It’s 2:40 in the morning here.. time for bed.

Happy Thanksgiving by the way!

Bob the Hand Builder

With Dark Confidant being one of the best 2-drop non-‘goyf plays in any format, it is small wonder that he is priced around the $60 mark.  Certainly not on par with Necropotence in terms of power level, but still very good.  Suicide black loves this creature…  Some of the old legacy lists containing this creature are pretty much Necro Lite, running Hymn to Tourach, Hypnotic Specter, Nantuko Shade, Tombstalker, Umezawa’s Jitte, Thoughtseize, Tarmogoyf, Sinkhole, Dark Ritual, and Wasteland.  An old Legacy’s Allure article has a composite list to take a look at.

Recently in Modern and other formats, Dark Confidant has found a home in a nasty little brew called loam aggro (or aggro loam.. whatever it is…).  The deck uses card advantage extremely efficiently.  Here’s a Legacy list for comparison.  Aside from the sweet lands you get to play in Legacy, things stay pretty much the same when it’s ported over to Modern.  Between Life from the Loam, Dark Confidant, and Countryside Crusher, you have an endless supply of cards to pitch to Seismic Assault and Liliana’s discard ability.   The deck is fairly resilient to graveyard hate and other methods of dealing with the deck’s routes to victory.  Probably one of my favorite additions to the modern deck are the sweet Retrace spells the deck runs.  Raven’s Crime and Flame Jab provide a great outlet for excess lands without the need to have a Seismic Assault online.  In this deck, Life from the Loam is pretty much a 2-mana sorcery speed Ancestral Recall because of the many options the deck has for using the lands you pull from it.

Bronson Magnan took the deck to a first place finish at Grand Prix Lincoln earlier this year.  It is a potent deck that shuts down aggro strategies, has lots of disruption for control and combo decks, and has a very fast clock.  I strongly suggest taking it for a spin if you get the chance.

If this present state of affairs is any indication, Dark Confidant is, and will continue to be a format-defining staple.

I’m back!

Good news, everyone!  I have decided to return to the game.  I have a lot of time on my hands right now since I am recovering from a seizure and infection, and can’t work or drive.  I’m going to stick to standard for most of my  gaming.  I’m afraid to make any forays into Modern due to the crazy combo decks in there.  I haven’t looked into it recently so maybe things have changed, but I’m a tad lazy.  Going to be hard enough to catch up on what the meta in standard looks like as it is.  Since my computer is on the fritz, I am going to be typing on an iPad (boo hiss… Apple), and my ability to play test is going to be SEVERELY restricted until I get another computer.  I might try to wipe my computer hard drive and install Linux, but I’m not convinced the problem can be solved so simply.

I want to put together one deck in particular right now.  It revolves around Burning Vengeance.  It is probably the most fun deck I have seen in standard that can actually pull off wins against top tier decks, and I have a lot of the expensive cards I need for it on MTGO.  Burning Vengeance allows the player to use cards like Think Twice to not only obtain card advantage, but to kill creatures or damage the opponent.  Other flashback cards and cards recast off of Snapcaster Mage provide a massive card advantage when Burning Vengeance is on the battlefield.  Decks that aim to end the game really late or really early can both cause problems for it, however.  Hopefully, I can have a list up by the end of tomorrow and have some sort of sideboard plan to shore up those tough matchups.  I might play around with Search the City to push the card advantage over the edge and give me a better late game.  Delver of Secrets is also in consideration since the deck loves sorceries and instants.  Lots of fun possibilities.

Well… time to get to work.  I will have a list out soon.  See you then!