# <font color='#0080FF'> The PTPD conventions (or "Paprika" for friends) </font> (Permission to positional discard conventions) ## Introduction There was a time, when we played hanabi for the first time, that the positioning of the cards in our hands and the position from where we discarded were highly uncontrolled. I happened to play one of those games and near the end of the game I decided to explained positional discards. So I asked myself: why not actually use the choice of which card to discard to communicate plays through the whole game? The spirit of this convention is to be able to communicate plays with discards and get many 1 for 0 high efficiency positional discards. The current set of conventions adapt [H-Group Conventions](https://hanabi.github.io) to allow for that and is compatible with any level. This convention system could be useful to win hard variants at low levels because it supplements for the lack of ways of getting cards to play efficient. This convention system is especially useful for XYZ variants. ## Terminology The order of the players in the examples is Zelda, Alice, Bob, Cathy, Donald. If not stated otherwise, it is Alice's turn. ## Baby conventions ### Positional discards * Chop is normal, discarding chop has no special meaning. * Any other discard is a *positional discard* on Bob (the next player). * A *positional discard* indicates to **Bob** that their **leftmost** *immediately playable* is on the **matching** ***finesse position***. ### Rank stall save clues If Zelda (the player before Alice) gives **rank** clue to Alice that touches previously **unclued good card(s)**, he is performing a *stall save clue*. A *stall save clue* is **never a play clue**. Instead, a *stall save clue* indicates Alice to not *positional discard* and/or that touched card(s) are to be saved for the future. ### H-Group clues All clues except for *rank stall save clues* are interpreted in the same way as in [H-Group Conventions](https://hanabi.github.io). ## Basic conventions ### Permissions By default a player may discard chop or off-chop. Alice can *positional discard* when the previous player Zelda had a way to stop it and decided not to. In this scenario, we say that alice has *PTPD* (permission to positional discard). > Examples for when Zelda didn't have a way to stop Alice are when Zelda was at 0 clues (or < 2 clues and was in a screaming situation) or when Zelda had to respond to a possible bluff or finesse. In those scenarios, Alice does not have *PTPD* To prevent good cards from discarding, Zelda can **revoke** Alice's *PTPD*. This can be done in several ways: #### Providing safe action If Alice has a safe play or discard, she does not have *PTPD*. Thus, a way to prevent Alice from doing a *PD* is to either give her a play or CM her with trash. #### Giving a rank stall save clue As Zelda, giving a *rank stall save clues* to Alice, revokes her *PTPD*. Note that: * Alice is still allowed to discard her chop after a *stall save clue*. * A *stall save clue* can be performed even when Alice would not have an available *positional discard* on her turn. Thus, Zelda can chose to save good card(s) in Alice hand, **even off chop**, by performing a *stall save clue*. * *Good touch principle* applies to cards touched by a *stall save clue*. Therefore, even if a *stall save clue* is never a play clue by itself, the cards could still play due to *good touch* principle. For example, if Zelda gives a 1 clue to Alice on turn one, Alice can play her one(s) due to *good touch principle* and the [order chop move](https://hanabi.github.io/level-4/#the-order-chop-move-ocm) convention still applies to them. > If Zelda gives a *stall save clue* to Alice when Alice could otherwise have performed a *positional discard* to Bob, this indicates that the card which was going to be discarded to perform the *positional discard* is unsafe. Alice should mark said card as good, but not CM, since the information is not global. #### Stomping a positional discard Stomping a positional discard happens when Zelda gives a clue on the leftmost immediately playable card on Bob. Stomping a *positional discard* revokes Alice *PTPD*. This is a low efficiency move; use as a last resort. ### No chop discard while having PTPD If Zelda sees that Alice can perform a positional discard for Bob which would result in a trash discarding and a good card playing, it would be unwise to perform a *stall save clue* revoking Alice's *PTPD*, even if said *stall save clue* would save a critical card on chop. Therefore, Alice is not allowed to perform a *chop discard* while having *PTPD*. Alice's possible action in a *PTPD* state are: * Performing a *positional discard* * Giving an *H-Group clue* * Giving a *rank stall save clue* ### Early game in easy variant The first round of the game (i.e. the first turn of each player) is called *super early game*. * In easy variants, players do not have *PTPD* in *super early game*. * In hard variants players can *PD* in *super early game*, but doing so when there are other *2-for-1* ways of getting Bob to play is highly discouraged. When *super early game* ends, *PTPD* is on. Because Zelda can always choose to revoke Alice's *PTPD*, *positional discards* are considered safe discard. They can be performed in early game and do not end it. Early game ends when a card is discarded from **chop**. [H-Group Conventions](https://hanabi.github.io) apply to early game. ### Endgame positional discards During **endgame**, *positional discards* work differently than in the rest of the game and can be performed for any player, not just for Bob. During **endgame**: * A player is not requred to have *PTPD* to perform a *positional discard* * A *positional discard* indicates that at least one player has a playable card in the corresponding **finesse position** ## Intermediate conventions ### Asymmetric information #### Positional discards for a card that depends on Zelda's play Because Alice is allowed to *PD* only for immediately playable cards, a possible ground for desyncronization is when Zelda plays a card that changes which card is the leftmost immediately playable card in Bob's hand. If Zelda played a known card, Alice can perform a *positional discard* to the leftmost immediately playable card in Bob's hand. This may be a card that was not immediately playable on Zelda's turn. > Note: for [H-group lvl 20](https://hanabi.github.io/level-20) and above, Alice has to first consider if a priority move ocurred. If it did and it would resolve without a loaded play clue, Alice *PTPD* is revoked. If the priority move requires a loaded play clue a *positional discard* for that card can be performed by the team instead of a load clue. A card that needs a loaded play clue has to be clued immediately and takes precedence over all other cards as a target of a *PD*. If Zelda plays an unknown card which turns a card in Bob's hand into immediately playable, Alice's has to ignore that card when determining the target of a *positional discard*. #### Positional discards for a card that is already touched in Zelda's hand Another possible desincronization could arise when a copy of card that is immediately playable in Bob's hand is already touched in Zelda's hand. If a card in Bob's hand is know to both Alice and Zelda to be already touched in a players hand, which can also be Alice and Zelda's hand, said card is considered *trash* for the purpose of *PD*. Any card that could be a copy of an unkown card alredy touched in Zelda's hand, is ignored when determining the target of a *positional discard*. #### Positional discards for a card that could be a copy of an already touched card in Alice's hand Alice can perform a *positional discard* for a card that could be a copy of some unkown touched cards in her hand. Zelda is not allowed to give PTPD to Alice if a copy of an unkown card in Alice's hand is the lefmost playable card in Bob's hand. ### Elimination notes This convention only applies when playing at [lvl 18](https://hanabi.github.io/level-18) or higher. If by performing a *positional discard* Alice discards: * an **immediately playable** card, every player who does not see the second copy of that card should mark elimination notes for that card. * a **future playable** which does not require a play of a potentially unkown touched card in Zelda's hand, every player who do not see a second copy of that card should mark elimination note. * a **phantom playable** card, **no elimination notes** should be made. (agree or have a better idea?) > Note that if Alice performs a *positional discard* while not having *PTPD*, no elimination notes should be made. Furtheremore, if that *PD* was made outside of *endgame*, it should be marked as a known mistake and no-one should react to it. ### Positional discards when Bob has a blind play It is possible to perform a *positional discard* for to Bob if he already has a globally know blind play to perform. The card(s) that he is about to blind play are ignored when determining the target of a positional discard. However, for simplicity, cards on finesse are defined as untouched cards, counted left to right. Do **not skip** gotten untouched cards when counting finesse positions. ## Advanced conventions ### Skipping players without a corresponding finesse position This convention only applies to 4 or 5 player games. A *positional discard* can be performed to Cathy **if Bob does not have** the **corresponding** ***finesse position***. We call this type of *positional discard* a *skip positional discard* Similarly, in a 5 player game, a *skip positional discard* can be performed to Donald if both Bob and Cathy do not have the corresponding finesse position. > Therefore, in a 4 or 5 player game, Zelda has to consider if a *skip positional discard* for Cathy or Donald is available to Alice and revoke Alice's *PTPD* if performing said *skip positional discard* would result in discarding an important card. Alice is allowed to perform a *skip positional discard* only in one of two cases: * A *positional discard* to Bob is not available * Bob already has a safe action and the target player of the *skip positional discard* does not (yes or no?) If Alice has available both a *skip positional discard* to a player without a safe action and a *positional discard* on Bob which has a safe action, she is **only allowed** to perform the ***skip*** *positional discard*. This way Zelda can predict Alice's potential *PD*. It is important to note that Alice is **never** allowed to perform a *positional discard* **on the previous player** Zelda before the start of endgame. This is due to Zelda being the only player that can give Alice *PTPD*. ### The selfish *PTPD* If Alice knows by emphaty that some untouched card(s) are trash, she can always *positional discard* with one of those cards. If Zelda on a previous turn T gave Alice *PTPD* for a card and in a subsequent turn no good cards that could be duplicate of the card that was allowed to discard were discarded or missplyed, even when Alice does not have *PTPD* from Zelda, she can perdorm a positional discard with that card. ## Variant specific ### Loaded play clues If Alice already has a safe action, she already does not have *PTPD* and Zelda is never required to give a *stall save clue* to revoke her *PTPD*. Therefore, in all variants which has loaded play clue (hard variant, white, ...) the corresponding rank clue to a player which already has a safe action, is a *loaded play clue*. ## Experimental conventions ### No lies PTPD In no lies *PTPD* all [H-Group Conventions](https://hanabi.github.io) that originates from *fibs* (defined in H-group as a clue that has to resolve immediately with a Bob's reaction) are disabled. A not-extensive list of those conventions is: * finesses, any type of bluff, any ejection, any discharge, any charm, any ignition > As it is right now, this convention is though more with the intention to practice *PD*, which otherwise, happen rarely. ## Deleted conventions ~~A rank clue to Cathy is also a *stall save clue*.~~ ~~### More than 3 players~~ ~~Rank clues **to neither Bob nor Cathy** are normal H-group play/save clues.<- not necessary if we define *stall saves clues* to be only on Bob~~ ## Is this convention really good? ### The value of a positional discard Because positional discards consume no recources to get 1 card play, it is tricky to know how good it is compared with a x for 1 clue. The short answer is that a positional discard is roughly equivalent to a e + 1 for 1, where e is the current required efficiency For example, at the start of a no variant game, the efficiency required e is 1, thus, the value of a positional discard is roughly equivalent to a 2 for 1. (Warning: mathenatics incoming) To see why this is true, consider the efficiency required in a gamestate for which the team has still m untouched cards to play and will have a total of c clues through the game. The efficiency required in such a gamestate is m/c. After a positional discard one card plays, so m diminish by 1, while c does not change. After an x for 1 clue, m diminish by x and c by one. We consider the value of a positional to be equivalent to the value of an x for 1 if the required efficiency after each move is the same: (m-1)/c=(m-x)/(c-1) solving for x we get x = m/c + (c - 1)/c = e + (c - 1)/c If the number of clues available through the game is sufficiently large (early to midgame), a fast estimate is x = e + 1 For the exact value, the number c of clues a team will have through the game can be calculated as the pace + number of tokens + numbers of 5s missing to play - 1. Clearly, there are other factors that enters into consideretion when comparing positional discards to a standard play clue. Early in the game there are higher bdr risks, therefore discarding early or having to revoke PTPD can be more risky/more inefficient and against tempo. When pace is zero the team is trying to get a perfect score, positional discards don't even make sense, since they instantly lose the game. On the other hand, a positional discard gives a token in advance, lowering the risk of missing a finesse because out of tokens or having to scream. Also, positional discards are more often available to players that are far away from being locked and the discard modulation is usually better than the one for which the player with less clued cards have to stop to give a clue. There are for sure many more factors to consider, but those are the first that came to my mind. ### H-group max vs PTPD max Is PTPD max in any way better than H-group max? The short answer is we don't know. Right now this is an experimental convention and we didn't have enough experience to have an answer. There is also a fundamental problem of the majority of the conventions being adopted from h-group. In the few games we played, most of the cards were gotten with h-group clues, while positional discards happened rarely; even only once or twice in an entire game. This makes so that is hard to evaluate the effctiveness of PTPD conventios. Since this is actually just a tweak to H-group, we will only know if this system is good or, more importantly, enjoyable by you trying it out! ### Low level H-group vs low level PTPD We beleive that at low levels PTPD conventions could give a greater relative advantage. However, no game was ever played with this convention at a level lower than max.