Skip to content
exch-bms2 edited this page Nov 18, 2017 · 41 revisions

ここは議論の場です。(なるべく削除はせず)自由に追加していって下さい。

システム処理

楽曲情報データベース(songinfo.db)

  • 情報の拡充
    • 今のところアイデアなし
  • song.dbとマージして、songinfo.db使用は必須にする
    • 動作速度的にどれくらい影響があるか(特に低スペックPC)
  • zip/rarのまま楽曲ファイルとして認識
    • 圧縮ファイルへのアクセスはbmorganizerを利用
    • song.db上の圧縮ファイル定義は?
    • 動画BGAはffmpegにファイルパスを渡す関係で一度どこかに展開が必要

ゲームシステム

入力デバイス

  • マルチキーアサインについては原則不可としたい
    • 各種同時押し仕込み等の不正につながりやすいため
    • 1入力を複数レーンに割り当てるのについては不正以外の用途が思いつかないので禁止するデメリットはなさそう。一方、複数キーを同一レーンに割り当てるのは一定の需要がありそう(対象固定運指風のキーボード配置や皿に3つ以上のキーを割り当てるなど)。こちらも縦連をトリルに分割するなどややインチキな用途はあり得ますが、同時押し仕込みに比べればマイルドで、不正とみなすかはきわどいところ。
      • いずれにせよ、コントローラー上の回路やキー変換等で同時押しや複数キー分割は実現できてしまうので、こちらでどこまでカバーするかという話のような気がします。もう少し想定シチュエーションを増やして議論した方が良さそう。

プレイゲージについて

プレイオプションについて

  • ハイスピの1段階の変化幅が大きすぎるように感じるので、できればLR2のように指定可能にしたい。ハイスピ固定にしているとdurationがゲーム内でうまく変えられなくて困ることが多いので改善したい。選曲画面で設定できるだけでも大分使いやすくなるかも。
  • 自動皿アシストはあった方がいいかと思います。特にDOUBLE BATTLEがあるので。アシストオプション画面は7個埋まってしまっていますが…
    • DB皿なしという専用オプションをダブルオプションに追加とか

判定について

  • 9keyのみ 某本家様が譜面によってさまざまな判定があるのでそれを参考にRANKによって妥当な判定を導入できると嬉しい

スキン

スキン仕様について

  • 機能の拡充(JSONスキン)
    • op指定をDestination以外でも使いたいです。例えば現状では1P側と2P側が別のスキンファイルになっていますが、これを統合するにはノーツ定義でのop指定が必要となります。他にもSourceからの切り出し範囲をop分岐できるようにすると便利かもしれません。(補足)LR2スキンでは #IF が必要となるような、スキン読み込み時の汎用的な条件分岐のことです。
    • ノーツの高さが一様でない場合も必ず下端が揃うように降ってきますが、ノート画像ごとに中心点のようなものを指定してそれを基準に揃えるようにしたいです。(例:キーボードのホイール、ドラムのフットペダルなどをいい感じに表示したい)
      • 現状の仕様のままでも、空白を入れて無理やりノーツの高さを揃えたうえで判定ラインを下げるというハックは可能ですが…
  • LR2との互換性
    • 判定カウント数値がPOORとMISSで別れており、空プアを出してもLR2スキンではPOORが増えないように見えるので、いい感じに見えるようにしたいです。(例えばLR2互換のPOOR値はPOOR+MISSとし、見逃しPOORのみの数値は別にするなど)
  • 9KEYS関連(超後回しで良いので宜しくお願い致します)←PMS勢で開発者を確保できませんか?
    • 3列あるコンボの内1列のみを表示するためのDST OPTION(コンボが0の時は全非表示)
    • 見逃しBADの時ポップ君が落ちる演出
      • 各レーン毎のPOOR時に発生するタイマーを追加?
        • 2個以上同時に発生する可能性があるのでタイマーではなく、第二の#DST_NOTEのようなものとして落下地点を設定出来ると嬉しいです。
        • 具体的な挙動は「遅BADまでは判定ラインで停止」→「見逃し確定の瞬間からHSに関わらずノースピの速度で落下(BPMに応じての速度変化はあり)」
        • GOOD以上で拾われればその時点で消失&ボム発生。そうでなければ空BAD等の有無に関わらず上記演出
    • ぽみゅ/みゅにのキャラファイルに対応
      • フォーマット仕様は?
        • サンプルキャラデータ(キャラアイコンクリックでDL):http://storyof.namidaame.com/
        • フォーマット説明1:https://web.archive.org/web/20150219203833/http://storyof.namidaame.com:80/yy_pce.htm
        • フォーマット説明2:https://web.archive.org/web/20140219123749/http://storyof.namidaame.com/yy_tec.htm
        • フォーマット説明3:https://web.archive.org/web/20090502223140/http://storyof.namidaame.com:80/yy_tec'.htm
        • ビューア:http://sakukoba.ninja-x.jp/ponila/
        • プレイ画面で用意して欲しいタイマー(挙動)としては上記フォーマット説明1の数値を用いて、01:「1P通常1」,06:「1P喜び1」,07:「1P喜び2」,08:「1P喜び3」,10:「1Pダメージ1」,15:「1P勝ち」,16:「1P負け」,17:「1P完全勝利」,01:「2P通常1」,06:「2P喜び1」,10:「2Pダメージ1」,15:「2P勝ち」,16:「2P負け」
        • プレイ画面では基本的に01:「通常1」をループ
        • 「通常1」の最中にノートの判定が出ればループの最後まで行った後に判定に応じて分岐
        • 1Pは、ゲージMAXかつGREAT以上なら06:「1P喜び1」、ゲージMAX未満かつGREAT以上なら07:「1P喜び2」、GOODなら08:「1P喜び3」、BAD以下なら10:「1Pダメージ1」
        • 2Pは、GOOD以上なら10:「2Pダメージ1」、BAD以下なら08:「2P喜び1」
        • ノートの判定がほぼ常時されてる場合でも1回は01:「通常1」を挟む
        • 1Pと2Pでループの時間が異なる場合があるのでそれぞれ独立して動作
        • 曲終了後ゲージ残量に応じて、ゲージMAXクリア17:「1P完全勝利」,16:「2P負け」、クリア15:「1P勝ち」16:「2P負け」、クリア失敗15:「2P勝ち」16:「1P負け」で分岐
        • #Charface #Charface2P(キャラハリアイ) #Selectcg(キャラアイコン) #00(キャラ名前) #01(キャラ背景) はLR2のBGAの定義のようにスキン側から読めるようにして頂けると有り難いです。
    • 空BADの発生の有無に関わらず空押しは青色レーザー

その他

実装済

  • ユーザー指定によるスキンイメージのオフセット定義
  • 判定幅補正オプション-JUDGE WINDOW RATEの追加(EX JUDGEは廃止)
  • LR2ゲージの段位(コースのconstraintに"gauge_lr2"を指定することで可能)
  • 複数デバイスを跨いだキーアサイン(これに伴い、選曲時に使用したデバイス以外を無効化する仕様は廃止)