04
Chapter 04

マッチとリプレイ

過去の試合を振り返るための 2 つのページ — /matches(リプレイ + 録画動画のペア)と /replays(リプレイ単体)の使い方をまとめます。

💡
マッチとリプレイの違い

リプレイは Fortnite 自体が出力する .replay ファイル単体。マッチは、リプレイと OBS の録画動画(.mp4)を時刻でペアリングした「論理的な試合単位」です。動画が無い試合はリプレイのみのマッチとして扱われます。

1マッチ一覧

サイドバーの「マッチ」または /matches を開くと、リプレイと動画のペアカードが新しい順に並びます。各カードには 2 つのバッジが付き、何が揃っているか一目で分かります。

/matches 一覧画面
図 4.1 — マッチライブラリ。Replay / Video バッジで状態を表示
状態Replay バッジVideo バッジ意味
Replay のみ Replay Video OBS 録画なし、または動画とのペアリング失敗
両方あり Replay Video 動画トリミング機能(05 章)が使える
Video のみ Replay Video リプレイファイルが見つからない(削除された等)
💡
再スキャン

右上の「再スキャン」ボタンで、demos_dirobs_recording_dir を再走査し、ペアリングを再計算します。新しいリプレイ・動画が増えたら押してください。

2マッチ詳細

カードをクリックすると /matches/:id に遷移し、その試合の詳細が表示されます。「試合情報」「📼 リプレイ」「🎬 録画動画」の 3 セクション構成です。

/matches/:id 詳細画面
図 4.2 — マッチ詳細。リプレイと動画の両方への導線を持つ
  • 試合情報: 開始時刻 / 試合長 / 人間プレイヤー数 / Bot 数。人間/Bot 数は replay_parser の JSON を後読みするため、開いてから 1〜2 秒遅れて埋まります
  • 📼 リプレイ: .replay のフルパスと「HTML レポートを開く」ボタン。クリックでリプレイ詳細(§4)に遷移します
  • 🎬 録画動画: 動画のサムネイルと「動画ページで開く」ボタン。クリックで /videos に遷移します(動画がペアリングされている場合のみ表示)

3リプレイ一覧

/replaysdemos_dir 配下の .replay ファイルを直接一覧する画面です。マッチ一覧(§1)が「論理的な試合単位」だったのに対し、こちらは「ファイル単位」の素直なリストです。

/replays 一覧画面
図 4.3 — リプレイファイル一覧

4リプレイ詳細

リプレイ行をクリックすると /replays/:id に遷移し、Scriban テンプレートで生成されたマッチ結果テキストが表示されます。

/replays/:id 詳細画面(マッチ結果テキスト)
図 4.4 — リプレイ詳細。プレーンテキストで試合結果を表示
💡
表示の仕組み

表示されるテキストは replay_parser(.NET)が .replay をパースし、Scriban テンプレートでレンダリングした結果です。改行や空白が保持されるよう <pre> でラップして表示しています。プレイヤー切り替えのドロップダウンで、自分以外のプレイヤー視点の情報も確認できます。

⚠️
初回は数秒かかります

同じリプレイの初回オープン時は replay_parser による解析で数秒かかりますが、結果は suite_core 側にキャッシュされ、2 回目以降は即座に表示されます。

5移動軌跡マップ

リプレイ詳細から「Map を見る」ボタンをクリックすると /replays/:id/map に遷移し、選択中プレイヤーの試合中の移動軌跡がマップ画像上にレンダリングされます。

/replays/:id/map 移動軌跡マップ
図 4.5 — 移動軌跡マップ。Z 軸(高度)はグラデーションで表現
  • 背景画像は map_api サービスが起動時に最新マップを自動取得・合成(map_tool/combined_map.webp
  • 軌跡は Z 軸(高度)に応じてグラデーション着色され、画面右下に凡例が表示される
  • 「画像保存」リンクから PNG をダウンロード可能
💡
マップが古くなったら

シーズン更新等でマップ画像を再取得したい場合は POST /api/map/update を叩くか、map_api を再起動してください(起動時に map_tool/download_and_combine.js が走り最新マップを取得します)。

Tweaks
テーマ
Void
Fortniteブルー · モダン
Terminal
グリーン · モノスペース
Copper
ウォームオレンジ · エディトリアル
モード