About the Forge

Articles

Forum

Reviews
Welcome,
Guest
. Please
login
or
register
.
June 20, 2021, 08:43:35 AM
1 Hour
1 Day
1 Week
1 Month
Forever
Login with username, password and session length
Forum changes:
Editing of posts has been turned off until further notice.
Search:
Advanced search
46709
Posts in
5588
Topics by
13299
Members Latest Member:

Jason DAngelo
Most online today:
87
 most online ever:
843
(October 22, 2020, 11:18:00 PM)
The Forge Forums
General Forge Forums
Site Discussion
DiceForge
Pages: [
1
]
« previous
next »
Author
Topic: DiceForge (Read 8737 times)
Lior Wehrli
Member
Posts: 5
DiceForge
«
on:
July 17, 2008, 09:58:19 AM »
Hi guys,
I have been reading some of the interesting stuff on the forge over the last weeks and I must say I have gained a lot of new ideas and understanding! Thank you all for collecting and sharing all the great material! There is so much to digest for me just from browsing through the reviews section, not to mention the articles.
At the beginning I thought I might contribute with some ideas or some critical questions. But as I got deeper into the theories, I recognized that to contribute meaningfully in this area would require me to spend some prolonged time playing with the concepts that are new to me. After all, how can I comment on theory without the practice?
So how can I return some of the value I found at the forge? Me being a programmer, I decided to program a tool for you guys in hopes that role play designers could find that useful. So now I have a first buggy draft version ready, thought I should introduce it to hear what you think about it.
I've called it 'diceForge' for lack of a better name. It has to do with dice of course, but it's not just another dice roller. Its dicethrowprobabilityanalyzer. It gives you the exact probability of each possible outcome for the diceexpression you enter. Its all in HTML and Javascript, so you can use it on any system or host it directly on indierpgs.com, as you like.
Turns out I do not have time to find an FTP account right now :/ I also have some screengrabs... well, maybe tomorrow. If anyone wants to have a look at the tool, I can mail it to you, its very small.
Regards,
Lior Wehrli
Logged
Regards,
Lior
Ron Edwards
Global Moderator
Member
Posts: 17707
Re: DiceForge
«
Reply #1 on:
July 17, 2008, 10:13:52 AM »
That is a very fine contribution. I'll look forward to seeing it.
Best, Ron
Logged
Lior Wehrli
Member
Posts: 5
Re: DiceForge
«
Reply #2 on:
July 17, 2008, 06:36:18 PM »
Hi,
Sorry for the delay. The zip is here:
http://www.mediafire.com/?gjev11ye4am
. Unpack it and open 'diceforge.html' in your browser, which should be Firefox.
There is a help text, but it is very rudimentary. Some possible example expressions:
3d6 + 3 : Do the obvious and implicitly compute the sum.
sum(3d6)  3: The same as above but with a malus. (There is also a multiplication '*' and a division '/').
mul(4d4): Multiply the results of 4 foursided dice.
max(6d20): get the maximal value of 6 throws of a d20.
min(6d20): get the minimal value of 6 throws of a d20.
count(atleast(4d8,5)): Count the number of dice with 5 or higher in 4d8.
valid(atmost(4d8,2)): Same as above, but count throw as valid if at least one dice is below 3, otherwise the throw is invalid (shown as 'X').
Those can of course be recombined. Please let me know if something does not work as it should or if some features should be added.
Regards,
Lior Wehrli
Logged
Regards,
Lior
Christoph Boeckle
Member
Posts: 545
Yverdon, Switzerland
Re: DiceForge
«
Reply #3 on:
July 18, 2008, 06:00:40 AM »
Hi Lior
Your program looks quite neat, nice job! I especially like the possibility to use a number of expressions together. I immediately tried to toy around a bit and chose to check out some
Sorcerer
statistics since I'll be playing it soon.
In that game, it's a question of opposed rolls on a number of equallysided dice on both sides. I win if my single best value beats my opponent's single best value. I am said to have a number of victories equal to the number of values that are higher than his highest value. (In case of a tie, one takes the second highest value and compares, etc.)
So, I tried to simulate that on your dice roller, cause it sure looks up to the task. This is the command I use, using 4d10 against 4d10 as an example. It does not resolve ties.
Code:
count(atleast(4d10,(max(4d10)+1)))
This should give me the chances to win with 1, 2, 3 and 4 victories, and also the probability I have of not winning, since I count the number of results of 4d10 that are higher than the maximum of another roll of 4d10.
The program says that I only have a 25,33% probability of not winning. This seems weird, since with equal dice, I should only have ~50% chance of winning (a bit less because of ties). I checked out the results of the command:
Code:
atleast(4d10,(max(4d10)+1))
and it yields values from 2 to 40. How can I interpret that?
Logged
Regards,
Christoph
Lior Wehrli
Member
Posts: 5
Re: DiceForge
«
Reply #4 on:
July 18, 2008, 08:36:57 AM »
Hi Christoph,
Thanks for trying out the tool. I have looked at the case you mention:
Code:
count(atleast(4d10,(max(4d10)+1)))
You are absolutely right of course, the results obtained can not be correct. max(4d10) will give a probability of over 30% for a 10, in which case the test must fail for sure (the player can not roll higher than 10). So the probability of failing the test must be higher than 30% too.
I looked again at the code and sure enough, there was a bug. In short, the probabilities of the of limit values L for 'atleast(X, L)' were not taken into account. Id did not matter if you tested against a limit of 'max(4d10)', 'max(1d10)' or even just '1d10'. Silly me.
So here is version 0.2.1:
http://www.mediafire.com/?bwj5nr1nty1
With this version, the probabilities for your case look much more credible, the probability of failure being 61.31%.
I have to confess I am surprised a procedure of this complexity can already be analyzed without adding more features! I thought I would first have to add some higherorder abstractions to the expression language.
As to your question about how to interpret the results of:
Code:
atleast(4d10,(max(4d10)+1))
When the final distribution contains nonscalar results, the current version will compute the sum. I chose this behavior to have an expression '3d6' automatically evaluate as 'sum(3d6)'. The 'atleast' function gives you all the dice equal or higher the limit value, so it can give you a list of values for each possible outcome. You will find that this behavior results in a distribution just like you described.
Regards,
Lior
Logged
Regards,
Lior
Pages: [
1
]
« previous
next »
Jump to:
Please select a destination:

General Forge Forums

=> Actual Play
=> Game Development
=> Independent Publishing
=> Last Chance Game Chef
=> Site Discussion

Archives

=> Guide to the Archives

Independent Game Forums

=> Adept Press
=> lumpley games

Inactive File

=> Endeavor: Ronnies 2011
=> Endeavor: Game Chef 2010
=> Endeavor: Game Chef 2011
=> Arkenstone Publishing
=> Beyond the Wire Productions
=> Half Meme Press
=> Universalis