GDQ HOTFIX参加時の手続き・配信設定(tech checkなど)

注意(18歳未満の場合)

GDQ系のイベント(AGDQ・SGDQに加えて、HOTFIXも)は、走者・解説者・ボランティアどの役割であっても、18歳未満は参加できないようです。ただし、これは私が見聞きした範囲での情報ですので、正式なルールについては各イベントのドキュメントや担当の方に確認ください。

はじめに

世界最大のspeedrun(RTA)イベントとして、北米の人が中心でAGDQ・SGDQがありますが、それらが配信されるTwitchチャンネルでは、イベント期間外は毎日GDQ HOTFIXという番組が配信されています。GDQ HOTFIXでは、日替わりで何らかの企画に沿ってspeedrunの様子が配信されているようです。

https://gamesdonequick.com/hotfix

今回、GDQ HOTFIXのとある回に参加の招待を受け、走者として参加することになりました。僕が参加する回はオンラインイベントになります(HOTFIXで配信される番組は、ほとんどがオンラインのようです)。ここでは、参加の手続きや配信の設定(特に事前に要求される"tech check"について)をメモしていきます。


(参考)
GDQ HOTFIX参加にあたっての一連の流れや感想は、カスタムロボシリーズのspeedrun走者であるぼんぼんさんによるレポートがたいへん参考になります。
note.com

また、HOTFIXではありませんがGDQのイベントであるAGDQへの応募から採用、当日の走りまでについては、セーラームーンシリーズのspeedrun走者であるのりしげさんの感想記事がたいへん参考になります。
norishige710speedrun.hatenablog.com


GDQのユーザー登録

まず、GDQのトップページからユーザー登録をします。トップページ右上の"Register"からです。自分で設定した"Display Name"を覚えておきます。

https://gamesdonequick.com/

HOTFIXへの登録

私の場合は、走るゲームのコミュニティー内でHOTFIXスタッフとの窓口担当の参加者がいたので、その人から"GDQ Hotfix Run Confirmation Form"という登録ページのURLをもらいました。
"GDQ username"の欄に何を入れてよいかいまいちわからなかったのですが、↑のユーザー登録で決めた"Display Name"を入れました。
"Check this box if you consent for us to use your social media in promotional materials"は、それより前で入力したTwitterなどの各種SNSの情報をHOTFIX側が使ってもよいよ(主にHOTFIXのTwitterで走者を紹介する際に「@走者アカウント」をつけてツイートするのに使われるよ)!ということに同意するか否かのチェックボックスです。私はチェックを入れました。
その他わからないところは、HOTFIXスタッフとの窓口担当の参加者に尋ねました。

HOTFIXへの登録が終わると、しばらくして"Hotfix Shows"というDiscordサーバーに招待されました。サーバーに参加すると、参加イベントに対応するテキストチャンネルと、"tech-checks"というテキストチャンネル、そして各種ボイスチャンネルへの参加権限がすでに与えられていました。

tech check

HOTFIXにオンラインで走者・解説者として参加する人は、イベント(あるいは自分の出番?)の24時間以上前までに、必要な配信設定をし、かつ、配信設定が終わった後でHOTFIXスタッフによる映像・音声のチェックを受けなければなりません。
Discordで"tech-checks"テキストチャンネルを見ると、半日に1回、BOTがお知らせをしています。その中で重要なメッセージとしては、上記の配信設定・チェックの締め切りと、困ったときは"@rae"ないし"@richard"(担当者のアカウント名だと思われます)をつけてメッセージを送ること(GDQTechのアカウントには@をつけてメッセージしないこと)があります。

配信設定

ピン留めされたメッセージを見ます。すると、"Runner Setup Guide: "および"Commentary Setup Guide: "の下にURLがあるので、自分に関連するほうのガイドを見ます。ただし、自分が走者と解説を兼ねる場合は、走者向けの配信設定だけをすればよいようです(解説者向けのガイドに"Note: if you are also a runner, you can jusk keep your runner setup for commentary"という記載があります)。

配信形式としては、走者や解説者がOBSで直接GDQのTwitchチャンネルに配信するのではなく、走者・解説者ともHOTFIXのスタッフが管理している何らかの場所にOBSで配信をし、HOTFIXのスタッフが走者のゲーム画面・webカメラ映像などをクロップ、ゲーム音声や走者・解説者のマイクをミックスして、GDQのチャンネルに流すというやり方のようです。また、走者と解説者が同じ場所にいない場合は、必須ではないものの、走者はゲームプレイの様子を解説者に低遅延で届けるために、OBSでの配信に加えてDiscordにも配信することを強く推奨されています(Discordにも配信できない場合はスタッフがほかの方法を提案するようなことが書かれていますが、それだとよけいに面倒なことになりそうなので、素直にDiscordに配信するのがよいと思います)。

走者用設定

"Commentary Setup Guide: "の下のURLを開き、そこに書かれた指示に従って設定をしていきます。
指示をかいつまんで説明すると、まず、GDQ専用にカスタマイズされたOBSをダウンロードします(Windowsの場合)。ただし、ダウンロードできるのはWinodws版のOBSのようなので、MacLinuxを使っている場合は、tech checkの担当者に連絡して別途指示を仰ぐことになると思います。
以下、設定時に特に気をつけなければいけないと私が感じるところをピックアップします(これ以外にも設定すべきことはあるので、ドキュメントをよく読んでください)。

  • OBSの「設定」→「配信」→「サーバー」で、自分が配信を行う場所に近いサーバー(日本から配信する場合:"Asia: Japan, Tokyo")を選びます
  • OBSの「設定」→「映像」で、「基本 (キャンバス) 解像度」「出力 (スケーリング) 解像度」に"1920x1080"、「FPS共通値」に"60"を選びます。ただし、走者のPCが非力で配信に支障がでる場合は「出力 (スケーリング) 解像度」を下げてもよいとのことです。それでもダメな場合は、「FPS共通値」も下げてもよいとのことです。
  • OBSの「設定」→「出力」で、「ビットレート」に"6000 Kbps"を選びます。ただし、ネット回線が遅い場合は、これより小さい値にしてもよいとのことです。また、「エンコーダー」で、可能ならば"Hardware"("NVENC"や"QuickSync")を選びます。
  • OBSの「シーン」で"Game Cropping"を選択し、取り込むゲームの縦横比に対応する色ソースを見える化し、その色ソースの上にちょうど重なるようにゲーム画面を取り込んでサイズ調整します
  • webカメラも使う場合は、OBSの「シーン」で"Webcam Cropping"を選択し、webカメラの縦横比ではなく)取り込むゲームの縦横比に対応する色ソース見える化し、その色ソースの上にちょうど重なるようにゲーム画面を取り込んでサイズ調整します
  • ゲーム音声をステレオの右チャンネルのみ、マイク音声をステレオの左チャンネルのみから出力するよう、OBSでフィルターをかけます(VoiceMeeter Bananaなどの外部ツールで左右の振り分けが出来る場合は、そちらで行ってもよいとのことです)。また、Discordやデスクトップの音など、ほかの音をOBSに取り込まないようにします。音声を左右に振り分ける方法は以下です("Audio Splitting Guide"のところに貼られているURLも見て、参考にしてください)。

□ ゲーム音
ソースの"Game Audio"でゲーム音を取り込める場合(PCゲーの場合?)は、「音声ミキサー」の"Game Audio"を右クリック→「プロパティ」→「ウィンドウ」で配信するゲームを選択("Game Audio"のフィルター設定で、すでに右からのみ出力されるように設定済み)
"Game Audio"でゲーム音を取り込めない場合(CSゲーなどキャプボで取り込む?)は、キャプボをソースに追加し、「音声ミキサー」のキャプボ音声を右クリック→「フィルター」→フィルター一覧の欄を右クリック→「追加」→「Stereo Pan」→"Pan (Left)"・"Pan (Right)"の両方のバーをいちばん右(プラスの"100.00")に設定
□ マイク
マイクがすでにソースにある場合は、特に設定する必要はないようです(「マイク」のフィルター設定で、すでに左からのみ出力されるように設定済み)。
マイクがソースにない場合は、マイクをソースに追加し、「音声ミキサー」のキャプボ音声を右クリック→「フィルター」→フィルター一覧の欄を右クリック→「追加」→「Stereo Pan」→"Pan (Left)"・"Pan (Right)"の両方のバーをいちばん左("-100.00")に設定

※ "pan"(「低位」)とは、2チャンネルステレオの場合は左右のどこから音を出すかという意味のようです。プラスの"100.00"が最も右から、"-100.00"が最も左から音を出すということのようです。
https://www.g200kg.com/jp/docs/dic/pan.html

  • "Video Scene - all of these not overlapping - UTC Timer - Browser Source from"のところに書かれたURLを開き、"Offset"の値(サーバーと走者のPCの時刻のズレの値)を見ます。私の考えとしては、この値が3,000~4,000ms以上(=3~4秒以上)であれば、走者のPCの時刻を修正するのがよいと思います。

そして、取り込むゲームの縦横比に対応する"X:Y Main Game Stream"シーンを選択し、映像・音声を確認します。

OBSの設定が終わったら、次のtech checkスタッフによる確認を受けたり、本番直前に運営とやりとりしたり、本番で走者とやりとりするために、Discordにもゲーム映像・マイク音声を流す設定をします。ゲーム音声もあったほうがよいと思います。なお、Discordに流す音声は、ゲーム音とマイク音とで左右に分けても分けなくてもどちらでもよいようです。

私の場合、CSゲー(Switch)をキャプボでキャプチャーして配信する形式なので、以下のように設定しました。
■ OBS設定

  • キャプボ(映像・音声)を"Game Cropping"シーンのソースに追加、映像の大きさを調整、フィルターで音声をチャンネルのみから出力に設定
  • webカメラ(映像・音声)を"Webcam Cropping"シーンのソースに追加、映像の大きさを調整、音声はOFFに設定
  • マイク(音声)は"Game Cropping"シーンで最初からソースにあった(はず)ので、フィルターを見て音声がすでにチャンネルのみから出力されていることを確認

そして、"16:9 Main Game Stream"シーンを選択し、映像・音声を確認

■ Discord側

  • OBSの"仮想カメラ開始"(映像)を押し、Discordの"カメラ"に"OBS Virtual Camera"を設定
  • キャプボ(音声)をVoiceMeeter Bananaの"HARDWARE INPUT 1"、とマイク(音声)を"HARDWARE INPUT 2"に指定し、それぞれ出力先に"B1"を設定(つまり、両音声をミックス)、Discordの"入力デバイス"に"VoiceMeeter Output"(="B1"のこと)を設定

※ PCゲーの映像・音声をDiscordにも流す場合は、もう少し簡単な方法が選べるようです。特にVoiceMeeter Bananaなどを使ってゲーム音声とマイク音声をミックスする必要がないのは楽そうですね。
https://vip-jikkyo.net/go-live-on-discord

なお、音量調整は行いませんでしたが(元の音量から+-0dBに設定)、後述のtech checkでは何も指摘されませんでした。

解説者用設定

"Commentary Setup Guide: "の下のURLを開き、そこに書かれた指示に従って設定をしていきます。
指示をかいつまんで説明すると、まず、走者用設定と同様に、GDQ専用にカスタマイズされたOBSをダウンロードします(Windowsの場合)。ただし、ダウンロードできるのはWinodws版のOBSのようなので、MacLinuxを使っている場合は、tech checkの担当者に連絡して別途指示を仰ぐことになると思います。
以下、設定時に特に気をつけなければいけないと私が感じるところをピックアップします(これ以外にも設定すべきことはあるので、ドキュメントをよく読んでください)。

  • 「設定」→「配信」→「サーバー」で、自分が配信を行う場所に近いサーバー(日本から配信する場合:"Asia: Japan, Tokyo")を選びます
  • 「シーン」で"Commentary Stream"を選択し、そこに表示された指示に従います。指示の中に、"5: Audio Mixer - Right Click on Mic/Aux and goto ""Filters", de-select the filter in there"とありますが、いちばん最後にある"a. OBS Audio Setup"のところの記載とあわせて考えると、マイク音声をステレオの左からのみ出力するのは走者だけで、解説のマイク音声はそうしないようです。
  • "Video Scene - UTC Timer - Browser Source from"のところに書かれたURLを開き、"Offset"の値(サーバーと解説者のPCの時刻のズレの値)を見ます。私の考えとしては、この値が3,000~4,000ms以上(=3~4秒以上)であれば、解説者のPCの時刻を修正するのがよいと思います。

OBSの設定が終わったら、次のtech checkスタッフによる確認を受けたり、本番直前に運営とやりとりしたり、本番で走者とやりとりするために、Discordにもマイク音声を流す設定をします。

なお、配信設定でわからないことがあれば、"tech-checks"テキストチャンネルで"@rae"ないし"@richard"に尋ねれば教えてくれるようです。また、私でよければTwitterでリプライやDMをいただければわかる範囲で回答します。

スタッフによる確認

配信設定が無事に終わったら、ピン留めされたメッセージの"Tech Check Appointment Calendar"の下にあるURLを押します。すると、Googleカレンダーが表示されますが、日本時間で毎日23~2時・5~15時を中心に"Tech Check: Rae"や"Tech Check: Richard"というボタンがあるので、その中から自分の都合のよい日時を押します(Google Calendarの表示は自動的に日本時間に変換されているので、日本時間で考えてください)。なお、イベント(あるいは自分の出番?)の24時間以上前までの日程を選ぶことを忘れないでください。すると、「予約する」というダイアログが出てくるので、「説明」欄に自分のDiscordの表示名を記入したうえで、「保存」をクリックしてください。なお、都合のよい時間がない場合は、"tech-checks"テキストチャンネルで"@rae"ないし"@richard"に希望日時を伝えて交渉することになります。
また、あらかじめ誰からでもDiscordのDMを受け付ける設定にしておく必要があります

予約した日時になったら、"Tech Check"ボイスチャンネルに入ります。チェック担当者も同時刻にボイスチャンネルに入るはずなので、その人の指示に従いながら確認作業をしていきます。
具体的にはまず、チェック担当者からDiscordのDMでストリームキーが届きます。
ストリームキーをOBSに入れ、配信開始をします。チェック担当者には配信されている映像・音声が見えているようで、特に問題がなければOKを、何か問題があれば指摘を受けるはずです。私の場合は、特に問題はないようでしたが、試しに2~3分ほどゲームをプレイするように求められました。
次に、解説の人が見聞きする用にDiscordにゲーム画面・ゲーム音声・走者マイク音声が送られているか、チェックが行われます。

私は"Raelcun (They/Them)"さん(おそらく、"@rae"でメッセージが届く人と同日人物と思われます)さんにtech checkを受けたのですが、ゆっくりで明瞭な英語をしゃべってもらったので、なんとなくやりとりができました(と自分では思っています)。なお、英語での会話が難しい場合は、"tech-checks"テキストチャンネルで文字にてやりとりをしてくれるようです。

本番

前日にHOTFIXスタッフから「自分の出番の30分前になったらDiscordにログインして連絡がとれる状態にしておいてください」と連絡がありました。
言われたとおり、本番当日30分前にDiscordを立ち上げ待機していたら、少しして、「OBSで配信を開始し、また、"Green Room"ボイスチャンネルに入ってください」と指示がきました。と同時に、tech check担当者からDiscordのDMにストリームキーが届きました。このキーは、tech checkのときのキーとは違うものです。また、1つのイベント内で(走者に加えてほかの人の解説を担当するなどで)複数回配信するときは、1回目と同じキーを2回目以降も使うことになります。さて、指示を受けて、OBSにキーを設定し配信開始するとともに、Discordにもゲーム映像・マイク音声、加えてゲーム音声も配信開始しました。
前の走者の出番が終わり、5分間のセットアップタイム(この間、Twitch配信には、GDQからのお知らせが流れています)の間に、"LIVE (Do not enter)"というボイスチャンネルに自動的に飛ばされました。記憶があいまいなのですが、もしかしたらチャンネル移動に伴ってDiscordのゲーム映像の配信が切れるかもしれないので、念のため、ゲーム映像の配信が続いているか確認するとよいです。セットアップ中はスタッフから、「あなたの名前はなんて発音すればいい?」「タイマースタートのカウントダウンは誰がする?」(GDQからのお知らせからゲーム画面へと切り替わるほうのカウントダウンはスタッフが行います)などの質問を受けました。
タイムラグに関してですが、自分のプレイと解説のしゃべりの間は、Discordでやりとりしているので、ほぼラグがありません。自分のプレイとそれが実際にGDQのTwitchチャンネルで放送されるまでのラグは、10~20秒くらいあったと思います。

その他

時差について、HOTFIXは米国東部標準時(EST)を基準にしているようです。ただし、上記のGoogle Calendarを使ったtech checkの予約のように、日本標準時JST)に自動変換されている場面もあるので、気をつけてください。また、私がHOTFIXに関わった時期はサマータイム期間中ではなかったので、サマータイム期間中はどのような扱いになるかはわかりません。