{"id":13432655,"url":"https://github.com/bemusic/bemuse","last_synced_at":"2025-05-15T09:06:49.865Z","repository":{"id":23731745,"uuid":"27105154","full_name":"bemusic/bemuse","owner":"bemusic","description":"⬤▗▚▚▚ Web-based online rhythm action game. Based on HTML5 technologies, React, Redux and Pixi.js.","archived":false,"fork":false,"pushed_at":"2024-09-03T22:14:37.000Z","size":35047,"stargazers_count":1171,"open_issues_count":35,"forks_count":150,"subscribers_count":24,"default_branch":"master","last_synced_at":"2025-04-11T19:59:55.315Z","etag":null,"topics":["bms","bmson","docusaurus","hacktoberfest","html5","javascript","pixi","react","redux","rhythm-game","rushjs","scss","typescript"],"latest_commit_sha":null,"homepage":"https://bemuse.ninja/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bemusic.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2014-11-25T02:20:29.000Z","updated_at":"2025-04-10T18:13:46.000Z","dependencies_parsed_at":"2024-11-20T03:42:35.538Z","dependency_job_id":null,"html_url":"https://github.com/bemusic/bemuse","commit_stats":{"total_commits":2632,"total_committers":43,"mean_commits":61.2093023255814,"dds":0.5558510638297872,"last_synced_commit":"68e0d5213b56502b3f5812f1d28c8d7075762717"},"previous_names":[],"tags_count":205,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bemusic%2Fbemuse","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bemusic%2Fbemuse/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bemusic%2Fbemuse/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bemusic%2Fbemuse/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bemusic","download_url":"https://codeload.github.com/bemusic/bemuse/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254310515,"owners_count":22049469,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bms","bmson","docusaurus","hacktoberfest","html5","javascript","pixi","react","redux","rhythm-game","rushjs","scss","typescript"],"created_at":"2024-07-31T02:01:14.761Z","updated_at":"2025-05-15T09:06:44.856Z","avatar_url":"https://github.com/bemusic.png","language":"TypeScript","readme":"\u003ch1 align=\"center\"\u003e\u003ca href=\"https://bemuse.ninja/\"\u003e\u003cimg src=\"website/static/img/logo.png\" alt=\"Bemuse 〜beat☆music☆sequence〜\" height=\"162\" /\u003e\u003c/a\u003e\u003c/h1\u003e\n\n\u003ch2 align=\"center\"\u003eopen-source web-based online rhythm game\u003c/h2\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://circleci.com/gh/bemusic/bemuse\"\u003e\u003cimg src=\"https://img.shields.io/circleci/project/bemusic/bemuse/master.svg?style=flat\" alt=\"CircleCI\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://codecov.io/gh/bemusic/bemuse\"\u003e\u003cimg src=\"https://codecov.io/gh/bemusic/bemuse/branch/master/graph/badge.svg\" alt=\"Codecov\" /\u003e\u003c/a\u003e\n  \u003ca href=\"https://twitter.com/bemusegame\"\u003e\u003cimg src=\"https://img.shields.io/badge/twitter-@bemusegame-blue.svg\" alt=\"twitter\" /\u003e\u003c/a\u003e\n  \u003cbr\u003e\n  \u003ca href=\"https://sonarcloud.io/summary/new_code?id=bemusic_bemuse\"\u003e\u003cimg src=\"https://sonarcloud.io/api/project_badges/measure?project=bemusic_bemuse\u0026metric=alert_status\" alt=\"Quality Gate Status\" /\u003e\u003c/a\u003e\n  \u003ca href=\"https://sonarcloud.io/summary/new_code?id=bemusic_bemuse\"\u003e\u003cimg src=\"https://sonarcloud.io/api/project_badges/measure?project=bemusic_bemuse\u0026metric=sqale_rating\" alt=\"Maintainability Rating\" /\u003e\u003c/a\u003e\n  \u003cbr\u003e\n  \u003ca href=\"https://bemuse.ninja/project/\"\u003e\u003cimg src=\"https://img.shields.io/badge/read%20the-docs-brightgreen.svg?style=flat\" alt=\"Docs\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://gitpod.io/#https://github.com/bemusic/bemuse\" title=\"Develop in GitPod\"\u003e\u003cimg src=\"https://img.shields.io/badge/develop%20in-gitpod-blue.svg?style=flat\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n**Bemuse** is an open-source, online, web-based rhythm game. It plays songs in\nBMS format (See:\n[Introduction to BMS](https://www.youtube.com/watch?v=Guv1vRAKanY)).\n\nIt is recommended to play this game on Google Chrome.\n\n**Table of contents:**\n\n\u003c!-- toc --\u003e\n\n- [Video Demo](#video-demo)\n- [Quick Tour](#quick-tour)\n- [Technology](#technology)\n- [Development](#development)\n- [Sub-projects](#sub-projects)\n- [How to contribute](#how-to-contribute)\n- [Our amazing contributors🌟](#our-amazing-contributors%F0%9F%8C%9F)\n- [License](#license)\n\n\u003c!-- tocstop --\u003e\n\n## Video Demo\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://www.youtube.com/watch?v=EOgI37Myqvk\"\u003e\u003cimg src=\"http://i.imgur.com/3sVRyGm.jpg\" alt=\"Video Demo\" width=\"754\" /\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n## Quick Tour\n\n![Music selection](website/static/img/screenshots/music-selection.jpg)\n\n- You can play **online songs** instantly in your browser.\n\n- You can play **custom songs** by dragging a folder containing BMS files into\n  this screen. There are over 5,000 songs published in BMS format by the\n  community worldwide. You can find them using\n  [BMS Search](http://bmssearch.net/).\n\n- There’s an **online internet ranking** system. You can compete with other\n  players and see your rank online.\n\n- It has an **insane tutorial.**\n\n![Gameplay](website/static/img/screenshots/gameplay-kbd.jpg)\n\n- **Keyboard mode** (7-keys). Play along the music with your keyboard.\n\n- **Fully key-sounded.** Each note has its own sound. The music will be affected\n  by your game play.\n\n- Player together with friends using\n  [**party mode.**](https://www.youtube.com/watch?v=hiJzFRIhiiA) It helps you\n  start the game at the exact same time.\n\n- **Multiple difficulties.** Each song has multiple difficulties to accommodate\n  every player skill levels.\n\n- **Adjustable speed.** You can adjust the speed (spacing) of the notes to make\n  it easy-to-sightread. This does not affect the speed of the song; lowering the\n  speed causes notes to become more dense on-screen.\n\n- [**Scoring and grading system.**](http://bemuse.readthedocs.io/en/latest/users/scoring-and-judgment.html)\n  Master the song to get the S grade (score over 500000).\n\n![Gameplay](website/static/img/screenshots/gameplay-bms.jpg)\n\n- **BMS mode** (7-keys + turntable). You can play using an\n  [IIDX controller](https://www.youtube.com/watch?v=EOgI37Myqvk) or\n  [MIDI controller](https://www.facebook.com/bemusegame/videos/985712734835136/).\n\n- **HD video support.** Some songs will have a background animation in\n  high-definition (720p).\n\n- **Adjustable play area size.** If the gameplay area is too long, you can\n  adjust the cover it to make the play area more easy-to-sightread.\n\n- **Early/Late indicator.** Bemuse will tell you if you press the note too early\n  or too late.\n\n![Options](website/static/img/screenshots/options.jpg)\n\n- **Adjustable panel position.** You can position the note panel on either side\n  of the screen, or put it at the center.\n\n- **Adjustable turntable position.** You can put turntable on the left or on the\n  right (BMS mode only).\n\n- **Audio latency compensation.** Some systems may have audio latency. Bemuse\n  contains a calibration system to compensate for the audio latency.\n\n**Play now at https://bemuse.ninja/.**\n\n## Technology\n\n- The web application is powered by **[React](https://facebook.github.io/react/)\n  and [Redux](http://redux.js.org/).**\n\n- The game engine is powered by **[PixiJS](http://www.pixijs.com/).**\n\n## Development\n\nInstall [Node.js](https://nodejs.org/en/)\n\n```\n# Install Rush\nnpm install --global @microsoft/rush\n\n# Clone Bemuse\ngit clone https://github.com/bemusic/bemuse.git\n\n# Enter the main repository\ncd bemuse\n\n# Install the dependencies\nrush update\n\n# Prepare all sub-projects\nrush build --to-except bemuse\n\n# Start development server\nrush dev\n```\n\nFor more information, check out the [Developer Guide](https://bemuse.ninja/project/docs/developer-guide.html).\n\nNote: Online ranking features are not available.\n\n## Sub-projects\n\nThis repository holds the code for other sub-projects, which are available for\nuse on npm.\n\n| Project name                                      | Badge                                                                                                  | Description                                                                                     |\n| ------------------------------------------------- | ------------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------- |\n| [**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                            |\n| [**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                                   |\n| [**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). |\n| [**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.                   |\n| [**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.                                                |\n\n## How to contribute\n\n- Drop a :star: on the GitHub repository (optional).\n\n- 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).\n\n## Our amazing contributors🌟\n\n\u003ca align=\"center\" href=\"https://github.com/bemusic/bemuse/graphs/contributors\"\u003e\n  \u003cimg src=\"https://contrib.rocks/image?repo=bemusic/bemuse\u0026\u0026max=817\" /\u003e\n\u003c/a\u003e\n\n## License\n\n[AGPLv3](LICENSE). Note that this license only applies to the main Bemuse\nproject, not the [sub-projects](#sub-projects), which has its own license terms\n(mostly MIT).\n","funding_links":[],"categories":["JavaScript","TypeScript"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbemusic%2Fbemuse","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbemusic%2Fbemuse","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbemusic%2Fbemuse/lists"}