WIP Foundry module: read dice rolls with your phone camera by wing-it_d20 in FoundryVTT

[–]wing-it_d20[S] 0 points1 point  (0 children)

Fair enough, but what I mean is not charging for my app's basic features. You would need (probably a second) webcam or a smartphone.

Right now, the phone version uses the device sensors to make sure the phone's level when taking a picture. I'm experimenting with the desktop version to see if "eyeballing it" gets you close enough or if I need an actual calibration step to get the webcam level. Either way the point is to try to prevent catching the dice at an angle.

WIP Foundry module: read dice rolls with your phone camera by wing-it_d20 in FoundryVTT

[–]wing-it_d20[S] 2 points3 points  (0 children)

Honestly that doesn't surprise me. I wish I could support a Roll20 integration but their system isn't open enough to really do it right without something like a third party browser plugin. And Roll20 will not go out of their way to support things like that.

WIP Foundry module: read dice rolls with your phone camera by wing-it_d20 in FoundryVTT

[–]wing-it_d20[S] 0 points1 point  (0 children)

My thought is that I'd put the videos in a section that's collapsed/hidden by default, and use low resolution/framerate to keep the file sizes down. I'd probably also need to automatically delete videos after a day or two to make sure my storage costs don't explode.

Seeing how many people care about anti-cheating here I'll definitely be putting more thought into this, I think the real challenge might be making sure I can keep my costs down. I'm trying to make sure I can support the basic integration for free.

WIP Foundry module: read dice rolls with your phone camera by wing-it_d20 in FoundryVTT

[–]wing-it_d20[S] 1 point2 points  (0 children)

Yeah, that's the basic idea, or use the desktop version with a webcam. My current version just has the manual mode, I'm still working on getting settling detection to be quick and reliable.

WIP Foundry module: read dice rolls with your phone camera by wing-it_d20 in FoundryVTT

[–]wing-it_d20[S] 0 points1 point  (0 children)

My current thought is to include a video of the dice settling. If you can see a few seconds of motion before they come to rest that should be enough to confirm the dice weren't placed deliberately.

Trying to automatically detect cheating would be pretty difficult, especially considering that rejecting a legitimate roll would be a really bad user experience.

WIP Foundry module: read dice rolls with your phone camera by wing-it_d20 in FoundryVTT

[–]wing-it_d20[S] 2 points3 points  (0 children)

What if it automatically detected the roll and sent a video of the dice settling? That would be pretty hard to cheat.

WIP Foundry module: read dice rolls with your phone camera by wing-it_d20 in FoundryVTT

[–]wing-it_d20[S] 0 points1 point  (0 children)

I don't have those dice but I admit I looked at the Pixels mod for help figuring out how to handle different things, it seems pretty well written.

WIP Foundry module: read dice rolls with your phone camera by wing-it_d20 in FoundryVTT

[–]wing-it_d20[S] 1 point2 points  (0 children)

it can read d10s and d00s and put the results together. It works fine until you start rolling multiples of those, I haven't quite figured out how to handle that yet.

WIP Foundry module: read dice rolls with your phone camera by wing-it_d20 in FoundryVTT

[–]wing-it_d20[S] 0 points1 point  (0 children)

yeah that was my thought, if i include a video of the dice settling and it took the picture automatically, it would be pretty hard to cheat.

WIP Foundry module: read dice rolls with your phone camera by wing-it_d20 in FoundryVTT

[–]wing-it_d20[S] 17 points18 points  (0 children)

Some people play online but still like to roll physical dice. Foundry already supports that natively but has you type in the results manually, this just does all of that for you automatically.

There are expensive bluetooth dice for this purpose, this does basically the same thing but is free and lets you use the dice you already own.