Skip to content
/ bemuse Public

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

License

Notifications You must be signed in to change notification settings

bemusic/bemuse

Folders and files

NameName
Last commit message
Last commit date
Oct 22, 2022
Dec 30, 2022
Dec 30, 2022
Oct 23, 2022
Jan 7, 2023
Dec 30, 2022
Jan 5, 2023
Jan 7, 2023
Jan 6, 2023
Nov 28, 2022
Oct 21, 2022
Dec 30, 2022
Aug 27, 2019
Mar 10, 2015
Oct 28, 2021
Dec 29, 2022
Oct 28, 2021
Oct 29, 2021
Oct 19, 2022
Dec 30, 2022
Dec 8, 2018
Oct 23, 2022
May 4, 2020
Jan 5, 2023
Oct 16, 2022
Dec 8, 2018
Dec 21, 2014
Oct 17, 2022
Oct 29, 2021
Oct 22, 2022
Dec 8, 2018
Dec 9, 2018
Oct 19, 2022

Repository files navigation

Bemuse 〜beat☆music☆sequence〜

open-source web-based online rhythm game

CircleCI Codecov twitter
Quality Gate Status Maintainability Rating
Docs

Bemuse is an open-source, online, web-based rhythm game. It plays songs in BMS format (See: Introduction to BMS).

It is recommended to play this game on Google Chrome.

Table of contents:

Video Demo

Video Demo

Quick Tour

Music selection

  • You can play online songs instantly in your browser.

  • You can play custom songs by dragging a folder containing BMS files into this screen. There are over 5,000 songs published in BMS format by the community worldwide. You can find them using BMS Search.

  • There’s an online internet ranking system. You can compete with other players and see your rank online.

  • It has an insane tutorial.

Gameplay

  • Keyboard mode (7-keys). Play along the music with your keyboard.

  • Fully key-sounded. Each note has its own sound. The music will be affected by your game play.

  • Player together with friends using party mode. It helps you start the game at the exact same time.

  • Multiple difficulties. Each song has multiple difficulties to accommodate every player skill levels.

  • Adjustable speed. You can adjust the speed (spacing) of the notes to make it easy-to-sightread. This does not affect the speed of the song; lowering the speed causes notes to become more dense on-screen.

  • Scoring and grading system. Master the song to get the S grade (score over 500000).

Gameplay

  • BMS mode (7-keys + turntable). You can play using an IIDX controller or MIDI controller.

  • HD video support. Some songs will have a background animation in high-definition (720p).

  • Adjustable play area size. If the gameplay area is too long, you can adjust the cover it to make the play area more easy-to-sightread.

  • Early/Late indicator. Bemuse will tell you if you press the note too early or too late.

Options

  • Adjustable panel position. You can position the note panel on either side of the screen, or put it at the center.

  • Adjustable turntable position. You can put turntable on the left or on the right (BMS mode only).

  • Audio latency compensation. Some systems may have audio latency. Bemuse contains a calibration system to compensate for the audio latency.

Play now at https://bemuse.ninja/.

Technology

  • The web application is powered by React and Redux.

  • The game engine is powered by PixiJS.

Development

Install Node.js

# Install Rush
npm install --global @microsoft/rush

# Clone Bemuse
git clone https://github.com/bemusic/bemuse.git

# Enter the main repository
cd bemuse

# Install the dependencies
rush update

# Prepare all sub-projects
rush build --to-except bemuse

# Start development server
rush dev

For more information, check out the Developer Guide.

Note: Online ranking features are not available.

Sub-projects

This repository holds the code for other sub-projects, which are available for use on npm.

Project name Badge Description
bms npm JavaScript BMS parser
bmson npm JavaScript bmson parser
bemuse-tools npm Tools for hosting your own music server.
bemuse-indexer npm Library for scanning a directory for BMS/bmson files and generate a metadata.
bemuse-notechart npm Library for loading a notechart for use in game.

How to contribute

Our amazing contributors🌟

License

AGPLv3. Note that this license only applies to the main Bemuse project, not the sub-projects, which has its own license terms (mostly MIT).