COLOPL Tech Blog

コロプラのエンジニアブログです

【Google Cloud × GAME】ゲーム開発におけるGoogle Cloud活用事例 を実施しました!

こんにちは。インフラエンジニアのカクです。

2022年12月6日、【Google Cloud × GAME】ゲーム開発におけるGoogle Cloud活用事例 というタイトルで『コロプラ』『Google Cloud』『グリー』『WFS』『ディー・エヌ・エー』5社合同でのイベントを実施いたしました。



発表内容

コロプラでは、2022年10月26日に白猫シリーズの新作として『白猫GOLF』を全世界約170ヵ国で同時に配信開始しました。
本作は本物に近いゴルフ体験とプレイヤー同士の対戦が特徴のゲームで、プレイヤーのマッチメイクに Open Match を利用しています。

今回は、白猫ゴルフに使われている Open Match における GKE クラスタ間の通信問題についてお話させていただきました。

Open Match はオープンソースのマッチメイクフレームワークです。
コロプラのゲームで Open Match を利用するのは白猫ゴルフが初めてだったので、負荷分散や冗長化の面での課題に直面しました。

私の所属するインフラチームではOpen Matchのインフラを設計するのにあたって、Open Match on Cloud Run と Open Match on MCI/MCS の二つのソリューションを試行錯誤しました。発表では、それぞれソリューションのメリット、デメリットをお話しさせていただきました。そして検証の結果、MCI/MCS の方を採用することになりました。

資料はこちらになります。

発表について補足

Cloud Run の実行環境について

発表で Cloud Run の実行環境の選択についてどのような観点で選んでいるのか質問をいただきました。時間の都合で回答できなかったので、こちらで回答させていただきます。

Cloud Run の実行環境の選択については、公式ドキュメントの実行環境の選択方法に記載があります。Open Match に関しては、第一世代でサポートされていないシステムコールを使用していたため、第二世代の利用を検討していました。第二世代の方が魅力的な機能があり、今後も活発に開発が進むと思われるので、新しく開発を始める場合は第二世代の利用を検討するのが良いと思います。また、第二世代の欠点であるコールドスタート時間が長い点についても改善は見られて、起動時 CPU ブースト (2022/12/16 執筆時点でプレビュー機能) の設定が可能となっています。

Open Match  の synchronizer の冗長化について

Open Match の Synchronizer、 Evaluator については、HAProxy を用いて Active-Standby で冗長化構成しています。
Open Match の Director については、冗長化されないことによる影響が少ないため、冗長化していないコンポーネントとなります。

最後に

多くの方々のご視聴いただき、また質問・コメントも多くいただき大変感謝しております。

そして、この場をお借りして一緒に開催させていただいた Google Cloudさん、グリーさん、WFSさん、DeNAさん に心から感謝いたします。

今後も勉強会や技術ブログを通じて、エンジニアの方々に役立つコロプラの取り組みや技術情報を幅広く発信していきます。

次回イベントについては 大規模モバイルゲームのローンチを支える技術 と題してゲームローンチを安定して行うための取り組みを発表させていただきます。引き続きconnpassおよびtwitterで告知いたしますので、是非メンバー登録とフォローをよろしくお願いいたします。

 

colopl.connpass.com

twitter.com