Closed joshwcomeau closed 5 years ago
This seems a little out of the scope of BeatSaver. It is primarily a store of beatmaps. Other services (ie BeastSaber) exist for this kind of thing.
My recommendation to anyone wishing to work on this is to consume the BeatSaver API for map data and do analysis on the maps on-demand, similar to what ScoreSaber does for PP.
Platform
This feature request concerns: (select all that apply)
Details
Different people like different kinds of maps. Some might like a barrage of chaos, while others would prefer intricate patterns that flow well. Some people really care about lighting, while others are purely interested in the blocks.
Beyond preference, there are also some accessibility concerns. For example, I have bad knees, and have to fail (and subsequently delete) maps with wall patterns that force you to duck under them. I'd love to be able to know this information before investing the time downloading/syncing/trying the song.
I think there should be some sort of UI widget that would help showcase the substance of a map.
Preferred Solution
Dance Dance Revolution, my all-time favourite rhythm game, had an interesting solution to this problem: they included a radar chart that shows exactly where the song's challenges are:
From this chart, I can quickly deduce that this song is essentially a stream of arrows, with very few "jumps" (two arrows at once) or "holds" (leaving your foot on an arrow for a long time), and so you can see its "AIR" and "FREEZE" scores are super low.
Rubric
I'm still pretty new to BeatSaber, and so I'm probably not the best person to come up with a rubric for the axes, but I imagine something like:
These might be too ambitious, in that it may not be feasible to algorithmically evaluate the "flow" of a map, but they're just ideas. Potentially they could be user-submitted scores?
I'm interested in possibly contributing to this project! I've been building stuff with React since 2014, and I particularly enjoy making interesting, dynamic UI elements, so please do let me know if there are other projects that could benefit from this skillset =)