I Hacked Up A Die Roller

By MuttonchopMac, in Rules Questions

So I was curious how the dice in this game worked, and didn't feel like repeating the painstaking process of stickering dice like I did for Edge of the Empire's beta, so I put my Computer Science degree to use and hacked up a nice-ish die roller in C#. :D

Disclaimer-ish Stuff
This is no substitute for FFG's app, and exists to encourage more people to participate in the beta. If they ask for it to be removed, I will certainly oblige, but online die rollers for their Star Wars and Warhammer Fantasy custom dice have persisted for a long time, so I'm under the impression that they don't mind.

Download

Sample.png.410edddc79efa15c40eb114dfc60dff1.png

Oh, and AVG had to scan it to check for viruses, but it came up negative. Feel free to scan it before trying it out. :P

Edited by MuttonchopMac
Updated Download link to v2.0

Prediction; this is going to be shut down SO FAST

If / when they ask, I'll gladly remove this. I saw a lot of forum posts speculating on the dice without any hands-on experience, and wanted to do away with some of it.

Just now, MuttonchopMac said:

If / when they ask, I'll gladly remove this. I saw a lot of forum posts speculating on the dice without any hands-on experience, and wanted to do away with some of it.

Well hey look... if they don't ask you to remove it, awesome. I do appreciate you helping out the community, its very cool of you. I'm just basing my guess on previous experiences

None of the free online rollers for their Star Wars or Warhammer dice have been pulled down so you're probably fine

1 minute ago, Richardbuxton said:

None of the free online rollers for their Star Wars or Warhammer dice have been pulled down so you're probably fine

This is true

Thanks, seems usefull.

3 hours ago, Richardbuxton said:

None of the free online rollers for their Star Wars or Warhammer dice have been pulled down so you're probably fine

That was my line of reasoning.

So, as a personal challenge, and to improve on my C#, I made a fancy window's application with visuals, symbol totals, etc. The link in the first post has been updated to this new version. Documentation / instructions are provided in the zip folder.

Sample.png.dc10bf6fefeee870ed5b1be024d2ec41.png

As before, if FFG wants me to remove this, I will. The persistence of online rollers for Edge of the Empire and Warhammer Fantasy lead me to believe they don't mind.

Enjoy!

Edited by MuttonchopMac

Not directly relevant to this, but my buddy made on for our group. He always makes L5R rollers. :) His has a statistical analyzer, though. Does 10,000 rolls works out the odds. Some interesting tidbits:

Rings ARE still more important than skills, so the XP costs seem right.

You get your biggest statistical boost from your first skill rank, diminishing returns after that, like you'd expect.

They seemed to have kicked the *** of the "worthless skill" problem of past editions of L5R. Statistically, it seems to hold together very nicely. Not saying that all the TNs are in the right place or anything, but the core mechanic seems sound.

You, sir just gain a rank of Glory!

it's nice it works good only thing I would add is a way to make it plug into roll 20 :>

5 hours ago, Nitenman said:

You, sir just gain a rank of Glory!

Thanks! Unfortunately the GM Upstairs ruled that I can't pick up the Famously Wealthy fame advantage overnight... Maybe in a future campaign arc...

3 hours ago, Grodark said:

it's nice it works good only thing I would add is a way to make it plug into roll 20 :>

Haha, well I've never tried anything like that before. All my software experience is in Windows-based software, not web software... :unsure: The best I'd be able to chop up (short of learning web languages from the ground up) would be marking a roll for automatic email to the GM prior to the roll or something.

It helps that my friends and I generally play on Google Hangouts and use physical dice whenever possible. Everything is on the honesty system.

3 hours ago, Grodark said:

it's nice it works good only thing I would add is a way to make it plug into roll 20 :>

See my post on my Roll20 Character sheet. The answer is no since he wrote it in C#, but my sheet has a basic roller using table functionality you have to set up yourself with more coming later. I intend to do full API support but I don't program javascript personally, so I have to wait for a javascript programmer to volunteer, and the only one I know willing is busy for about three weeks.

Not that I want to hijack this thread. This is amazing work.

Once again, thanks. The only stuff that i would suggest is limiting how many dices you can click(by how many ring you have), making explosions automatic, and picking the first dice to explode, just choosing every single one of them automatically. So mostly interface stuff.

But nice job with the graphic application!

17 minutes ago, defendi said:

See my post on my Roll20 Character sheet. The answer is no since he wrote it in C#, but my sheet has a basic roller using table functionality you have to set up yourself with more coming later. I intend to do full API support but I don't program javascript personally, so I have to wait for a javascript programmer to volunteer, and the only one I know willing is busy for about three weeks.

Not that I want to hijack this thread. This is amazing work.

Yeah if I were proficient in Javascript, I would have made a web application up front. It wouldn't hurt to learn the language, but honestly, someone more proficient will make a better version before too long, and my play group prefers actual dice. I made this because actual dice aren't for sale yet, to my knowledge.

12 minutes ago, Mobiusllls said:

Once again, thanks. The only stuff that i would suggest is limiting how many dices you can click(by how many ring you have), making explosions automatic, and picking the first dice to explode, just choosing every single one of them automatically. So mostly interface stuff.

But nice job with the graphic application!

Some of the oddities, like manually exploding the dice and no rules for keeping only dice equal to your Ring are to accommodate the rules (at least as I understood them). You're technically supposed to handle all rerolls and cancels before explosions, and I believe a Void point lets you roll an extra Skill die and kept one more, to say nothing of future techniques that will likely let you keep an extra die on certain checks. I think there's also something about you have to commit to keeping a die before it may explode. I opted for a more loose execution.

That said, I'm willing to make changes to improve the interface to match the rules. I've not fully read the rules yet, so... -_-

Good point about the keeping and void relation!.

Im not sure if you are allowed to not explode dice and not getting the extra strife that came up (as an example). Think would be good to hear someone else about this.

Anyway thanks again, its really helpful!

Thanks!

Used this last night! Thanks a lot for putting this together!

Thank you, just about to run some of this, and you're saving me.

On 10/9/2017 at 8:14 AM, MuttonchopMac said:

Thanks! Unfortunately the GM Upstairs ruled that I can't pick up the Famously Wealthy fame advantage overnight... Maybe in a future campaign arc...

wealthy? no no no no no. You made an app. You're not wealthy. Just famous, and with the modern incantations of air kami, and the rate of gossip going viral these days... famous overnight should be realistic. Go ahead and re-roll 2 dice whenever you have to build a free script, or answer a question related to a free script you've built. Also gain the dissatisfied customer disadvantage - even though they didn't pay, they feel you have treated them poorly and owe them more.

PS - I wouldn't mind if there were a feature that would let me simulate 10,000 rolls or something like that so that I can easily test different ring / skill combinations vs what TN and probability of success / opportunity / blanks a character might experience. I'd gladly tip a few bucks if these features could be worked in.

Awesome work btw!

Edited by shosuko
On 9/10/2017 at 5:26 PM, Mobiusllls said:

Im not sure if you are allowed to not explode dice and not getting the extra strife that came up (as an example). Think would be good to hear someone else about this.

Pag 14, step 6, right column:

After rolling a die this way, the player chooses whether it will be kept or dropped.

Anyway, very good dice roller!
it would be cool to have something extra like auto reroll dice while you select it, automatically adding void, or some nasty advantage... but... for beta testing it's enough :)
if FFG does not ask you to remove it after beta finish, you can considerer about implementing all the cool stuffs...

Thank you all for the positive feedback! I'm glad I can help so many people.

On 10/10/2017 at 2:00 PM, shosuko said:

wealthy? no no no no no. You made an app. You're not wealthy. Just famous, and with the modern incantations of air kami, and the rate of gossip going viral these days... famous overnight should be realistic. Go ahead and re-roll 2 dice whenever you have to build a free script, or answer a question related to a free script you've built. Also gain the dissatisfied customer disadvantage - even though they didn't pay, they feel you have treated them poorly and owe them more.

PS - I wouldn't mind if there were a feature that would let me simulate 10,000 rolls or something like that so that I can easily test different ring / skill combinations vs what TN and probability of success / opportunity / blanks a character might experience. I'd gladly tip a few bucks if these features could be worked in.

Awesome work btw!

Haha, statistics could be a nice touch, but I don't know how it would interact with the roll and keep system. 
In 4th Ed. it would be easy because you just want the highest dice, but here, with Success, Opportunity, and 
Strife, I'm not sure how you'd show the stats. Suppose you roll [S],[ ],[O],[ST] and get to keep two(S for 
Success, O for Opportunity, T for Strife). Which two would be selected? Maybe you just want to collect stats 
on total Successes, for purposes of looking at the Pass / Fail axis, but what of exploding dice? You have to 
commit to keeping a die before seeing how it explodes, so if you kept a die that exploded into a blank and not 
a die that exploded into several more explosions, you'd get bad statistics. Lucky you to have too many explosions 
to keep all of them, though.

TL;DR: Choices in the rolling process that are more than just numbers make statistics hard. If you've got an 
idea how to implement statistics, I'd love to hear it. 
On 10/10/2017 at 2:36 PM, kelpie said:

Pag 14, step 6, right column:

Anyway, very good dice roller!
it would be cool to have something extra like auto reroll dice while you select it, automatically adding void, or some nasty advantage... but... for beta testing it's enough :)
if FFG does not ask you to remove it after beta finish, you can considerer about implementing all the cool stuffs...

You should elaborate on those extras... Like what do you mean by "auto reroll while you select it", etc? 
If you could break those down into a step-by-step example and they seem reasonable, I could probably add 
the features in.

Example:
Add a Void Point Checkbox
1. User ticks a checkbox to spend a Void Point on the roll.
2. An extra die is added automatically. 

Pardon the use of code blocks - I put brackets around an S in the text and the whole post thereafter was using Strikethrough formatting and I couldn't fix it because the characters disappeared into the formatting.

Edited by MuttonchopMac
Weird Strikethrough Bug
On 13/10/2017 at 5:56 AM, MuttonchopMac said:

You should elaborate on those extras... Like what do you mean by "auto reroll while you select it", etc? 
If you could break those down into a step-by-step example and they seem reasonable, I could probably add 
the features in.

Example:
Add a Void Point Checkbox
1. User ticks a checkbox to spend a Void Point on the roll.
2. An extra die is added automatically. 

Actually, when you select the "exploding die", you then need to right click and select "explode". It could be way more cooler if it would be automatically exploded while you select it (or, dunno, maybe a double click?)
Or also: a nice button on the right with "explode" written on top; when someone click on the button, it auto-explode all the selected dice who whould explode. That could give some problem if multiple exploding dice happens, however, so you will need also a way to mark an exploding die as "already exploded" :)
Dunno how you code it, but something like a flag variable set at 0 whenever you roll it (so it's not rolled again when you hit again the button)

As for Void point you can put a simple button "add more dice". When you hit it, it roll one more die. If you need to spend more void point, just hit the button twice or more :)

As for strife feature, you can add a simple counter, that will keep track of all the strife you rolled until you hit a "reset" button. You can also put a composure box where you state your composure, and the strife counter will become red if total higher than the composure (you can also put an "outburst" button who automatically halves your strife when you do outburst)

In the far future something like an "roll option" panel could be interesting too:
in a secondary panel you can select advantage, techniques, etc from drop-down menus. That's will automatically add more dice to the roll so you need to roll your skill+trait dice and it automatically add techniques bonuses or like

Keep in mind, that are only "far future ideas"; none of those are necessary to use the roller :) and that does'nt diminish the good roller you already did :)

I built my own roller for doing outcome analysis and the only useful way I've found doing statistics is that you need to generate the data relative to a target number of successes and opportunities. At least in my play experience I'm looking for a specific outcome on both axis, like when I want to hit and crit, or charge and do damage. So you pick your kept dice based on what's the most likely combination to get to your target combination and then explode the dice and see if you made it.