hanabi-live icon indicating copy to clipboard operation
hanabi-live copied to clipboard

You can click on cards in a hypo to incorrectly change their appearance

Open jack67889 opened this issue 2 years ago • 25 comments

Since recently, if you enter hypo it shows the empathy of the player at whose turn you entered hypo (instead of their cards). If you now actually look at the empathy, after that it stops showing the empathy and starts showing the cards again. If you now take any action in the hypo, it starts showing the empathy of the same player again. This behaviour will happen and repeat throughout the hypo.

jack67889 avatar Jan 03 '22 20:01 jack67889

Since recently, if you enter hypo it shows the empathy of the player at whose turn you entered hypo (instead of their cards).

intended

If you now actually look at the empathy, after that it stops showing the empathy and starts showing the cards again.

not intended

Zamiell avatar Jan 04 '22 18:01 Zamiell

i will rename this issue accordingly

Zamiell avatar Jan 04 '22 18:01 Zamiell

Hmm, I don't think I understand the intended behaviour. Is it correct that the intended behaviour is that you can't exit empathy mode at all?

That seems rather cumbersome. Since usually you have quite a lot of info already on a certain turn (if the intention is to mimic the actual game). So you would need to morph all the cards (that you can't see anymore)?

Also, I would think that the player of interest can shift while you go through the hypo. Not sure why showing the empathy of where you started the hypo is particularly interesting in that regard.

jack67889 avatar Jan 04 '22 20:01 jack67889

Is it correct that the intended behaviour is that you can't exit empathy mode at all?

if you want to exit empathy mode, you just check the box

Zamiell avatar Jan 04 '22 20:01 Zamiell

Also, I would think that the player of interest can shift while you go through the hypo.

then you should restart the hypo as the player of interest, which will actually give you accurate information for determining that player's best move

Zamiell avatar Jan 04 '22 20:01 Zamiell

if you want to exit empathy mode, you just check the box

Ah, I didn't notice yet that if you show the drawn cards this affects the empathy now. But these seem rather distinct features/aspects to me. For example, I want to determine the best course of action in end-game (what I mostly use hypo for):

  1. You would like to see all the info players have at that point;
  2. You want to hide drawn cards from that point onwards, so you can correctly calculate the odds of different lines.

Those two things are in conflict right? (Especially since you can't seem to morph the empathy cards.)

Again, I'm not completely sure what the intention is. But you could already show empathy for a player at any point. (Maybe it would be more useful to mimic the game if you could morph cards in a non-specific way, like r3,g4,b4 or just "blank"?)

jack67889 avatar Jan 04 '22 21:01 jack67889

You would like to see all the info players have at that point; You want to hide drawn cards from that point onwards, so you can correctly calculate the odds of different lines.

it seems that you are incorrectly thinking about what the point of a hypothetical is. in order to correctly find out what the best move is for Alice on a given turn, the identity of any drawn cards is equally as irrelevant as the identity of unknown cards in Alice's hand. in other words, you could swap out the identity of the next drawn card with the identity of an unknown card on slot of Alice's hand, and it would not change the outcome of the hypothetical. for this reason, drawn cards are treated identically to unknown cards

Zamiell avatar Jan 05 '22 03:01 Zamiell

I already did understand what you wrote. But that's only true insofar you only want to consider Alice move on the current turn. Which is very restricted usage of the hypo feature imo. Definitely makes it practically impossible to solve some of the end-game puzzles I've posted before on Discord.

Because if you want to look more rounds into the future the best line can be very depend on what's already in Alice her hand (and subsequently determine what Alice will do the round after). And now it's not possible anymore to take a different action than the one Alice took in game (without seeing drawn cards, which is not relevant and makes it very hard to count odds). That's also relevant during a game, because players can look at different lines that are not taken and derive info from that. The worst part being that other players cannot clue (or even morph) the empathy cards in Alice her hand anymore.

in other words, you could swap out the identity of the next drawn card with the identity of an unknown card on slot of Alice's hand, and it would not change the outcome of the hypothetical.

Another reason why this is also not true (if you look more general than the exact identity), if you want to look further into the future, is that cards in a hand have info on them. While to be drawn cards have not.

jack67889 avatar Jan 05 '22 13:01 jack67889

Because if you want to look more rounds into the future the best line can be very depend on what's already in Alice her hand (and subsequently determine what Alice will do the round after).

This sentence is equivalent to the following sentence (both are equally true): "Because if you want to look more rounds into the future the best line can be very depend on the next card that is drawn (and subsequently determine what Alice will do the round after)."

You seem to be saying that "drawn cards are not relevant", but you haven't demonstrated or explained why the two classes of cards should be treated differently.

Zamiell avatar Jan 05 '22 17:01 Zamiell

Because cards in hand have info on them (unlike to be drawn cards) and also are already known at the point from which you started the hypo to subsequent players (and can thus be clued with certainty, if not discarded or played, in an actual game).

Let's say Alice has a cm'ed card which is globally known y4, which can be played in two rounds from now. I can't even morph that card to be y4, let alone clue it in hypo now.

While if the game is dependent on drawing y3 by certain players. I would want to see how many cards (without knowing the identity of a specific one) can be drawn by each player from that point onward, which is something entirely different.

Or Alice stalls and sees if Bob will clue y3 in her hand if she has it, to determine what Alice can do the round after. Now Bob can't even clue y3, let alone determine there are blocking cards in Alice her hand and it's better if Emil performs an UTD. While you can morph newly drawn unknown cards (and clue them after), to lay out different future scenarios. And you can be sure to be drawn cards are (mostly; in the sense they can see the cards in your hand that are unknown to you) unknown to all players at the moment of starting the hypo.

jack67889 avatar Jan 05 '22 18:01 jack67889

Because cards in hand have info on them (unlike to be drawn cards) and also are already known at the point from which you started the hypo to subsequent players (and can thus be clued with certainty, if not discarded or played, in an actual game).

  1. Cards in hand do not always have info on them. In the vast majority of cases (but not all cases), when starting a hypothetical, the starting player is going to have a completely unknown card on their slot 1 (or more).
  2. I wouldn't be so quick to say that "they can be clued with certainty". In Hanabi, there are plenty of reasons why cards on slot 1 are not clued or "gotten" right away.
  3. It seems the distinction you are making between the two classes of cards is that "the cards have info on them". From there, you seem to be saying "if the cards have some info on them, then ALL the information on that card should be revealed". I don't see how we are getting from point A to point B here. Just because Alice knows some information clearly does not mean that Alice should know all of the information.

Imagine that:

  1. On turn 30, Alice has a card clued with number 3 on it and the card is in a superposition of "red 3, blue 3, green 3".
  2. In the post-game review, the team wants to find the best move for Alice on turn 30.
  3. When players in a post-game review Alice perform a hypothetical starting at turn 30, they need to properly encapsulate the fact that the card is in a superposition. It would be a mistake to perform a hypothetical where Alice assumes that the 3 just so happens to be a red 3, because that does not properly reflect the actual state of affairs during the game. Rather, the best move for Alice is going to be a weighted probability of:
(what is the best move if the card is red 3 * 0.33)
+ (what is the best move if the card is blue 3 * 0.33)
+ (what is the best move if the card is green 3)

By showing the card as Alice sees it in the hypothetical, this situation is correctly communicated/represented to the players performing the hypothetical.

I can't even morph that card to be y4, let alone clue it in hypo now.

If you can't morph a card with the "Show hidden cards" checkbox unchecked, then I would consider that a bug in the website, and you should open a separate GitHub issue to track it.

Zamiell avatar Jan 05 '22 18:01 Zamiell

  1. I wouldn't be so quick to say that "they can be clued with certainty". In Hanabi, there are plenty of reasons why cards on slot 1 are not clued or "gotten" right away.

My point was clearly not about a certain game example, but about a possibility. Read: are known with certainty to subsequent players (which I already wrote) if that helps, instead.

  1. It seems the distinction you are making between the two classes of cards is that "the cards have info on them". From there, you seem to be saying "if the cards have some info on them, then ALL the information on that card should be revealed". I don't see how we are getting from point A to point B here. Just because Alice knows some information clearly does not mean that Alice should know all of the information.

I never wrote such thing, nor is that my intention. My earlier reaction even mentions that it would be great to morph cards to be unknown. Fact is that we had a mode where all info is revealed (without affecting to be drawn cards), which offered a possibility to show empathy. Now all info is just deleted without a way of showing it (without affecting to be drawn cards). Would be great to offer both options if people think that's useful. But showing empathy was already possible, so functionally the only thing that happened is that info that's necessary in some cases just got removed.

It would be a mistake to perform a hypothetical where Alice assumes that the 3 just so happens to be a red 3

Totally agree, that why I also wrote in my earlier reaction it would be great to be able to morph the card in a few possibilities. Empathy still often shows a ton of possibilities for a card, which can already be excluded by the player. So in that sense, the change didn't accomplish much.

jack67889 avatar Jan 05 '22 18:01 jack67889

If you can't morph a card with the "Show hidden cards" checkbox unchecked, then I would consider that a bug in the website, and you should open a separate GitHub issue to track it.

Would it then be a bug or a feature that you can't clue empathy cards? Because I consider cluing cards in hypo to be great to see what for effect it has on empathy. But it's rather weird you can clue cards you can't see. (Also quite weird you can play them at the moment.)

jack67889 avatar Jan 05 '22 18:01 jack67889

Totally agree, that why I also wrote in my earlier reaction it would be great to be able to morph the card in a few possibilities.

As I said above, open an issue if you can't morph cards

and btw you can already morph cards to blank by typing "blank"

Would it then be a bug or a feature that you can't clue empathy cards?

it would be a bug if e.g. it is an unknown 3 and you could not reclue it number 3 it would not be a bug if e.g. it is an unknown 3 and you could not clue it blue

in a hypothetical where you actually want to clue an unknown 3 as blue, then you should simply morph it to a blue 3 first, and then clue it blue.

Zamiell avatar Jan 05 '22 18:01 Zamiell

because morphing a card properly represents to everyone that you are making an assumption about the game state that does not reflect the actual reality of the turn

Zamiell avatar Jan 05 '22 18:01 Zamiell

you could counter this with: "that is inconvenient, because in the case of a chop moved card that is known to be blue 4, everyone already globally-knew that the card was a blue 4, and now I have to explicitly morph the card to represent that, which is extra work." but I maintain that this is the exception rather than the norm - the discussion is about what the default behavior should be.

Zamiell avatar Jan 05 '22 18:01 Zamiell

and btw you can already morph cards to blank by typing "blank"

In hypo you can't and never could.

but I maintain that this is the exception rather than the norm - the discussion is about what the default behavior should be.

That's obviously not true, as I already mentioned, because empathy rarely describes just the options a player writes on a card. This info (empathy) was also already easily available, with a lot less effort than the new implementation should offer, after bug fixes, for morphing cards.

It's especially inconvenient because empathy stops working after you clue a morphed card, which makes doing any hypo difficult. And you can't even see what you would want to morph the cards into anymore, to represent the actual game.

because morphing a card properly represents to everyone that you are making an assumption about the game state that does not reflect the actual reality of the turn

This is exactly true for cards to be drawn and not for cards that are in hand and subsequent players have full info on. By the way, you didn't react to my main point so far and seem to be focussed on Alice current turn only.

jack67889 avatar Jan 05 '22 19:01 jack67889

In hypo you can't and never could.

open a separate issue for that

It's especially inconvenient because empathy stops working after you clue a morphed card, which makes doing any hypo difficult.

open a separate issue for that

Zamiell avatar Jan 05 '22 19:01 Zamiell

I don't think the last thing is a bug, because of course empathy can't work if you change a bunch of cards.

jack67889 avatar Jan 05 '22 19:01 jack67889

if

  1. you are in a post-game replay of a "Rainbow (6 Suits)" game
  2. a card has a number 3 clue on it
  3. you morph the card to blue 3
  4. you clue the card blue
  5. when you empathy the card, it should correctly show that the card "appears" to be either a blue 3 or a rainbow 3

if it doesn't do then, then you should open a separate issue

if you want to unmorph a card, then currently you have to exit and redo the hypothetical, which is admittedly inconvenient, but in the near-future the morph code could be refactored such that you can click the "Back 1 turn" button to unmorph a card, see #1997

Zamiell avatar Jan 05 '22 19:01 Zamiell

By the way, you didn't react to my main point so far and seem to be focussed on Alice current turn only.

your main point seems to be related to the ability (or lack thereof) to undo a morph, which could be resolved with #1997

Zamiell avatar Jan 05 '22 19:01 Zamiell

if it doesn't do then, then you should open a separate issue

You may notice empathy now stopped working on all the other cards in all hands. (Which is sort of expected behaviour I think. Empathy isn't expected to work if you morph 5x b1 in the hands, for example.)

your main point seems to be related

It was: "Which is very restricted usage of the hypo feature imo. (...) Because if you want to look more rounds into the future the best line can be very depend on what's already in Alice her hand (and subsequently determine what Alice will do the round after). And now it's not possible anymore to take a different action than the one Alice took in game (without seeing drawn cards, which is not relevant and makes it very hard to count odds). That's also relevant during a game, because players can look at different lines that are not taken and derive info from that."

After which I explained how cards in hand and drawn cards are very different. You said it's wrong to assume Alice should have all info on her hand (which I agree with), but didn't explain why it's great to make all info about Alice her hand (which other players have in the actual game) inaccessible (without affecting drawn cards). While it's commonly necessary info.

I explained why the new implementation doesn't really offer a "better" representation of the possibilities of the cards in Alice her hand. You didn't react to that.

jack67889 avatar Jan 05 '22 20:01 jack67889

You may notice empathy now stopped working on all the other cards in all hands. (Which is sort of expected behaviour I think. Empathy isn't expected to work if you morph 5x b1 in the hands, for example.)

it should "work" insofar that the clues map on to the cards in a realistic way. if i clue a red 1 as a 1, and then I morph it into a blue 2, then the empathy should just show it as being unclued i think. on the other hand, if I clue a red 1 as a 1, and then I morph it into a blue 1, it should still show the same empathy that it did before.

Zamiell avatar Jan 05 '22 20:01 Zamiell

but didn't explain why it's great to make all info about Alice her hand (which other players have in the actual game) inaccessible (without affecting drawn cards)

It is only inaccessible if you choose to morph Alice's cards into specific cards, right?

Zamiell avatar Jan 05 '22 20:01 Zamiell

Well no. Because I need to unhide all the cards to see Alice her hand and then I need to hide them again to see which are the newly drawn cards and try to remember both at the same time (when I'm evaluating what Cathy her options are much later in the hypo, for example).

I really don't understand what's so particularly interesting about Alice her empathy where I started the hypo, while I'm doing a hypo three rounds into the future. If anything I think it would make more sense to show the empathy of the current player (so that it moves along with the turns of the players). Then you're not considering Alice her perspective all the time, but look at the options on each turn.

jack67889 avatar Jan 08 '22 18:01 jack67889