Skip to content
8x8-pixelsPublic

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Latest commit

 

History

10 Commits

Folders and files

Repository files navigation

zzz-tools

ゼンレスゾーンゼロ(ZZZ)向けのツール群です。
ディスクデータの収集・エフェクト定義の作成・ダメージ最適化を行うツール群です。
現在は Tauri 製の統合アプリ native-app を追加しており、OCR / Effect Editor / Optimizer を1つのアプリで利用できます。 ダメ計周りはこちらを参照しています https://github.com/zzz-tools/cd-status-optimizer

zzz-tools/
├── native-app/         ← Tauri製の統合ネイティブアプリ(推奨)
├── zzz-disc-db/        ← OCRでゲーム画面からディスクをJSONに変換
├── zzz-effect-tool/    ← ダメージ計算に使う各要素のJSONを作成するGUIツール
└── zzz-optimizer/      ← ダメージ計算 & ディスク組み合わせの最適化

ツール概要

0. native-app(推奨)

native-app は以下の3機能を統合した Windows 向けネイティブアプリです。

  • Disc OCR(ディスクOCRキャプチャ)
  • Effect Editor(Effect JSON編集)
  • Optimizer(ディスク最適化)

技術スタック: Tauri v2 / Rust / Svelte / TypeScript

特徴:

  • 3ツールを1つのUIで切り替えて利用可能
  • Disc OCR の結果をアプリデータへ保存し、Optimizer から直接読み込み可能
  • Tesseract OCR は別途インストールし、アプリの設定UIでインストールフォルダを指定

前提(Disc OCR):

  • ゲーム内言語は英語推奨(OCR精度のため)
  • 監視対象モニタを Monitor Number で選択
  • できるだけフルスクリーン / ボーダーレス表示推奨

セットアップ(開発):

cd native-app
npm install
npm run tauri:dev

配布ビルド:

cd native-app
npm run tauri:build

Tesseract OCR について:

  • Tesseract は別途インストールが必要です(eng 言語データを含める)
  • アプリの Disc OCR > OCR SETTINGS でインストールディレクトリを指定してください

アプリデータ保存先(Windows):

  • %APPDATA%\\dev.zzz-tools\\discs

1. zzz-disc-db

ゲーム画面をリアルタイムでキャプチャし、OCR(Tesseract)でディスクのステータスを読み取り、JSON ファイルとして保存するツールです。

技術スタック: Python / OpenCV / pytesseract / mss

主な機能:

  • ゲーム画面を常時監視し、ディスク詳細パネルを自動検出
  • OCR でメインステ・サブステを認識してJSONに出力
  • zzz-optimizer の data/discs/ にそのまま配置可能なフォーマットで出力

セットアップ:

cd zzz-disc-db
pip install -r requirements.txt

ゲーム設定の言語を英語にしてから実行してください。 OCR は英語テキストを前提としています。

Tesseract OCR のインストールも別途必要です。
インストール時は Add to PATH にチェックを入れ、追加コンポーネントで English の言語データ(eng)が含まれていることを確認してください。

実行:

# リアルタイムモニタリング
python disc_capture_v2.py --monitor

# 出力先を指定する場合
python disc_capture_v2.py --monitor --out result_live

# 終了: Ctrl+C

出力ファイル:

result_live/
└── discs.json    ← zzz-optimizer の data/discs/ にコピーして使用

出力ファイル名は常に discs.json です。data/discs/ 内の既存ファイルと名前が被らなければ任意の名前にリネームして配置できます。
ファイル識別はファイル名ではなく JSON 内の name フィールドで行われます。


2. zzz-effect-tool

ダメージ計算で使用するキャラクター・音動機・ディスクセット効果の Effect 定義 JSON を Web UI で作成・編集・エクスポートするツールです。

技術スタック: Svelte / TypeScript / Vite

主な機能:

  • キャラクター / 音動機 / ディスクセットのバフ・デバフを GUI で編集
  • ON/OFF・稼働率(uptime)・対象(mainDps / team / enemy)を設定
  • 作成した Effect を JSON としてエクスポート
  • 既存 JSON のインポートと差分更新
  • 必須項目・値域・ID重複のバリデーション

セットアップ & 起動:

cd zzz-effect-tool/effect-json-builder
npm install
npm run dev

ブラウザで http://localhost:5173 を開きます。(ポートは適宜確認してください)

エクスポートについて:

Export はブラウザのダウンロードとして保存されます(ファイルシステムへの直接書き込みは不可)。
ダウンロードしたファイルを zzz-optimizer/data/ の対応ファイルに手動でコピーしてください。

エクスポート対象 コピー先
キャラクター zzz-optimizer/data/characters.json
音動機 zzz-optimizer/data/wengines.json
ディスクセット効果 zzz-optimizer/data/disc_sets.json
追加エフェクト zzz-optimizer/data/effect_library.json

新しいキャラ・音動機を追加するときの流れ:

  1. 既存の JSON を Import して読み込む
  2. GUI で追加・編集する
  3. Export(ダウンロード)する
  4. ダウンロードしたファイルを zzz-optimizer/data/ にコピーする

3. zzz-optimizer

所持ディスクの中から、選択したキャラクター・音動機・ディスクセット構成において 最大ダメージを出すディスク6枚の組み合わせ を自動で算出するツールです。

技術スタック: Svelte / TypeScript / Vite

主な機能:

  • キャラクター・音動機・ディスクセットを選択してダメージ計算
  • 全組み合わせを探索して最適なディスクセットを提示
  • data/discs/ に OCR 出力 JSON を置くだけで自動読み込み

セットアップ & 起動:

cd zzz-optimizer
npm install
npm run dev

ブラウザで http://localhost:5173 を開きます。(ポートは適宜確認してください)

ディスクファイルの追加:

data/discs/ に OCR JSON を置くだけで自動的に読み込まれます。コードの変更は不要です。

data/discs/
└── my_new_set.json   ← ここに追加するだけ

典型的なワークフロー

A. native-app を使う(推奨)

1. native-app を起動
2. Disc OCR タブで Tesseract のインストールフォルダを設定
3. OCR 開始 → ディスクを確認しながらキャプチャ
4. 「アプリデータへ保存」
5. Optimizer タブでアプリデータから読み込み → 最適化
6. 必要なら Effect Editor タブで JSON を編集 / Export

B. 従来の個別ツールを使う

1. zzz-disc-db
   ゲームを起動し disc_capture_v2.py を実行
   → ディスクを1枚ずつ確認しながら自動キャプチャ
   → result_live/discs.json が生成される
   → 必要に応じてリネームし、zzz-optimizer/data/discs/ にコピー
     (ファイル名の重複がなければOK。ディスク識別はJSON内のnameフィールドで行われる)

2. zzz-effect-tool(必要に応じて)
   新キャラ・新音動機追加時:
   既存 JSON を Import → GUI で編集 → Export(ダウンロード)
   → ダウンロードしたファイルを zzz-optimizer/data/ にコピー

3. zzz-optimizer
   キャラ / 音動機 / ディスクセット構成を選択
   → 最適なディスク6枚の組み合わせを確認

お問い合わせ

質問などは X(Twitter)までお気軽にどうぞ。
@we4ves_g4mes

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages