Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add new dice probability skew notation #43

Open
Vlek opened this issue Jun 26, 2021 · 0 comments
Open

Add new dice probability skew notation #43

Vlek opened this issue Jun 26, 2021 · 0 comments
Assignees
Labels
enhancement New feature or request

Comments

@Vlek
Copy link
Owner

Vlek commented Jun 26, 2021

Problem:
Currently we allow dice to be given in the <num_dice>D<num_sides> format. The number of sides can be given as a floating-point number. What I have previously taken this to mean is that there are n-1 normal sized sides and the nth side is reduced in size and has a lower probability of being rolled. I do not believe this is the best way of handling this and does not give the user very many options. If it's the case with a D20 for instance, 1-19 would have equal weight and the 20th side would be differently weighted. What about the cases where half of the sides are differently weighted? How about all even numbered sides?

Solution:
Add in a notation that allows the user to stipulate which sides that should have unequal weight.

Example:

# Sides 1-10 are half the weight they normally would be
D20[1-10:0.5]

# Sides 1, 5, and 10 are 10% as likely to show as the other sides
D10[1, 5, 10:0.1]

# The weights are staggered such that the lowest roll is much more likely than the highest
D6[2: 0.9, 3: 0.7, 4: 0.5, 5: 0.3, 6: 0.1]

Considerations:

  • This is going to get difficult, especially if the user gives impossible-to-distribute weights. (What would it mean if half are half as likely and the other half are twice as likely? Does that mean the first are 1/3rd as likely, the latter 2/3rds? Should this be an error?)
  • What if the user specifies a side to add weight to that is outside of the range that is being rolled? (D6[20:0.5])
  • There likely is a way to do this already that uses some statistics wizardry with the already available dice notation elements, I'm just not aware of them.
@Vlek Vlek self-assigned this Jul 15, 2021
@Vlek Vlek added the enhancement New feature or request label Jul 15, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant