fbpx

SCG Talent Search – Drafting With Pedro #1

Thursday, November 11th – Drafting is complex. Do you want to know how complex? Check out Pedro’s ambitious project to use relationship models to help make software for optimizing one’s draft skills!

Let’s get one thing straight right off the bat. I suck at Magic the way JaMarcus Russell sucks at being an NFL quarterback. No tech shall be had and no pwnage shall be taught. If that’s what you seek, stop reading. Yes, you. You know who you are. You come here to this here site here because of the cardboard sickness that fills us all. If you’re a magical god, I have nothing to teach you about how to tap the magical cards. Brad Nelson, this means you, so please stop reading before I’m forced to merge you back into Conley Woods.

Good. Let’s proceed.

For years now I’ve wanted to learn how to be good at Magic. Alas, I have come to accept the fact that it’s not meant to be. Life just did not follow that path, the time required isn’t there, and I can’t really see it becoming available. Don’t cry for me, Magictina, there’s a silver lining to this dark cloud. A well-known truth is that those that can’t… teach. Since I can’t really play that well, it must mean I can teach someone how to do it, right?

If you’d like to learn how to
think

differently about drafting, then
Mark Herberholz, come on down!

Now, how exactly do we… wait, who’s that in the back? Brad Nelson, I told you to leave. Shoo. Go, and take Chapin with you. You two can go somewhere, and break formats and whatnot; we will remain here and continue with the work at hand.

I’m waiting.

Really?

LSV, let’s just get it out of the way. As a matter of fact, the entire team CanalBolaDeFuego is excused. Todd Anderson and Fernando Solorzano, you two can sit right up front. I’m sure you could use the help.

Anyone else? No?

Good. Let’s proceed… A-gain. We have a lot of work ahead of us, and there’s no time like the present to make a conscious effort to improve at slacking through Magic.

The Goal

We will undertake the task of defining and establishing four separate elements:

(1) A card relationship model for Limited.

(2) An archetype definition structure.

(3) The software that comes from merging those two.

(4) A community to develop the software.

We are an ambitious bunch, aren’t we?

The Why, Part 1: Where I Attempt to Sound Profound

Jeff Cunningham recently
pointed out

that Magic works as an escape mechanism that lets us flee the complexities of the real world for a place where we can have simpler problems with clear solutions. What a relief. Here I thought I was just a cardboard junkie with a black-bordered-crack habit, but it turns out I do it for deep reasons that are all psychological and stuff. I wonder if I can get a doctor’s note to stay home and draft instead of working? I mean, if I don’t, bad things will happen to my psyche. I’ll just tell the Doc that Ffej said so.

The Why, Part 2: Truthiness

I’m getting sick of having my posterior handed to me in the ever-competitive 4-3-2-2 queues of Magic Online. If I were trying to learn how to shoot free throws, the path to follow would be mapped out: learn correct technique and repeat and repeat and repeat until my body would learn to do it without having to think about it. How do I learn to draft? Where will these repetitions come from? Even if I were still back in high school and had
infinite time at my disposal, where would the money come from for endless drafts? Sure, I could go the Geordie Tait route and
steal my mom’s credit card,

but that seems like a suboptimal strategy. Also, to remain consistent with my lifestyle choice as a Magic player, is there any way to avoid having to do the work involved? Some call it laziness, I call it strategery.

strategery 3

The Non-Sequitur, #1: Self-Promoting Name-Dropping

Brian Kibler Patrick-Chapined Zvi Mowshowtiz’s Mike Floresian only to find Ted Knutson had Mike Longed him first.

Booya.

The What, Part 1: Card Networks

When making the evaluation of whether a card should be picked out of a draft pack, there are many variables to be analyzed. Mostly, though, what we focus on is how the card relates to others that have already ended up in the pile as well as how that positions us for later stages of the draft. It is clearly apparent to us all that some cards play well with others and some cards tend to undermine their counterparts. This is the sort of thing that is simple to grasp, for a human, but how can we formally define these relationships in a way that a computer can understand? Remember, computers can be incredibly stupid. They actually do what you tell them to do.

ENTITY RELATIONSHIP MODEL 1: CARD STRUCTURAL ELEMENTS

So, let’s look at this crazy drawing full of squiggles. This is called an Entity-relationship model and is used for building databases. First off, the rectangles are Entities. They are things, even if they are not physical things. The rhomboids (tilted squares) are relationships. They describe how entities relate to each other or to themselves. The circles are attributes. I’ve highlighted the positioning within the model of certain attributes to make sure they don’t end up in the wrong place. You’ll notice that relationships have either a “1” or an “n” along their axis. A 1:n (one to n) relationship means that one Entity relates to several of the other Entity, but not vice versa. For example, one car can have many doors, but one door cannot belong to many cars. An n:n relationship (n to n) means that many instances of an entity can relate to many instances of another. A student can be enrolled in many courses, and a course can have many students enrolled in it.

Got it? If you didn’t then don’t worry. Read through, and it should become easier to grasp with examples.

We begin with our most basic entity: CARD.

A CARD must exist in a FORMAT. Without a defined FORMAT talking about a card is about as useful as TheFerrett’s unnecessary
motivational bukkake

references. Sure, it makes you giggle and brings interesting images to mind, but there’s nothing to be gained from it.

A CARD has many STRUCTURAL_ELEMENTS and a STRUCTURAL_ELEMENT can be found on several CARDS. This is an n:n relationship. STRUCTURAL_ELEMENTS are what we actually see printed on cardboard. STRUCTURAL_ELEMENTS can be grouped by STRUCTURAL_ELEMENT_TYPES. Some samples of STRUCTURAL_ELEMENT_TYPES are:

  • SuperType

  • Type

  • Class

  • KeywordMechanic

  • Color

(I know there are many still missing, that is what forums are for.)





Stop the hate crimes. Spiders are people too.

This card would have a STRUCTURAL_ELEMENT called “reach” that is of STRUCTURAL_ELEMENT_TYPE “KeywordMechanic”. At the same time it has a STRUCTURAL_ELEMENT called “green” that is of STRUCTURAL_ELEMENT_TYPE “color”.

Many STRUCTURAL_ELEMENTS have values attached to them while several function merely as binary instances; they exist or they don’t. For the Giant Spider above the STRUCTURAL_ELEMENT, “Power” has a value of 2. This is stored in the StructuralElementValue fields.

I just re-read this last section, and it is dryer than Paul Cheon skin after swimming in the ocean and getting baked by the sun while an island native delivers chilled drinks with umbrellas and small berries. We need to mix it up with some humor or interesting facts of some sort…  too bad the only jokes I know are not PG13; besides, you are hooked now. If you made it this far, just admit you’ll make it to the end, and power through the entire article. Why? Because I double-dare you to stop.

ENTITY RELATIONSHIP MODEL 2: CARD GAMEPLAY_ROLES

The concept of GAMEPLAY_ROLE is one that is often discussed in draft archetype articles. Anton Jonson refers to them as
“slots.”

So what are some of these GAMEPLAY_ROLES that cards can fill?

  • Creature

  • Card Draw

  • Spot Creature Removal

  • Mass Creature Removal

  • Spot Artifact Removal

  • Win Condition

  • Mana Fixer

  • Mana Accelerant

* (Food for Forum Trolls: start making a list of all the ones that are missing and the ones that I got wrong)

A CARD can fill many GAMEPLAY_ROLES, and those roles can be filled by many different CARDS. Whadayaknow? Another n:n relationship.

We can quantify, on a simple scale of 1 to 10, how strong a card is within the spectrum of a particular GAMEPLAY ROLE. Not all Mass Creature Removal is created the same. If you had to rank a card on how massive its removal is you’d find many levels of intensity. Wrath of God is a 10. It’s about as massive as removal gets. Pyroclasm might be a 5 or 6, Arc Trail is a 5 or 6 in Scars Limited. This number gets stored in the attribute StrengthOfRoleFulfillment.

You all with me so far? Good, because here’s where it starts getting funkier than George Clinton after a night of dancing.

ENTITY RELATIONSHIP MODEL 3: CARD SYNERGIES

Yes, this is a lot more squiggles. I’ve taken the liberty of marking the new relationships in a different color (red). They work exactly the same as what we’ve been doing (green), the differentiation is merely for clarity, except for those of you that are colorblind. Sucks to be you.

What is synergy? Synergy is when cards in your deck work well together with each other in ways that enhance the value of each component card beyond its individual attributes.
Synergy is the total being greater than the sum of the parts.

These relationships have to be considered in how they interact with our current, selected card pool as well as how they affect my enemy’s deck and are affected by it. Each of these synergy relationships has a weighted value from -10 to +10. Yes, synergies can have negative weights.

For example, a Black Knight in my opponent’s deck is anti-synergistic with my white weenie beatdown deck. I’d give him a -7 in the relationship SYNERGY_FROM_OPPONENTS_DECK_TO_MINE.

So how can we define synergy formally, in a way that a computer can understand? We do it through relationships between CARDS, STRUCTURAL_ELEMENTS, and GAMEPLAY_ROLES. Each of these can relate to the others as well as to itself in three separate ways:

a) SYNERGY_WITH_MY_DECK

b) SYNERGY_WITH_OPPONENTS_DECK

c) SYNERGY_FROM_OPPONENTS_DECK_TO_MINE

Basically, we want (a) to be as high as possible, (b) to be as low as possible, and (c) to be as high as possible. We want a deck that plays nice with itself, hates the opponent’s deck, and is, in its turn, not hated out by the opponent’s deck.

For the purposes of saving screen space and avoiding unnecessary drawings the model only outlines the synergistic relationships between GAMEPLAY_ROLES and STRUCTURAL_ELEMENTS. Just find the other relevant elements and rinse and repeat.

The Why, Part 3: Crack-Head

The only thing that takes more hours of my life that should be dedicated to sleeping than Magic is designing. Building this has been more fun for me to do than it is for you to read. In a way I win, in another I lose. The turmoil makes me want to go to the fridge and eat cake, but I stand strong in my resolve to avoid the evil cake. That’s what cookies are for.

The What, Part 2: Archetype Definitions


In a previous article,

I explored what interesting information could be obtained from examining the results of actual Magic Online drafts. This approach, while simplistic, asks questions that most of us have had at one point or another:

1) What is the Average Pick Height for each card, on each booster, for a draft?

2) What is the Average Maindeck Usage percentage for each card?

3) What is the Average Sideboard Usage percentage for each card?

4) What is the Average Game Win percentage for each card?

5) What is the Average Land Count for decks?

I will be the first to say the approach was naive. These questions ignore the synergy dimension of Limited deck building. The best draft decks are not merely a compilation of good cards and of pick lists, they work like well-oiled machines with different parts fulfilling different functions. The problem we face is that “Draft archetype” suffers the same fate as “pornography”: difficult to define but easy to recognize, at least for those if us with experience.

Drafting… get your mind out of the gutter.

Even when we know about an archetype, it seems difficult to translate this knowhow into a true system. Every theoretical Limited article states, in some way or another, “it’s impossible to define why we do what we do.” There’s no cookie cutter available for those of us that want cookie cutter analysis on Limited formats. This vacuum has hurt Artificial Intelligence development in Magic. We need a defined meta structure for Draft Archetypes, since Limited is easier to solve than Constructed from an automation point of view.

Want to hear something that is going to blow your mind? I happen to have a meta structure for Draft Archetypes.

Blown, right?

Your mind… Start using the head above your shoulders more.

ENTITY RELATIONSHIP MODEL 4. ARCHETYPES IN FORMATS

So what is a DRAFT_ARCHETYPE? First, we can see they exist in a defined DRAFT_FORMAT, we can also tell that this DRAFT_FORMAT has cards in it. All very basic stuff so far, almost like STRUCTURAL_ELEMENTS for CARDS, anyone can see them at first glance. Since our goal is to create a system by which auto-drafters can become significantly better we must add elements that are going to help us in picking a card over another in a pack. Let’s start with the element of synergy.

Not all Draft formats are created equal. The importance of synergy in a Draft format is directly proportional to the linearity of the set’s mechanics. For example, in a core set, synergistic decks tend to be the icing on the cake since core sets are built out of
modular mechanics.

If you’ve already drafted a bunch of good cards with a good curve and appropriate color requirements, you have a deck that will win often. If, in addition to all of that, you have a deck that plays well together then your piece of cake has icing and a nice cherry on top.

Rise of the Eldrazi was an incredible synergistic format. You had to get a DRAFT_ARCHETYPE deck if you wanted to win.

How do we separate formats where synergy reigns? The FormatSynergyValue variable. I’d give Rise a 9 and M10 a 4.

We can also differentiate the importance of synergy from one DRAFT_ARCHETYPE to another in the same format. For example, in M11 a “Scroll Thief deck” needs the internal synergies of its cards to be strong while a “good-stuff green” deck can rely on, you know, good stuff.

The importance if internal synergy values of DRAFT_ARCHETYPES can be stored in the variable ArchetypeSynergyValue.

This is all well and good, but we’re still nowhere close to actually picking a card… picking a card… what about pick orders? These lists were all
the rage before Wizards restructured the Limited formats and started pushing synergistic builds with Rise. The master of this format, Ben Stark, said:

“Pick orders shouldn’t be followed exactly because most of the time you want a combination of cards that synergize well and not more copies of a card that is slightly better than the next card.” Note he didn’t say they were useless, just that they were not to be blindly followed. Why?

ENTITY RELATIONSHIP MODEL 5. PICKING A CARD

A DRAFT_ARCHETYPE is formed by the CARDS that belong in it. These cards have pick orders in the sense that some cards should be picked up before others. They also have minimum, maximum, and optimal counts. The best example for this is Squadron Hawks in M11 UW skies:

OPTIMAL CARD COUNT = 3 Squadron Hawks

MINIMUM CARD COUNTS = 2 Squadron Hawks

MAXIMUM CARD COUNTS = 4 Squadron Hawks

Any more than three Hawks is bad because you increase the risk of getting two of them in your opening hand, which is basically taking a mulligan. Playing only one copy is retarded, thus the minimum of two.

But it seems very simplistic so far, right? A DRAFT_ARCHETYPE is a card list? Not really.

ENTITY RELATIONSHIP MODEL 6. PICKING A ROLE

I’m going to give you a couple of minutes to study that diagram and start playing around with it…

Let’s pretend I wanted to define the optimal Eldrazi Ramp deck that was killing all sorts of mages back in Rise of the Eldrazi based on the GAMEPLAY_ROLE of its cards:

Elite Removal: 3
Mediocre Removal: 1
Elite Mana Accelerants: 6
Mana Fixers: 4
Elite Finishers: 4
Finishers: 5
Creatures: 14
Early Defense: 5

Why does the build above have so many cards? The CARD Overgrown Battlement can fill several GAMEPLAY_ROLES: Mana Accelerant, Early Defense, Creature. In addition, it has strong synergy with cards that have the STRUCTURAL_ELEMENT KeyWordAbility “Defender.”

Now, if we were to sort the GAMEPLAY_ROLES in the order in which that archetype values them we would find:

Elite Finisher
Elite Removal
Elite Mana Accelerants
Mediocre Removal
Mana Fixers
Finishers
Early Defense

So… this means that now we can tell a computer how to prioritize while picking cards depending on what archetype its drafting?

amazing

I can continue fleshing out the Entity-relationship model for this, but I figure getting all your food pre-chewed is bad for developing jaw muscles so here goes a challenge: The first person to post a proper E-R model about Draft Archetype definitions gets a gold star, a lollipop, and the right to brag. If you’re currently taking a course in Data Base design or Artificial Intelligence in school, please try to see if they’ll accept it as class work. Let me know about it if you’re interested or need some technical help.

Here are some of the elements that are missing:

* MANA CURVE (based on the moment when you actually want to play the card. Viscera Seer is a turn 1 play, Disentomb is not, even if they have the same converted mana cost)

* PACE OF PLAY (fast, medium, slow)

If no one steps up to bat I’ll write a follow-up article expanding this concept, although this has “great practice” written all over it for anyone interested in Magic, Artificial Intelligence, Data Bases, or design in general.

Here is another interesting task. Translate this article (
Part 1,


Part 2

) by Zvi into the model outlined above.

The Reward: DraftMaster3000

So now that we have a way of defining relationships between cards and a way of fleshing our archetypes, what’s next? The DraftMaster3000. Yes, I know the name sucks, but please humor me. My cat is named USNavy Jose Alvarado Blanch for a reason.

Wizards of the Coast has an auto-draft bot that updates once a week with a core-set draft. Click
here

please if you haven’t seen it before. From now on I’m going to assume you’ve seen it. Why? Because the proposed platform is meant to be an evolution of that.

The current Wizards draft bot has four basic features.

1 – Current Pack Card List

2 – Already Picked Cards List

3 – Hint

4 – Card Zoom

They solved several of the issues found in the first draft bots, mainly better AI and graphics, but missed some low-hanging fruit that were there for the picking. No problem. You can call me Pedro “Hive Mind” Alvarado. Since they are nice enough to provide me with Magic on a regular basis I’ll be nice enough to help them improve their delivery form of my second favorite drug behind caffeine. Why? Because I want it, and I don’t have the time to build it.

These are improvements that can be put in without having to change anything major with the Artificial Intelligence that drafts the cards:

1) A tournament practice setting with auditive count clock to simulate Pro Tour rhythm. It’s different to look at cards and think of picks in the quiet of your home than when someone is telling you “Pick up the cards, you have 30 seconds, 15 seconds, 5 seconds, DRAFT!”

2) A pause and train setting. Pause on picks 9-15 and ask player to list cards missing in the pack. Let him know which ones he got correct and which ones failed. He’ll practice remembering the cards and will start finding it easier to do after a while.

3) A show cards missing from pack checkbox. The cards can be grayed-out to differentiate them from cards available for picking.

4) A “go back” button so you can roll back the draft and re-do from any point in time. Want to go back three picks? Okay, go ahead.

These are improvements that can be put in with a revamp of the Artificial Intelligence that drafts the cards based on the models outlined above:

1) Archetype signals from right. What are you getting sent?

2) Archetype signals sent left. What are you telling people downstream?

3) Track archetype. You pre-select one of the known archetypes, and it will keep track of cards seen for it.

4) Card evaluation explanation, all variables, and their respective values. Synergy, pick height, card ranking, etc.

5) Auto-correct when mistaken setting. This is what the “hint” button does.

6) Hate-drafting: When a card will absolutely kick your deck in the nether-regions, it might be a good idea to hate it out.

(
Forum Homework:

How else can we improve the tutorial functionality of the drafting bots so as to make learning to draft easier and thus help the community?)

Some of you might have spotted the flaw in my evil plan. Who exactly is going to do all of this? Sure, you can define how one KeywordMechanic interacts with others and with itself, but someone has to actually go in and put all of this analysis and information into the system… Who has too much time on their hands and an unhealthy obsession with our favorite past time?

Magic-Playing High Schoolers.

Yes, I want to crowd-source the drafting metagame.

The Why, Part 4: Vote for Pedro

SCG Poll

The How: Hive Mind FTW

There are two community elements that must collaborate for this to work. First, interfaces for tweaking variables and settings must be built. Anyone with time and a desire to map out card synergies and Draft Archetypes should be able to. Hopefully this will evolve to the point where authors for sites like this site here site will consider it a basic element of their analysis to include a mapped out archetype. Second, the software must be developed in a way that taps a greatly underutilized resource out there: College Computer-Science Students.

Show me twenty Magic players, and I’ll point out fifteen geeks and seven coders, or at least potential coders. A disproportionate percentage of Magic players are interested in computers and information. Why not let them work on it?

Are you an information sciences student? Would you rather spend the next year programming yet another version of a video rental store or working on an Artificial Intelligence for drafting Magic? Yeah, I thought so.

To enable this open-source community for Magic Artificial Intelligence design and programming I propose the following:


First:

Wizards of the Coast has to moderate it. If it isn’t handled by them it will die off, be sued to death, or become incredibly mangled due to no one having a clear vision of what needs to be done.


Second:

Someone please write a printout doc that explains the values of education and this project. Something students can copy-paste and print out to get professor approval on a project. If you post it in the forums, I’ll add an edit to this article with the link included.


Third:

Any power geeks out there? Good. Can you please suggest how this community would be best handled? Where can we run code repositories? Version Tracking? Is there software that makes this job easier? Go to the forums or email me for suggestions.


Fourth:

The only thing better than winning is beating your friends. We are, after all, Magic players. There needs to be a competition where pwnage shall be had and Legends shall be Told. Maybe StarCityGames.com can hold a yearly “Artificial Intelligence Challenge” where the winner gets $1000 in store credit or some such thing.

If anyone from WotC is interested, I’ll give this design away for free as long as you put in the community maintenance labor. You help the community run, and keep it alive. I’d suggest these two items:

  • Keep a link to this article up on the draft bot page.

  • Keep a link of “want to program Magic at school?” up on the draft bot page as well as the main page to keep fresh blood flowing in from the college kids.

The Conclusion: Where We Attempt to Establish a Social Virus

Dear Hive Mind, yes, you. You who come here chased by sharks of cardboard through waters of tokens… do you want Wizards to add an Open-Source Artificial Intelligence project to their Auto Drafter? Let’s try this: click on this
link


and

on this
link

and write an email with the subject line: “Vote for Pedro: we want to metagame the draft.” Yes,
both

links. You know you have the ninety seconds this will consume; you’re reading StarCityGames.com, right?

vote for Pedro

Are you a computer/information sciences student? Are you planning on studying it? Are you a coder that spends too much time reading Magic websites? Would you like to volunteer your time to working on an Artificial Intelligence Bot for drafting Magic that will count as class material? Just click on the links above, and tell these guys why you think it would be the bee’s knees to code Magic at school.

Are you just another Magic player that would like this project to be developed? Do you think people should be allowed to give away their work for the betterment of your life? Drop an email to Wizards voting for Pedro.


Thank You

– Pedro

“If it’s not fun, why do it?”

 

 

 

 

 

P.S.

 

 

 

 

The Non-Sequitur, #2: Crackest-Headest

This is a tattoo a friend got. Still not finished. Anyone else has good Magic tattoos? How ’bout getting an article together on this? Send me your Magic Tattoo pictures to
[email protected]

crackest head

Ricardo Madriz is Mad03