Skip to content

Repository files navigation

Blood on the Clocktower

An unofficial online grimoire for running Blood on the Clocktower either in person or online.

Learn more about Blood on the Clocktower from the wiki.

This project gives Storytellers a shared digital grimoire. It intentionally does not automate gameplay and is meant to be used with a human Storyteller.

The grimoire can manage characters, reminders, alignment, voting, and more. Players can connect from their own devices and follow along.

Note

This is a community-made project and is not affiliated with or endorsed by The Pandemonium Institute.

Home Page

Features

  • A private Storyteller grimoire arranged around the town circle.
  • Player joining and live presence through a short game code.
  • Character assignment and private player role reveals.
  • Life, alignment, reminder-token, Demon-bluff, and day/night tracking.
  • Storyteller night order and information-token references.
  • Trouble Brewing, Bad Moon Rising, and Sects & Violets character sheets.
  • Responsive layouts for running a game from a laptop, tablet, or phone.

Playing a Game

  1. The Storyteller selects an edition and player count, then opens a new grimoire.
  2. Players choose Player, enter the game code and their name, and join the town from their own device.
  3. The Storyteller assigns characters and uses the grimoire, reminders, night order, and information panels to run the game.

Character reference sheets are also available without creating a game.

Preview

The Grimoire

Populated grimoire running Trouble Brewing

In-Person Game Information

Demon bluffs shown in an in-person game

Character Reference Sheet

Trouble Brewing character reference sheet

Local Setup

Requirements

  • Node.js 22.22.2 or newer
  • pnpm 9
  • Docker

Run locally

  1. Install the dependencies:

    pnpm install
  2. Copy .env.example to .env.

  3. Start Supabase and apply the migrations and preview seed:

    pnpm supabase:start
    pnpm supabase:reset
    pnpm supabase:status
  4. Copy the local API URL, publishable key, and secret key reported by supabase:status into the matching variables in .env.

  5. Start the application:

    pnpm dev

Open http://localhost:3000. See DEVELOPMENT.md for environment variables, database migrations, observability, asset syncing, and deployment checks.

Verification

pnpm check
pnpm test
pnpm test:coverage
pnpm build

Multiplayer browser tests additionally require the local Supabase stack:

pnpm supabase:start
pnpm supabase:reset
pnpm test:db
pnpm test:integration

Additional database and dependency checks are documented in the development guide.

License

Original software and documentation are licensed under the MIT License. Blood on the Clocktower material and other third-party content are not covered by that license. See Third-Party Notices for details.

Acknowledgements

Blood on the Clocktower is a trademark of Steven Medway and The Pandemonium Institute. This project is not affiliated with or endorsed by The Pandemonium Institute.

About

Online grimoire for hosting Blood on the Clocktower online or in-person!

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages