GithubHelp home page GithubHelp logo

bipp's People

Contributors

thomasboyt avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

bipp's Issues

Detect misses in player mode

this is actually really tricky. it basically needs to happen on every RAF, and if that involves filtering over every note, it could be very expensive:

const missedNotes = this.notes.filter((note) => note.time < elapsed + maxJudgmentWindow);

this.setState({
  notes: this.notes.intersect(missedNotes);
});

also, while the miss can be triggered as soon as the note has exited the last possible judgement window, the note shouldn't be removed from the board until it's offscreen...

Support multiple difficulties

This really should be next, the faster I can add an easy chart the faster I can feel comfortable letting people loose on the game and the faster I can find out how it performs in the wild

Editor: Undo/redo

wonder if I could set up assignState in the editor store to maintain copies?

Implement song configuration

Instead of requiring the chart author to pick a song and paste a chart, we can just host & load the MP3s and charts from the same directory that's use to store the final charts/songs.

  • Add hash of song locations
  • Load song MP3 and chart.txt for each song
  • Remove load button

Support triplets ("12th notes"/"24th notes")

here's how Stepmania does this: https://github.com/stepmania/stepmania/blob/master/src/NoteTypes.cpp#L97-L104

it tracks notes with a resolution of 1/48, but we don't really need anything more than 32nds, so we can use 1/24:

note  frac   simplified
4th   48/48  24/24
8th   24/48  12/24
12th  16/48  8/24
16th  12/48  6/24
24th  8/48   4/24
32nd  6/48   3/24

i think part of this should also be replacing measure offsets with beat offsets; would be a lot easier to read+debug

Explore using youtube vids as playback audio source

theoretically the iframe API's playing/buffering events should allow notes to stay in sync with video playback. I am extremely skeptical of this, but if it's possible, using videos for music is obviously far more pragmatic than hosting a bunch of pseudolegal MP3s

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.