WotC_BenFinkel

WotC_BenFinkel



21 Mar

Comment

Originally posted by Norm_Standart

How does the UI work for cards like Nullhide Ferrox?

Can you clarify your question? In a normal game situation, the way [[Nullhide Ferox]] works is: when either player has priority, that player sees the Ferox glowing, indicating you can activate it. You then click it, confirm that you want to activate it, then the ability goes on the stack.

Nothing in particular changes if you're in control of another player; you should probably be careful that you're making the correct player activate the ability. #wotc_staff

Comment

Originally posted by arotenberg

I saw someone on YouTube suggesting using [[Gutmorn, Pactbound Servant]] to gift an Emrakul into Sparky's hand and see what happens when Sparky takes over the player.

And this comment pointing out that, per the rules, you shouldn't be able to make the opponent start venturing into a dungeon while controlling them, because you can't make them fetch the dungeon card from outside the game to put into the command zone.

Nothing like a whole community of us hyper-literal, game-incentivized nerds to find out how good the test suite is on your new feature.

From our discussions with the rules management, both Companion and Venture into the Dungeon should work with player-control effects. #wotc_staff

Comment

Originally posted by WotC_Jay

So, I used to be an engineer many years ago, but I don't really handle engineering on this project. So I can't speak to the tradeoffs well there. But, for use cases:
Python is used most for parsing the cards and understanding which behaviors we need to bundle together to make them work. A lot of this is processing text/xml/json, which python makes quite easy. Python also has a lot of libraries for natural language parsing, which we use to determine, basically, what a card does.

CLIPS is a rules-based language for designing expert systems, and that's where a lot of the "managing the rules of Magic" code exists. This is what's mostly driving the logic while you're playing a game.

C++ is largely used for handoff with other systems (the matchmaker giving a paired set of players the the CLIPS code that manages their gameplay) and, of course, performance-intensive areas like calculating auto-tap options.

At a super high level, the python code gets card info f...

Read more

Pretty good summary. I'll supplement a bit:

  • Python is used for the offline process of parsing the cards. Its advantages are: access to the Natural Language Toolkit library, simplicity in input/output interfaces, and familiarity for most of the team.

  • Our usage of CLIPS is akin to many games' usage of scripting languages like LUA: it is the primary environment in which content-specific code is run. Its main advantages are that expert systems are a good model for the vast interconnectedness of MTG rules and that it's a language that's very amenable to on-the-fly loading of code.

  • C++ has more of a role in the rules engine than you give it credit for: I'd say it's the skeleton of our game, with CLIPS as its flesh. C++ manages the fundamentals of the game, such as its state machines; it manages message traffic to and from the client, including game state redaction and response validation; and yeah it handles performance and/or algorithmica...

Read more

20 Mar

Comment

Originally posted by omguserius

Oh this is going to be fun

I mean that was before we started getting serious on "let's ship Emrakul." #wotc_staf


26 Feb

Comment

I'm afraid we only learned about this bug a little over a week ago. The fix should go live with the Shadows over Innistrad: Remastered release. #wotc_staff


07 Feb

Comment

Originally posted by Odenetheus

Hey!

I'd like to add that you can use As Foretold to cast a commander for its original cost in Brawl, even now in 2023, despite the cost being supposed to be higher

Can you please clarify what scenario you're talking about? This seems different than the upthread discussion about casting facedown cards from exile. #wotc_staff


24 Oct

Comment

Originally posted by Incarnate_Phoenix

Does it seek two spells that each have a mana value of three or two spells with a total mana value of three?

Good thing I get pings for replies, haha!

It seeks two spell cards with with mana value 3 (for a total of 6 mana value assuming you hit for both). #wotc_staff


31 Aug

Comment

Originally posted by DeeBoFour20

Is this new? The autotapper literally killed SaffronOlive with Channel rather than tapping his Gilded Goose. It was pretty funny. https://www.youtube.com/watch?v=mSohYe3FCB0&t=545s

Did you notice he clicked "auto-pay"? That's the confirmation I'm talking about. You won't drag a spell out from your hand and suddenly go to 0 life from paying mana abilities. #wotc_staff

Comment

Originally posted by Alpha_Uninvestments

“Auto Tap considers life to be a resource and will prefer taking damage over sacrificing another permanent (such as a Treasure token).”

Time to turn off the auto tapper

Autotap won't automatically pay life for mana ability costs; if it detects a life cost it will prompt you to confirm. #wotc_staff


21 Aug

Comment

A part of the comment for the relevant code for this behavior:

We're skipping the "choose X" part and having it be implicit to your choice of resource

This departure from the rules as written was an intentional choice to simplify the user experience for this card. As you say, in 99.99% of games (I'd say more...), you want to get the most loyalty you can from the Casualty ability. In cases this edge-y, we consider the needs of the many to outweigh the needs of the few... or the one. #wotc_staff


28 Jun

Comment

Originally posted by bahhizzle

Is seek random?

As the reminder text reads:

To seek a card, put one at random from your library into your hand.

Comment

Originally posted by jeppeww

If i somehow manage to exile a permanent card with signature spells i still won't be able to cast a copy every upkeep right? I assume this is one of those "linked" abilities?

Correct. "Exiled with" is pretty strong evidence of a linked ability. #wotc_staff

Comment

Originally posted by WotC_BenFinkel

Hello reddit! I'm Ben Finkel, a software developer who's been working on the MTG Arena Rules Engine for over five years. This is a card that I designed! It'll be in the Alchemy Horizons: Baldur's Gate (HBG) release.

I designed this card in my favorite weekly meeting, the Card Design Workshop. This is a sort of "club" that any WotC employee who is interested in MTG card design may attend to flex their creative muscles.

Each week we get a prompt for some design hole that needs new ideas. On August 13, 2021, the workshop got this prompt:

Card details: A blue rare enchantment, instant, or sorcery. Its name is “Signature Spells.” We’re looking for a top-down design of a Wizard ability in D&D. From the D&D manual: “You gain mastery over two powerful Spells and can cast them with little effort. Choose two 3rd-level Wizard Spells as your signature Spells.”

(Plus that the card is intended to be a digital design)

This was my original proposal, which ...

Read more

By the way I'm on vacation this week in Iceland so my responses may not be punctual.

Comment

Originally posted by CHRISKVAS

the set code is YCLB not HBG

I'm really not sure where YCLB came from. HBG is what the set is called in Arena, i.e. how you can search for it in the deck builder. #wotc_staff

Comment

Hello reddit! I'm Ben Finkel, a software developer who's been working on the MTG Arena Rules Engine for over five years. This is a card that I designed! It'll be in the Alchemy Horizons: Baldur's Gate (HBG) release.

I designed this card in my favorite weekly meeting, the Card Design Workshop. This is a sort of "club" that any WotC employee who is interested in MTG card design may attend to flex their creative muscles.

Each week we get a prompt for some design hole that needs new ideas. On August 13, 2021, the workshop got this prompt:

Card details: A blue rare enchantment, instant, or sorcery. Its name is “Signature Spells.” We’re looking for a top-down design of a Wizard ability in D&D. From the D&D manual: “You gain mastery over two powerful Spells and can cast them with little effort. Choose two 3rd-level Wizard Spells as your signature Spells.”

(Plus that the card is intended to be a digital design)

This was m...

Read more
Comment

Originally posted by EmTeeEm

It is how Scryfall was handling Alchemy sets. "A" was already taken by Art Series cards.

I think Wizards calls it HBG.

And that stands for (Alchemy) Horizons Baldur's Gate. #wotc_staff


24 Jun

Comment

Originally posted by CptnSAUS

Did it really need to gain "can't block" in this perpetual way with that much text? Why can't each one just have "~ can't block" written right on the card? And why can't these block anyway? It is not a repeatable effect since these specializations can't specialize again.

She only can't block if you Specialize her from the graveyard. She can Specialize without penalty from the battlefield as normal. #wotc_staff


31 May

Comment

It should be fixed with Thursday's release. #wotc_staff

Comment

Originally posted by diox8tony

The only scenario I can think of is....you get attacked, and later the enemy buffs one/some of those creatures...(and they could all be untapped(vigilance tokens) or he later tapped untapped ones...so you're sitting there wanting to kill the buffed creature, but not sure if it was the one that hit you.

But....they have made many cards that say "destroy each creature that dealt damage to you"....so they can't fix those if they are already in arena...

I think Arena currently does not support any cards that read "that dealt" or similar text. I welcome a counterexample though! #wotc_staff