Bemuse — web-based BMS simulator of the future
Background and Motivation
BMS is a file format for music game simulators, created by Urao Yare in 1997. It was created to store song note patterns in a similar way to Konami’s music game, Beatmania. The format has been extended and evolved over the years, and many simulators supporting this file format are created. This format is still widely used even today, with Japan and Korean people creating hundreds of BMS songs and releasing them for free every year.
However, BMS simulators that work cross-platform are lacking. Most simulators work on Windows only or are very incomplete or buggy. Moreover, it is quite hard to get started playing BMS. The player has to find an appropriate simulator for their computer, and also has to download BMS files to play.
Last but not least, many tools have been developed to facilitate project management, source code control, peer reviews, automated and continuous integration, code review, testing, dependency management, and deployment. These tools allow developer to be more productive and create a higher quality software. Most of them are available for free for open source projects.
My enthusiasm for music games, development of HTML5, ES6 technologies, and tools motivated me to experiment with these things to create a music game using future web technologies.
Purpose and Objective
This project has many purposes:
- From a music gamer perspective
- To make BMS easier to access — anyone with a modern web browser can visit the website and play the game without installing any software or plugins.
- To create a BMS simulator that can be played on Windows, Mac, Linux, and iPad.
- To allow BMS creators to publish songs through this game.
- From a software engineering perspective:
- To experiment and use new web technologies to create a music-based game with real-time sound effects, which, as far as I know, has not been done before.
- To learn and use automated tools to increase productivity and quality of the software.
- From a project management perspective:
- To incorporate project management and other tools to manage a project in a sustainable way.
- To learn to work in a small team of 3 people effectively, possibly with contributions from the BMS community.