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

Randomise dice reset #88

Merged
merged 2 commits into from Sep 7, 2021
Merged

Randomise dice reset #88

merged 2 commits into from Sep 7, 2021

Conversation

mandelbit
Copy link
Contributor

At present, the selected dice value resets to 5 after each input of a dice roll.

To minimise the number of user inputs during seed generation via this method, the default value should randomly oscillate between 2 and 5. From the default 5 location, two inputs are required to reach 1/3 (but only one input to reach 4/6), whereas from a default 2 location two inputs are required to reach 4/6 (but only one to 1/3). By randomly selecting either 2/5 default with 50/50 probability for either selection, statistically the number of user inputs required will be minimised during the process of seed generation by dice rolls.

This PR proposes a very simple method to randomly select a 2/5 default, based on the value of the previous input. This method is sufficiently random to benefit the user provided that the assumption that the dice used to generate the seed is unbiased, is accurate.

At present, the selected dice value resets to 5 after each input of a dice roll. 

To minimise the number of user inputs during seed generation via this method, the default value should randomly oscillate between 2 and 5. From the default 5 location, two inputs are required to reach 1/3 (but only one input to reach 4/6), whereas from a default 2 location two inputs are required to reach 4/6 (but only one to 1/3). By randomly selecting either 2/5 default with 50/50 probability for either selection, statistically the number of user inputs required will be minimised during the process of seed generation by dice rolls.

This PR proposes a very simple method to randomly select a 2/5 default, based on the value of the previous input. This method is sufficiently random to benefit the user provided that the assumption that the dice used to generate the seed is unbiased, is accurate.
@kdmukai
Copy link
Contributor

kdmukai commented Sep 4, 2021

That's a fair point. My only minor concern would be user expectation in presenting a consistent UI.

Why not just hard code default 2 for rolls 0-44 and then default 5 for rolls 45-99?

Another idea I've thought about but ultimately passed on was a way to enter a roll with just one movement. Could do:
UP = 1
RIGHT = 2
DOWN = 3
LEFT = 4
KEY1 = 5
KEY2 = 6
KEY3 = undo

The UI would be a bit of a mess but it bugs me that it currently takes up to two joystick moves and a click to enter each roll.

@SeedSigner
Copy link
Owner

Thank you for submitting this, I appreciate your interest in optimizing the interface. I tend to agree with Keith that randomizing introduces inconsistency. Default to 5 is not perfect, but after we'd discussed it, that's where we intentionally landed. Don't think it makes sense to deprecate this dice option, but Keith's photo-entropy tool takes so much less effort than the dice rolls.

@mandelbit
Copy link
Contributor Author

Appreciate your concern regarding consistent UI, but I'd argue that the UI would still remain very natural/intuitive given the GUI.

Hard coding is definitely another equivalent option (many ways to skin a cat!), this seemed to me to be the lowest hanging fruit in terms of tweaking the existing code to achieve the end result.

On first thought the UP=1 etc... option sounds efficient, but I agree that it would be less intuitive to the user.

I definitely agree that there's no need to deprecate the dice option - many are highly familiar with this UI and its a nice well-tested option.

Had heard about your smart photo option and saw it in the menu but my ultra-paranoia side would like to more closely examine the code prior to use.

I'd still argue that this PR offers a slight but quantifiable reduction in user inputs with zero downside, given the highly visual and intuitive input UI (great job here - also really like the QR zoom/grid UI).

@kdmukai
Copy link
Contributor

kdmukai commented Sep 5, 2021

@mandelbit, so if you're cool with reworking the PR to do the first half/second half consistency discussed above, then I'd be in favor of accepting the change. Pending @SeedSigner and @newtonick's opinions, too, of course. And a final code review of the changes.

@kdmukai
Copy link
Contributor

kdmukai commented Sep 5, 2021

@mandelbit also as a future enhancement: I would be interested in seeing someone take a crack at that UP/DOWN/LEFT/RIGHT UI. Maybe as an optional UI swap in settings (something like standard dice entry UI vs quick dice entry UI).

@kdmukai
Copy link
Contributor

kdmukai commented Sep 6, 2021

Gets a thumbs up from me.

Copy link
Collaborator

@newtonick newtonick left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍🏻

@SeedSigner
Copy link
Owner

Appreciate the work on this from all three of you, thank you.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants