[go: up one dir, main page]

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 an option to highlight Hard Beats #467

Open
wants to merge 6 commits into
base: master
Choose a base branch
from

Conversation

Snootiful
Copy link

Why I opened this PR

I've been playing with tau for some time now, and it bothered me somewhat that the hard beats have the same color as regular beats. This makes it a bit harder for me to differentiate between the two and kinda makes them blur together.

When playing with the Strict mod this gets even worse. There — because the hard beats start off quite thin — it's very difficult to differentiate between hard beats and regular beats as they look almost the same.

To alleviate this I made this PR, which adds an option that changes the color of hard beats. My goal is to improve usability for players with color blindness or impaired vision, and players with some neurodevelopmental disorders.1

Changes

With the option "Highlight Hard Beats" enabled, all hard beats will now be colored orange. This includes regular hard beats, strict hard beats, and strict hard beat sliders.
I picked orange for the time being since it seems to work well enough with the accent color. It also looks different enough from white to make it easier to distinguish, but it could be improved upon.

The relevant tests have been updated with additional steps to verify that these changes work as expected. Manual tests with a release build of osu! have been conducted as well.

The cached slider texture from TauCachedProperties has been removed to allow for changing the color of the hard beat sliders. It could be reintroduced in some fashion if it turns out these changes have a noticeable impact on performance. By far the easiest way to do this would be to revert the changes to TauCachedProperties and DrawableSlider.

Notes

Because I'm not very familiar with C# and don't use it often the code I deliver might not be very tidy, and there will undoubtedly be inefficiencies and strange decisions all over. I did however attempt to match the style of the code I was working with.
If there is anything I could improve upon, please let me know.

Footnotes

  1. I have Autism without any visual impairments, yet I can tell that my ability to read certain patterns in both tau and standard really struggles compared to other players. Of course, I can't speak for other people with neurodevelopmental disorders, color blindness, or visual impairments.

Copy link
Collaborator
@LumpBloom7 LumpBloom7 left a comment

Choose a reason for hiding this comment

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

The option to "Highlight Hard Beats" should not also highlight sliders. Prolly better to call the option something like "Increase visual distinction" or something that is doesn't suggest that it applies to one of the two objects. Today I've learnt that hard sliders exist.

Not sure about the performance impact of removing the use of the cache, I'd reckon there is a reason it was used. Maybe someone else can corroborate? (Normally we don't do stuff like that unless the impact is significant)

@Snootiful
Copy link
Author

Updated the code following the above instructions.
I was able to use the cached properties again by adding an additional Texture for the visually distinct slider body.
Also I renamed the option and it's variables/properties anyway to be clearer, since I like "Improve Visual Distinction" better.

@naoei
Copy link
Member
naoei commented Jun 15, 2024

I don't like the direction of turning this into a setting, Tau already has too many settings as-is and some settings should be ideally removed (i.e. Kiai effects).

This current implementation locks the user behind one colour (orange), and if say someone were colourblind or has some other visual impairments that would blend red and orange together, this setting would not help at all. The ideal implementation would be to allow the user to change any hit object that would require the hard beat press to any colour they want via skinning. We did have an earlier implementation of skinning, but it was very rudimentary and I'm currently thinking on how we can do better.

There's also the possibility that we might not want this feature in the future, I have a development branch on my fork that tests to see if we would want to do simultaneous button presses (only Z/X) for hard beats instead of a separate button for them.

@naoei
Copy link
Member
naoei commented Jun 15, 2024

Suspending this for now for previous concerns.

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

Successfully merging this pull request may close these issues.

3 participants