AX 爱鲜报

Bemuse 〜beat☆music☆sequence〜

基于 HTML5 的在线节奏音游,使用 React、Redux 与 Pixi.js 构建,支持 BMS/bmson 曲谱格式,可在浏览器中直接游玩、导入自制曲目并参与在线排行。

爱鲜报评分

0.0

0 人评分

1.3k

星数

否

中文

TypeScript

主语言

是

活跃

41

贡献者

人工分析

EDITORIAL

推荐理由

Bemuse 是一个成熟的开源网页节奏游戏,把传统 BMS 玩法完整搬进了浏览器,无需安装客户端即可上手。项目采用 React + Redux + Pixi.js 的现代前端技术栈,并拆分为 bms、bmson、bemuse-tools 等多个可独立复用的 npm 子包,对想学习游戏引擎、音游判定或大型前端工程组织的开发者都很有参考价值。

适用场景

  • 浏览器在线音游体验与 BMS 曲目游玩
  • 学习 Pixi.js 游戏渲染与 React/Redux 状态管理
  • 研究 BMS/bmson 曲谱解析与音游判定算法
  • 搭建自建音乐服务器与自制曲目分发
  • 作为前端大型 monorepo(Rush)工程实践案例

优点

  • 纯 Web 实现,打开浏览器即可游玩,跨平台门槛低
  • 支持 BMS/bmson 曲谱与拖拽导入自定义歌曲,曲库生态庞大
  • 键盘模式与 BMS 模式(含转盘)兼顾不同玩家习惯
  • 具备在线排行、评分评级、延迟校准等完整音游功能
  • 拆分为多个 npm 子包,解析与索引逻辑可独立复用

缺点

  • 官方推荐使用 Chrome,其他浏览器兼容性可能不佳
  • 在线排行等部分功能在本地开发环境不可用
  • AGPL-3.0 主项目协议对商业闭源使用限制较强
  • 上手需要理解 BMS 格式与音游判定概念,非玩家有一定门槛
上手难度 进阶

Bemuse 是什么

Bemuse(〜beat☆music☆sequence〜)是一款开源的网页版在线节奏游戏,完全基于 HTML5 技术构建,直接在浏览器中运行。它主要演奏 BMS 格式的曲谱,同时也支持 bmson 格式,社区已发布超过 5000 首 BMS 曲目。

官方在线体验地址:https://bemuse.ninja/

核心玩法

  • 在线曲目:无需下载,打开网页即可游玩。
  • 自定义曲目:把包含 BMS 文件的文件夹拖入页面即可导入。
  • 键盘模式(7 键):用键盘跟随音乐敲击。
  • BMS 模式(7 键 + 转盘):支持 IIDX 控制器或 MIDI 控制器。
  • 全键音(Fully key-sounded):每个音符都有独立音效,演奏会实时影响音乐。
  • 派对模式:与朋友在同一时刻开始游戏。
  • 在线排行:与其他玩家比拼分数与排名。

此外还提供多难度、可调音符速度、可调判定面板位置、Early/Late 提示以及音频延迟校准等设置。

技术栈

层面 技术
应用层 React + Redux
游戏引擎 PixiJS
语言 TypeScript
工程组织 Rush(monorepo)
样式 SCSS
文档站 Docusaurus

子项目

仓库以 monorepo 形式维护,多个子包已发布到 npm,可独立使用:

  • bms:JavaScript 版 BMS 解析器
  • bmson:JavaScript 版 bmson 解析器
  • bemuse-tools:用于搭建自建音乐服务器的工具
  • bemuse-indexer:扫描目录中的 BMS/bmson 文件并生成元数据
  • bemuse-notechart:加载游戏用谱面的库

开发与构建

项目使用 Rush 管理依赖与构建流程,典型命令示意如下:

# 安装 Rush
npm install --global @microsoft/rush

# 克隆仓库并进入目录
git clone https://github.com/bemusic/bemuse.git
cd bemuse

# 安装依赖并构建子项目
rush update
rush build --to-except bemuse

# 启动开发服务器
rush dev

更详细的说明可参考官方 Developer Guide。注意:本地开发环境中在线排行功能不可用。

许可协议

主项目采用 AGPL-3.0 协议,各子项目则多采用 MIT 等更宽松的协议,使用前请分别确认。

评论

登录后才可评论与评分

0 条评论

  • 暂无评论,来写第一条吧。