Tabletop Simulator

Tabletop Simulator

Not enough ratings
Hanabi (Scripted)
   
Award
Favorite
Favorited
Unfavorite
File Size
Posted
Updated
234.805 KB
12 Apr, 2022 @ 11:03am
11 Oct, 2022 @ 9:09am
4 Change Notes ( view )

Subscribe to download
Hanabi (Scripted)

Description
Hanabi (Scripted)


Features

  • Scripted setup
  • Play/discard hotkeys and areas
  • Hints appear on hidden player cards
  • Cards stay hidden until played or discarded
  • Turn order represented/manipulated with an interactive turn token



Rule-set

UltraBoardGames [www.ultraboardgames.com] does a good job explaining the rules of Hanabi. This version allows for a 6-player variant (3 cards each).

In general, the scripts that manage dealing, playing, discarding, and giving hints can be controlled by toggling on/off any of the given rules described here:

  • Include rainbow cards: When you deal a new game, this shuffles rainbow cards into the deck and creates placeholders for them on the board.
  • Rainbow cards are wild: When you play a rainbow card, you will be given the option to play it as part of any firework. For example, if you play a rainbow two and both the yellow and blue twos are playable, you will be given the choice to play a rainbow in either position.
    • Maximum one wild card per firework: if (for example) the blue firework has a rainbow 3, then the 4 and 5 must be blue and cannot be rainbow
  • Create a firework out of rainbow cards: Instead of 5 fireworks, there are now 6. Rainbow cards form the 6th firework.
  • Rainbow cards are every color for hints: for example, telling a player about their blue cards puts a blue marker on all of their blue and all of their rainbow cards.
  • Rainbow is a color (Use rainbow as a hint): players are given the option of telling another player about all the rainbows in their hand (without this the only way to know which cards in your hands are rainbow is through inference)

An Aside: Some rules allow players to give hints such as "You have no fives in your hand." Others forbid this. The UI and scripts here make no allowance for such rules, but this doesn't stop players from using them (or any other house rules for that matter).



About this Mod

The User Interface (UI)

My friends and I play Hanabi as a "theory of mind" game rather than a memory game. We typically increase the difficulty while allowing players to repeat hints. The UI in this mod is designed primarily to support that style of play by displaying hints publicly. The added bonus is that this system overcomes a TTS shortcoming which makes it difficult to point to a card in a player’s hand in a way that’s easy to see from all the different player’s points of view.

A useful tip: Other players get a minimal reminder of what a player has been told. This reminder will show at most one color (per card). To see more, players can hold |alt+shift| when hovering over a card to see what hints another player has been given. Alternatively, players can highlight another player’s hand entirely and press |f|

Using the UI

Interactive elements of the UI exist primarily on the right side of your screen. If it is your turn and there are hint tokens face-up, it will display the option to give information to a player. To do so, first select the name of the player you want to give information to.

This should display two rows of buttons:
  • The first row will display a button for each color-related hint you can legally give to the selected player.
  • The second row will display a button for each number-related hint you can legally give to the selected player.
Click a button to talk about the displayed hint to the selected player.

The Turn Token

The script learns whose turn it is by finding the turn token. Often the script will advance the turn token on your behalf. At any time you can manually pick up the turn token and place it in-front of a player, this is useful in situations where you have house rules that change turns.

The turn token starts on the square Hanabi mat (here called the token mat) alongside the hint tokens, rockets (fuse tokens), and the deck of Hanabi cards. While placed here, you can change the rules that the script will follow. At any time, you can grab the turn token and move it back to the token mat. While not suggested, rules are hot-swappable meaning you can change them mid-game.

A useful tip: If ever the user interface seems stale (For example, a player is not given the option to talk even though a talk token is available), you can grab the turn-token and drop it again in front of the same player (or any player) and the script will re-compute the UI.

Playing or Discarding a Card

Cards played or discarded on the table directly are revealed, but no further action is taken by the script. You can flip hint tokens and remove fuse tokens manually (You may need to unlock them first). You can start the next player’s turn by moving the turn token manually as well.

Cards placed in the circular regions labelled “Play” and “Discard” will be played automatically by the script. This will manage fuse and hint tokens according to the set rules. When a rainbow card is played, the player whose turn it is may (if appropriate) be asked to choose where the card is played.

Under
Option > Game Keys
players may set hotkeys to automatically play/discard cards. This moves whichever card is currently under the player’s cursor, to the scripted play/discard area.

A useful tip: Common hotkey settings are
  • comma |,| for play and period |.| for discard
  • any of the numpad number keys (They're not otherwise used in this mod)

Chat Settings

The chat keeps a history of game events as they happen. This is helpful if playing without voice-chat or as a quick reminder. Many players find it useful to open the chat settings (via the gear icon at the top left of the chat box) and disable 'Auto Hide Chat'.



Final Words

This is my first TTS mod. Feedback is welcome.

Despite a few thousand lines of code for its script, this mod is still fairly young and there are sure to be some confusing bits/bugs. If you run into issues, give as detailed a description as possible and I'll be sure to answer/update the mod accordingly.

Thanks! :)



Special thanks to SmileyChris from whom I shamelessly stole many of the assets used here. https://steamhost.cn/steamcommunity_com/sharedfiles/filedetails/?id=456856049



I do not own any rights for this game or anything related to it. All rights are reserved to the creator/designer Antoine Bauza

Enjoy & buy the physical game, it`s worth it!
9 Comments
Jacksendary 11 Sep, 2024 @ 8:25pm 
This mod is very great! but sadly you are able to see the cards for maybe 100-200 miliseconds when dealt to a player when discarding/playing a card, but it also only seems to happen for some players/ spots, I've noticed my self that yellow, green and teal is having these issues.
InfantileWiggler 12 Jun, 2024 @ 4:34pm 
They don't lose. The players only lose if they run out of fuses. They win with their current number of points. The rules say:
"Artistic impression is determined by the artisan League of Fireworks Technicians reference scale:
<=5 Horrible, booed by the crowd
6-10 Mediocre, just a hint of scattered applause
11-15 Honorable attempt, but quickly forgotten
16-20 Excellent, crowd pleasing.
21-24 Amazing, they will be talking about it for weeks!
25 Legendary, everyone left speechless, stars in their eyes!"
Trequetrum  [author] 7 Jun, 2024 @ 1:35pm 
Hey InfantileWiggler, thanks! :)

That's a good point about running out of cards. I can implement a script that informs the players when they've lost to this rule.
InfantileWiggler 6 Jun, 2024 @ 9:18am 
This is a great scripted mod! I only found 1 issue with it: the rules note that "the game ends if a player takes the last card from the pile: each player plays one more time, including the player who picked up the last card. The players cannot pick up cards during this last round (as the pile is empty)."
The game does not end when this happens. If you dont know that rule from the rule book, you might keep playing past when the game is supposed to end.
Other than that this scripting is fantastic, and makes playing the game on TTS so easy!
Trequetrum  [author] 8 Sep, 2022 @ 7:35am 
Hey limegreen, thanks for the heads up. It's working for me, but I'll look into it! For now you can of course just manually draw it :)
limegreen 7 Sep, 2022 @ 2:06pm 
Thanks for this scripted Hanabi! Works well until we play the last possible card. It unfortunately does not hand out the last drawable card of the deck to the player. Up to this point everything works perfectly fine! :)
Trequetrum  [author] 3 May, 2022 @ 10:04am 
Hey wh1stle, thanks for the heads up. This should now be fixed! :steamthumbsup:
wh1stle 2 May, 2022 @ 12:39pm 
An amazing scripted mod! However, when I check "Rainbow is a color (Use rainbow as a hint)" without checking "Rainbow cards are every color for hints", I can't give other players "rainbow" as a clue. Can you please look it up?
3JA2 13 Apr, 2022 @ 3:49am 
Really Awesome Mod!! Thanks for the scripting.:steamthumbsup: