Page 1 of 1

Poor UI flow on Lack of Depth

Posted: 03 June 2024, 15:08
by Jimbly
It seems that 90% of the time someone has the Lack of Depth challenge, they play a new card on top of their stack, and then click on it to use it, but end up discarding it immediately instead, which is clearly not what they intended.

A) Please allow Undo after a Lack of Depth discard action, that'd at least let people work around it
B) Improving the flow would be great, perhaps simply do not allow discarding the card they just played, there is no reason to ever do that.

Re: Poor UI flow on Lack of Depth

Posted: 06 June 2024, 13:49
by Kayvon
Jimbly wrote: 03 June 2024, 15:08 A) Please allow Undo after a Lack of Depth discard action, that'd at least let people work around it
We have stretched the limits of what we can do with undo, especially with multiple players. If it's not letting you undo an action, it's because you've affected another player, they've affected you, or you've discarded a card and the discaid pile has since been shuffled into the deck.

The multiplayer undo is an amazing product of over a dozen hours of work. It's as robust as possible and won't be expanded further.

Re: Poor UI flow on Lack of Depth

Posted: 27 July 2024, 14:55
by Jimbly
That appears to be untrue in this case - a discard from Lack of Depth should be no different than any other discard action, and all of those are allowed to be undone in most cases, but Lack of Depth *never* allows an undo after a discard.

That being said, even if there is some reason an "Undo" isn't allowed, simply preventing someone from immediately discarding the card they just played would solve this in, I think, all cases. I just had another terribly disappointing occurrence of this happen in a previous game. My play group has gotten to the point where we simply abandon and restart if anyone is dealt "Lack of Depth", the UI is just so frustrating on it (and otherwise, I love this card's mechanic as it's so interesting).

Re: Poor UI flow on Lack of Depth

Posted: 27 July 2024, 18:41
by Kayvon
I looked up the specific code for Lack of Depth. There's a dedicated game function/action for what it does and the comment indicates that "undo doesn't support undiscard from a slot." As I indicated earlier, the undo is extremely complex and robust considering everything that it needs to account for. I don't recall *why* it can't undiscard (undo) from a slot off hand, but if it's in there with a specific comment then there's probably a good reason (maybe another card effect interacts with it).
Jimbly wrote: 27 July 2024, 14:55simply preventing someone from immediately discarding the card they just played would solve this in
I agree that most players wouldn't want to discard a card they've just played, but it's a legal move. As a rule, the interface needs to allow players to take legal moves, if if they're not smart moves. Not only is it a good policy in general, but it also frequently occurs that players find corner cases where an unusual move is something that actually helps them in certain situations. It's frustrating for both players and developers when legal moves and forbidden.

Re: Poor UI flow on Lack of Depth

Posted: 03 August 2024, 03:35
by quietmint
If something is very unusual, to the point where it should never happen (but must still remain technically possible), does it deserve a warning? You have already several nice warnings ("X card has no effect, activate it anyway?") of a similar nature. In this challenge, if the player attempts to discard that card, perhaps make them re-confirm. "Lack of Depth: Really DISCARD the card you just played?"

Re: Poor UI flow on Lack of Depth

Posted: 03 August 2024, 03:45
by Kayvon
That's a good suggestion. It's something the UI itself could warn you about (it's able to "see" which card you just played because that card will be on top). If you're interested, file an official suggestion for the UI designer to evaluate.

Re: Poor UI flow on Lack of Depth

Posted: 03 August 2024, 03:52
by quietmint
Added another comment on the original report (which already mentioned having confirmation as another option)
https://boardgamearena.com/bug?id=122674

Re: Poor UI flow on Lack of Depth

Posted: 14 August 2024, 15:05
by Jimbly
Kayvon wrote: 27 July 2024, 18:41 I don't recall *why* it can't undiscard (undo) from a slot off hand
Possibly it's to prevent potential interaction with some global projects - though if that were the reason, you would want to also disallow undoing any action that removes vehicle or industry emissions, which though technically allows players to do an invalid sequence of actions with an Undo currently, you really, really don't want to disallow undoing because it would be too frustrating/inconsistent. However, undoing the discard of the card you just played by definition cannot possibly have any interactions with anything (as the total set of tags/etc changes in no way), so if that were the case, at least that specific case could be un-done. Even if there's some possible interaction, like with undoing removing a vehicle emission, it seems reasonable to be similarly lenient in this case and allow it anyway.

Re: Poor UI flow on Lack of Depth

Posted: 14 August 2024, 15:16
by Kayvon
[ARGH! I just wrote an entire reply that BGA's forum ate. If I'm more succinct suddenly, it's my frustration in writing this twice. :(]

In any given stack, everyone can see what the most recently played card is, but the game itself doesn't track which card was just played. There may have been a zillion actions between the time you played the card in that stack and now, but we have no way of knowing.

When you take an action, the game sets an "undo allowed" flag. Then it starts processing that action. If it hits a scenario that we don't support, it clears that flag ("undo not allowed"), which is how we prevent users from undoing things that have affected other players.

Sure, we could add special tracking for the most recent action, but that quickly overwhelms us in complexity. We'd need to anticipate every possible action and effect to undo, which would be great for this specific scenario, but less great as individual exceptions crop up all over. To wit, this is the sort of individual exception that occurred from the previous system, so slapping an additional system atop it probably isn't a feasible answer.

As you'd imagine this sort of things grows complicated in a simultaneous-action multiplayer game.