Silent Foreign Perspective

BMSの自作差分をまとめた

Tags:

Published at 2023-12-07 21:21:00

数が多くなってきたので。

https://bms.congenial-spirits.com

比較的どうでもいい技術的なこと

一応今年の最初(2月くらい)には難易度表のスクリプトの改造が終わってたんだけど、そっからデータ入力が面倒でだいぶ長いこと放置されてた。
どう自動化するかが技術的には面白くて、よく見かける既存のテンプレートだと

  • スプレッドシートからjson(beatorajaなどが読み込む難易度表の本体)を吐けるエンドポイントをつくる
  • jsonから表を自動で生成するjavascriptを書き、そのページを人が見る表として公開する

という流れになっていて、スプレッドシートの更新のみで表が更新されるという算段。ただスプレッドシートからjsonを返す部分が速度的にはかなりボトルネックになっているのが気に食わなかった(表が大きすぎる場合は2番目の表生成の部分でも時間がかかったりする)。
コマンドひとつでjsonと静的な難易度表htmlを吐けるようにしようと思い立ったけど、個人の難易度表でそんな更新頻度もなくない?と思い至ったので、結局

  • スプレッドシート内のセルに文字列結合でjsonが出てくるのでそれをサイトのjsonファイルに上書き
  • ローカルでjsonからhtmlを生成するページを閲覧、できたhtmlをサイトのhtmlファイルに上書き
  • jsonとhtmlをアップロード

というかなり人間コマンドな仕様に落ち着いた。実際動画上げたり譜面アップロードしたりの手間の方が大きいので。。。気が向いたら自動化しようかな。もしくはstellaみたいな普通にサイト閲覧するのにもちょっと時間かかる規模のサイトに送るか。
ホスティングはGitHub Pages。なんか反映遅いので、転送量気にせず差分のミラーとかも設置できそうなCloudflare Pagesに移す予定。関係ないけど最近ドメイン管理もお名前からCloudflareに移して半額近くなったので好印象。

譜面語り

こういう場でもないと書くことないので適当にいくつかピックアップして書いていきます。動画は再生リストでもまとめて見れる。


たぶん一番遊ばれてる譜面。もちろんSAMURAI-Scramble†登場時に作った。制作時はこれハードできるくらいの皿力あったんだけど今は全く歯が立たなくて悲しい。
このビューア(mBMPlay)はかなり便利だし、皿の枚数調整とかしたときに見てもらえるのは差分作ってる人間からするとかなり嬉しいんだけどいかんせん解像度が低いのがネック。と思ってサイト見に行ったら今年の8月に更新されてて激アツ。


万人ウケする難易度じゃないしランダムかけると高確率でLN+皿の無理押しが来るけどそれはそれとしてかなり好きな譜面。音ガン無視して声にアサインしたり、歌詞の頭韻に合わせて同じ鍵盤に降らせたり。
LR2はHDを使っているのでそれなりの画質にはなるんだけど、スペック関係なく音抜けが起きるのがネック。beatorajaはそもそも2人プレイ用スキン作るところからっぽい。


Stellaっぽい譜面を作ろうと思ってst1に収録されたのでしてやったり感あるやつ。今見ると結構アンバランスで出来はそんなに……となる。小節のノーツ数で難易度見積もりしてしまう癖があって、最後が最大ノーツになるようにするので結果的にラス殺しすぎてしまう。差分名は曲名の意図を汲めたと思う。


最近(ここ3ヶ月くらい)作っていたやつ。BMSっぽい難易度に本家でありがちなギミックを全部入れた回。中盤のごちゃごちゃ地帯をもうちょっと上手く組みたかった。それと相変わらず局所難がひどい。


最新、というかこの記事の直前に公開した。やっぱりハイテック曲で上手く譜面作れてこそみたいなところある(?)。この曲で1729ノーツにしない理由なくない???と思ってsl0あたりを狙って作ったけど全然足りず。差分名はその名残で、せめてもの抵抗に一応TOTALを8^3=512にしたりノーツ数をラマヌジャンの没年にしたりした。sl1でも結構微妙なラインな気がするけど今回は限界まで難易度調整したので詐欺じゃないといいなという気持ち。