82
submitted 6 days ago* (last edited 6 days ago) by illectrility@sh.itjust.works to c/rpg@ttrpg.network

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
[-] Wutchilli@feddit.org 10 points 6 days ago

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

[-] illectrility@sh.itjust.works 14 points 6 days ago* (last edited 6 days ago)

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

Thank you for pointing that out

[-] pennomi@lemmy.world 7 points 6 days ago

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.

[-] illectrility@sh.itjust.works 9 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

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)

[-] illectrility@sh.itjust.works 4 points 6 days ago

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

Still a very cool project! Fun to play around with

[-] neodc@sh.itjust.works 4 points 6 days ago
[-] illectrility@sh.itjust.works 3 points 6 days ago* (last edited 6 days ago)

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

[-] jcr@jlai.lu 1 points 6 days ago

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 !

[-] illectrility@sh.itjust.works 1 points 6 days ago

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

[-] Kitathalla@lemy.lol 1 points 6 days ago

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.

[-] illectrility@sh.itjust.works 1 points 6 days ago

What was the app called and is it still available?

[-] Kitathalla@lemy.lol 1 points 6 days ago

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.

[-] illectrility@sh.itjust.works 1 points 6 days ago

Okay, would've been interesting to see

this post was submitted on 25 Feb 2025
82 points (97.7% liked)

rpg

3297 readers
68 users here now

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

Rules (wip):

founded 2 years ago
MODERATORS