this post was submitted on 25 Feb 2025
86 points (100.0% liked)

rpg

3611 readers
7 users here now

This community is for meaningful discussions of tabletop/pen & paper RPGs

Rules (wip):

founded 2 years ago
MODERATORS
 

I made a web page where you can simulate a complex dice roll sequence with conditionals (e.g. re-roll when roll is a 1) using a Python-like syntax. (Click the "Toggle Syntax" button to view examples)

It needs a second to load because it has to load a Python interpreter in the background (I'm not good at web development) but once that's done, it works really well.

It's still very barebones and I still have to work out some problems.

Maybe some of you could use it, though.

There's also just the Python version available to run locally here

Everything is GPLv3, enjoy!

top 15 comments
sorted by: hot top controversial new old
[–] [email protected] 11 points 1 month ago (1 children)

Nice Work, but did you forgot to link the Website?

[–] [email protected] 16 points 1 month ago* (last edited 1 month ago)

Yes, yes I did... It's here

Thank you for pointing that out

[–] [email protected] 8 points 1 month ago (1 children)

Extremely impressive! I wrote a dice probability calculator myself recently, but abandoned perfect calculations in favor of a million roll simulation. What you have done is really quite lovely.

[–] [email protected] 11 points 1 month ago

Thank you very much. I, too, initially used a sampling approach but that was obviously inefficient and inaccurate. Getting this to work was a HUGE pain so it's nice to read some kind words about it, thank you

[–] [email protected] 6 points 1 month ago (1 children)
[–] [email protected] 4 points 1 month ago* (last edited 1 month ago)

Pretty similar but I couldn't get re-rolls to work on there. That's the main reason I made this

[–] [email protected] 6 points 1 month ago (1 children)

This is super cool!

Does it support things like max/min to simulate advantage/disadvantage?

It would be really cool to mathematically compare different kinds of rolls, like the cascading dice damage post from a couple weeks ago (even if its not built into the notation, just writing out the logic by hand)

[–] [email protected] 5 points 1 month ago (1 children)

No, there is no advantage or disadvantage functionality. I made it purely for balancing, so finding out the average damage a character would do. In that case I would just write out all the different rolls the character would do when attacking and have the program calculate using that. It's pretty barebones

[–] [email protected] 4 points 1 month ago

Still a very cool project! Fun to play around with

[–] [email protected] 2 points 1 month ago (1 children)

Cool. I used to have an app that would do this and it was great to play with for various scenarios. Nice to see a website version.

[–] [email protected] 2 points 1 month ago (1 children)

What was the app called and is it still available?

[–] [email protected] 2 points 1 month ago (1 children)

No, it was oooold. Like, ipod touch old. It didn't make it past ios 5, I think. It's why I'm loving your webpage.

[–] [email protected] 2 points 1 month ago

Okay, would've been interesting to see

[–] [email protected] 1 points 1 month ago (1 children)

I am working on a dice expression evaluator on my side, and I will certainly reuse your code if I can ! Thanks for giving the example, as a GNU enthusiast, it is very nice ! Great job making it work !

[–] [email protected] 1 points 1 month ago

Best of luck to you. I think my code is quite messy but if you can use any of it, feel free!