showInactiveFaceToSeat property sometimes shows the active face to other players #726

Open
opened 2026-02-20 10:20:02 -05:00 by deekerman · 7 comments
Owner

Originally created by @mousewax on GitHub (Oct 16, 2023).

There are three times when other players see the activeFace even when showInactiveFaceToSeat is set:

  1. When dropping a card into a holder with this property the active face flashes briefly. The timing of events needs to be adjusted.
  2. Enlarge always shows the active face (revealing the card to anyone hovering over it) and should probably show the face you can see instead.
  3. Anyone not in seats always sees the active face and so opening another window in incognito or private mode bypasses the property entirely. A way should probably be set to exclude spectators from seeing the active face.

Maybe in case 3 we can change it to the affirmative and the property can become "showActiveFaceToSeats" and when that is set and you are not in that list you will see the next inactive face.

Or by creating a special group called "spectators" and specifying them.
"showInactiveFaceToSeats": [ "seat2", "seat3", "seat4", "spectators" ]

Or being allowed to set a negative like in inheritFrom: "showInactiveFaceToSeats": [ "!seat1" ].

Originally created by @mousewax on GitHub (Oct 16, 2023). There are three times when other players see the activeFace even when showInactiveFaceToSeat is set: 1. When dropping a card into a holder with this property the active face flashes briefly. The timing of events needs to be adjusted. 2. Enlarge always shows the active face (revealing the card to anyone hovering over it) and should probably show the face you can see instead. 3. Anyone not in seats always sees the active face and so opening another window in incognito or private mode bypasses the property entirely. A way should probably be set to exclude spectators from seeing the active face. Maybe in case 3 we can change it to the affirmative and the property can become "showActiveFaceToSeats" and when that is set and you are not in that list you will see the next inactive face. Or by creating a special group called "spectators" and specifying them. `"showInactiveFaceToSeats": [ "seat2", "seat3", "seat4", "spectators" ]` Or being allowed to set a negative like in inheritFrom: `"showInactiveFaceToSeats": [ "!seat1" ]`.
Author
Owner

@96LawDawg commented on GitHub (Oct 16, 2023):

Or being allowed to set a negative like in inheritFrom: "showInactiveFaceToSeats": [ "!seat1" ].

That is like a double negative and makes my head hurt. Looking at that option, I don't know what would be shown to seat1 or any other seat. I'm sure I could figure it out, but I think that is the least intuitive of your suggestions.

@96LawDawg commented on GitHub (Oct 16, 2023): > Or being allowed to set a negative like in inheritFrom: `"showInactiveFaceToSeats": [ "!seat1" ]`. That is like a double negative and makes my head hurt. Looking at that option, I don't know what would be shown to seat1 or any other seat. I'm sure I could figure it out, but I think that is the least intuitive of your suggestions.
Author
Owner

@mousewax commented on GitHub (Oct 16, 2023):

It was just an idea. But think of it as:
"inheritFrom": { "otherThing": [ "!parent" ] }

It means inherit everything except that. So this would be show inactive face to all seats except that seat. But I get you. It does seem weird.

@mousewax commented on GitHub (Oct 16, 2023): It was just an idea. But think of it as: `"inheritFrom": { "otherThing": [ "!parent" ] }` It means inherit everything except that. So this would be show inactive face to all seats except that seat. But I get you. It does seem weird.
Author
Owner

@ArnoldSmith86 commented on GitHub (Oct 16, 2023):

I still don't understand why you need "show face 1 to all seats but seat1 and face 0 to others" instead of doing "show face 0 to seat1 and face 1 to others".

@ArnoldSmith86 commented on GitHub (Oct 16, 2023): I still don't understand why you need "show face 1 to all seats **but** seat1 and face 0 to others" instead of doing "show face 0 to seat1 and face 1 to others".
Author
Owner

@mousewax commented on GitHub (Oct 16, 2023):

Just for brevity as one would have to specify all of the other seats on each holder for each seat. So in a six player you game you have a unique list of five seats plus the spectators that you can't just inherit from somewhere. Saying "in this holder everyone but me sees the back of the card" seems simpler than saying "seat2, seat3, seat4, seat5, seat6, spectators see the back of these cards". But the next holder over has to also say "seat1, seat3, seat4, seat5, seat6, and spectators see the back of these cards" and repeating for each seat.

But also I was just brainstorming and this isn't a request.

@mousewax commented on GitHub (Oct 16, 2023): Just for brevity as one would have to specify all of the other seats on each holder for each seat. So in a six player you game you have a unique list of five seats plus the spectators that you can't just inherit from somewhere. Saying "in this holder everyone but me sees the back of the card" seems simpler than saying "seat2, seat3, seat4, seat5, seat6, spectators see the back of these cards". But the next holder over has to also say "seat1, seat3, seat4, seat5, seat6, and spectators see the back of these cards" and repeating for each seat. But also I was just brainstorming and this isn't a request.
Author
Owner

@ArnoldSmith86 commented on GitHub (Oct 17, 2023):

Hmm, 3 is a hard one. I consider it a feature because it is amazing for spectating a game. At the same time it makes cheating even easier than it normally is.

Adding a special value like spectators doesn't sound like a good solution. You would probably add it to every game while others like the spectator aspect.

I feel like we need to decide what's more important: perfect information for spectators or making cheating a little bit harder. I'm not sure which side I'm on but when there is a consensus to make cheating harder, we should just change the property so it always "excludes" non-seated players.

Opinions?

@ArnoldSmith86 commented on GitHub (Oct 17, 2023): Hmm, `3` is a hard one. I consider it a feature because it is amazing for spectating a game. At the same time it makes cheating even easier than it normally is. Adding a special value like `spectators` doesn't sound like a good solution. You would probably add it to every game while others like the spectator aspect. I feel like we need to decide what's more important: perfect information for spectators or making cheating a little bit harder. I'm not sure which side I'm on but when there is a consensus to make cheating harder, we should just change the property so it always "excludes" non-seated players. Opinions?
Author
Owner

@bjalder26 commented on GitHub (Nov 25, 2024):

As a totally different option, what about adding some small notification when players join a room (or change names)?

IMHO, that would be a nice feature in general, and would not stop spectators from having perfect knowledge, but would make players suspicious if someone opens a new window. It wouldn't prevent cheating, but I suppose this form of cheating would then be harder to get away with than pressing ctrl-J... which we also might want to add a notification for.

@bjalder26 commented on GitHub (Nov 25, 2024): As a totally different option, what about adding some small notification when players join a room (or change names)? IMHO, that would be a nice feature in general, and would not stop spectators from having perfect knowledge, but would make players suspicious if someone opens a new window. It wouldn't prevent cheating, but I suppose this form of cheating would then be harder to get away with than pressing ctrl-J... which we also might want to add a notification for.
Author
Owner

@96LawDawg commented on GitHub (Nov 25, 2024):

As a totally different option, what about adding some small notification when players join a room (or change names)?

IMHO, that would be a nice feature in general, and would not stop spectators from having perfect knowledge, but would make players suspicious if someone opens a new window. It wouldn't prevent cheating, but I suppose this form of cheating would then be harder to get away with than pressing ctrl-J... which we also might want to add a notification for.

Going to create a new issue for these suggestions. Worth thinking about.

@96LawDawg commented on GitHub (Nov 25, 2024): > As a totally different option, what about adding some small notification when players join a room (or change names)? > > IMHO, that would be a nice feature in general, and would not stop spectators from having perfect knowledge, but would make players suspicious if someone opens a new window. It wouldn't prevent cheating, but I suppose this form of cheating would then be harder to get away with than pressing ctrl-J... which we also might want to add a notification for. Going to create a new issue for these suggestions. Worth thinking about.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/virtualtabletop#726
No description provided.