code-dot-org / dance-party

Renderer for the Dance game type. Based on p5.js and p5.play.js.
https://code-dot-org.github.io/dance-party/
13 stars 13 forks source link

"Follows" block needs polishing #75

Open ryansloan opened 6 years ago

ryansloan commented 6 years ago

Can we ease these? Or make them relative movements instead of absolute?

ryansloan commented 6 years ago

These changes from #114 are better, but after trying some different songs we want to do a bit more with a similar approach. Hadi has some good ideas about how this should work, we should get his input when we have prototypes. Here's the proposal:

More notes: https://docs.google.com/document/d/1ei_btNPze9TL3orCytw9j8YHYRg-FqIC6xrZAXk1tvg/edit#

*The measures 5-12 time span doesn't work well for Bruno Mars, will.i.am, yolanda be cool, Aha.

ryansloan commented 6 years ago

I think we need to push this to post-Launch. It will not be a breaking change for any student code.

breville commented 6 years ago

I still have my prototype from October in case it will be useful for at least some songs. It involves tapping out the events to each song once, but means we can create really meaningful feedback for students when using "following".

Bjvanminnen commented 6 years ago

Right now, the "following" block doesn't do anything beat related. It's perhaps an interesting idea to have the ability to follow the beat in addition to treble/mid/bass, though I'm not sure exactly what that would look like (do we treat beats as binary data points, or do they have an amplitude for example. how do we smooth between them)

breville commented 6 years ago

My prototype wasn't necessarily tied to beats, it was just a way to manually trigger peaks, with the follow-on idea that we could then smooth those peaks (particularly their tails) to create the ongoing "following" behavior. From what I can tell, the expectation for "following" is that the value peaks fairly quickly at a bass, mid, or treble "hit" and then fades down again. I think that would look pretty good.

simplycloud commented 6 years ago

confirmed fix. resolving.

breville commented 6 years ago

Reopening this, even though it's obviously very late, simply because I think the "follows" block really isn't working as it should in almost any situation.

The goal seems simple: the character should "pulse" in time with an easily discernible component of the song.

After going through a bunch of songs, very rarely does this happen, and even when it kind of does, it's lagging behind the song, in contrast to the tight timing of the dance movements etc.

simplycloud commented 6 years ago

moving this to post-HOC in case there is something we want to follow up on.