Skip to content

thalathalaylah/stepmania_random_course_maker

Repository files navigation

stepmania_random_course_maker

stepmaniaの難度指定ランダムコースを作成します このコースは各曲ごとに倍速指定を計算し、適用します

動作が確認できた環境

  • Mac OS High Sierra
  • ruby 2.0 以上
  • Stepmania 5.0.12

How to use

  1. git clone <this repository>
  2. cd stepmania_random_course_maker
  3. bundle install
  4. .env.templateのSTEPMANIA_APPLICATION_DIRECTORYを設定
  5. .env.templateを.envにリネーム
  6. bundle exec ruby entry_point.rb course_example.rb
  7. StepmaniaのOptions > RELOAD SONGS/COURSES を実行

コース設定方法

course_example.rbを参考にして設定してください

[
    {
        target_level: 10,
        sample_number: 8,
        target_bpm_ranges: [[400, 430], [380, 400], [300, 380]],
        course_name: 'RandomCourseMakerTestFor10',
        meter: 'Medium:10',
        scripter: 'Thalathalaylah'
    },
    {
        target_level: 11,
        sample_number: 4,
        target_bpm_ranges: [[400, 430], [380, 400], [300, 380]],
        course_name: 'RandomCourseMakerTestFor11',
        meter: 'Medium:11',
        scripter: 'Thalathalaylah'
    }
]

このファイルはコース情報を記述したハッシュの配列として構築されています。
コース情報を記述するハッシュは以下の内容を含んでいる必要があります。

key type value
target_level int コースを構成する曲の難易度を決定する
sample_number int コースがいくつの曲で構成されるかを決定する(8なら8曲)
target_bpm_ranges Array[Array[Int]] 各曲の倍速設定を決定する
course_name string コース名
meter string コース難易度表記
scripter string コース作成者表記

target_bpm_rangesは曲の設定bpmに1.0〜5.0の値を0.25刻みでかけた値のどれかが最初のレンジ(例では400〜430)に含まれていればその値を選び、含まれていなければ次の レンジ(380〜400)に含まれている値、そこにも無ければ次のレンジ(300〜380)と見ていきます。

作成したコース情報ファイルを bundle exec ruby entry_point.rb <作成したファイル名> として読み込むことでコースを作成することができます。

注意事項

現状、ソフランのかかっている曲は選択されないようになっています。
これは倍速の自動設定が難しくなるためです。
ただしソフランがあるかどうかの判定は曲選択画面のBPM表示に依存しているため、BPM表示が固定値でありながらソフランがかかる曲に関しては選択されてしまいます。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published