Magic The Gathering: Arena

Magic The Gathering: Arena Dev Tracker



Originally posted by jasonsavory123

Can I ask why this approach to creating rules was chosen and simultaneously we don’t have a larger card pool? If the rules are generated by reading oracle rules text, why is pioneer, modern, legacy etc not available ?

I could understand the smaller card pool if rules were manually implemented as functions or equivalent, but this threw me for a loop as something that seems too complex for the limited card pool the game started with.

Well, the dream has always been for the card parser to be a massive productivity boost for backfilling MTG's card catalog. There are a few reasons why it isn't just a snap-of-the-finger though:

  • The Pareto Principle applies: the parser is excellent at handling normal MTG card text, but a sizeable number of MTG cards do things that really no other card does. For example, [[Void Winnower]]'s prohibition on casting even-mana value spells would play some havoc with casting X-cost spells. Perhaps we could just dump the large proportion of cards that work "for free" in engine...

  • ... but in-engine isn't the only concern. There's also the client experience to consider. The engine's been worked on for longer and supports some interactions that the client has never needed to implement before. Plus there's our standards of presentation: we want new content we release to meet our standards of clarity to players and to work with our auxiliary systems like autotap...

Read more

Originally posted by jmorganmartin

We got a Bug-Atog!

Thanks! It is fascinating.

What about [[Blazing Torch]]?

It was a new-to-Arena card affected by the same bug. It makes sense that you wouldn't write a specific test for this new card with (basically) the same effect as Ninja's Kunai, and it makes sense that you don't re-test every old card. But, you also said that all new cards are tested by the human QA team.

Was Blazing Torch overlooked by human QA because it was on the rotating bonus sheet? Pure speculation on my part, but perhaps they didn't have as much (or any) time to test with those cards because they were late add-ons to the set, or something like that?

That's an excellent question! The unfortunate truth is that Gutter Grime's implementation came in pretty late, apparently after Blazing Torch was retested for release. That's pretty abnormal, and mega-unfortunate. #wotc_staff


Originally posted by space20021

The rules engine was not coded by hand, but generated from machine learning and NLP...?

That's a bold move

Machine learning is not used in our parser. The generation of code is intended to be deterministic, which is a feature machine learning is not a good fit for. Our natural language processing techniques are more old-school stuff like generating syntax trees from grammatical productions and encoding semantic meaning with first-order-logic expressions. #wotc_staff


Originally posted by DeeBoFour20

Interesting read. I appreciate the transparency as well. I understand bugs like this can slip through and it's not reasonable to manually test some draft chaff from 4 sets ago.

Can you elaborate on the problem with the "emergency ban" system? I've seen people on here saying that's it bugged. Apparently a WotC employee made some statement to that effect. I think a lot of people got upset that there was no immediate remedy to stop people from cheating for multiple days while you're working on a patch.

I can't really, as it's outside my area of the code. I'm focused pretty much entirely on the "playing a game of MTG" side of things. I do know that getting that system working again is a priority for us. #wotc_staff


Originally posted by Crystal__

Now I have the irresistible urge to test the behavior of [[Toralf's Hammer]] pre-bug. Does it deal 3 damage for each permanent you control? Only for each equipment you control? Only for each attached equipment? Only 3 damage regardless? Would it magically unatttach all other equipped equipment you control? Would MTGA collapse trying to unnattach permanents without Equip ability? So many questions!

When we made the Gutter Grime change, our test for Toralf's Hammer failed. That led to us actually carving out an exception to the "delete the ability constraint" for "unattach" costs, which led to that test passing again. We really should have taken that as a warning sign that other similar cards may have issues, certainly. But the upshot is Toralf's Hammer never ended up buggy in release. #wotc_staff


Originally posted by RealisticCommentBot

similar for multiple serra paragons , though it is at least relevant in some way in that case as you can only use it once per turn per serra paragon

That is absolutely intentional. You should also be able to tell which Serra Paragons have been "used up" (and may want to change which you prefer based on the state of the different Paragons). #wotc_staff


Originally posted by ghalta

Well, we don't want to make a separate action for each Falco you have out - we just have one action for "you're casting a particular card using a Falco ability" - we don't keep track of which ability-on-a-Falco is responsible, as it's irrelevant (and if it were displayed, perhaps misleading to a player!).

Back when rune decks were a thing, and I had multiple [[Runeforge Champion]] on the field, Arena would make me pick which one's ability I was using when I wanted to case a rune for (1) instead of its casting cost.

That seems like a very similar situation. I haven't played that deck in a long while, as it has fallen from standard. Were both changed so that the player didn't have to pick? If not, why were they handled differently?

You know, I think that actually is an undesired behavior. Our rules for providing an alternative cost to an existing action, as Runeforge Champion does, do not have the logic of "is the source object meaningful" like our rules for providing novel action permissions do. I think I'll make a ticket for that, thanks for bringing it to my attention! #wotc_staff


Originally posted by EmTeeEm

Hi Ben! Thanks for the write-up. I love behind the scenes stuff like this.

While we've got you here, could you answer a question I've had for a while: were Boons invented to help the card parser? They kind of confused me because they seem like a thing Alchemy and Arena were already doing for delayed triggers, but with adding the words "You get a boon with..." to everything.

It is just something I've been wondering for a long time, since it seems like it didn't add anything Arena didn't already do, otherwise.

Boons have a few things going for them:

  • We (Studio X card design and us Arena devs together) first got the idea after puzzling over Y22-MID's [[Tenacious Pup]]. We wanted an embedded trigger inside a triggered ability, and for that to be the outer trigger's only effect. But something like "When CARDNAME enters the battlefield, when you cast your next spell" was dissatisfying to read. For the Pup, that's why the 1 life is tacked in there. But we didn't want trinkets like that to be the long term solution. So advantage #1 is that it's a more pleasant read.

  • Boons are currently digital-only, as they sort of have a memory issue for paper. More digital design space is fruitful for us.

  • As they are digital-only, we have more flexibility in adjusting the game rules around them if design needs that compared to paper mechanics.

One disadvantage is that it's pretty awkward to make downside boons, given the connotation of the w...

Read more

Originally posted by HotTakes4HotCakes

They likely still have to go through each individual one and check or tweak it.

But when you really think about how card text is written, how standardized it is, and that it has been written that way consistently (more or less) for years now, it's really not all that surprising they can do that.

In a sense, the cards are already written in code. You have an official rule set that explains the order of operations and defines specific functions for specific text, then you have card text that is written methodically to adhere to it. It's all structured logically so the results are seldom in question.

Compare that to some other digital only card games where they don't care very much about the consistent logic of the text. The cards were programmed to work as intended, doesn't matter if the player gets it.

In practice, at least 75% of the cards' generated code do not need individual attention. The advantage of the language of MTG cards is that it's very precise. This is what allows our project to not be a fool's errand in the first place. #wotc_staff