
モンハン、スト6の熱狂を守れ!世界同時接続のオンラインゲームを安定稼働させるサーバー設計とは
2025年2月28日に発売される最新作「モンスターハンターワイルズ」。株式会社カプコン(以下、カプコン)史上、最大規模の同時接続プレイヤーを見込んだ大型タイトルで、双方向を前提とした同時通信に耐えうる高負荷対策が、成功を左右する重要な要素のひとつになっています。
同じく世界規模でプレイされるオンラインアクションゲーム「ストリートファイター6」に続く大型タイトルの発売で、同社のゲームはいかに進化していくのでしょうか。通信・サーバー設計を担当する筑紫さんと松村さんに、最先端のネットワーク技術を扱うゲーム開発の裏側について聞きました。
プロフィール

筑紫 啓雄さん(Tsukushi Akio)
「モンスターハンターワイルズ」サーバープログラマー兼テックリード
NTTデータ系列企業で大手化学メーカー向けグループウェアの設計開発を経験したのち、2020年入社。モバイルゲーム開発を経て、現在に至る。

松村 俊徳さん(Matsumura Toshinori)
「ストリートファイター6」サーバープログラマー
NTTデータにてドコモ携帯アプリなどのクラウドアプリケーションの設計開発を経験したのち、2019年入社。「モンスターハンターライダーズ」のサーバー・バックエンド開発を経て、現在に至る。
技術的には一般的なクラウドシステムと同じ
ーー おふたりが経験してきた業務系クラウドシステムと、今携わっているゲーム開発では、どのような違いがあるのでしょうか?
松村:外部の方にお話すると驚かれることもあるのですが、実はゲームのシステム構築も、技術的には一般的なクラウドシステムと同じなんです。

筑紫:技術的には同じですが、ユーザー数とそれに伴うリクエスト数が大きな違いです。「モンスターハンターワイルズ」では同時接続で数百万、秒間数十万リクエストを見込んでいます。
僕がかつて開発していた企業向けシステムは、大企業とはいえ1万人弱。利用者数は従業員数を超えることはないですし、利用時間も決まっています。それに比べると、ゲーム開発はその数百倍。さらに瞬間的なアクセス集中も考えたシステム設計にしなければなりません。
松村:カプコンでこれほどまでの超高負荷対応を行ったのは、一昨年発売した「ストリートファイター6」が初めての試みでした。60fps完全同期*が求められる対戦シーンではP2P通信を、それ以外の対戦相手の検索や対戦結果の登録ではサーバー通信を、というように要件に応じて通信方式を変えています。
*1/60秒の頻度でユーザー間を完全に同期するまた発売後はそれなりの年数の運用を想定しているので、可用性と柔軟性、そして運用負荷の低減を求めて、新しい技術を使うという方針もありました。こうした方針のもとCloud Spannerやマイクロサービスアーキテクチャ、サービスメッシュなどの技術を採用しましたが、いずれもカプコンでは初めて尽くしの開発になりました。
世界中にファンがいる人気タイトルの裏話

ーー 世界同時発売のゲームタイトルですが、地理的距離を配慮した工夫はありますか?
松村:「ストリートファイター6」ではサーバーは4リージョンに分かれており、多くの機能を集約させた本丸サーバーはアメリカにあります。それは前作の「ストリートファイターV」で、アメリカのユーザーが多かったことが理由です。
その4リージョンで地理的距離が近いユーザー同士をマッチングさせているのですが、意外にも、直線距離が近いユーザーでも必ずしもレイテンシーが短くなるとは限らない、といったイレギュラーも発生しています。
どうやら中東のある地域では、海底ケーブルの通信の強さが影響するようなんです。今後はこうしたデータを蓄積して、対戦相手を選出するアルゴリズムに組み込むなど、より精度を向上する可能性があると感じています。
筑紫:「モンスターハンターワイルズ」も同様の理由で日本に本丸を、バックアップとして第2本丸をアメリカに設置する構成になっています。なぜこのような構成になったかというと、クラウドベンダの国内サーバーだけでは足りなかったからなんです。
クラウドサーバーが”売り切れ”になるほどの大規模システムなのだと、改めて実感しました。複雑な設計でしたが、オープンベータテストでも大きなトラブルは発生せず終えることができ、安堵しています。

ーー オープンベータテストを経ての気づきや改善点はありましたか?
筑紫:マルチプレイをする際に、”ロビー”という参加場所を指定する必要があるのですが、ユーザーの動きをウォッチしたことで、この“ロビー”をおすすめするロジックに課題を発見しました。想定よりも多くのユーザーがおすすめされたロビーを選択した結果、すぐに満室になってしまい、入室できないユーザーが多発してしまいました。
こうした行動ログから、おすすめロビーを選出する検索範囲を広げることで、よりスムーズに入室できるようオープンベータ期間中に調整し、改善されたことを確認しています。こういった改善は、製品版に反映してきました。
モンハンワイルズは「絶対に落とさない」

ーー 最新作となる「モンスターハンターワイルズ」で、技術視点での注目ポイントはどこですか?
筑紫:まずはクロスプレイ対応です。PlayStation5、Xbox Series X|S 、Steamといった各プラットフォームの垣根を越えて、全ユーザーが一緒に遊べる環境設計は、コンシューマのモンスターハンターでは本作が初めての試みです。これを実現するためには、各プラットフォーマーさまが提供するサーバーを利用せず、それぞれのプラットフォームのユーザーをまとめて処理できる、独自サーバーを用意しなければなりません。
また本作では、前作の「モンスターハンター:ワールド」に比べ、ロビー参加の上限人数を数倍にまで大幅増員しています。こうしたゲームの進化にあわせて、超高負荷を考慮したサーバーをゼロから構築したというのが、本作の隠された注目ポイントと言えるかもしれません。
ーー システム設計については、どのようなオーダーをもらったのでしょうか?
筑紫:本作については「費用をかけてもいいから、絶対に落ちない環境設計をしてほしい」というオーダーでした。僕自身、初めてのゲーム開発で、いきなり世界的なゲームタイトルのテックリードを任されました。カプコンの裁量の大きさを感じ、大変だった分、非常にやりがいのある仕事だと感じています。

ーー 「ストリートファイター6」でも同様のオーダーなのでしょうか?
松村:会社としての基本方針はありますが、タイトルごとに特徴があります。僕の場合は特に、コストパフォーマンスを重視した設計を心がけています。クラウドシステムの場合、使えば使うだけ費用がかさむので、発売後のユーザーのプレイ状況を考慮してランニングコストを最適化したいと考えています。
ーー 開発フェーズと発売後の運用フェーズでは、エンジニアとしての心づもりは変わるものですか?
筑紫:いえ、変わらないと思います。基本的に開発したエンジニアがそのまま運用に入るので、DevOpsの意識が強いんです。
松村:そうですね。プランナーが考えた仕様だと運用する上で好ましくない時には、代替案を提案しています。このように、開発中から運用フェーズを考慮した議論をすることは、カプコンの開発現場あるあるです。
ゲームが好きなエンジニア募集中
ーー 今後、挑戦してみたいことはありますか?
筑紫:個人的には常時接続オンラインゲームはやってみたいです。今は「モンスターハンターワイルズ」も「ストリートファイター6」もデータの主導権はクライアントが持っています。これをネットワーク主導にすることで、今までと少しテイストの変わったゲーム性を生み出せるかもしれません。
例えば「モンスターハンター」の世界だったら、大型モンスターを狩猟したら小型の草食種が繁殖するとかーー。逆に草食種が減りすぎてしまって、大型モンスターが飢え、気性が荒くなってしまったりーー。そこで自然の調和を図るため、ハンターに狩猟依頼のクエストが発動する!みたいな。
松村:いいですね!僕も常時接続オンラインゲームはぜひやりたいです。「ストリートファイター6」の場合は、常時オンライン接続になることで対戦の公平性が向上したり、チーム対抗戦やランキングなど、さまざまなシーンでゲーム性が向上すると感じています。

ーー カプコンに入社して数年が経った今、率直にどのように感じていますか?
松村:転職して仕事がおもしろくなりました。前職はBtoBかつ設計業務がメインで、自分で手を動かす機会は多くありませんでした。今は全工程を担当できますし、会社の風土として自らゴリゴリ開発して問題解決をしていく文化が、自分に合っているので仕事を楽しめています。
筑紫:僕の場合は、まさか自分がカプコンで働く選択肢があるとは思っていませんでした。しかし意外にも、業務システムのバックエンド開発で培った経験とノウハウが、カプコンでは重宝されていますし、それこそ中高時代から遊んでいた「モンスターハンター」の開発を引っ張っていく立場になっていることは、とてもうれしいことです。
ーー ソフトウェアエンジニアを募集されていますが、どのようなエンジニアにおすすめできますか?
筑紫:カプコンでは、有名タイトルや大規模システムを担当する機会が、かなり多い方だと思います。そのため、大規模トラフィックや長期運用を考慮したクラウド設計をご経験された方は、強みを生かせると思います。それから開発の現場にもユーザーの意見が届く、風通しの良い環境なので、そうした思考性の方にはうれしい環境です。
松村:ゲームが好きな人は、すぐに馴染めると思います。最新の技術を扱い、求められることの難易度も高いですが、僕たちは技術を売っているわけではありません。あくまでもつくりたいのはゲームです。おもしろいゲームを動かす土台を先端技術を駆使していかに実現させるのか、それを考えるのがカプコンのプログラマーとして働く醍醐味だと思います。
関連リンク
カンファレンス登壇動画 「ストリートファイター6」のアーキテクチャが決まるまで
*リンク先は別サービスです。動画の視聴には、別途「Findy Tools」のログインが必要となります