グーグル・クラウド・ジャパンは2024年8月1日と2日、神奈川県のパシフィコ横浜ノースにてGoogle Cloud Next Tokyo '24を開催した。これはGoogle Cloudから提供されているサービスについて、基調講演やセッションなどさまざまなプログラムが用意されているIT技術者向けのカンファレンスだ。いま話題の生成AIを始め、各製品のアップデート情報やサービスの利用方法などのセッションが2日間にわたって行われた。
パシフィコ横浜で開催されたGoogle Cloud Next Tokyo '24。
……と書くと、ちょっとファミ通.comではあまり見かけないイベントの記事かもしれないが、じつはこのイベントで“同時接続数185万人(※)を支えたパルワールドのインフラ最前線”というセッションがあることを発見した。
※最新の公式記録は、Steam同時接続数210万人。 ポケットペアの『パルワールド』(Steam、Xbox Game Pass、Xbox Series X|S、Xbox One)と言えば、2024年1月19日に発売(早期アクセス)されるや総プレイヤー数が1ヵ月で2500万人突破という大ヒット。するとサーバー周りが何やらたいへんなことになっているらしい、ということが話題になった。その状況を物語るのが、『パルワールド』を作ったポケットペアの社長やエンジニアのポストである。
「たったひとりでサーバーを管理してるの?」「このままだとサーバー代が月額7000万円以上?」
この件をいろいろ解説してくれるセッションがあるということで、実際に取材させてもらった……のだが、ゲーム開発者でもエンジニアでもない自分にはちょっと難しい内容に違いないと思い、「ゲームファンにもわかりやすい言葉でお話を聞かせてほしい!」と事前にお願いをしてみたらオーケーの返事が! セッション後の45分程度と短い時間であったが、オンライン周りのさまざまな苦労話を聞かせてもらったので、じっくりと読んでほしい。
“同時接続数185万人を支えたパルワールドのインフラ最前線”の様子。
写真右から、ポケットペアの中條博斗氏(ゲーム開発事業部 リードネットワークエンジニア)、西北尚史氏(ゲーム開発事業部 リードインフラエンジニア)、笹和成氏(ゲーム開発事業部 SRE)。
「仲間が足りない!」というポストをキッカケに入社したスタッフも
──まずは『パルワールド』における3人ぞれぞれの役割を教えてください。
中條
『パルワールド』のゲームエンジンはUnreal Engine 5を使っているのですが、これ以外のゲーム全体で使うさまざまなサービスの設計や技術選定、実装に関わっています。
西北
『パルワールド』ではAPIサーバーの開発運用と、Palworldサーバーガイドというサーバーの公式立てかたガイドページがあるのですが、これの開発と執筆をやっています。
笹
基本的には、公式ゲームサーバー周りの運用・保守と、それを監視する基盤を作成するといった仕事をさせていただいています。
──皆さんはどういうタイミングで『パルワールド』に参加されたのでしょうか?
中條
私が参加したのは、ネットワーク周りの開発・実装が始まった2023年の1月ころですね。『パルワールド』の企画自体は2021年の春ごろから動いていましたが、開発がすぐ本格的にスタートしたというよりは、プロモーションビデオを作ったり、コンセプトを考えたりする期間がしばらくあったので。
──ある程度ゲームが動き始めたところで、じゃあネットワーク周りを本格的に実装していこう、と。
中條
それまでは4人くらいで遊ぶゲームを想定していたのですが、海外で流行っているPCゲームを参考にしながら、サーバーを立ててもっと多くの人数で遊べるようにしよう! ということになって、そこから私が参加したんです。
西北
私は3年ほど前からポケットペアで社内インフラを担当していました。『パルワールド』発売後、かなり多くのプレイヤー様に遊んでいただいており、人手が必要だったので、発売後すぐに合流しました。
笹
私は『パルワールド』発売後にポケットペアに入りました。具体的には3月から開発に参加しているので、入ってまだ4ヵ月程度です。
──そういえば、2月上旬に公式Xで「仲間が足りておりません!」「全職種募集」とスタッフを募集されていましたが……。
中條
笹の場合はまさにそれです。
笹
自分のキャリアとマッチしてそうだなと思って、応募させていただきました。
──ちなみに、皆さんはIT方面からキャリアを積まれてきたのでしょうか?
中條
自分は両方です。Webエンジニアからキャリアをスタートしましたが、その後はゲーム会社に入りました。ポケットペアはけっこう長く在籍していますね。
西北
私は学生時代はWebエンジニアとインフラエンジニアをやっていて、新卒で入った会社ではインフラエンジニアをやっていました。ポケットペアに入ってからは、社内インフラのネットワークやサーバをワンオペしつつ、APIサーバーやWebページの実装などをしています。なので、キャリア的にはザ・エンジニアって感じですね。
笹
私はずっとソーシャルゲームの開発を担当していて、サーバーのプログラムもインフラも見る立場だったのですが、例の募集で今年3月にポケットペアにジョインしました。これまで関わってきたのはスマホゲームが中心で、今回初めて腰を据えて遊ぶSteamやコンシューマー機のゲーム開発に携わりました。
不具合修正をしながら、データ通信料を圧縮
──リリース後、瞬く間に100万人から1000万人、2000万人と一気にプレイヤーが増えたと思うのですが、このあたり会社ではどのように受け止めていたのでしょうか。
中條
発売日より少し前から、ゲーム実況者の方々にソフトを配布して、TwitchやYouTubeでどんどん配信してもらっていたんです。そうした実況を見ているうちに手応えを感じていました。
ただ、その配信で不具合に気が付いた部分もかなりありまして、慌ててパッチを作って正式発売にはパッチを間に合わせるようにしたんです。ゲーム実況そのものは我々もすごく楽しみながら見ていたのですが、時には不具合を見て焦りながらも開発を進めていました。
西北
我々が想定していなかったような挙動をしてしまうことがあって、そういうのは配信などを確認させていただいていました。
中條
ゲームが不具合で止まるとオンラインを通じてクラッシュリポートが届くようになっているので、ひとつずつ順番に修正作業を進めていたんです。
──発売日前のこの段階で、現状の大ヒットを予測できたということは……。
中條
まったくなくて、みんな「ヒットしそうだね!」と無邪気に喜んでいました(笑)。実際ネットワーク周りがたいへんなことになったのはリリース後で……。発売してから同時接続数がすごい右肩上がりをした結果、マルチプレイヤーが一部止まって動かないことがあり、とにかくネットワーク関連の対処にかかりっきりでした。
──そして発売から2週間ほど経過した2月2日、代表の溝部拓郎さんが「あれ、ひょっとしてサーバー代で倒産する?」とポストするにいたります。
西北
2月1日分の料金から想定された、2月分のサーバー代が7053万円、という。
中條
社長といっしょにひっくり返りましたよ(苦笑)。
──改めて、サーバー料金の仕組みを教えていただけますか?
中條
サーバー料金を大まかに分けるとふたつあります。ひとつはいわゆるサーバー代。サーバーそのものを借りる代金ですね。不動産にたとえると賃貸マンションの家賃のようなものです。もうひとつは通信料。これはプレイヤーがたくさん来れば来るほど通信量がかさみ、そのぶん料金がかかります。サーバーを借りる段階で、これくらいだろうという予測は立てているのですが、実際にどれぐらいプレイヤーの方が来るのか、やってみないとわからないところがありまして。
結果、想定以上の通信料が発生して、2月1日の段階で1ヵ月分の想定料金が7000万円以上になってしまったのです。
──ここから通信量を抑えるように調整していった、ということなのでしょうか。
中條
そうです。たとえばロギングというログ(動作記録)を貯めていく仕組みがあります。すべてのログが必要ではないので、不要なログを削っていくだけでかなり料金を抑えることができたので、まずはその対応から始めました。
──ひとつずつ「このログはいる」「これはいらない」と判断しながら……。
中條
これ以外にも細かくデータの調整を重ねることで、具体的な金額は申し上げられないのですが、7000万円からは相当下がりました。ただ、何がたいへんだったのかというと、この作業と並行してアップデートの準備もしなければならず……。開発と運用、両方やっているので、重い作業の同時進行はすごくたいへんでした。
リリースしてからの2~3週間は、ワンオペ状態だったのは間違いないです。2~3月でスタッフを増員できてよかったのですが、実際のところはリリースしてみないと判断が難しかったです。
──では、最初の2~3週間はひたすらひとりで……。
中條
そうですね。片っ端から対処していく状態でした。もちろんゲームプレイ体験がいちばんなので、多少サーバー料金がかかってしまうのはしょうがないとして、とにかくゲームプレイの体験を上げる、つまり不具合修正などのアップデートを優先して取り組みました。これは社長の指示でもあったので。
4人プレイだったものを専用サーバーで32人に増強
──さきほども話がありましたが、4人プレイのゲームだったものを専用サーバーを使ってもっと人数を増やしたのは、そのほうがゲームがおもしろくなるから、と判断したからなんですよね?
中條
その判断をしたのがちょうど私が参加したタイミングでした。最初は4人で遊ぶP2P(サーバーを介さずPCなどの端末どうしで直接やりとりをする通信方式)のゲームだったものを、専用サーバーを使ったタイプ(有名なゲームでは『Minecraft』など)のモードもほしいよねという話になったんです。
──専用サーバーの場合、いまのところ最大32人まで同時プレイ可能となっています。
中條
設定上の制約で32人なのですが、これは想定されるサーバーのマシンスペックで負荷測定をして、その場合は32人が限界だろう、ということでこの人数にしています。今後の状況を見ながらではありますが、開発チームでは「もっと多くの人数で遊べるようにしたい」という議論はつねにしています。
──コミュニティサーバーは、いまどのくらいあるのでしょうか?
中條
具体的な数字は言えませんが、ピーク時で30万台くらいは収容できるようにサーバーロビーを設計していまして、だいたいそれに近い値までいきましたね。
西北
コミュニティサーバーと呼ばれるもの以外にも、プレイヤーの方がコミュニティサーバーとして登録・公開はしていないけれど、プライベートで公開しているものもあります。それらについては私たちはどのくらいあるのはわからないので、実際は相当数あると思います。いわゆるクローズドで仲間内だけでやっているようなサーバーですね。
公式がサーバーの立てかたガイドを公開
──これまでいろいろなご苦労はあったと思うのですが、『パルワールド』の開発で印象に残っていることはありますか?
中條
リリース前のパフォーマンスチューニングがいちばんたいへんでした。Unreal Engine 5を使って、32人でオープンワールドでたくさんのパルがいて……となると、ものすごく重くなるんです。そこを最適化するのにとにかく苦心しました。
笹
私が関わり始めてから、公式サーバーを一回すべてなくして新しい仕組みて立て直したのが4月上旬でした。ソフトウェアとしてはうまく動かせたつもりだったのですが、やはりこれだけたくさんのプレイヤーの方が遊んでいるゲームだといろいろな想定外なこともあって……。その部分は苦労しました。
──『パルワールド』のこの部分はうまくいったと思うから注目して見てほしい、という箇所はありますか?
中條
我々は裏方的な役割なので、パッと目立つものはないのですが、やはりマルチプレイ周りはかなりうまくいったケースかなと思っています。マルチプレイのゲームは、一般的に同期ズレであったりマルチプレイでしか起きない不具合などがかなり発生するのですが、『パルワールド』はリリース段階からかなり安定していたと思います。
あとサーバーロビーはかなり使いやすいのではないかな、と個人的には思っています。検索もあってソートもあって……と、ひと通りの情報が全部わかるタイプは、国内タイトルだとかなり珍しい部類だと思います。
『パルワールド』のサーバーロビー。
笹
3月あたりは止まっている公式サーバーがいくつかあったんです。セーブデータ問題など、いろいろあったのですが、現状の公式サーバーはかなり安定して動いているので、そこはけっこうがんばれたと思っています。
西北
あと触れておきたいのは、サーバーの立てかたガイドを公式で提供していて、その部分はかなりわかりやすくできているのではないかなと思います。
中條
サーバーを立てるタイプのゲームは、プレイヤーの皆さんが情報を交換しあったり、それをもとにコミュニティでWikiを作ったりすることが多いですが、『パルワールド』の場合、公式がちゃんとサーバーガイドを用意しているというのは、すごくいいポイントです。公式が情報を提供していることでアップデート時につねに最新の情報が確認できますし、実際にコミュニティサーバーが数十万台あるというのは、こういうところが大きな理由かなと思っています。
西北
私自身がページの開発と執筆をしていて、コミュニティの書き込みなどでわかりにくい部分などを見つけて改善しています。導線としても「次へ」を押していけばとりあえずサーバーを立てることができるように整理しています。公式でこういった形でゲームサーバーのドキュメントを提供しているのはかなりレアなケースだと思います。
笹
リリース時期はまだ自分はイチプレイヤーだったのですが、びっくりしました。「すごい、ちゃんとしたものを公式で公開している!」って。
サーバーの立てかたをまとめたPalworldサーバーガイド。
Google Cloudはゲーム会社にフレンドリー!?
──本日はGoogle Cloudのイベントです。クラウドサービスはいろいろありますが、Google Cloudを導入した経緯とか、Google Cloudのいいところなどを教えてください。
中條
ネットワークテストのときには、すでにGoogle Cloudを採用して動くかどうかテストする段階だったので、2023年の10月くらいにはもう導入完了していたという感じでした。
私を始め、ネットワーク関連のメンバーがGoogle Cloud好きなんですよ。なので、わりと好みで決めた部分もありますね。
──今回、この“Google Cloud Next Tokyo '24”というイベントに参加してみて、いかがでしたか?
西北
かなり多くの方に来ていただいて、それこそ後ろで立っている方とかスライド見えないけど音だけ聞いている方もいらっしゃって。すごく注目されているなと感じたので、今後も期待に応えられるようにがんばりたいです。
中條
セッション中に、「『パルワールド』を遊んだことある人!」と聞いてみたのですが、かなり多くの方が手を挙げてくれてうれしかったです。
笹
エンジニア向けのイベントだと思いますが、それであれだけお客さんが来てくれるというのはすごくありがたかったです。
──サーバー周りについて、Google Cloudからのサポートとか、Google Cloudだからこそうまくいったというような部分はありましたか?
中條
まず、サポートの面で関して言うと、Google Cloudによるゲームサーバー関連のブログがあるのですが、そこでいろいろなサービスの紹介・解説が積極的にまとめられていて、ゲーム会社に対してすごくフレンドリーなのがうれしいポイントですね。
セッションでは3人がそれぞれ自分の担当部分を解説(写真は笹氏)。
さらにサーバーを安定させて、将来的にはクロスプレイも
──最後に今後の目標と、『パルワールド』を遊んでいるファンに向けてメッセージをお願いします。
西北
サーバー一覧周りは改善できるところがまだまだあると考えているので、引き続き取り組んでいきたいです。
また、Palworldサーバーガイドについても、プレイヤーの方からの意見を参考にしながら、引き続き公式として品質の高いガイドを提供していきたいと思っています。
笹
私がメインで担当している公式サーバーですが、以前より安定しているとはいえ、まだまだ我々の合格点には達していないと思っています。なので、まずはもっと安定させて、長く遊べるようにすることがまずはいちばんの目標です。
『パルワールド』はひとりよりもグループで遊んでいただくととてもおもしろいと思うので、プライベートでサーバーを立てられる方はぜひそれで遊んでいただきたいですし、公式サーバーだと日本はもちろん世界中のプレイヤーが作った建築物を見ることができます。どの方法でもいいので、ぜひ大勢で遊んでいただけるとうれしいです。
中條
目標としては、まずサーバーを最適化してもっと大人数で遊べるようにして、マルチプレイをより快適にしたいですね。
あといつリリースできるかわからないですが、クロスプレイは実現したい要素のひとつです。プレイヤーさんから要望をいただいていますので、ぜひ対応していければと考えています。
それからこれは笹と被りますが、『パルワールド』はやっぱり友だちとマルチプレイするとすごい楽しいゲームなので、誘い合わせのうえ遊んでいただけるともう感無量です。これからもアップデートを続けていきますので、よろしくお願いします。