Gloomhaven Helper

Gloomhaven Helper is a companion application for playing the Gloomhaven board game. It tracks initiative, monsters, and characters so you can focus on playing the game rather than bookkeeping. Playing the game becomes faster, as does setup and tear down.

Gloomhaven Helper eliminates the need for the following Gloomhaven components:

  • monster ability card decks
  • monster stat sheets and sleeves
  • the monster attack modifier deck
  • monster damage tokens
  • monster and character condition tokens
  • the element infusion board, element discs, and round tracker
  • character HP/XP dials
  • character boards

Besides making setup easier, Gloomhaven Helper also improves play in many new ways:

  • Devices running Gloomhaven Helper can be synchronized over the network so each player can view and change the game state from their own personal device.
  • Rows are dragged to initiative order, making it clear who is next.
  • Monster abilities report the numbers to use, so there is no math or stat lookup (Attack 3 instead of Attack -1).
  • Monsters with ranged attacks always specify the range, so it can't be forgotten and doesn't need to be looked up.
  • When a monster is flying, the monster ability card shows the "flying wings" icon for movement rather than the usual "boot".
  • Monsters can be marked as "summoned" so you know they should not drop a coin when they die.
  • Monster stats are hidden until the monster appears.
  • Tracking element infusions prevents forgeting to move the element down.
  • Character current and max HP is easily visible to all players.

Download

Desktop

Gloomhaven Helper runs on Windows, Mac, and Linux. You can download it here.

To run the desktop version, Java 8 is required. If you don't want to install Java, you can go to this page, click the radio button to accept the license agreement, then click to download the .tar.gz for your OS (Windows x64, macOS, or Linux x64). Decompress the file (eg with 7zip or via the command line) and you'll end up with a simple folder full of files. You can run Java out of that folder without needing to install anything -- no Java updater, no Java browser plugins.

To run Gloomhaven Helper from the command line on Windows use:

C:\path-to-java\bin\java.exe -jar C:\path-to-gloomhaven-helper\ghh.jar

On OS X:

cd /path/to/gloomhaven-helper java -XstartOnFirstThread -jar ghh.jar

On Linux:

cd /path/to/gloomhaven-helper java -jar ghh.jar

If you get an error about UnsupportedClassVersionError, it means your version of Java is too old. You need Java 8+. If you have installed Java 8+ and continue to get the same error, likely you still have an older Java version on your path. You can check using java -version. Try specifying an absolute path to the newer Java installation, for example:

/path_to_latest_java/bin/java -XstartOnFirstThread -jar /path/to/gloomhaven-helper/ghh.jar

Android

Gloomhaven Helper can be installed from Google Play or by directly downloading the APK.

iOS

The app is not available for iOS, sorry. While possible technology-wise, Apple makes development for their platforms a special kind of hell. This is meant as a fun side project and should not involve such suffering. Also, Apple charges $99/year to list software in their store, even free software.

It does run on OS X, so an Apple desktop or laptop is still an option. It also runs in a web browser, though some features are no available there.

Web

You can use Gloomhaven Helper in a web browser here. This version is identical to other platforms, except it does not support network synchronization.

  • Browser zoom affects the app and may need to be adjusted to get 2 columns or prevent scrolling. Try ctrl+'+' and ctrl+'-'.

Usage

When the app first loads, you will need to add character and monster rows by clicking the menu in the upper left of the app. You can set a scenario by number to add the required monsters automatically.

Next, spawn the monsters in the first room by clicking the + buttons.

Rounds

Each round, you first choose two character ability cards from your hand, then click Draw in the bottom left corner of the app. This causes the monsters ability cards to be shown and the monster rows are automatically sorted in initiative order.

Next, move the character rows to the correct place in the initiative order by dragging the portraits, then take turns starting at the top row. As each turn completes, you may optionally click that row's portrait to gray it out.

When all turns are finished, click `Next Round` in the bottom left corner of the app.

Clicking a monster box or character row opens a menu for adjusting the HP, XP, loot, blesses, curses, and conditions. You can drag left or right on the HP, XP, or loot buttons to adjust them more easily.

A faster way to adjust the HP without opening the menu is to simply drag left or right on a monster box or character row.

The summon icon indicates the monster was summoned, so should not drop a coin when it dies. The summon icon has an X on it to indicate it was summoned this turn and should not perform any actions. The X is automatically removed at the end of the current round. It is also convenient to lay summoned monsters on their side for the first turn they are in play.

On the monster set level menu, the star icon indicates a monster is special or "named". Named monsters are not considered normal or elite and so are not affected by character abilities that target only normal or elite monsters (such as abilities that execute a normal or elite monster). Gloomhaven Helper knows about many special scenario rules and adjusts the HP of specific monsters when the star icon is applied.

Settings

  • Help When unchecked, the helpful messages won't be shown.
  • Hide stats When unchecked, monster stats are only hidden while turns are being taken, otherwise they are shown. This is for players who like to see what they are up against before encountering the monsters.
  • Calculate stats When checked, the monster ability cards show calculated values (eg, Attack 4 instead of Attack +1).
  • Elites first When checked, elite monsters are sorted first for each monster row. When unchecked, they are sorted only by standee number.
  • Track standees When unchecked, the individual monsters for each row are not shown. Use this for when you want to track monster HP and conditions some other way.
  • Random standees When unchecked, adding a monster will automatically choose one of the unused standee numbers at random.
  • Expire conditions When checked, conditions that expire at the end of the turn will be removed automatically. When using this, it is important to click each row's portrait after taking each turn so that end-of-turn conditions can be managed properly.

    Conditions added on the current turn do not expire at the end of the turn. Gloomhaven Helper knows a row is the current turn when it is the first row that has not been grayed out by clicking the portrait. The portrait for the current turn is highlighted with a cyan glow.

    Care must be taken in some uncommon situations. For example, when a monster affects another monster of the same type, before that other monster's turn, the app interprets the condition as being applied during the monster's turn and will expire the condition one turn late.
  • Ability numbers When unchecked, monster ability cards will show their card number in the bottom left corner.

Character Initiative

  • Numpad When checked, click a character portrait to set the initiative number. All character initiatives must be set before Draw can be clicked.
  • Drag number When checked, drag a character portrait to the right to set the initiative number. If Required is checked, all character initiatives must be set before Draw can be clicked.
    With two columns of characters and monsters, this setting may interfere with dragging a row to the left or right. In that case, first drag the character row up or down before dragging it left or right.
  • Drag order When checked, drag a character portrait to the appropriate initiative order after clicking Draw. This setting is fast, but when multiple character initiatives fall between the same monsters, you may need to ask the other players what their initiative number is.

Zoom

This setting scales the app up or down. Zooming out can provide more vertical space and reduce or remove the need for scrolling. When there is sufficient horizontal space and more rows than fit vertically, Gloomhaven Helper will arrange the rows in two (or more) columns.

Network Sync

By having one device (cell phone, tablet, laptop, desktop, etc) run a server inside the app, other devices can connect to it so Gloomhaven Helper is synchronized across all the devices. Any changes made on any of the devices will appear on all the others. Any number of clients can connect to a server.

  • Server When checked, the app runs a server on the port shown to accept connections from other devices. A server icon appears at the bottom of the screen: gray means no clients are connected, green means at least one client is connected.
  • Client When checked, the app connects to a server using the IP or host name and port shown. Client icons appear at the bottom of the screen: red means the server could not be connected, green means the server is connected.

The server and all clients must be on the same version of Gloomhaven Helper. You can see the version at the bottom of the main menu.

Tips

  • The monster attack modifier deck does not need to be shuffled manually. A lot of people get this wrong. Per the rules (page 11), it is shuffled at the end of the round if a card with the shuffle icon was drawn during that round. The only other time it is shuffled is if the attack modifier deck is empty. This is true for both monsters and characters.
  • Double tap an element to set it to waning.
  • Drag left or right on a monster box or character row to adjust HP. This also works on the monster dialog HP buttons.
  • Drag left or right on the rightmost part of a character row to adjust XP.
  • When adjusting HP, the poison, wound, and shield icons flash as a reminder to consider those conditions for attacks and heals.
  • The circled level on the Set Scenario dialog is the recommended level based on the character levels.
  • Choosing Custom on the Set Scenario dialog sets the scenario level, but doesn't add any monsters.
  • At the top of the Add Characters menu, an escort or objective row can be added.
  • Your progress is automatically saved every time any change is made.
  • Run the desktop version with the command line paramter -verbose to have more information logged.
  • An Android device can send the app display to a TV using a Chromecast.
  • A laptop can be rotated 90 degrees to get more vertical real estate. Try ctrl+alt+right arrow to rotate the screen contents.
  • If the images are scrambled in the web version, clear your browser cache (try ctrl+shift+del).
  • Press arrow up or arrow down to zoom in/out.

Support

There is no support for this free app, sorry! You can try posting at one of the links below to get help from the community.

Wish List

The app will only receive bug fixes for a while. The following features may be considered in the future:

  • Test undo with networked clients.
  • Remember zoom (eg orientation change).
  • Menu for adjusting HP and conditions for all monsters of the same type.
  • Network synchronization for the web version.
  • A round log to track down mistakes (eg, updating the wrong standee).
  • A reminder when a specified round number is reached.
  • Allow viewing the monster attack discard pile.
  • Support to manipulate the monster ability cards for the Diviner class.

Links

If you are interested in how Gloomhaven Helper came to be, check out these links:

Changelog

6.2 (unreleased)

• Fixed some boss attack calculated values.
• Remember fullscreen setting across app runs.
• Player summons are no longer sorted by standee number.

6.1

• Fixed undo with network synchronization.
• Darker circle for recommended level.

6.0

• Faster network synchronization when dragging to adjust values.
• Added 25 levels of undo.
• Added redo.
• Keyboard entry for initiative (desktop).
• Escort and objective initiative is not reset each round.
• Fixed recommended scenario when an escort or objective is in the party.

5.9

• Scroll to keep add monster menu on-screen.
• Fixed crash creating a level 7 solo scenario.
• Fixed a monster have melee AOE but showing a range.

5.7

• Fixed crash when network sync clients take an action at the same time.
• Fixed monster attack modifier cards not animating for network sync clients.

5.6

• Fixed objectives/escorts counting as players.

5.5

• Fixed monster initiative numbers showing incorrectly.
• Fixed characters being gray after setting a new scenario.

5.2

• Don't show initiative numbers to network clients until drawing monster ability cards.
• Added drag left/right to adjust XP without opening the player menu.
• Flash the shield icon when a monster with shield takes damage.
• Fixed adding monster conditions not wrapping monster boxes to the next line.
• Fixed Add Characters button being over the settings button.
• Fixed Track Standees hiding player summons.

5.1

• Show multiple local IPs when hosting a server.
• Improved zoom.

5.0

• Added hotkeys to zoom (up/down arrow keys).

4.9

• Fixed ability cards not flipping sometimes.
• Reduce download size.

4.8

• Fixed an incorrect boss immunity.
• Renamed "Players" to "Characters".
• "Set scenario" defaults to the last scenario level rather than using the characters level.
• Don't keep screen on while app is in the background.
• Escort and Objective moved to top of list.
• Monster rows share ability decks when appropriate.
• Scroll to top on draw and next round.

4.7

• Fixed monster stat layouts.
• Fixed zoom from being lost when window is minimized on desktop.

4.6

• Fixed initiative sorting ignoring characters when adding a new monster mid-round.
• Added "exhausted" button for characters (so HP can still be tracked for permadeath).
• Fixed saving app state on Android.

4.5

• Fixed remove monster not updating the network.
• Fixed character numpad initiative not updating the network.
• Show stats menu after adding a character summon.
• Numpad is now default for character initiative.
• Added undo (one level).
• Added highlight for current turn.

4.4

• Fixed monsters spawning automatically.
• Improved add monster animations.

4.3

• Added numeric input for character initiatives.
• Added "monkey face" condition.
• Fixed "bear face" using scenario level instead of character level.
• Fixed layout for Spitting Drake AOE.
• Sort character conditions.
• Better help messages.

4.2

• Removed "Summon" as a monster that can be added.
• Fixed crashes adding escort or objective.
• Fixed other rare crashes.

4.1

• Ability cards are back to being shown automatically when a new monster is added (summons draw for initiative, even if they don't take the action).
• Fixed minor layout problem with 2 columns.
• Smoother progress bar when loading web version.

4.0

• Improvements for "bear face" class when setting a new scenario.
• Added move, attack, and range stats to summons.
• Fixed sorting character summons.
• Fixed card 747.
• Allow setting character initiative number any time.
• Fixed character initiative numbers setting not being saved.

3.9

• Added character summon tracking.
• Fixed character row highlight when menu is open.
• Fixed crash with monster remove menu.
• Fixed state not being saved locally when received from network sync.
• Write config and state to a temp file, only replacing the real file when writing is successful.
• Added logging to a log.txt file on desktop.
• Ability cards are no longer shown automatically when a new monster is added (it may be summoned and takes no action this turn). Click the ability card back to draw.
• Fixed bugs with character initiative number sorting.

3.8

• Added "Character initiative" settings.
• Improved background graphics.

3.7

• Fixed network sync bugs.
• Allow setting name and max HP for character rows.
• Added escort and objective "character" rows.
• Add escort automatically for scenario #19.
• Fixed zoom causing scaling artifacts.
• Added reset zoom option.

3.6

• Fixed network sync crash regarding simultaneous actions.
• Fixed scaling artifacts.
• Changed thresholds for HP drag adjustments.
• Reduces HP adjustment mistaps when dragging character rows.
• Added "Ability numbers" setting to show monster ability card numbers.

3.5

• Fixed crash on older Android versions.

3.4

• Press on stats to show them.
• Improved HP drag adjustment to prevent mistaps.

3.3

• Curse innate ability now shows up on ability cards.
• "Add monster" defaults to scenario level.
• Monster "set level" now changes the whole row.
• Menu to add/remove blessings and curses when "track standees" is unchecked.

3.2

• Landscape support (multiple columns, if they fit).
• Never upscale, only downscale if the screen isn't wide enough.
• The "Zoom" setting now downscales instead of adding black bars.
• When "Track standees" is unchecked, drawing monster ability cards can be on/off.
• Other minor fixes and improvements.

2.8

• Faster initial loading.
• Fixed stat calculation for boss specials for negative values.
• Web version.

2.7

• Much better legibility for HP text.

2.6

• Larger HP text size.

2.5

• Network sync improvements.
• Added monster level button and max hp adjustment.
• Condition reminder animations.
• Larger menu buttons.
• Add monster level defaults to scenario.
• Scroll when row is dragged to screen edge.
• Set scenario resets characters.
• Sort after adding new monster during turns.
• Added remove monster button.
• Don't set turn to complete if no monster boxes.
• Redid sliding animations.

2.4

• Added summon condition for the 1st round in play to indicate it should not take actions.
• Added "Random standees" setting.
• Ending a turn by clicking a portrait ends all turns of rows above.
• Undoing a turn by clicking a portrait again undoes all turns of rows below.
• Fixed a Flame Demon card text.
• Fixed scenario level with network sync.
• Fixed swiping to set monster HP.
• Improved sliding animations.
• End of round warning is only shown when expiring conditions are active.

2.3

• Fixed resource clean up after using client or server settings.

2.2

• Clients attempt to automatically connect to the first server found running on the LAN.
• Local IP is shown when server is started.
• Special case for scenario #67.
• Better sorting for conditions on popup menus.

2.0

• Added network synchronization.
• Many improvements.

1.0

• Initial release.

Donations

This app was developed as a fun side project. It is provided for free and donations are not necessary. Part of the charm of a side project is not having paid customers, which creates obligations for work, maintenance, and support. If you really love it, you can post a 5 star rating and a nice review on Google Play. If you really, really must make a monetary contribution, I suppose you could purchase Spine, which would also provide you with a great animation tool!