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 等更宽松的协议,使用前请分别确认。
评论
- 暂无评论,来写第一条吧。