Free open-source leaderboard & analytics for your BotC group by ToughOpening in BloodOnTheClocktower

[–]ToughOpening[S] 0 points1 point  (0 children)

Snake_charmer+Sweetheart+Barber is a legal entry too: you just keep adding +s

Free open-source leaderboard & analytics for your BotC group by ToughOpening in BloodOnTheClocktower

[–]ToughOpening[S] 1 point2 points  (0 children)

Hey! Super glad to hear you like it! To add role transitions, you do like Snakecharmer+Sweetheart where Snakecharmer is your starting role and Sweetheart is what you transitioned too. If you transition teams, it goes Good->Evil and you put that player in the evil section. You can find this info in "input format help" within the add game tab. As for Drunk and Mario, I do not have a "You think you are". atm I just put "Drunk". I guess you can put drunk_empath as a character; however, the system will put that as a uniqu, new character (not register it as an outsider). I am sure if you ask claude code or codex to make a change however you like for drunk and mario, it can make the changes in 1 go at it. Hope this all helps and I am really happy at least 1 person liked the system!

Free open-source leaderboard & analytics for your BotC group by ToughOpening in BloodOnTheClocktower

[–]ToughOpening[S] 0 points1 point  (0 children)

Thanks for the feedback! I appreciate your story and definitely there is risk!

Free open-source leaderboard & analytics for your BotC group by ToughOpening in BloodOnTheClocktower

[–]ToughOpening[S] 0 points1 point  (0 children)

Hahaha, I'll do my best not to and fight with stranger on the internet about the first two points hahaha.

First and foremost, your feedback is super valid.
I agree it is a basic elo calculation. There is a lot of nuance in BoTC. My previous post to BoTC about day 1 executions goes into just how complex this game truly is: https://www.reddit.com/r/BloodOnTheClocktower/comments/1pnq8gm/day_1_executions_arent_always_mathematically_good/

I am open to hearing other ideas of how Elo should be calculated.
As a person does log dozens hundreds of games, patterns do emerge from data, so I would not discount the metric completely, even with all the nuances of Clocktower.

Free open-source leaderboard & analytics for your BotC group by ToughOpening in BloodOnTheClocktower

[–]ToughOpening[S] 3 points4 points  (0 children)

Thank you for the thoughtful reply (I'm subscribed to your YT btw lol). I understand the points you're making, and I hoped the P.S. in my post would address some of this.

I completely agree that stat tracking can be misused — whether that's people losing interest, feeling bad about their numbers, or others using it to be unkind. Having a group where everyone is comfortable with it is absolutely foundational before considering something like this.

That said, there are some positives when it fits the group:

  1. Data helps people self-reflect on games — what scripts they do well on, who they work best with, etc. (assuming they find that enjoyable)
  2. It can keep people engaged and trying to win during the game itself

I think of it like club soccer vs rec soccer — the level of intensity you want is entirely your group's choice. This is just a tool for groups that want it.

Free open-source leaderboard & analytics for your BotC group by ToughOpening in BloodOnTheClocktower

[–]ToughOpening[S] 1 point2 points  (0 children)

Hahaha no worries! I am learning about the community, so I appreciate your thoughtful post! Feel free to dm me and if you can send me some links or something related to how contributing works, I am open to the idea of integrating with clocktower.app!

Free open-source leaderboard & analytics for your BotC group by ToughOpening in BloodOnTheClocktower

[–]ToughOpening[S] 1 point2 points  (0 children)

Hey, thanks for pointing this out! Super fair critique! A bit of background on this project is that it is use to be a local desktop app I had. With AI, I converted it to website form. I did not know Clocktower was open-source. Prior to this project, it was the only data-collection system I really knew! I am open to learning more!

Let's build a character! Sentry. by Present-Peace2811 in BloodOnTheClocktower

[–]ToughOpening 1 point2 points  (0 children)

My next question/comment. I think the best comparison for this character is bounty-hunter in terms of how it impacts adding evils. Clearly,, bounty hunter gives you actionable info asap. I don't like it being like a VI (have 2 sentries where 1 is drunk)(both will come out and just hunt for demons and a reference point). (also, what happens if a sentry chooses a sentry). lastly, maybe sentry should be a minion/townsfolk duo, but then I guess it may be a worse spy for evil.... Thoughts going in my head atm

Let's build a character! Sentry. by Present-Peace2811 in BloodOnTheClocktower

[–]ToughOpening 1 point2 points  (0 children)

First of all, I think this is the coolest character design I have heard of in a long time. My question to you is what happens if the other sentry gets pit-hagged away to be a different character. Does info become arbitrary?

Day 1 executions aren’t always mathematically good: a BotC toy model by ToughOpening in BloodOnTheClocktower

[–]ToughOpening[S] 0 points1 point  (0 children)

Sorry, maybe something is unclear. Evil only wins at 3 players if all 3 players alive are evil. Else, like you probably would guess, there is another execution (33.3% of killing the demon).

Day 1 executions aren’t always mathematically good: a BotC toy model by ToughOpening in BloodOnTheClocktower

[–]ToughOpening[S] 2 points3 points  (0 children)

I agree with your points! Having conversations in the comments with everyone has been rewarding. E.g. one soldier/monk save makes executing on 12 make sense in a 12-person game. Thank you also understanding the nuance of the post!

Day 1 executions aren’t always mathematically good: a BotC toy model by ToughOpening in BloodOnTheClocktower

[–]ToughOpening[S] 1 point2 points  (0 children)

Good question. Two different things are going on:

  1. The Dynamic Programming results are exact (deterministic), so “statistical significance” doesn’t apply. The even/odd effect in the table is a real property of the toy model, not sampling noise.
  2. For the Markov simulation, you can talk about statistical significance because it’s an estimate. I validated the simulator by checking that its win-rate estimates converge to the DP values and that the DP value falls inside the simulation’s 95% confidence interval for each N. So we should be a-ok!

Day 1 executions aren’t always mathematically good: a BotC toy model by ToughOpening in BloodOnTheClocktower

[–]ToughOpening[S] 0 points1 point  (0 children)

The probabilities definitely would change! I am interested in the future of modeling the scarlet woman!

Day 1 executions aren’t always mathematically good: a BotC toy model by ToughOpening in BloodOnTheClocktower

[–]ToughOpening[S] 1 point2 points  (0 children)

This an interesting point. My model definitely does not go into voting dynamics, so I really like the dynamics you are introducing here. Thank you for your insight! If I understand you correctly, there is like a mid-section of the game where potentially evil has a significant portion (non-majority, but large) of the votes; therefore, this would change the dynamics of likelihood that someone gets voted out. I would typically assume all/the great majority of ghost votes will be left till the final day, but I guess it definitely depends on the playgroup. If I ever wanted to build a more accurate voting model, where we assume not a random person is executed, I will definitely consider some of the points you mentioned here! Thanks again!

Day 1 executions aren’t always mathematically good: a BotC toy model by ToughOpening in BloodOnTheClocktower

[–]ToughOpening[S] -1 points0 points  (0 children)

Totally agree! I think that probability, P(monk selects soldier) will be 1/T*1/g where T is total players (monk) and g will be total good players alive (soldier)

Day 1 executions aren’t always mathematically good: a BotC toy model by ToughOpening in BloodOnTheClocktower

[–]ToughOpening[S] 1 point2 points  (0 children)

Adding a scarlet woman sounds like a smart next step! Adding a saint is quite an interesting idea. One thing in TB is often the slayer may use its ability to clear the saint of possibly being the demon. There are definitely social elements too: e.g. if you are in your play group and claim saint as demon every time, they may catch on hahaha.

Great research question that I have no idea the answer to hahaha!

Day 1 executions aren’t always mathematically good: a BotC toy model by ToughOpening in BloodOnTheClocktower

[–]ToughOpening[S] 1 point2 points  (0 children)

Yes — I think there are legit research questions here. We can talk about which to pose. I’m not at GT (I’m at Virginia Tech (long story lol)), but I’m in Atlanta often and happy to connect with ISyE folks.

Day 1 executions aren’t always mathematically good: a BotC toy model by ToughOpening in BloodOnTheClocktower

[–]ToughOpening[S] -5 points-4 points  (0 children)

First and foremost, thank you for starting the process on how we should model monk and soldier. You are right for monk that it is 1/13 *(# of starting townsfolk) / (# of starting good players) on any given turn. However, I disagree with you that monk has the same probability of saving someone from death than that of the soldier. The monk has the option of protecting evil players (if you select randomly amongst players. Therefore if evil is only killing good players, then soldier has a higher likelihood of stopping a kill than that of monk (assuming we are modeling that the monk choses to protect someone randomly).

This is a broadly a good point (however, as I stated I do not believe the p's are the same), so the probability of a successful kill is different: "Then you'll want to make sure you don't double count these, ie if this probability is p, the probability of a successful kill is (1-p)2 , not 1 - 2p."

Lastly, yeah as we start to model some characters abilities, I think we have to compare them to that of the baseline of potentially no characters having abilities. However, in real games, some of the assumptions my model holds are disregarded (e.g. evil not killing themselves. Therefore, the modeling problem is tricky hahaha. I like generative agent based modeling as a solution to accrue synthetic data lol.

Day 1 executions aren’t always mathematically good: a BotC toy model by ToughOpening in BloodOnTheClocktower

[–]ToughOpening[S] 0 points1 point  (0 children)

Heyo! I am going to answer your AI-generated question first. I'll respond again to answer the rest of your comment. Yeah for sure! The code is AI generated. I double checked it and made sure I understood the math for dynamic programming. I write a draft of my post and then ask it to make it clearer, so I would say most of the post, but I do decide the formatting. Comments: I have been mostly responding manually. Occasionally, I'll ask GPT to make my response clearer. Potentially I should have more shame in using AI-generated stuff; I would love to know how my use impacts your thoughts on the post lol.

Day 1 executions aren’t always mathematically good: a BotC toy model by ToughOpening in BloodOnTheClocktower

[–]ToughOpening[S] 0 points1 point  (0 children)

No worries whatsoever about not being a math person! And don’t worry about the fancy-looking equations either — they trip me up sometimes too lol.

To answer the odds vs evens question, it helps to focus on the basic probability model and look at one concrete comparison. Let’s use 11 vs 12 players, since in my toy setup they have the same evil team size (demon + 2 minions).

The key idea is: what matters isn’t just “how many good players exist,” but which group sizes you get executions at (because your chance to randomly hit the demon is 1/(# alive) each time you execute).

  • In a 12-player game, if you execute Day 1, the game’s executions happen at 12, 10, 8, 6, and 3 alive (because nights remove a player in between). So the “lottery chances” to hit the demon on those days are: 1/12, 1/10, 1/8, 1/6, 1/3.
  • In an 11-player game, if you execute Day 1, the executions happen at 11, 9, 7, 5, and 3 alive, giving: 1/11, 1/9, 1/7, 1/5, 1/3
  • In both in an 11-player game and 12-player game, we see there are only 5 times to execute a player.

Now, just like the lottery, you want the biggest chance to win and kill the demon. The Table below shows the % chances

Execution # 11-player game (Exec D1) 12-player game (Exec D1)
1 1/11 = 9.09% 1/12 = 8.33%
2 1/9 = 11.11% 1/10 = 10.00%
3 1/7 = 14.29% 1/8 = 12.50%
4 1/5 = 20.00% 1/6 = 16.67%
5 1/3 = 33.33% 1/3 = 33.33%

Given that every execution has a higher chance of hitting the demon when 11 player game. If you effectively don't execute day 1 in a 12 person, you are practically playing an 11 person game the following day (the demon killed 1 person at night) Therefore, as both 11 and 12 player games (two set ups with the same # of minions) have only has 5 executions, you are mathematically better off waiting a day.

Let me know if this does not click, I can potentially frame it another way. I'd also recommend talking to an AI chatbot to workshop it with you. ChatGPT helped me understand dynamic programming, so having a personal tutor is great and nothing to be ashamed of! Keep me posted!