GamesDoneQuick / gdq-break-channels

Break Screen Channels for GDQ broadcasts
Other
141 stars 45 forks source link

feat: dance break channel #4

Open vzaharee opened 1 year ago

vzaharee commented 1 year ago

Description

Adds a StepMania/DDR/In The Groove break channel.

Spawns a steady stream of randomly generated dance notes. When notes reach the top they are scored as "GOOD!" by default. Every donation will cause a note to score as "GREAT!", "PERFECT!", or "MARVELOUS" instead. If multiple donations occur in a row a combo counter will appear which will be reset the next time a note is scored "GOOD!". If donations come in faster than notes are being generated, then eighth or potentially sixteenth notes will be added in an attempt to keep up. A random song background is chosen each time the channel loads.

Checklist:

vzaharee commented 1 year ago

Hi!

Yeah, I see what you're saying. I don't have a good sense for what the rates of donations or donation amounts are, so was struggling trying to figure out what would work here.

Maybe the square root of the donation amount (or some other formula) would be a good solution here? Just doing some back of the envelope math, with $1 = 1 combo, a $1000 donation alone at 120 BPM & sixteenth notes (8 notes/second) would last 125 seconds:

$ floor(sqrt($)) hits
1 1
5 2
10 3
50 7
100 10
500 22
1000 31
5000 70
10000 100

I think a high combo makes sense, and I'll try to figure out the black screen.

vzaharee commented 1 year ago

I think tweaking the thresholds of when we move from every other beat, every beat, eighth notes, and sixteenth notes higher would help keep combos going while still providing some amount of dynamism/a catch up mechanic.

vzaharee commented 1 year ago

@chrishanel I added a max combo element, fixed the background, raised the thresholds at which note speed increases occur, and used the square root of the donation amount for how much to extend the combo, if you wanted to give it another try. :slightly_smiling_face:

vzaharee commented 1 year ago

Those all sound pretty reasonable to me.

TBH the choice of gdqpixel was convenience (and I wasn't particularly happy with how the "B" in "COMBO" looked), and the rough edges in general a result of seeing the Github channel yesterday and trying to get something put together before hopping on a plane to Minneapolis tomorrow. :sweat_smile:

It looks like the dance game community is pretty obsessive about fonts/theming though (I just learned the term for the hit messages is "judgement"), so I don't think it'll be too hard to find something with the right look and license.

I'll take a look at making these changes when I get back next week.