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

rpg

3420 readers
49 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] 9 points 6 days ago (1 children)

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

[–] [email protected] 12 points 6 days ago* (last edited 6 days ago)

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

Thank you for pointing that out

[–] [email protected] 5 points 6 days 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] 4 points 6 days 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] 3 points 6 days ago

Still a very cool project! Fun to play around with

[–] [email protected] 4 points 5 days ago (1 children)
[–] [email protected] 3 points 5 days ago* (last edited 5 days ago)

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

[–] [email protected] 4 points 6 days 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] 7 points 6 days 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] 1 points 5 days 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 5 days ago

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

[–] [email protected] 1 points 6 days 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] 1 points 6 days ago (1 children)

What was the app called and is it still available?

[–] [email protected] 1 points 5 days 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] 1 points 5 days ago

Okay, would've been interesting to see