Original Post — Direct link

In the same game, I cast three and the first was hand, the second graveyard, the third was the hand. This is terrible UI, make it always the hand first or a worse option, always the graveyard.

External link →
about 4 years ago - /u/wotc_chrisworth - Direct link

Originally posted by 2raichu

This is a known issue and there will be a fix next patch.

This. :)

Cards like Agonizing Remorse that allow a player to choose a card from among multiple zones had little consideration for which zone should be shown first. Anticipating that Agonizing Remorse would likely be popular, we set out to make the behavior consistent--in this case, Agonizing Remorse would start with the opponent hand if there is a legal choice. This may still not be ideal if there are no legal choices in hand, which will result in the opponent graveyard being shown first. We will continue working toward the ideal.

With all of that said, the work was intended to be released with the Theros update but got lost in the process; waiting to see it go live has been agonizing.

about 4 years ago - /u/wotc_chrisworth - Direct link

Originally posted by Partnumber

On one hand I get the idea of streamlining the process by removing an unnecessary click when the default use case fails (not having a target in hand). On the other hand, I can see how this is problematic in two ways. 1) it feels like it's hiding information from the player. If it directly defaults to graveyard we can intuit there are no legal targets, bit we didn't get to see the lack of targets for ourselves. 2) from a player experience level, the inconsistent targeting can feel random and sporradic even if it's making logically consistent choices because it's both making those choices on information we don't have yet and also it can be hard for players to connect the dots when they aren't looking for the pattern.

You are absolutely right, ideally [[Agonizing Remorse]] will always show the opponent hand regardless of legal choices. However, due to some technical details with what information the server provides the client, we are currently unable to achieve this ideal.

For those interested in the details: when the server requests that the client make a choice for Agonizing Remorse, the server provides the client with a list of legal choices (if any). The client determines which zone(s) to show based on that list. If a zone could contain a legal choice but currently does not (i.e. the list contains no choices in that zone), then the client is unaware that that zone should still be included. Once all of that identification occurs, the client then determines which of the remaining zones to show first. (Try playing [[Never Happened]] with no legal choices in opponent hand nor opponent graveyard. The card quietly resolves from stack to your graveyard without showing any zone--not the greatest experience!)

One way to improve the player experience would be to change how relevant zones are identified such that the process is independent of the presence of legal choices, and is likely to be the direction we head. With that said, we must balance that direction with keeping the Arena play experience swift and keeping the server-client messaging trim.

about 4 years ago - /u/wotc_chrisworth - Direct link

Originally posted by NobleHelium

Why does the server only provide the client with the list of legal choices, when the client needs to see the entire opponent hand to reveal it to the player anyway?

This is a great question! Since people have responded positively to hearing about what makes Arena tick, I figured the answer would also be of interest.

The server is tasked with running an accurate game of Magic as fast as possible, pausing only when it must wait for a player to make a decision. The server has no idea what a game of Magic looks or sounds like; it does not know that a tapped permanent gets turned sideways, or that Gilded Goose honks when it enters the battlefield. Generally, limiting the server's responsibility is good since there are infinite ways that a game of Magic could be actualized, and trying to accommodate all of those possibilities is unfeasible. (As a fun thought experiment, imagine if the server mailed you a packet of postcards each time you needed to make a decision, and you mailed back the postcard representing your choice--a silly but equally valid way that a long-distance game of Magic could be played!)

The Arena client happens to be one such actualization of Magic, tasked with making a game of Magic as clear and entertaining as possible on your computer. The client has no idea what the rules of Magic are; it does not know why damage is removed in the cleanup step, or that a player loses the game if they would draw from an empty library. Generally, limiting the client's responsibility is good since including any rules knowledge risks quickly becoming out-of-sync with the server's implementation of the rules as new cards, errata, and rulings change how Magic operates.

As a result of separating these responsibilities, having the server send the client only the legal choices seems reasonable from the server's perspective; the client technically has everything needed to make a choice--no more, no less--and until recently this behavior has been acceptable enough. However, given the advent of cards like Agonizing Remorse and how Arena in particular brings Magic to life, we discover that seeing every relevant zone every time would be really nice since it would allow the player to not just make a choice, but make a good one.

Cases like this arise frequently. What follows is a discussion between a client developer and a server developer to find a reasonable solution to meet the new design need. Sometimes the solution is implemented entirely on the client, the server, or both in cooperation. In this particular case, I (a client developer) might politely ask a server developer if sending a supplemental list of relevant zones is possible, since I imagine some work had already been done to identify zones that contain cards representing legal choices. The server developer may respond with, "sure no problem", or "actually it doesn't quite work like that", or provide other nuances that must be considered.

Ultimately a solution is agreed upon and implemented to improve the Arena experience. The next time a card like Agonizing Remorse comes along it will "just work" since we addressed the issue previously. Conversely, a new card could come along and require the opposite behavior, which will send us back to the drawing board to find a new solution that appeases both!