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

Band Streaks #916

Open
wants to merge 4 commits into
base: dev
Choose a base branch
from
Open

Conversation

thomeval
Copy link

This introduces a Band Streak (Combo) counter to YARG, which is displayed underneath the Score Box during gameplay. Although the total Band Streak was previously tracked internally, this code has been reworked and expanded.

image

Band Streaks can be enabled in the Experimental Settings menu. Three modes are available:

  • Off: (Default) This disables Band Streak counting and hides the Band Streak counter during gameplay.
  • Lenient: This matches the streak counting seen in GH5/GH6, where Band Streak is calculated as the sum of each player's individual streak. When a player makes a mistake, their current streak is effectively subtracted from the total band streak.
  • Strict: This matches the streak counting seen in Band BoomBox. When any player makes a mistake, the band streak is reset to 0.

All instruments should be supported, although vocals requires special consideration:

  • When playing in a session without vocalists, the band streak is incremented per note hit.
  • When playing in a session with only vocalists, the band streak is incremented per Awesome phrase.
  • When playing in a session with both, the band streak is incremented per note hit, or Awesome phrase, with the latter counting as ten units. This matches GH5/6 behaviour.

To make room for the Band Streak counter, this PR also moves the entire score box up, closer to the vocal highway. This improves, but does not eliminate, issues such as this one on Discord

The graphic for the band streak box is temporary, and an update for it is "Planned".

Note for the reviewer: In the current implementation, much of the streak counting logic resides in the YARG codebase, which is not ideal. Although it would make sense to have this in YARG.Core instead, its infrastructure doesn't really support this yet. We may want to revisit this once Unison Phrases are added to the game.

Requires YARG.Core PR YARC-Official/YARG.Core#223

Added "Strict" and "Lenient" modes, where "Lenient" matches GH's combo counting, and "Strict" matches Band BoomBox.
Added setting to toggle the above in Experiemental Settings.
…lve name clash

Removed duplicate BandComboType enum and update usages
@EliteAsian123
Copy link
Member

Hello, thanks for the PR. I'm talking to Kadu about the art side of the PR, so I'll keep you updated on how we'll go about it!

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.

2 participants