PrAha Inc.

PrAha Inc. のブログ、あるいは社員の観察日記

Apex Legends最強エンジニア決定戦 PrAha Cup を開催しました

こんにちは、株式会社プラハCEO兼エンジニアの松原です。

 

株式会社プラハでは最近Apex Legendsが圧倒的なブームで、社員の6割近くがApexを日常的にプレイしている状態。「Apex部」なる部活動も社内に誕生して、概ね月1回くらいの頻度で社員で集まって出撃しています。

 

youtu.be

 

しかし、しばらくApexを遊んでいると

 

「カジュアル/ランクだけ回るのも飽きてきたな〜」

「カスタムマッチやりたいな〜」

「でも、なかなか自分たちのレベルで参加できるカスタムマッチ見当たらないな〜」

 

こんな声が社内で聞こえてくるようになりました。

 

そこで「ないなら作ればいいじゃない」ということでRespawn Entertainmentにカスタムマッチの主催権限を問い合わせてみました。

  • 問い合わせから実際に権限をもらうまで6週間かかった
  • 相当の知名度がないと権限はもらえない

等の情報がネット上に散見されたため、あまり期待はしていなかったのですが

 

あっさり権限もらえました

 

問い合わせた数日後には「いいよ!」と気さくな返信。恐らく日本語で問い合わせると翻訳待ちキューに詰め込まれてしまうのではないでしょうか。英語で問い合わせればすぐに対応してくれる気がします。

 

ニーズ調査

何かしらの縛りを設けた方が大会のエッジが立って注目してもらえるのではないか?思い「Apex最強のエンジニアを決める」というコンセプトで試しにTwitterに投稿してみたところ良い感じの反響をいただけたので、この方針で進めることに。

 

 

 

ライブ配信の調査

2年近く冬眠状態だった公式YouTubeアカウントを掘り起こしてYouTube上のライブ配信にも挑戦してみました。

 

ライブ配信の際にはディレイ(配信の意図的な遅延)をかけておかないと、実況動画を見た参加者が全体の戦況を把握できてしまいます。PS4組み込みのライブ配信ではディレイがかけられないことが判明したため、キャプチャーボード(Elgato HD60S)を購入して

PS4 -> キャプチャーボード -> MacBook Pro

といった具合に映像と音声をPCに取り込んで配信することに。配信ソフトにはOBS Studioを使いましたが、Macでキャプチャーボードからの音声を取得するにはOBS Linkを追加でインストールしなければいけません。

 

後に判明するのですがMacBook Proでは圧倒的にマシンスペックが不足していたため動画はカクつき、音は盛大にズレていました。素直にゲーミングPCを買えばよかった。

 

カスタムマッチの仕様調査

Apex Legendsのカスタムマッチサーバーを扱う上で、いくつか注意すべき点があります。

  • サーバーは3時間程度で自動的に再起動する
  • チーム名を変更しないとマッチリザルトが表示されない
  • 定期的にコントローラーを触らないと管理者の接続が切れてしまう

 

起動から概ね3時間でサーバーが再起動するため、同じ管理者コードを何マッチも使い回しているとマッチ中に再起動されてしまう恐れがあります。管理者コードは出来る限り使いまわさないように注意しました。

 

チーム名を変更しないとリザルトが表示されず、順位やキル数が分からなくなってしまう不具合も確認されています。こちらはカスタムマッチの権限を付与される際に、リザルトを取得するためのエンドポイントも教えてもらえるので、そちらのエンドポイントにマッチのトークンを送ればjson形式でマッチの詳細データが返ってきます。

 

サーバー管理者であっても、定期的にコントローラーを動かさないと「一定期間操作がなかったので切断されました」画面が表示されてしまいます。配信準備中も適度に左スティックをクリクリして乗り切りました。

 

LPのリリース

tin-citrus-e28.notion.site

 

弊社デザイナーに作ってもらったPrAha Cupのロゴを載せたLPをnotionで作成しました。本当にnotion有難い!秒速でLPが完成しました。応募はGoogle Formでまとめて管理しています。

 

実況/解説の練習

Apexは20チーム・60名で争われるバトルロイヤルなので、実況・解説がないと何が起きているのか若干把握しづらいゲームです。できればプロの実況/解説者を招きたかったのですが、記念すべき第1回大会はせっかくなら手作り感満載で開催してみようと思い、自分が担当することに。

 

実況といえば古舘伊知郎さん!ということで古舘さんの本を何冊か読んで実況について少しだけ勉強。大会で言いたいフレーズをいくつかストックしておいたり、他のカスタムマッチ実況者のフレーズを書き留めて準備しました。

 

「血煙漂うWorld's Edge。日頃はWEBサービスを開発するITエンジニアの指が今宵は破壊のみを求めて躍動します」

「上空数千メートルから、血に飢えた開発者たちの唸り声が響き渡ります」

 

みたいなフレーズが手元のメモに書かれていました。おどろおどろしいですね。

 

チーム名や参加者の名前から、参加者がキルした/された場合のフレーズも何パターンか用意していました。例えばNullPo選手であれば

 

キルされた時は「ついにNullPoがデバッグされた!」

キルした時は「NullPoを踏んでしまった!事前のテスト不足か!」

 

実況中は基本的に一人ずつの視点にしか入れないためフレーズの9割近くは披露されることなくお蔵入りとなりましたが、頭の中で事前に状況をイメージして発言を練っておく作業は間違いなく実況に役立ったと思います。

 

リハーサルマッチ

当日になって「あれ、サーバーが立ち上がらない!」みたいな不具合があってはいけないため、任意参加のリハーサルマッチを本番の数日前に実施しました。

f:id:praha-inc:20220114182910p:plain

リハーサルマッチの声がけ

リハーサルマッチで配信テストを実施した際はそれほど音ズレは気にならなかったのですが、本番では音ズレがだいぶ大きくなっていました。チーム数が増えることがそこまで影響するとは予想外でした・・・

特に本戦第1試合はDiscordを起動しながら配信していたため紙芝居のようなカクつき具合。2試合目以降は配信ソフト以外を全て落としたら少しマシになりました。次回はお金に物を言わせてちゃんとしたモンスターマシンを用意して配信に臨みたいと思います。

 

本番

そして迎えたPrAha Cupの本番。当日の公式映像はこちらからご覧いただけます:

youtu.be

 

結果はLPにも記載の通り、ToNoSamaKingsが見事に本戦の総合1位を獲得。

交流戦ではSHA-256が総合1位を獲得しました。

改めておめでとうございます!!

 

カスタムマッチを主催してみて

とんでもなく楽しかった。

 

実況者視点だとマッチ全体を俯瞰できるので、近々接敵するチームや、挟まれそうな位置にいるチームが一目瞭然です。少しだけ先の展開を予測しながらマッチを楽しめる体験は新鮮でした。

 

また、多くの参加者にとってPrAha Cupは初のカスタムマッチになったようです。

「カスタムマッチ楽しそうだから参加してみたい、でもちょっと実力が不安だ・・・」

そんな方が気軽に楽しめるカスタムマッチとして月1くらいのペースで今後も開催できたら嬉しいなぁ。

 

あと社外のApex仲間が一気に増えたので、大会関連のSlackワークスペースで一緒に出撃する仲間を定期的に募っています。

f:id:praha-inc:20220114184701p:plain

 

そんな株式会社プラハではApexを遊べる方の他にも、一緒にスタートアップのWEBサービスをデザイン・開発してくれるデザイナーやエンジニアを常に募集しております。もしご興味をお持ちいただける方が居たら、ぜひ気軽にお声がけください。

一緒に出撃してカジュアル(マッチ)面談しましょう!

 

個人的名シーン

本戦の後に参加者をランダムに入れ替えた交流戦を行ったところECHO_JAVA_HOME選手とnullpo_0000選手が同じチームになり、ノックされたJAVAがヌルポを必死に守る姿が秀逸でした。参加者の属性を絞ると、こういう奇跡的な巡り合わせが起きるのもまた面白い!

 

www.youtube.com