格闘ゲーム大会配信を自動化!TournamentStreamHelper でプロ品質のスコアボードを実現

タグ TournamentStreamHelper格闘ゲーム大会OBS連携start.ggスコアボード配信自動化PythonオーバーレイcolumnコラムlinuxLinuxwindowsWindowsGitHubオープンソースjoaorb64
🚀 今すぐ試せます! デモスクリプトをダウンロードして、解凍後にターミナルで bash ファイル名.sh を実行してください(中身を一度確認してから実行すると安心です)。 (macOS / Linux 環境が必要)

格闘ゲーム大会配信を自動化!TournamentStreamHelper でプロ品質のスコアボードを実現

ひとことでいうと

TournamentStreamHelper(TSH)は、格闘ゲームの大会配信をぐっと楽にしてくれる、無料で使えるツールです。大会の対戦情報やプレイヤーの名前・スコアを、start.gg(格闘ゲーム大会を管理するWebサービス)から自動で取得して、配信画面にリアルタイムで反映できます。Windows・Linux・macOS のいずれでも動き、個人配信者から本格的なイベント制作チームまで幅広く活用されています。手作業でテキストを書き換える必要がなくなるので、配信スタッフは試合の進行に集中できます。

こんな人におすすめ

大会主催者・配信スタッフ

start.gg でトーナメント(対戦表)を管理しているなら、TSH と連携するだけで対戦カード・プレイヤー名・スコアが配信画面に自動表示されます。大会中に手作業で情報を更新する手間が大幅に減り、入力ミスも防ぎやすくなります。

個人ゲームストリーマー

「プロっぽい見た目の配信画面を作りたいけれど、毎回テキストファイルを手で直すのは面倒」という方にぴったりです。スコアボードの更新がワンクリックで完結するので、ゲームの実況・解説により集中できます。

イベント制作チーム

キャラクターのアイコン・国籍フラグ・SNS アカウントなど、複数の情報を一括で管理・表示したいプロダクションチームにも対応しています。視聴者が見やすい統一されたビジュアルを、少ない手間で実現できます。

インストール・使い方

動作環境

項目内容
OSWindows / Linux / macOS
Python3.x 系(3.12 での動作を確認済み)
主な依存ライブラリPyQt5・loguru・requests など

Step 1: リポジトリをクローンする

ターミナル(文字で命令を送る画面。Windowsならコマンドプロンプト、Macならターミナルアプリ)を開き、以下のコマンドを入力してください。コピー&ペーストで大丈夫です。

git clone https://github.com/joaorb64/TournamentStreamHelper.git
cd TournamentStreamHelper

git clone は、インターネット上にあるソースコード(プログラムの設計図)を自分のパソコンにコピーするコマンドです。cd はフォルダを移動する命令で、クローンしたフォルダの中に入ります。

Step 2: 必要なパッケージをインストールする

pip install -r dependencies/requirements.txt

pip(Python 用のパッケージ管理ツール)を使って、TSH が必要とするライブラリ(機能の部品集)を一括でインストールします。loguru・PyQt5・requests など複数のパッケージが自動で揃うので、一つひとつ手作業でインストールする必要はありません。

Step 3: アプリを起動する

Windows の場合、ダウンロードしたフォルダにある実行ファイルをダブルクリックするか、ターミナルで以下を実行します。

TSH.exe

バッチファイル(複数のコマンドをまとめて実行できるファイル)から起動する場合はこちらを使います。

TSH_bat.bat

Linux・macOS の場合 はシェルスクリプト(命令をまとめたテキストファイル)で起動します。

bash TSH.sh

初回起動時の詳しい設定手順は 公式 Wiki にまとめられています。困ったときはまず Wiki を確認してみましょう。

動かしてみた

実際にリポジトリの中身を確認したところ、Python 3.12 での動作が確認でき、ソースコードの構成がとても整理されていることがわかりました。機能ごとにファイルがきれいに分かれており、どこに何があるか把握しやすい構造です。

主要なファイル群は src/ フォルダにまとめられています。

src/TournamentStreamHelper.py      # アプリ全体の司令塔
src/TSHScoreboardWidget.py         # スコアボードの表示を担当
src/TSHPlayerList.py               # プレイヤー一覧の管理
src/TSHCommentaryWidget.py         # 実況者・解説者の情報表示
src/TSHWebServerActions.py         # Web連携・API処理
src/TSHAssetDownloader.py          # キャラクター画像の自動取得
src/TSHScoreboardStageWidget.py    # ステージ情報の表示

依存パッケージが dependencies/requirements.txt に一覧でまとめられているため、環境を作る手順が明確です。また stage_strike_app/ フォルダには package.json があり、ステージストライク(試合前にステージを絞り込む操作)専用のサブアプリが同梱されていることも確認できました。Node.js ベースのこのサブアプリにより、格闘ゲーム特有のルール処理もしっかりカバーされています。

デモについて

TSH はデスクトップ上で動く GUI アプリケーション(ウィンドウや画面を持つアプリ)で、OBS などの配信ソフトと連携して使う設計になっています。そのため、ブラウザだけで試せるオンラインデモの提供は難しい構成です。実際に動かすには、ローカル環境(自分のパソコン上)に Python と必要なパッケージをインストールしてください。Windows ユーザー向けには、Python の知識がなくてもすぐ使える TSH.exe(ビルド済みの実行ファイル)も配布されているので、まずはそちらから試すのがおすすめです。

実践のコツ・はじめの一歩

セットアップが終わったら、次のステップで少しずつ試してみましょう。最初から全機能を使おうとせず、小さく始めるのが成功のコツです。

  • start.gg と連携してみる: TSH の設定画面に start.gg のトーナメント URL を貼り付けると、出場者情報やブラケット(対戦表)が自動で読み込まれます。最初はテスト用の小さなトーナメントで動作を確かめるのがおすすめです。
  • OBS にスコアボードを追加する: TSH が出力する HTML ファイルを OBS の「ブラウザソース」として追加すると、スコアボードがリアルタイムで更新されます。ウィンドウサイズや透過設定を調整して、配信レイアウトにうまく組み込んでみましょう。
  • プレイヤー情報を事前に確認する: キャラクターアイコン・Twitter(X)アカウント・国籍フラグは自動取得を試みますが、手動で補完することもできます。本番大会の前に必ず一通り確認しておくと安心です。
  • 公式 Wiki を手元に開いておく: 設定項目が多いので、初回は Wiki を見ながら進めると迷いにくくなります。コミュニティのフォーラムや GitHub 上のイシュー(報告・質問の掲示板)も参考になります。

活用例

  • オフライン大会の会場配信: 会場の大型モニターや配信画面に、次の対戦カードや現在のスコアを自動表示できます。手作業でのミスが減り、スタッフの負担も大幅に軽くなります。
  • オンライン大会の効率化: リモート参加者の情報を start.gg から自動取得することで、スタッフの手動作業を減らしながら情報の正確さを保てます。
  • 小規模コミュニティ大会のプロ化: 少人数で運営する草の根大会でも、大型イベントのようなきれいなビジュアルを低コストで実現できます。仲間内の大会をより楽しく盛り上げるのに最適です。
  • マルチゲーム運営への対応: ゲームのキャラクターアセット(画像やアイコン)を追加することで、複数タイトルをまたいだ大会でも TSH を使い回せます。
  • 実況・解説チームのサポート: 実況者・解説者の情報を表示できるウィジェット(画面パーツ)が用意されているので、出演者紹介の画面作りにも役立てられます。
  • 大会の記録・アーカイブ活用: 試合結果が自動でまとめられるため、大会後のまとめ動画や記録資料の作成にも活用できます。

用語とポイント解説

TournamentStreamHelper(TSH) 格闘ゲームの大会配信を補助するオープンソースのデスクトップアプリです。かんたんに言うと「大会情報を自動で画面に出してくれるツール」です。Python と PyQt5 をベースに作られており、主要な OS すべてで動作します。無料で利用でき、ソースコードも公開されています。

start.gg 格闘ゲームの大会登録・管理・配信に使われるWebプラットフォームです。かんたんに言うと「格闘ゲーム大会の総合管理サービス」です。旧称は smash.gg で、スマッシュブラザーズをはじめ多くの格闘ゲームコミュニティで広く使われています。TSH はこのサービスと直接連携できます。

OBS(Open Broadcaster Software) 無料で使える配信・録画ソフトです。かんたんに言うと「ゲーム映像や画面をそのまま YouTube・Twitch などに流すためのアプリ」です。TSH との連携では、スコアボードの HTML ファイルを「ブラウザソース」として読み込むことでリアルタイム更新が実現します。

オーバーレイ 配信映像の上に重ねて表示する情報グラフィックのことです。かんたんに言うと「ゲーム画面に半透明で重なるスコアや選手名の表示」のことです。TSH はこのオーバーレイを自動で更新する仕組みを提供しています。

PyQt5 Python でウィンドウ付きのアプリ(GUI アプリ)を作るためのフレームワーク(部品セット)です。かんたんに言うと「ボタンや入力欄などが並んだ画面を Python で作れるようにする仕組み」です。TSH の操作画面全体がこの PyQt5 で構築されています。

ブラケット トーナメントの対戦表・組み合わせのことです。かんたんに言うと「誰と誰が戦うかを示す図表」のことです。start.gg からブラケット情報を取得することで、次の試合の対戦相手を自動で配信画面に表示できます。

ステージストライク 格闘ゲームの試合前に、対戦するステージ(マップ・ステージ選択肢)を選手が交互に除外していく手続きのことです。かんたんに言うと「お互いに嫌いなステージを消していき、最後に残ったステージで戦うルール」です。TSH には専用のサブアプリが同梱されており、この手続きをデジタルで管理できます。

loguru Python 向けのログ出力ライブラリです。かんたんに言うと「アプリが今何をしているかを記録・表示するための部品」です。TSH の動作状況を見やすくターミナルやファイルに記録するために使われており、問題が起きたときの確認にも役立ちます。

Node.js JavaScript(Webページでよく使われるプログラミング言語)をパソコン上のアプリとして動かすための実行環境です。かんたんに言うと「ブラウザの外でも JavaScript を動かせる仕組み」です。TSH に同梱されているステージストライク用サブアプリはこの Node.js をベースに作られています。

オープンソース ソースコード(プログラムの設計図)が公開されており、誰でも自由に使ったり改造したりできるソフトウェアのことです。かんたんに言うと「中身が見えて、無料で使えて、自分でカスタマイズもできるソフト」です。TSH も GitHub(ソースコードの公開・管理サービス)上でソースコードが公開されています。

ぜひ格闘ゲームの大会配信や、コミュニティイベントの運営効率化などに活用してみてはいかがでしょうか。