Skip to content

Ang107/MLTD_9th_Optimizer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

107 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MLTD 9th 周年イベント オプティマイザー

アイドルマスターミリオンライブ!シアターデイズの周年イベント(9th)向けのプレイ計画最適化ツールです。 あなたの環境・スケジュールに合わせた効率的なプレイ計画を算出します。

注意:本サイトはアイドルマスター ミリオンライブ! シアターデイズの非公式ファンサイトです。個人が運営しており、株式会社バンダイナムコエンターテインメントさまはじめ、その他関係者さまとは一切関係ありません。


機能

機能 説明
ポイント最大化 指定された稼働時間の中で獲得できる合計ポイントを最大化するプレイ計画を出力
稼働時間最小化 指定された目標ポイントに到達するために必要な稼働時間を最小化するプレイ計画を出力
途中からの利用 シミュレーション開始日時・現在の所持ポイント・所持トリガー、および開始日に既に済ませた行動(ログイントリガー・ミッショントリガー・ブースト・周年曲10x)を設定することで、イベント途中から最適化を開始
おすすめ楽曲スケジュール 全日程が確定している場合と未確定の場合の両方に対応(未確定時はモンテカルロシミュレーション)
設定の保存・復元 「設定を書き出し」/「設定を読み込み」による JSON 入出力および localStorage による自動保存
結果の共有 最適化結果の「共有」ボタンから、現在の設定を URL(#s=...)に埋め込んだ共有リンクを「リンクをコピー」/「Xで共有」で配布。リンクを開くと設定が自動で復元され、最適化も自動実行されて共有元と同じ結果が表示される

使い方

ビルドは不要です。index.html をブラウザで直接開くだけで動作します。

# リポジトリをクローン
git clone https://github.com/Ang107/MLTD_9th_Optimizer.git
cd MLTD_9th_Optimizer

# index.html をブラウザで開く(ダブルクリック or 以下のコマンド)
open index.html        # macOS
xdg-open index.html    # Linux
start index.html       # Windows

基本的な操作手順

  1. 「オプション」「おすすめ楽曲」「設定」欄の項目を編集する。
  2. 「▶ 最適化」ボタンを押して結果を確認する。
  3. 必要に応じて「設定を書き出し」で設定を保存しておく。
  4. 最適化結果に従ってイベントをプレイする。

詳細な操作方法は 使い方ページ (usage.html) を参照してください。


テスト

回帰テストは Node.js の標準ライブラリのみで実行できます。npm パッケージのインストールは不要です。

npm test

現在のテストでは、tests/action-replay-cases.json に定義した複数のシナリオについて、シミュレーション結果の行動ログを再生し、ポイント・トリガー・使用時間・各種回数の整合性を検証します。


前提条件

このオプティマイザーは以下の前提のもとで最適化を行います。

  • イベント期間:2026年6月30日(火)〜7月12日(日)の 13 日間
    • 前半戦:1〜6日目、後半戦:7〜13日目(後半から 3 倍お仕事・10 倍ライブ×2 が解放)
  • DX+ 課金済みであること(チケット上限 1800 枚を前提)
  • ライブスキップは使用しない
  • 各日に ブーストを 1 回 行う(シミュレーション開始日のみ、設定で使用済みとした場合は行わない)
  • リフレッシュ中にチケットを集める行動は行わない
  • レベルアップによるスタミナ回復・上限増加は考慮しない

詳細は 仕様詳細ページ (spec.html) を参照してください。


ファイル構成

├── index.html          # メインページ(オプティマイザー)
├── usage.html          # 使い方ページ
├── spec.html           # 仕様詳細ページ
├── privacy.html        # プライバシーポリシーページ
├── styles.css          # スタイルシート
├── config.js           # イベント仕様・デフォルト値の設定(カスタマイズはここ)
├── package.json        # テスト実行用 npm scripts
├── LICENSE             # ライセンス(MIT)
├── assets/             # 画像などの静的アセット
│   └── share-card.png  # 共有時のリンクカード画像
├── tests/
│   ├── action-replay.test.js       # シミュレーション結果の行動ログ整合性テスト
│   └── action-replay-cases.json    # 回帰テスト用シナリオ
└── js/
    ├── main.js         # 初期化・実行制御
    ├── simulator.js    # シミュレーション本体(DOM 非依存)
    ├── fields.js       # フィールド定義(ラベル・型)
    ├── form.js         # フォーム構築・フォーム ⇄ 内部状態
    ├── render.js       # 結果描画
    ├── validation.js   # 入力検証
    ├── storage.js      # localStorage 永続化・鮮度バッジ
    ├── io.js           # JSON エクスポート / インポート
    ├── share.js        # 設定の共有(共有URL生成・X共有・URLからの復元)
    ├── dom.js          # DOM 生成ユーティリティ
    ├── nav.js          # ページナビゲーション(メニュー開閉)
    ├── config-helpers.js    # 設定データを内部表現へ整形するヘルパ
    ├── analytics-consent.js # Google Analytics の同意管理
    ├── console-message.js   # 開発者コンソールへのメッセージ表示
    └── vendor/
        └── lz-string.js     # 共有URLの圧縮ライブラリ(外部)

免責事項

  • 本ツールの出力はシミュレーション上の結果であり、実際のプレイ結果を保証するものではありません。結果の採用はご自身の判断と責任のもとで行ってください。
  • シミュレーション上においても最適解を保証するものではありません
  • ゲーム仕様の変更があった場合、ツールへの反映が遅れることがあります。

参考

制作するにあたり参考にしたページです。


連絡先

修正依頼・不具合報告等は X(旧Twitter)@Ang_imas までお願いします。


ライセンス

本プロジェクトのコードは MIT License のもとで公開しています。変更を加えた際は、可能であれば変更内容を公開いただいたり、PR で共有いただけると嬉しいです。

Releases

No releases published

Packages

 
 
 

Contributors