bemuse

⬤▗▚▚▚ Web-based online rhythm action game. Based on HTML5 technologies, React, Redux and Pixi.js.

AGPL-3.0 License

Downloads
17
Stars
1.1K
Committers
39

Bot releases are hidden (Show)

bemuse - v40 — Big update: 3D mode, 7 more songs, and other stuff!

Published by dtinth over 6 years ago

  • 3D mode is out! This mode is recommended for playing on touch screens (e.g. an iPad Pro). This mode only works when Scratch settings is set to off. Video demo

  • Added 7 more songs.

  • A friendly dialog box appears when you exit the tutorial and encourages you to keep playing other songs, and build up your music gaming skills!

  • Improved analytics tracking, using Amplitude. This will help me to gain better insights more easily, which can be useful in improving the game. No personal data is collected.

  • Infrastructure and tooling: Upgraded to webpack 3, added prop-types to most components, and other project improvements. Thanks a lot to @resir014 for contributing these improvements!

bemuse - v38 — Big update!

Published by dtinth almost 7 years ago

Have a happy new year!

This release makes the game easier for beginner.

  • Added 5 new songs and more easy charts.

  • This game mechanics is now easier for beginners. For more information, see the report “Easier timegates for beginners coming to Bemuse”.

  • Updated the project’s infrastructure (e.g. upgraded to latest version of React). Big thanks to help and feedback from @resir014!

bemuse - v37

Published by dtinth over 7 years ago

  • Fixed: Scoreboard is back. After a month of downtime or so. Thanks for your patience!

  • Fixed: Speed no longer resets when you hit the replay (F1) button.

  • Fixed: Errors are now displayed when there is a problem loading a custom BMS. (They used to be silently discarded, leading to the dialog keeps loading indefinitely).

  • Internals: Upgraded the build infrastructure. webpack 2 and stuffs.

bemuse - v36

Published by dtinth almost 8 years ago

  • Music previews. Now you’ll hear a preview while selecting songs!
bemuse - v35

Published by dtinth almost 8 years ago

  • Moved the music server. With 44 songs and counting, our music server now contains more than 1GB of data. Since GitHub only allows 1GB, I need to find a new home in order to release more songs.

    Now, the music server is hosted on a DigitalOcean droplet, with performance enhanced by CloudFlare.

    The game itself is still hosted on GitHub.

  • Added Bemuse server tool.

bemuse - v34

Published by dtinth almost 8 years ago

  • 5-keys inactive column cover. This is the first step to make Bemuse more approachable to beginners. When playing 5-key charts (marked with green color), we will cover the unused columns. We will be improving 5-keys support.
  • Expert gauge. When expert gauge is enabled, you will see a gauge at the top of the screen. This brings a challenge — to finish the song with the gauge intact.
  • Improved offbeat sound. When you trigger the note off-beat, the note would also sound off-pitch. @joezeng contributed a change which makes it sound even more jarring! Enjoy!!!!!!
  • Improved offline support. We’ve modernized the code for offline support a bit. This makes the first visit of the game faster.
bemuse - v33

Published by dtinth about 8 years ago

  • Play area cover. For some players, the play area may be too tall. There is now a new setting that lets you adjust the amount of the play area that will be hidden (covered) from the top (in percentage). If this number is negative, the play area will be pulled up.
  • Accuracy and precision in result screen. We now display the accuracy (mean difference) and precision data (standard deviation) of the keypresses in the result screen.
bemuse - v32

Published by dtinth about 8 years ago

  • Improved game restarting. Based on the statistics in the past 3 months, 21.3% of game plays are restarts of the previous game. In this release, I make restarting easier in several ways:
    • Inside game, press F1 to restart. This will immediately restart the game.
    • Inside the result screen, click the chart difficulty button at the top-right corner. This will also immediately restart the game.
    • Faster song loading when playing the same song. In Bemuse, songs are stored in a compressed format and have to be decoded before playing. In this version, Bemuse will temporarily store the decoded data, so that it will load faster if you play the same song again.
  • Custom BMS popup will immediately appear when a folder is dragged over the music selection screen. This should make playing custom BMS easier.
bemuse - v31.2

Published by dtinth about 8 years ago

  • Improved support for bmson BGAs in Bemuse servers.
  • Fixed a bug where BGAs would display at an incorrect position in different screen resolution.
bemuse - v31.2

Published by dtinth about 8 years ago

  • Support BGAs in bmson files. In this version, there is a caveat when using BGAs in bmson file.
    • Due to current Bemuse architecture, every chart in the same song shares the same BGA. It case of multiple charts with different BGA, the BGA of the song will be selected arbitrarily.
    • Only 1 bga_event allowed, and it is expected to point to a WebM or MP4 file. Otherwise, the BGA is considered invalid and will not be loaded.
bemuse - v31.1

Published by dtinth over 8 years ago

  • Added a home page (which you can see by scrolling down from the title screen). There are still a lot of rooms for improvements. Think of this as an alpha version. Suggestions are welcome. :)
  • Improved analytics tracking to send more useful information. All analytics data are anonymous and are used for the purpose of improving the game.
bemuse - v31

Published by dtinth over 8 years ago

  • Out of beta! I’ve shipped so many beta releases for a year now, and it needs to go out of beta someday… Since jumping major versions are pretty trendy these days, I decided to release version 31.

  • BGAs! On new songs, Bemuse will now display a 720p HD background animation. You need a decent computer and a good internet connection for this feature to work smoothly. You can turn it off in the options screen.

    Right now, it is only available in online songs. BGAs in custom songs are not supported yet. Future versions will add support for BGAs inside bmson files. BGAs are encoded in WebM format at resolution of 1280x720, at bitrate of 1500 kbps.

  • Auto-velocity! Bemuse now has the auto-velocity option which tries to maintain a consistent note scrolling speed across plays. This means the game will automatically adjust the speed modifier to match the note scrolling speed of the previous song you’ve played.

    For example, if you played a 100bpm song at 4.8x speed, then if you play a 200bpm song, the game will adjust the speed to 2.4x. You can activate this feature in the options screen.

  • BMS Search Integration! You can now go to BMS Search page for the selected song from the “Information” tab.

  • New Title Screen!

Advanced and developer features…

  • Setting the default search text! BMS Search, a BMS database and search engine, has a very convenient link to Bemuse. But you still have to search for the song you want to play. In this version, Bemuse supported the ?grep= URL parameter, which will pre-fill the search text.

    For example, this URL will link directly to a song called “The Heroine Appears.” in METTATUNES event server: https://bemuse.ninja/?server=https://bmson.nekokan.dyndns.info/mettatunes/&grep=the+heroine+appears

  • Adding BGAs in music server: Two new keys in README.md front-matter data is added: video_url which specifies the URL to a video file (WebM, 1280x720, 1500kbps) and video_offset which specifies when to start playing the video (in seconds after the song begins).

  • Modernized the codebase! The Bemuse GUI is now based on latest version of React. The web application has been aggressively refactored to use Redux (which leads to cleaner code and easier testability).

bemuse - v1.0.0-beta.30

Published by dtinth almost 9 years ago

  • iPad Pro support.

    Note: Bemuse is very RAM intensive. Before playing, please close other apps and other Safari tabs, and set your screen orientation to portrait.

    When I started developing Bemuse, I call it “a BMS player of the future.” When the beta version was released, the game is barely playable on an iPad Air. Many songs crash the game, and other songs made the very game laggy (running at about 30 fps, which is unacceptable for such rhythm games). This is because of the large amount of sound data, more than an iPad Air can handle (some song take more than 1GB of RAM to play). I just hope that a better tablet will be released in the future.

    But the future is here. iPad Pro comes with 4GB of RAM and an A9 processor, the game can now process up to 200 fps. This is Moore’s law in action. Although most application is allowed to access only 600MB of RAM, Safari does not have this restriction. There is almost no audio latency at all on an iPad Pro. This is the era for web-based applications!

    Video Demo

    (P.S. Bemuse also works on Microsoft Surface Pro (using Google Chrome), but it has very high audio latency.)

bemuse - v1.0.0-beta.29

Published by dtinth almost 9 years ago

  • Sound volume normalization (online songs only).

    The ReplayGain algorithm is used to normalize the volume of each song. From now on, every song will have roughly the same loudness. Some songs are very loud. As a result, the volume of songs is decreased, on average, by 15%. This only applies to online songs, as the ReplayGain value must be precomputed.

    Bemuse music server authors: To normalize the sound volume, please specify the replaygain: key in the YAML front matter of your song’s README file (example), then run bemuse-tools index again.

  • Overall volume decrease.

    Some platforms (e.g. Chrome on Mac OS X) can process audio using 32-bit float format all the way from the browser to the operating system. This means it’s possible to have sounds playing above the full volume without clipping if the system volume is decreased. Other platforms clip the audio signals that exceed the full scale as data leaves the browser to the system. This means the audio will sound distorted, even when the system volume is decreased.

    To resolve this, the overall volume is deceased. For online songs that have replaygain tag added, Bemuse will adjust the volume of the song to give around 6 dB of headroom.

    For custom BMS, there is no precomputed song volume information. In this case, Bemuse reduces the song volume by -4.2 dB (based on the result of BMS loudness study). This means in this version, custom BMS will play at 62% volume of the original. I think this is good, because this means less clipping and more dynamics. Please turn up your volume!

    Feedback is welcome! Please tweet to @bemusegame.

bemuse - v1.0.0-beta.28 — Native gamepad/MIDI support, detailed accuracy report

Published by dtinth almost 9 years ago

  • Experimental support for native gamepad and MIDI input.

    A common problem with using keyboard and joystick-to-keyboard softwares is that the keypresses has to go through the operating system’s—then the browser’s—event queue. In some cases, this causes input to be delayed (especially on a Mac when mashing many buttons).

    Thanks to the new technologies in HTML5, Web Gamepad API and Web MIDI API, you should now be able to play Bemuse with your game controller or MIDI controller without extra joystick-to-keyboard software. You’ll need to set up the key mapping before playing with your controller.

    This technology is still very new and experimental, and support varies between browser, OS, and controller. For instance, on my Mac, Google Chrome detects the DJ DAO controller but not the JKOC controller, whereas Firefox only detects the JKOC controller, but not DJ DAO. In short, it may not work.

  • Detailed accuracy report: In the result screen, click on the accuracy number, and a panel showing the detailed play statistics is displayed, including a histogram of accuracies, number of EARLY/LATE hits, and other statistical information.

    Screenshot

    Other statistical information include:

    • The mean which represents the trueness of your note hits to the musical score.
    • The S.D. which represents the precision of your note hits.
    • The median which can be compared to the mean to determine the skewness (although not technically correct).
  • What’s new? Never miss out on new updates to Bemuse. When a new version is released, a “What’s new?” bubble appears in the title screen. Clicking on it will display the change log.

  • Fixed a problem where modifier keys (Ctrl, Alt) are captured by the web browser, and thus interrupting the game.

  • The custom automated test harness has been replaced with Karma test runner.

As always, you can play the game at https://bemuse.ninja/! Enjoy :)

bemuse - v1.0.0-beta.26 — Personal records

Published by dtinth almost 9 years ago

  • This release displays your personal records in the music selection screen.
bemuse - v1.0.0-beta.27 — Eyecatch, background image

Published by dtinth almost 9 years ago

News

forgetalia, a pilot bmson package, is now available for playing online!

Follow @forgetalia for more updates.

Change Log

  • Eyecatch and background images are now supported for bmson files.

    • If the eyecatch and background image is not specified (or using BMS files), Bemuse will try to load eyecatch_image.png and back_image.png.
  • Sharing on Twitter will now attach the server URL.

  • Make the game display smoother in non-native resolution. Please play at 1280x720 resolution for best experience.

  • The music list will automatically scroll to the selected song after playing.

  • Changed the wording in the tutorial to make it more encouraging…

    That’s it!

  • The long scratch note will now automatically end at the moment the end of the scratch note reaches the judgment bar. This does not affect gameplay; only visual.

bemuse - v1.0.0-beta.25 — Rudimentary bmson 1.0 support

Published by dtinth almost 9 years ago

  • Rudimentary bmson 1.0 support. This release makes Bemuse support the bmson 1.0 structure. It supports only what is supported in bmson v0.21.

    The following are supported:

    • New, snake_cased key names, and other key name changes
    • info.resolution
    • info.chart_name
    • info.subtitle
    • info.subartists

    The following are NOT yet supported:

    • Mix notes
    • Background images
    • New sound slicing algorithm (unfortunately, requires non-trivial change across codebases)

Other stuff

  • #211 Refactored the old UI data flow system (imperative <Binding />) into a higher-order component.
  • #211 Made the music-select-store code easier to understand.