2024年1月にSteam版がリリースされると24時間で販売本数200万本を突破し、瞬く間に人気ゲームとなった「パルワールド」。開発元のポケットペアは、開発の効率化を目指し、これまで複数のゲームで共有してきたビルド環境から独立する形で、パルワールド専用のビルド環境をAWS上に構築しました。クラスメソッドの技術支援を受けながら、担当者1名のワンオペで実施したプロジェクトについて、リードネットワークエンジニアの中條さんにお話をうかがいました。
「パルワールド」の人気爆発により、拡張を視野に専用ビルド環境の構築を検討
「パルワールド」は、2015年設立のポケットペアがアクションカードゲームの「オーバーダンジョン」、オープンワールドサバイバルクラフトゲームの「クラフトピア」などに続く4作目のタイトルとしてリリースしたオープンワールドサバイバルクラフトゲームです。
プレイヤーはさまざまな武器を使って「パル」と呼ばれる個性豊かなモンスターを100種以上捕まえることができ、パルと一緒に拠点づくりを楽しんだり、冒険したりすることができます。オープンワールドでのマルチプレイに対応し、他のプレイヤーと協力して冒険を進めたり、プレイヤー同士でパルを交換したり、戦わせたりすることも可能です。
2024年1月19日に「パルワールド」がリリースされると、発売から1カ月でSteam版の同時接続人数は210万人を突破し、総プレイヤー数は2,500万人を達成して大ヒットを記録しました。
当初、パルワールドのビルド環境は複数のゲームと共有する形でAWS上に構築していましたが、人気爆発により今後の拡張を視野に専用環境の構築を検討しました。
「パルワールドの開発にあたっては、WindowsやLinux、Xbox Series X/Sなど複数のプラットフォームに対応する必要があり、なおかつデバッグ用、本番用と複数のビルド環境を用意する必要があります。その結果、ビルドのジョブプロセスが10~20近く並列で並ぶ状態となり、複数のバージョンに対応するとなると、ビルドの停滞は避けることができませんでした。開発を高速に進め、より品質の高いアップデートを提供するためには、パルワールド専用の環境が必要でした」(中條さん)
また、既存のビルド環境は中古のPCを20台近く並べて運用している状態で、ハードウェアの故障や保守にも悩まされていました。
「ハードウェアの管理は情報システム担当者に任せていたのですが、故障がひんぱんに起こり、修理や交換などでビルドがその都度止まってしまうこともありました」(中條さん)
Jenkinsの実行環境をAmazon ECS on EC2とAmazon FSx for NetApp ONTAPで構築
従来環境の課題を考慮してパルワールド専用のビルド環境を他タイトルの開発環境と分離してAWS上に構築する事を決めました。
「AWSを採用した理由はゲーム業界での実績が豊富で、ビルドのパイプラインの構築事例も多数あったからです。加えて、パルワールドでバージョン管理システムとして採用しているSVNのサーバーがすでにAWS上に移行済みであったことから、親和性も考慮しました。今回はAWS上で共通利用しているSVNサーバーも切り出して、パルワールド専用のビルド環境に統合することにしました」(中條さん)
しかし、同社において社内のネットワーク担当は中條さん1名のみ。早期の環境構築に向けて技術支援の必要性を感じた同社は、AWS請求代行サービスですでに取引のあったクラスメソッドをパートナーに採用しました。
プロジェクトは2024年3月にスタートし、2カ月後の2024年4月末にはパルワールド専用のビルド環境の構築を終えました。クラスメソッドはJenkinsによる開発環境の構築を支援しています。
「Jenkinsによる開発環境の構築では、クラスメソッドとアーキテクチャ全体についてベストプラクティスを議論しました。Jenkinsをセキュアかつ高い可用性を維持しながら運用するにはどうしたらいいかといった相談をする中で、Amazon ECS on EC2によるアーキテクチャを提案いただきました」(中條さん)
Jenkinsの実行環境はコンピューティングリソースにAmazon ECS on EC2、ストレージは高いパフォーマンスと豊富な機能を持つフルマネージドサービスのAmazon FSx for NetApp ONTAP(以降FSxN)を採用し、Terraformで構築しました(現在は、TerraformからAWS CloudFormationに変更)。Amazon ECS on EC2では高い拡張性と可用性を確保し、ストレージではFSxNによってリストア・バックアッププロセスの煩雑さを解放しています。
「プロジェクトでは、特にストレージのFSxNによるバックアップ・リストアに関して、FlexClone(クローン作成機能)を活用した高速チェックアウトが可能かどうかを検証しました。また、外部からのサイバー攻撃を防御するため、Jenkinsのセキュリティ面も含めてクラスメソッドに相談し、Jenkins本体やプラグインのバージョンに対してもアドバイスをいただきました」(中條さん)
インテグレーションの高速化により効率的なゲーム開発が実現
パルワールド専用のビルド環境は、2024年4月末より本稼働を迎えました。Jenkinsの実行環境とSVNサーバーによるビルド環境をフルクラウドで実現することは、ゲーム業界においてもその潮流が見え始めています。ポケットペアの社内には多くのノウハウが蓄積されました。
「クラスメソッドには、私たちに寄り添う形でアーキテクチャの検討段階から複数の選択肢を提案いただき、有意義な議論ができました。自社でノウハウを獲得したいという目的の中で、構築段階に入ってもフルクラウドでビルド環境を実現するための課題が多く出てきましたが、FSxNのニッチな領域などに関してもクラスメソッドの専門家に質問を投げかけるとスピーディに回答をいただき、解決することができました。クラスメソッドのDevelopersIOを通して、Amazon ECS on EC2やFSxNの構築に関する具体的な知見をオープンな形で提供いただけたことも財産となりました」(中條さん)
2024年5月末現在、パルワールド専用のビルド環境の活用は始まったばかりですが、インテグレーションの高速化により効率的に開発ができるようになりました。
「まず、スケーラビリティの高いビルド環境が構築できたことで、必要なときに必要なだけのサーバーリソースを確保することが可能になり、パートナーさんと協力して進める際も含めて開発がやりやすくなりました。物理的なマシンの調達を考える必要もなくなり、従量課金制によってビルドを実行しない時には料金がかからないこともクラウドならではのメリットです。また、Jenkinsの実行環境とSVNサーバーが同じVPC内にあることで通信料課金の心配がなくなり、クラウド料金の最適化も行えました」(中條さん)
より充実したサービス提供に向けて、テスト環境の自動化を検討
パルワールドの人気拡大により、数十人クラスの開発メンバーの数はさらに増え続けている状況で、今後もクラウドやIaC化のメリットはますます発揮されることが期待されています。
今後に向けてはテストの自動化を検討中で、クラスメソッドの支援にも期待を寄せています。
「ゲーム内容が充実した結果、複数の環境を組み合わせたテストや、複数人のマルチプレイといったテストが必要となってきています。その際、せっかくフルクラウドでできているのですから、テストの自動化環境もクラウド上で実現してみたいと考えています。クラスメソッドには、テストの自動化も含めて引き続きさまざま技術を提案していただけることを期待しています」(中條さん)
「パルワールド」のビルド環境の構築を終えて実運用に踏み出したポケットペア。クラスメソッドは、今後もゲーム開発の効率化に貢献してまいります。
お客様情報
株式会社ポケットペアについて
株式会社ポケットペア採用情報