Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

📝 Docs improvements #496

Merged
merged 8 commits into from
Oct 1, 2018
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 7 additions & 9 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,13 @@
## Coding Guidelines

Coding Guidelines
-----------------

- Use [editorconfig](http://editorconfig.org/) to make sure we use indentations and newlines consistently.
- Use a text editor with [EditorConfig](http://editorconfig.org/) & [Prettier](https://prettier.io/) support, to make sure we use indentations and newlines consistently.
- We recommend [Visual Studio Code](https://code.visualstudio.com/)!
- Always lint JavaScript code before committing. This helps reduce extraneous commits.
- Take a look at:
- [.editorconfig](.editorconfig)
- [.eslintrc](.eslintrc)

- [Developer Guide](https://bemuse.ninja/project/docs/developer-guide.html)
- [.editorconfig](.editorconfig)
- [.eslintrc](.eslintrc)

Commit Message Guidelines
-------------------------
## Commit Message Guidelines

Use [gitmoji](https://gitmoji.carloscuesta.me/)!
5 changes: 1 addition & 4 deletions docs/bms-extensions.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,7 @@ I don't want to deal with number clashes in the future,
so I took the liberty to extend the support for channel numbers into Base36 (00-ZZ).

This allows more meaningful channel names,
such as ``#xxxSC`` for scrolling factor and ``#xxxSP`` for spacing factor.

such as `#xxxSC` for scrolling factor and `#xxxSP` for spacing factor.

## Speed and Scroll Segments

Expand All @@ -32,10 +31,8 @@ to dynamically change notes spacing and notes scrolling speed.
This allows scrolling effects to be created without relying on BPM changes
or STOPs.


## Extension Lines

```
#EXT #xxxyy:....
```

62 changes: 31 additions & 31 deletions docs/bms-support.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,22 +9,22 @@ They are noted here.

**BMS**

- BGA is not supported yet.
- Free-zone not supported.
- Invisible objects [not yet](https://github.com/bemusic/bemuse/issues/186) supported.
- BGA is not supported yet.
- Free-zone not supported.
- Invisible objects [not yet](https://github.com/bemusic/bemuse/issues/186) supported.

**BML**

- Supports `#LNTYPE 1` (RDM; loose BML) and `#LNOBJ` (RDM type 2; strict
BML)
- Long notes are judged both at the start and at the end (2 judgments
per long note, similar to O2Jam).
- Player must release the button at the end of long notes. Otherwise,
the end of long note will be missed.
- Supports `#LNTYPE 1` (RDM; loose BML) and `#LNOBJ` (RDM type 2; strict
BML)
- Long notes are judged both at the start and at the end (2 judgments
per long note, similar to O2Jam).
- Player must release the button at the end of long notes. Otherwise,
the end of long note will be missed.

- **Exception:** Player doesn’t have to stop spinning the turntable
at the end of SCRATCH notes. If the player keeps spinning, player
will get METICULOUS (Perfect) judgment.
- **Exception:** Player doesn’t have to stop spinning the turntable
at the end of SCRATCH notes. If the player keeps spinning, player
will get METICULOUS (Perfect) judgment.

**PLAYER**

Expand All @@ -33,47 +33,47 @@ supported.

**RANK**

- Bemuse does not support #RANK.
- Judgment timegate is described at [scoring and judgment](scoring-and-judgment.md) section.
- Bemuse judge notes per unit time.
- Bemuse does not support #RANK.
- Judgment timegate is described at [scoring and judgment](scoring-and-judgment.md) section.
- Bemuse judge notes per unit time.

**TOTAL**

Bemuse does not support #TOTAL.

**DIFFICULTY**

- BMS charts with #DIFFICULTY 1-4 are treated as the same (non-insane).
- BMS charts with #DIFFICULTY 5 are treated as 発狂BMS (INSANE chart).
In music selection screen, it is displayed in different color.
- BMS charts with #DIFFICULTY 1-4 are treated as the same (non-insane).
- BMS charts with #DIFFICULTY 5 are treated as 発狂 BMS (INSANE chart).
In music selection screen, it is displayed in different color.

**TITLE and SUBTITLE**

- Supports implicit subtitles.
- Supports multiple subtitles.
- Supports implicit subtitles.
- Supports multiple subtitles.

**ARTIST and SUBARTIST**

- Supports multiple subartists.
- Supports multiple subartists.

**Landmine**

Not supported (in the future, it will display as fake note).

**WAV**

- Supports OGG, M4A, MP3, WAV samples.
- Polyphony of #WAV is 1, consistent with major BMS implementations.
- However, it does not apply to sounds played when player hits the
button without note (freestyle sound).
- Supports OGG, M4A, MP3, WAV samples.
- Polyphony of #WAV is 1, consistent with major BMS implementations.
- However, it does not apply to sounds played when player hits the
button without note (freestyle sound).

- Sound of the nearby note will play with no polyphony limit.
- Sound of the nearby note will play with no polyphony limit.

- If player gets OFFBEAT (bad) judgment, the sound will play in wrong
pitch.
- If player gets OFFBEAT (bad) judgment, the sound will play in wrong
pitch.

**RANDOM**

- Only #RANDOM, #IF, #ENDIF in original specification are supported.
However, they can be nested (nesting level can be ended with
`#ENDRANDOM`).
- Only #RANDOM, #IF, #ENDIF in original specification are supported.
However, they can be nested (nesting level can be ended with
`#ENDRANDOM`).
4 changes: 0 additions & 4 deletions docs/colors.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,13 +12,9 @@ These are the colors used throughout the project.
- **Gold** is used on the stars separating the words “beat”, “music” and “sequence.”

<div id="colors">

<div>
<color-list :colors="colors"></color-list>
</div>

</div>

<script src="https://unpkg.com/vue@2.5.16/dist/vue.js"></script>
<script>
Vue.component('color-list', {
Expand Down
12 changes: 6 additions & 6 deletions docs/developer-guide.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,23 +20,23 @@ Run these commands inside the **Terminal** (**PowerShell/Command Prompt** for Wi

**Git**: You should see the version number:

```bash
```sh-session
$ git --version
# git version 2.17.0
git version 2.17.0
```

**Node.js**: You should see the version number:

```bash
```sh-session
$ node -v
# v9.8.0
v10.11.0
```

**Yarn**: You should see the version number:

```bash
```sh-session
$ yarn -v
# 1.6.0
1.6.0
```

## Setting Up the Project
Expand Down
4 changes: 2 additions & 2 deletions docs/faq.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,8 @@ As a web-based game, it does not have low-level access to the audio
driver. There are many factors that affect the audio latency in this
game (and web-based audio applications in general):

* The browser's implementation of the Web Audio technology
* Your sound card driver and settings on your operating system
- The browser's implementation of the Web Audio technology
- Your sound card driver and settings on your operating system

Bemuse has a mechanism for delay compensation. Simply open the options
screen and enter your system’s audio+input latency. You can click on the
Expand Down
4 changes: 2 additions & 2 deletions docs/game-loop.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,11 @@ title: The Game Loop
---

At each iteration of the game loop, each game component takes turn and
update itself. Each game component involved in this game loop should
update itself. Each game component involved in this game loop should
have a `update(...)` method, which takes care of updating itself.
This is the only time the component will be mutable.
Outside of the `update` method, a component should behave like an
immutable object. This allows us to have some sense of immutability
immutable object. This allows us to have some sense of immutability
without having to create new objects. See [the case for immutability](https://github.com/facebook/immutable-js/blob/d8d189ae7ea8965fee2ecc7320ebdc55e83eb6a1/README.md#the-case-for-immutability).

At each cycle, the following happens:
Expand Down
28 changes: 15 additions & 13 deletions docs/music-server.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,26 +17,26 @@ This guide is valid for all major operating systems (Windows, Linux, or macOS),

### macOS

* [Homebrew](http://brew.sh/)
* [Node.js](https://nodejs.org/)
* [SoX](http://sox.sourceforge.net/): `brew install sox --with-libvorbis`
- [Homebrew](http://brew.sh/)
- [Node.js](https://nodejs.org/)
- [SoX](http://sox.sourceforge.net/): `brew install sox --with-libvorbis`

#### Prerequisite Check

Run these commands inside the Terminal.

**Node.js**: You should see the version number:

```bash
```sh-session
$ node -v
# v9.8.0
v10.11.0
```

**SoX**: You should see the SoX version:

```bash
```sh-session
$ sox --version
# sox: SoX v14.4.2
sox: SoX v14.4.2
```

<div class="admonition note">
Expand All @@ -46,14 +46,14 @@ $ sox --version

### Windows

* [Node.js](https://nodejs.org/)
* [SoX](http://sox.sourceforge.net/): Download from http://sourceforge.net/projects/sox/files/sox/
* [QuickTime Player](http://www.apple.com/quicktime/download/) or [iTunes](http://www.apple.com/itunes/download/)
* [qaac](https://sites.google.com/site/qaacpage/)
- [Node.js](https://nodejs.org/)
- [SoX](http://sox.sourceforge.net/): Download from http://sourceforge.net/projects/sox/files/sox/
- [QuickTime Player](http://www.apple.com/quicktime/download/) or [iTunes](http://www.apple.com/itunes/download/)
- [qaac](https://sites.google.com/site/qaacpage/)

**For hosting on your local machine**:

* [xampp](https://www.apachefriends.org)
- [xampp](https://www.apachefriends.org)

#### Installation

Expand Down Expand Up @@ -309,7 +309,6 @@ To connect to the music server, go to `http://bemuse.ninja/?server=<your URL>`.

Example: http://bemuse.ninja/?server=http://flicknote.bemuse.ninja/bemuse/mumei12


### On a Local Machine

Navigate to your Apache Config folder of XAMPP (e.g. `C:\xampp\apache\conf`) and open `httpd.conf`
Expand All @@ -331,16 +330,19 @@ DocumentRoot "C:\Bemuse\myserver"
```

Also change the value found in the `Directory` tag to the server folder

```
<Directory "C:\Bemuse\myserver">
```

Place this line inside the `Directory` tag

```
Header set Access-Control-Allow-Origin "*"
```

So it should look like below

```
DocumentRoot "C:\Bemuse\myserver"
<Directory "C:\Bemuse\myserver">
Expand Down
14 changes: 7 additions & 7 deletions docs/scoring-and-judgment.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,8 @@ The different timegates are designed to make the game easier for beginners, with

The final score is split into 2 parts:

* 500000 for accuracy
* 55555 for combo bonus
- 500000 for accuracy
- 55555 for combo bonus

Each combo has an associated score.

Expand All @@ -46,9 +46,9 @@ Combo bonus is the sum of combo score for each hit, divided by maximum possible

**Example:** There are 100 notes. 60 notes have been hit, I missed a note, and hit 39 other notes.

* Obtained combo score = 108 for first 60 notes + 56 for 39 other notes = `164`
* Maximum possible combo score = `237`
* Combo bonus = `164 / 237 * 55555 = 38443`
- Obtained combo score = 108 for first 60 notes + 56 for 39 other notes = `164`
- Maximum possible combo score = `237`
- Combo bonus = `164 / 237 * 55555 = 38443`

## Grading

Expand All @@ -65,5 +65,5 @@ After playing the game, the grade is calculated according to this table:

## References

* The original [pull request](https://github.com/bemusic/bemuse/pull/446) implementing the scoring system.
* [Essay by @dtinth](https://qiita.com/dtinth/items/5b9f6b876a0a777eec50) regarding the new timegates & scoring.
- The original [pull request](https://github.com/bemusic/bemuse/pull/446) implementing the scoring system.
- [Essay by @dtinth](https://qiita.com/dtinth/items/5b9f6b876a0a777eec50) regarding the new timegates & scoring.
Loading