finds.dev

bemusic/bemuse

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

View on GitHubHomepage ↗

★ 1,253TypeScriptAGPL-3.0updated Oct 2026

// the take

Bemuse is a browser-based rhythm game that plays BMS/bmson chart files, built with React, Redux and PixiJS for the rendering/game loop. It's aimed at people into the BMS rhythm-game scene (IIDX-style) who want a web client, or at devs curious about doing precise audio-timed gameplay in the browser.

The audio engine does real work most web games skip: per-note key-sounding and a latency calibration system, which is the hard part of any rhythm game and the part most clones get wrong. The BMS/bmson parsing and song-indexing logic is split into standalone npm packages (bms, bmson, bemuse-indexer, bemuse-notechart) that you can pull in without the game itself, so there's reusable value beyond the app. It supports real input hardware (MIDI, IIDX controllers) in addition to keyboard, which is a genuine feature, not just a demo. CI is actually wired up with CircleCI, Codecov, and SonarCloud quality gates alongside inline *.spec tests next to the code they cover.

Online ranking and multiplayer are explicitly disabled if you self-host ("Online ranking features are not available" in the dev setup) — that functionality is tied to their own Parse Server backend in packages/parse, which isn't documented as something you stand up yourself. The main app is AGPLv3, which rules out quietly embedding it in anything closed-source. It uses Rush for monorepo management, a less common choice than Yarn/pnpm workspaces, adding a learning curve for contributors who haven't touched it. And the game is inert without content: BMS charts aren't bundled, so you're dependent on third-party sites like bmssearch.net for anything to actually play, which is a rough first-run experience for anyone not already in the BMS community.

We read the README, the directory tree and a key source file in October 2026. Nobody pays to be listed. How we judge →

// at a glance

Stars
1,253
Forks
164
Language
TypeScript
License
AGPL-3.0
Last commit
8 Oct 2026

// nearby

If bemuse isn't quite it.

All repos →