A HUD-like dashboard and party info tracker for playing John Harper's Blades in the Dark remotely.
- Install Rust and clone the repo.
- Run the server:
$ cd server/ && cargo run
- Browse to http://localhost:3000/ (in multiple tabs if you want to test syncing)
For usage online (for an actual game/campaign), install Rust on a web server, clone the repo & upload it there, create a .sh file containing the command above, and set it up to run as a daemon process.
The main screen of the HUD displays a game's progress clocks, grouped by player. Left clicking a clock ticks a segment on it; right clicking removes a segment. All clocks are public and changes are immediately visible to all players.
The following functions can be run from your browser's Console to set up a game:
add_player("name"), to add a player namedname.- Adding a player named
worldwill create a section for world clocks that are styled differently from player clocks and which always display at the top.
- Adding a player named
remove_player("uuid"), to remove a player with the IDuuid.- A player's ID can be copied to the clipboard by right-clicking their name (above their list of clocks).
rename_player("uuid", "newname"), to change a player with IDuuidto be namednewname.- A player can also be renamed by double-clicking their name.
After adding players to a game, select your role using the user switcher in the top right and begin playing.
Left click a point on the map to add a landmark there. Click on an existing landmark to rename it or change its color.
The map image can be customized in client/js/map.js, along with other settings.
Notes can be sorted into and filtered by the following categories: misc, person, place, boogins (enemies), item, concept, event.
After creation, note titles and descriptions can be edited simply by clicking on the existing text.
Various functionalities are available through the sidebar: the user switcher, rollable dice, a private/personal memo pad, toggles for dark mode and hiding the sidebar, and other tools. All information is preserved between sessions and saved in the browser's localStorage.