Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/bemusic/bemuse

⬤▗▚▚▚ Web-based online rhythm action game. Based on HTML5 technologies, React, Redux and Pixi.js.
https://github.com/bemusic/bemuse

bms bmson docusaurus hacktoberfest html5 javascript pixi react redux rhythm-game rushjs scss typescript

Last synced: 2 days ago
JSON representation

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

Awesome Lists containing this project

README

        

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](https://www.youtube.com/watch?v=Guv1vRAKanY)).

It is recommended to play this game on Google Chrome.

**Table of contents:**

- [Video Demo](#video-demo)
- [Quick Tour](#quick-tour)
- [Technology](#technology)
- [Development](#development)
- [Sub-projects](#sub-projects)
- [How to contribute](#how-to-contribute)
- [Our amazing contributors🌟](#our-amazing-contributors%F0%9F%8C%9F)
- [License](#license)

## Video Demo


Video Demo

## Quick Tour

![Music selection](website/static/img/screenshots/music-selection.jpg)

- 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](http://bmssearch.net/).

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

- It has an **insane tutorial.**

![Gameplay](website/static/img/screenshots/gameplay-kbd.jpg)

- **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.**](https://www.youtube.com/watch?v=hiJzFRIhiiA) 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.**](http://bemuse.readthedocs.io/en/latest/users/scoring-and-judgment.html)
Master the song to get the S grade (score over 500000).

![Gameplay](website/static/img/screenshots/gameplay-bms.jpg)

- **BMS mode** (7-keys + turntable). You can play using an
[IIDX controller](https://www.youtube.com/watch?v=EOgI37Myqvk) or
[MIDI controller](https://www.facebook.com/bemusegame/videos/985712734835136/).

- **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](website/static/img/screenshots/options.jpg)

- **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](https://facebook.github.io/react/)
and [Redux](http://redux.js.org/).**

- The game engine is powered by **[PixiJS](http://www.pixijs.com/).**

## Development

Install [Node.js](https://nodejs.org/en/)

```
# 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](https://bemuse.ninja/project/docs/developer-guide.html).

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**](packages/bms) | [![npm](https://img.shields.io/npm/v/bms.svg)](http://npmjs.com/package/bms) | JavaScript [BMS](https://hitkey.nekokan.dyndns.info/cmds.htm) parser |
| [**bmson**](packages/bmson) | [![npm](https://img.shields.io/npm/v/bmson.svg)](http://npmjs.com/package/bmson) | JavaScript [bmson](https://bmson.nekokan.dyndns.info/) parser |
| [**bemuse-tools**](packages/bemuse-tools) | [![npm](https://img.shields.io/npm/v/bemuse-tools.svg)](http://npmjs.com/package/bemuse-tools) | Tools for [hosting your own music server](https://bemuse.ninja/project/docs/music-server.html). |
| [**bemuse-indexer**](packages/bemuse-indexer) | [![npm](https://img.shields.io/npm/v/bemuse-indexer.svg)](http://npmjs.com/package/bemuse-indexer) | Library for scanning a directory for BMS/bmson files and generate a metadata. |
| [**bemuse-notechart**](packages/bemuse-notechart) | [![npm](https://img.shields.io/npm/v/bemuse-notechart.svg)](http://npmjs.com/package/bemuse-notechart) | Library for loading a notechart for use in game. |

## How to contribute

- Drop a :star: on the GitHub repository (optional).

- Before contributing, please read [CONTRIBUTING.md](https://github.com/bemusic/bemuse/blob/master/CONTRIBUTING.md) and [CODE_OF_CONDUCT.md](https://github.com/bemusic/bemuse/blob/master/CODE_OF_CONDUCT.md).

## Our amazing contributors🌟



## License

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