This is a list of things to look out for when making / before submitting a BMS to an event. There are many common pitfalls that I think can be easily avoided if you know what to look out for.
Note: SayakaIsBaka has created an automated checker that checks for some of the errors covered in this checklist.
If using ubmsc, go to Options -> General Options and change the Text Encoding option to SHIFT-JIS. This matters if you are using japanese or otherwise non-ASCII characters in your title/artist etc.
If you are using ubmsc, make sure the “Max Grid Partition in BMS” setting (in Options -> General Options) is set to a large value like 10000.
The default value is 192, which causes every keysound object to snap to the nearest 192th division when you save the file. This can cause your BMS to sound different if you are using finer divisions.
If you are getting the “Warning: Note overlapping detected. Increasing Maximum Grid Partition will resolve this.” error in ubmsc, this may be the cause.
This a checklist of things to watch out for when submitting a BMS.
A BMS is incomplete if the keysounds have not been fully cut or there isn’t at least one complete chart.
Sometimes, people try to register (aka submit) their BMS before it is done in order to get in before the deadline or to get their entry in a higher ranked position on the page (to make their entry more visible). They will then amend the download link later with the completed BMS. Often, this goes against the rules of the event and will cause you to get disqualified.
Note that it is alright to add the BGA or additional charts later in an update. However this may mean that your BGA or additional charts won’t make it into the initial song pack, so many players end up never having them.
BMS with keysounds exceeding 60s in length are automatically blocked from LR2IR. Try to cut up keysounds where possible, even if they are not used in the chart. If you need to use long keysounds (e.g. vocal tracks), split them into ~40 segments.
Do not place the your files directly into the zip. They should be placed in a folder, then zipped (like the example below).
songname.zip
'-> songname
'-> songnameN.bms
'-> songnameH.bms
'-> songnameA.bms
'-> keysound1.ogg
'-> keysound2.ogg
'-> keysound3.ogg
'-> keysound4.ogg
'-> bga.wmv
This applies to both file and folder names. For example, use kyokumei.bms and gabberkick.ogg instead of 曲名.bms and ガバーキック.ogg.
wav keysounds usually have ridiculously large file sizes. Use a tool like oggdropXPd or oggenc2 to convert the keysound files to ogg to reduce the total file size.
As a rough guide, try to keep the total size of your keysounds below 40MB if possible.
It doesn’t matter if you specify it as #WAV01 keysound.wav
or #WAV01 keysound.ogg
. If there is no keysound.wav in the folder, the BMS client will automatically load keysound.ogg instead.
Thus, you can convert the keysounds from wav to ogg while not changing the BMS.
See Video Encoding for details on how to encode your BGAs. As a rough guide, please try to keep your BGA files within 40MB if possible.
If you are making an mp4 version of the BGA for beatoraja users, do not make separate BMS files for the mp4 BGA. Continue to specify the BGA as _bga.wmv
(or _bga.mpg
) in the BMS, and LR2 will load _bga.wmv
(or _bga.mpg
) while beatoraja will preferentially load_bga.mp4
if it exists.
If the BGA has not been completed on time, you can use an image file (e.g. _bga.png
) as a placeholder.
Do not make separate BMS files for the placeholder/final versions of the BGA. If you specify your BGA as _bga.wmv
or _bga.mpg
but there is no _bga.wmv or _bga.mpg in the folder, the game will load _bga.png instead if it exists.
See Chart Metadata Tips below.
Every time you make any small change to a bms file (a chart), the file hash changes, so it is identified as a different chart.
If you modify a chart after release (even if it’s like 30 minutes after release) and update your download link, it is often the case where there will be two different versions of your chart floating around - some people download your new version directly, while others will still have your old version (especially if your old version made it into the song pack which is often compiled immediately after release). This can make it quite confusing for players down the road as people don’t often update their chart versions.
Thus, it is good to check that you have done everything right before the initial release, so that an update to fix the charts won’t be necessary down the road.
Note that updating the keysounds, the BGA, or adding new charts is completely fine as long as no edits are made to existing bms files.
This is a recommendation and isn’t absolutely necessary.
When making charts of different difficulties using ubmsc, make sure that you have Disable vertical moves (D)
checked when moving notes around. This is to prevent accidental upward/downward shifting of keysounds when charting.
Before submitting, use a BMS diff tool to check that your keysounds have not been shifted upward/downward by accident between charts. The diff tool can also be used to check that the metadata isn’t different between charts (for example, specifying a stagefile in one chart but forgetting to do so in another).
See Video Encoding.
Here’s an explanation of the different chart metadata fields, because some of them may not be immediately obvious.
3 - Easy
. Avoid using Very Easy as LR2 does not support it.There are five difficulties you can set for a chart. BEGINNER, NORMAl, HYPER, ANOTHER and INSANE.
Difficulty levels are on a scale of 1-12. These are called the normal scale levels and are used for BEGINNER, NORMAL, HYPER and ANOTHER charts. However, if you label the chart as INSANE, it sometimes refers to a different scale (1-25, where insane 1 is above normal 12).
See this link for a reference on difficulty levels.
The most common playmode is 7keys (which includes the scratch).
Remember to set a TOTAL value. The TOTAL value determines the speed of gauge (hp) recovery when playing on the easy or normal gauges in game. Having a higher TOTAL makes the chart easier to clear.
For example, if you have a TOTAL value of 400 on the normal gauge, you will recover 400% gauge in total if you hit every note with at least a GREAT (another way of seeing it is that you recover 400/(number of notes) per note).
If you are not sure what to set your TOTAL value to, use the BMS #TOTAL Calculator, input your song’s notecount, and use the value in IIDX #TOTAL supposition 1.
If the TOTAL value is not set, the TOTAL value will be automatically set by the game, but this automatic value may be different depending on which bms client the player is using (LR2, beatoraja).
BMS charts have multiple LN formats because of competing implementations of LN support in the early days of the format. Assuming that you are using ubmsc for charts, I personally recommend keeping it as “None (#LnType 1)”.
You can specify a preview file for your BMS by adding this to the expansion code:
#PREVIEW preview.wav
Where preview.wav (or preview.ogg) is the file name of your preview file. Record a short highlight clip of your song to use as the preview file.
If you are using beatoraja, the preview file will play when you hover over the song during music select. This can help increase your song’s visibility.
Charts in general can be very subjective. But there are some pointers (you don’t have to follow them always!) that you might want to take note of: