Long Speedrun Summit 2023 の技術的なお話

RTAイベント

この記事はRTAGamers Advent Calendar 2023の21日目の記事です。

はじめに

どうも。長時間RTAのイベントLong Speedrun Summit(以下LSS)運営のひとりping値と申します。この記事では、今年の9月に開催した『Long Speedrun Summit 2023』(以下LSS2023)の舞台裏で使っていた技術について、筆者が関わっていたやつを簡単に紹介します。

ポータブルOBSの配布

LSSの配信形式は基本的にTwitchのLSSチャンネルのストリームキーを走者に配布しそのストリームキーを使って配信していただくというもの。AGDQ2023に参加したLSS運営らちゅ氏(なおLSS主催Naka氏も参加した。うひょ~)から、GDQで走者へ展開されていたポータブルOBSをLSSでも利用してはどうかという提案があった。

ある程度設定を済ませたOBSを走者へ配布することによってLSS用の設定が簡単になる上、走者のストリームキー取り違えによる誤配信の防止と、運営が前もって映像と音量のチェックを済ませることによるボランティアの配信チェック業務の削減を見込んで導入。設定は主にらちゅ氏と筆者が行った。ポータブルOBSは不思議のダンジョンRTAフェスでも用いられていたので、それも参考にさせていただいた。

走者には配信テストをなるべく本番と近い環境でしていただき、運営はその配信録画をチェックしていった。OBSのブラウザソースでURLhttps://player.twitch.tv/?enableExtensions=true&muted=false&parent=twitch.tv&player=popout&quality=chunked&video=(TwitchダイジェストURLの数字部分)&volume=1.00を開いて視聴し、音量メーターの動きや音声モニタリングで聞こえる音声を元に音量調整や音声フィルタの修正依頼を行った。シークやビデオデータの閲覧は、ブラウザソースの対話画面から行える。

Twitchダイジェストを開いたOBSブラウザソースの対話画面

設定共有・誤配信防止・ボランティアの配信チェック業務の削減という当初の狙いはうまくいったのだが……運営からのポータブルOBSとマニュアルの展開がイベント開催の1週間前と遅かったため、走者解説の方々にバタバタさせてしまったのが反省点。テスト配信の録画チェックも短期間で量を捌く必要がありとても大変だった。次回はもっと早くに走者へ展開しましょう😭

待機画面の仕込み

配信の終わり1分程度のTwitchの配信録画に残らない現象(LSS2022で一度あった)への対策として、LSS2023ではゲーム終了後、待機画面に切り替えて1分経過してから配信終了するようにしていた。

この「待機画面に切り替えて1分経過してから配信終了」の流れをポータブルOBS上で自動化するために、OBSプラグインAdvanced scene switcher(以下advss)をポータブルOBSに同梱し、「##配信終了画面##シーンに切り替えて60秒経過」すると「配信を終了かつ録画を終了」するマクロを仕込んでいだ。これはLSS独自の施策かな。

On startup of OBSをAlways start the scene switcherに設定し、advssを自動スタート

配信終了マクロ

シーン切り替えのクールなトランジション動画はLSS運営-m氏謹製。なお、シーンコレクションの設定ファイル(config/obs-studio/basic/scenes/*.json)にはソースやトランジション動画のパスは絶対パスとして保存されているので、素材を同梱してポータブルOBSとして配布する場合は設定ファイルの絶対パスを相対パスに手動で書き換えておく必要がある点に注意だ。

[LSS23] ゼルダの伝説 ブレスオブザワイルド (Part 1/2)

(待機画面へのトランジションの様子)

反省点はトランジション動画が複雑で再生負荷が高かったため配信上の表示が少々ガビガビになったことと、一部の走者の環境では再生がスローになっていたこと。advssは非常に多機能なプラグインなので、他にも面白いことが色々できるかもしれないね。

ところでLSS2023イベント紹介記事のアイキャッチ画像は、実は公開前のトランジション動画からの切り出し。気付いてくれた人はいたかな?

【イベント紹介】Long Speedrun Summit 2023
2023/09/11: 情報を更新しました。 Long Speedrun Summit 2023 とは 『Long Speedrun Summit』(以下LSS)は、他のRTAイベントで採用数が少ない「長時間RTA」をテーマにしたオンラ...

Fossabot

2022年の夏にRTA in JapnJapanese RestreamFossabotが導入されていたのを見て筆者が興味を持ち、LSSでも2023年から導入した。Nightbotの上位互換的なbot。非常に高機能なのだが、ドキュメントが全然整備されていないのが残念(なんとNGワード(Blocked terms)に関する記述がない)。以下が特徴。

  • 定期投稿のローテーションができる
    • これはNightbotではできないはず。LSS2023では「イベント詳細→X(Twitter)アカウント→スケジュール→配信切断時の注意→イベント詳細に戻る」というローテーションを30分間隔で定期投稿していた(当初は15分間隔だったが、短すぎたので初日の夜に30分に変更した)。
  • NGワード(Blocked terms)の設定が充実している
    • 当該TwitchチャンネルのモデレーターがFossabotのNGワード設定をさわれる(さわれないようにも設定できる)
    • 正規表現が使える(これ自体はNightbotでも可能)。
    •  NGワードごとの対応が設定できる(削除・タイムアウト・累積タイムアウト・BAN)。
      • 累積タイムアウトとは、NGワードの常習犯に対してタイムアウト時間に任意の累積倍率をかけるというもの。
      • 逆にNGワードごとに対応を設定するのが面倒な場合は、advanced matchingを有効にしてPhase Groupsを使うとよいだろう。
  • URLを弾きつつクリップURLの投稿を許容する設定が簡単にできる。
    • Spam filters > Links filter > Enable clips filteringを有効にする。
    • 一応Nightbotでも Spam Protection >  Links > Whitelist に以下のように入力すれば可能。
      clips.twitch.tv/
      ~/(www\.)?twitch\.tv\/[^\/]+\/clip\//

なおFossabotのbotコマンド一覧はこういったURLから確認できる: https://fossabot.com/longspeedrunsummit/commands

スケジュール進行を可視化するスプレッドシート

開催期間が長時間に渡るLSSでは、スケジュールの巻き/押しも大きくなる。そこで、イベント関係者や視聴者が本来のスケジュールからの差分を一目で把握できるようなスプレッドシートを用意している。

これらはwebページとして公開しているが、大本のスプレッドシートはこんな感じ。関係者用のタブには走者からいただいた自己べと平均タイムの情報を載せ、出走見込み時間がわかるようにしている。

まあGoogleスプレッドシートは多機能なのでスケジュール表に使っても便利なのだが、RTA in Japanなどで使われているhoraroと比較すると、欠点はサイトの表示が遅いこと、URLが長すぎること、スマホ等で見にくいことだろうか。

RTA in Japan の Twitterクライアント

2022年の秋頃からなんやかんやとゴタゴタしてきたX(Twitter)。多くのRTAイベント同様、昨年のLSS2022ではTwitter管理ボランティアのツイート投稿手段としてTweetDeckのチーム機能を利用していた。だが、2023年7月のTweetDeckの新バーション正式提供開始と同時にそれができなくなってしまった。

ひとつのX(Twitter)アカウントから複数人で投稿する方法(筆者の考える限り)

LSSは2023年も引き続きTweetDeckのチーム機能を使っていく予定だったのでどうしようどうしようとなった。アカウント権限の付与機能を使う(最大5人にしか付与できねー!)とか週末の定期投稿で利用しているbotbirdの即時つぶやき機能を使うなどの案もあったが、最終的にはRTA in Japanの公開しているTwitterクライアントを使うことになった。

このクライアントは実際にRiJのTwitter管理ボランティアの投稿に使われているツール。筆者は元々RiJのTwitter管理ボランティアの経験がありこのクライアントの使いやすさをよく知っていたので重い腰を上げて導入を試み、2,3日の試行錯誤の結果立ち上げに成功した。筆者の経験を踏まえて書いた簡単な導入ガイドはこれ2023年3月に刷新されたAPIプランFreeプラン50post/24hのAPI制限という弱点も、LSS2023の投稿頻度(開始・終了・1時間に1回程度の途中経過ツイート)ならば回避できると見込んでいた。

LSS2023開催中のX(Twitter)クライアント投稿回数

投稿回数はほぼほぼ想定通りでAPI制限には引っかからなかった。引っかかった場合に備え運営が代理投稿する用意もしていたが、幸いその出番はなかった。

ちなみに昨年のLSS2022ではTweetDeckと投稿文のテンプレとして自作のTwitterテンプレートメーカーを併用していたが、RiJのTwitterクライアントはテンプレート機能を内蔵しているため、LSS2023ではテンプレートメーカーはお役御免となった。やったね。

おわりに

2022年から10日間ぶっ通しイベント(ひえ~)となったLSSはただでさえ関係者の負担が大きいので、採用している技術は運用コストが低いものが多い……つもりだったがこうして見るとそうでもないかもしれない。まあ他のイベント運営の参考にしていただければ幸いです。

RTAイベントを支える技術に興味のある方は、Hoishin氏の開いているRTAイベントTech Discordサーバーを覗いてみることをオススメします。筆者もたまに関係ありそうな情報を投稿しています。

また直近では名古屋RTA Meeting主催にしてRTAGamers主催でもあるHiST氏が開いたRTAイベント意見交換会なんてのもありました。要チェックやで!


明日は桜葵月*owqi(おうきづき)さんの記事『発売24周年を迎えた「XI JUMBO」のRTAを深掘りしてみようの巻』です。

コメント

タイトルとURLをコピーしました