u/Awkward_Ad9166

I run a monthly Blood on the Clocktower game for friends in Toronto. For the past year, organizing each event has meant the same routine: message the WhatsApp group, figure out who's coming, manage the waitlist when more people want to play than I have seats, and then remind everyone the day before. I was doing all of this across WhatsApp, a spreadsheet, and occasionally just my memory.

It worked. But it was annoying in the way that things are annoying when you know they could be simpler. I tried a couple of the big event tools and none of them really fit the way I wanted things to work.

So I built Slaydate. It's event management specifically for Blood on the Clocktower.

Here's what it does: you create an event, get a shareable link, and players sign up with just their name and email. You can set room capacities, manage the waitlist, and Slaydate handles confirmations and reminder notifications automatically. After the game, storytellers can publish game stories from Blocktower so the night is preserved, not just played and forgotten.

If you use Blocktower (the storyteller toolkit I posted about last week), the two connect. Blocktower can read the roster so everyone is already named in the app and it seamlessly sends the completed game stories when you're ready, and they look so. freaking. cool. I'm still refining things, but check it out: https://slaydate.app/examples/trouble-brewing-1

Fair warning: this looks like a lot for a free tool. But, I'm a software developer and I really fetishize the craft of software. I overbuilt this the same way I overbuilt Blocktower. Similarly, it's as much an art project and labour of love as much as it is a useful tool.

It's free, and always will be for single-table (single town? single room? one game running at a time!) events. No ads and no data collection beyond what's needed to run the event. I'm considering a paid tier for organizers running multi-table events with more complex needs, but the core tool is intended as a community resource.

Now, speaking of community resources: I mentioned this in my Blocktower post, but it bears repeating here, as there's a practical application for it. ChronicleJSON is an open format that stores a recap of a BotC game: the roster, the phases, every event in order, the day and night Storyteller notes with enough detail to reconstruct a game or narrate it elsewhere. It's what Blocktower generates and what Slaydate uses to create the story. My hope is that more tools can generate and consume it. Tools get stronger when they can talk to each other. It's on GitHub here: https://github.com/ChronicleJSON/ChronicleJSON

Slaydate is in beta right now. I'm looking for organizers who run in-person BotC games and want to try it. If that's you, drop your email on the waitlist and I'll let you in. I'll be approving most people straight away, but I want to keep my poor server from getting overwhelmed. You can find it here: https://slaydate.app

A few things I'd love feedback on from early users:

  • Does the signup flow make sense for your players? (Some groups are all tech-savvy, some are... less so)
  • Is the waitlist management useful, or do most of your events not have that problem?
  • What's missing? I built this for my specific situation (a monthly, 1 table friends group). If yours is different, I want to know how.
u/Awkward_Ad9166 — 7 days ago

A few weeks ago I posted about Blocktower, a free iOS storyteller toolkit I built because I kept losing track of the vote threshold mid-nomination. Blocktower isn't a grimoire replacement, it's built for the stuff the grimoire doesn't already solve, the pain points you still handle in your head or on paper. The response to that post was way bigger than I expected, and a lot of you told me exactly what you'd like to see. I took the ideas you gave and kinda went crazy.

If I had to give a theme to this update it'd be "enhance the craft of storytelling."

Nomination tracking

A few of you asked for this independently: "Can it track who's nominated, who's safe from nomination, who's already used theirs?" Welp: shipped. Nominations are gestural (tap the nomination button, drag from the nominator to the nominee with a fancy schmancy arrow). Drag the vote tally around to specify how many votes there are, and then drag it to the middle to lock the vote count in. The system automatically handles ties, self-nominations and traveller exiles cleanly. You can't drag from someone who's already nominated, and you can't drag to someone who's already been nominated.

Named players

Another popular one from the previous thread! You can now type in each player's name, during setup, or on their details card, or on the player list (available beside the timer button). The names flow through everything else: the nomination log reads "Ahmed nominated Sarah" instead of "Player 3 nominated Player 7," and the end-of-game story reads like an actual story about actual people. Names are optional, so if you'd rather keep things at a glance with numbered spots, that still works.

Build the perfect grim reveal

This is the part I'm most excited about. These next few things seem like separate features, but they're really in the service of one thing: the grim reveal. This is the dramatic payoff of the whole game, and in my opinion should feel like a guided tour, with every twist and every turn landing. What usually gets in the way for me is my stupid stupid memory! After an hour or so of storytelling, I'm trying to remember: did the Imp kill John night 2 or night 3? Who did the mayor kill bounce to? Who was actually on the block for that tied vote in Day 4? Blocktower now handles all of that for you.

Start of game. Set up your grimoire the way you normally would. Start a new game in Blocktower, drag the players into position, tap "Capture Grimoire", and point the camera at it. It'll automatically detect the player tokens, capture a photo and assign each player their role. If it makes mistakes you can fix it quickly, but it's pretty accurate from my testing.

Play the game. Use Blocktower to track nominations, vote counts, executions, deaths, resurrections, role changes. Everything gets logged as it happens. You can also jot down day and night Storyteller notes (mayor bounce, assassin killed the soldier, whatever you want to remember), and they stay attached to that phase.

The game ends. Tap the menu and Finish the Game button, snap a second photo of the grim, pick the winner, and Blocktower pulls everything together into a story of what actually happened in the order it happened. The starting/ending grim pictures, the daily and nightly event log with your notes inline each night. You run the reveal off the screen. Timing intact, causality intact, nothing forgotten.

Later on. Every game you've run is saved. So when someone asks "what happened in the first game we played?" I just pull up the history tab and have everything captured for posterity.

The reveal is then yours to perform, not yours to reconstruct from memory.

Full script library

Assigning roles and stuff relies on scripts, so Blocktower has the official scripts built in. You can also search botcscripts.com directly from the app, pick the one you want to play and use it. Did you make your own custom script? Paste it in from your clipboard or import from a saved file. When viewing scripts, every character is tagged by edition (TB, BMR, S&V, or experimental) so when you're pulling the tokens to build your bag, finding them goes a lot faster.

The important part

Despite all of this, the simple use case is still simple. If you just want vote tracking and a discussion timer, the app works nearly exactly the way it did before. Nothing is forced on you. Use the tools you want to use, skip or ignore the ones you don't.

Still free. Still iOS. Still no ads, no accounts, no data collection. Android is still in development (I got too excited about this update). If you're on Android and want to know when it's out, drop a comment and I'll ping you directly when it ships.

https://apps.apple.com/us/app/blocktower/id6758778915

One more thing, for the builders

I'm working on something that reads the games Blocktower saves. When I started wiring it up, an open JSON format was the obvious call. So I built one. It's called ChronicleJSON: the roster, the phases, every event in order, the day and night Storyteller notes. Enough detail to reconstruct a game or narrate it elsewhere.

BotC already has a shared character data format that pretty much every community tool leans on. Game logs are the next place a shared shape unlocks possibilities: stats dashboards, replay tools, a narrator that turns a chronicle into a written recap. Tools get stronger when they can talk to each other.

Spec is on GitHub at https://github.com/ChronicleJSON/ChronicleJSON. It's at 0.3, so expect it to change. If you find a gap, open an issue. If you ship something that reads or writes it, I want to know.

If something's broken or annoying, tell me. That's how we got here.

u/Awkward_Ad9166 — 12 days ago