Skip to content

Releases: bemusic/bemuse

v1.0.0-beta.30

02 Jan 17:35
Compare
Choose a tag to compare
v1.0.0-beta.30 Pre-release
Pre-release
  • 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.)

v1.0.0-beta.29

05 Dec 13:53
Compare
Choose a tag to compare
v1.0.0-beta.29 Pre-release
Pre-release
  • 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.

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

04 Dec 17:25
Compare
Choose a tag to compare
  • 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 :)

v1.0.0-beta.27 — Eyecatch, background image

24 Nov 10:05
Compare
Choose a tag to compare

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.

v1.0.0-beta.26 — Personal records

24 Nov 10:06
Compare
Choose a tag to compare
Pre-release
  • This release displays your personal records in the music selection screen.

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

10 Nov 17:31
Compare
Choose a tag to compare
  • 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.

v1.0.0-beta.24

08 Nov 15:03
Compare
Choose a tag to compare
v1.0.0-beta.24 Pre-release
Pre-release
  • Fixed sound cutting problem when playing bmson files. In previous version, sometimes there’s a clicking sound at the end of a sliced keysound. As of writing, Google Chrome is not very accurate when it comes to playing and stopping sounds. I guess that it rounds to the next buffer loop before stopping. The fix is to manually stop the sound by setting fading its volume down to 0 at a precise time.
  • Fixed graphics blending problem. Related issue: pixijs/pixi.js#2188

Others

v1.0.0-beta.23 — view personal records

03 Nov 13:15
Compare
Choose a tag to compare

New Features

  • Personal records. If you are signed in, you should be able to see your personal record in the music selection screen.

For Developers

  • Node 5. The codebase has been migrated to work with Node.js version 5.
  • Hot Module Replacement. Developing this game will be much easier with hot reloading. It is now possible to tweak the user interface code and have the new code injected. See this awesome talk if you haven’t.
  • Refactored online system. The code for online system has been heavily refactored. It is very far from perfect, and we lose data caching ability (in exchange with simpler code). Caching (and cache invalidation) is a hard problem and would need dedicated effort to implement it in the right way.

v1.0.0-beta.22: Faster loading and internal stuffs

08 Sep 02:55
Compare
Choose a tag to compare

This release contains mainly chore work to the game’s codebase and other minor stuff.

  • Faster loading. Bemuse will now download 2 package files simultaneously. This should result in faster package downloads.
  • The markdown parser has switched to use markdown-it library.
  • The markdown will be parsed like GFM, which means line breaks will create a new line when displayed.
  • Changed file names and CSS class names to be consistent with JSX class names across the codebase.
  • Allow server query string to be used instead of the more verbose BEMUSE_MUSIC_SERVER.
  • The bmson related code has been moved to bmson project, to be incorporated into bemuse-indexer, and subsequently, bemuse-tools, in order to give bmson support to these tools.
  • Update isparta relying on a older version of webpack that uses an incompatible regenerator, causing build errors on the CI.

v1.0.0-beta.21

08 Sep 02:47
Compare
Choose a tag to compare
v1.0.0-beta.21 Pre-release
Pre-release