Cygamesのスマートフォンゲームはこうして作られた…最新作『Shadowverse: Worlds Beyond』で解説するアーキテクチャ再設計の道【U/Day Tokyo 2025】 2ページ目 | GameBusiness.jp

Cygamesのスマートフォンゲームはこうして作られた…最新作『Shadowverse: Worlds Beyond』で解説するアーキテクチャ再設計の道【U/Day Tokyo 2025】

人気スマートフォンゲームを続々とリリースするCygamesの最新の取り組みを、『シャドバ』シリーズ最新作『Shadowverse: Worlds Beyond』を例に解説します。

ゲーム開発 プロデュース
Cygamesのスマートフォンゲームはこうして作られた…最新作『Shadowverse: Worlds Beyond』で解説するアーキテクチャ再設計の道【U/Day Tokyo 2025】
  • Cygamesのスマートフォンゲームはこうして作られた…最新作『Shadowverse: Worlds Beyond』で解説するアーキテクチャ再設計の道【U/Day Tokyo 2025】
  • Cygamesのスマートフォンゲームはこうして作られた…最新作『Shadowverse: Worlds Beyond』で解説するアーキテクチャ再設計の道【U/Day Tokyo 2025】
  • Cygamesのスマートフォンゲームはこうして作られた…最新作『Shadowverse: Worlds Beyond』で解説するアーキテクチャ再設計の道【U/Day Tokyo 2025】
  • Cygamesのスマートフォンゲームはこうして作られた…最新作『Shadowverse: Worlds Beyond』で解説するアーキテクチャ再設計の道【U/Day Tokyo 2025】
  • Cygamesのスマートフォンゲームはこうして作られた…最新作『Shadowverse: Worlds Beyond』で解説するアーキテクチャ再設計の道【U/Day Tokyo 2025】
  • Cygamesのスマートフォンゲームはこうして作られた…最新作『Shadowverse: Worlds Beyond』で解説するアーキテクチャ再設計の道【U/Day Tokyo 2025】
  • Cygamesのスマートフォンゲームはこうして作られた…最新作『Shadowverse: Worlds Beyond』で解説するアーキテクチャ再設計の道【U/Day Tokyo 2025】
  • Cygamesのスマートフォンゲームはこうして作られた…最新作『Shadowverse: Worlds Beyond』で解説するアーキテクチャ再設計の道【U/Day Tokyo 2025】

「パーク」の大画面で他ユーザーとバトルを観戦する

「MagicOnion」によるリアルタイムサーバーを活用した「パーク」の機能にはさまざまありますが、ここでは一例としてバトル配信時のモニター観戦機能の解説をレポートします。

今作のバトル配信は、パークに集まった多数のユーザーとともにに大スクリーンに投影されたバトルを観戦するという臨場感あるものです。前作でもバトル配信機能はありましたが、その時は画面遷移で処理しており、ユーザーが集まるという形式ではありませんでした。

「パーク」に設置されたバトル配信用のスクリーン。

当初はストリーミングによる動画配信を検討していましたが、それでは動画データのダウンロードが発生し、通信待機などの不便が予想されます。そこでクライアント側でバトルを描画する形で実現できないか検討が行われました。

結果、サーバーに関してはパークのサーバー処理と同様、バトル側のサーバーとパーク側のサーバーの間に中継サーバーを設置することで実現。パークで描画する仕組みに関しては、これまでは3Dモデルを描画するひとつのレイヤーで対応していたものを、パーク用とバトル用で分けることに。ひとつの画面にパークシーンとバトルシーンが共存する環境であることから、パーク側のカメラは従来の方法で処理しつつ、バトル側のカメラはRenderTextureに一旦書き込んだ後、それをパーク側の配信モニターのマテリアルに設定しました。

バトル配信の機能でも中継サーバーを介して情報をやり取りすることに。
バトルをパークで描画するための仕組み。

これらの処理で描画は可能となりましたが、問題は配信時の負荷です。パークに100人ほどのプレイヤーが滞在することを考えると、スクリーンに投影するバトルそのものの負荷を軽減する必要が出てきたわけです。そこで画面やカードイラストの解像度を落としたり、本来は3Dモデルだったものを2Dにしたり、バトルエフェクトを削減するなどしてスクリーンに投影される映像の最適化を図りました。

「パーク」でバトルを配信するには、通常のバトルと異なり、処理負荷やメモリ消費を軽減する必要がありました。

さらに手札用のカメラや画面演出用のカメラなど複数のカメラを使用していたシステム面では、一部カメラを統合することで負荷を軽減。それに伴い描画順の不具合が随所で発生しましたが、オフセット調整で地道に改善し最適化しました。

またこれらの最適化をなすには、作業の現在地を知るための負荷計測が不可欠です。『Shadowverse Worlds Beyond』では実際のプレイ状況に近づけるため、100人分のユーザーが動き回る状況を自動化することで実現。フレームレートの計測では、バッテリー温度上昇の影響も計測するため、時間経過によるフレームレートの変化もデータとして取得しました。

そのほか「バトル配信のどの演出を削れば、どれほどの効果があるのか」といったことを確認するため、MemoryProfilerの結果をCSV出力できるような仕組みを作り、メモリ消費の計測の結果を比較しやすくしました。

以上の取り組みにより、パークの品質を落とさずにバトル配信機能を実装することができました。

実際のプレイ状況を再現するには、最大収容人数である100人のプレイヤーを登場させて動かす必要があります。しかし手動では難しいということで自動化されることになりました。
フレームレート計測の実際のグラフ。時間が経過するにつれ、CUPの処理増加と、それに伴うFPSの低下が見られます。

カードゲーム部分の開発について

続いて『Shadowverse Worlds Beyond』の核となるカードゲーム部分についての解説です。

『Shadowverse Worlds Beyond』のバトルは1対1で行うターン制となっており、対人戦はもちろんAIとも戦うことができます。そのような性質であるため、クライアント改竄による不正、通信パラメータの解析による情報の不正取得など、あらゆる不正行為を防ぐ必要があります。

カードゲーム機能の概要。

前作では不正防止のため、カード能力、ソロプレイ時の敵AI情報、制限時間、切断による勝敗判定などをクライアント側・サーバー側の両方で保持し、サーバー側ではおもに検証などを行っていました。しかしそれらバトルロジックがクライアント側にあることで課題もありました。結果的にクライアントとサーバー間の情報のやり取りが猥雑になってしまったのです。またAIの思考速度を端末に依存していたことから負荷が増大し、発熱につながるケースもありました。

そこで持ち上がったのがバトルロジックをクライアント側からサーバー側へ完全移行するという案でした。

実は前作運用当時から検討がされていましたが、通常の運用と並行して作業するには規模が大きくなかなか手を付けることができません。その折に『Shadowverse Worlds Beyond』の企画が始動し、バトル部分の再設計が必要ということでついに実施されることになったのです。

その結果、クライアント側とサーバー側で行ったり来たりさせていた情報伝達は、サーバー側の処理が増えたことでシンプルなやり取りに改善されました。また新たにAIのアドバイス機能も実装することができました。

左が前作の情報伝達図。右が今作の情報伝達図。一目瞭然で簡略化されています。

反面、新たな課題も浮上します。カード操作をした際の処理もサーバー側で行うことになったため通信が発生し、演出に若干のラグが生じたり、操作した際に引っかかりが感じられたりするようになってしまいました。そこで演出が止まったように見えないよう、アニメーション演出の合間に通信処理を完了させるよう調整。そのほか通信などの処理が妨げになっていないか確認し改善に努めました。

「カードを出す」という行動についての通信待ちの調整。カードを選択したところで通信が始まり、カード演出を再生している間にサーバー側で計算、結果画面の段階でレスポンスが帰ってきて選択処理を反映します。

このほかサーバー移行のメリットとして、カードゲームのテストプレイの効率化、カード能力の自動デバッグの高速化、カードマスターの整理が可能になるなどの恩恵もありました。

まずカードゲームのテストプレイの効率化について。サーバーの移行に伴い、開発環境ではブラウザでもカード操作ができるようになりました。これにより開発初期段階からゲームのルールや初期カードの調整が可能となりテストプレイの効率がアップしました。

次にカード能力の自動デバッグの高速化について。カード能力ロジックがサーバー側で完結しているので、前作ではバトルで数分かかっていたものが、今作ではサーバー側で演出をスキップできることもあり10ミリ秒程度に大幅短縮。この高速化により、開発中のカード能力の調整コストを低減し、2カ月間隔の新カードパックのリリースに貢献しました。

最後にカード能力のマスターの整理について。前作では運用が長くなるにつれ、カードの数や新しい能力効果の追加により、カード能力のマスターが肥大化していきました。カード能力ロジックと演出ロジックがクライアント側で密接に関わっており、能力と演出に関わる記述が混在していたのが原因です。しかし今作ではサーバー移行により、カード能力処理と演出処理が分離できるようになり整理することができました。

以上が『Shadowverse Worlds Beyond』を例にしたCygamesのスマホゲームにおけるクライアント部分の技術設計となります。

これからも最高の体験をユーザーに提供するべく技術もゲームも超進化すると会場に向けて宣言した開発チーム一同。今後の運用や新作タイトルに注目です。

《気賀沢 昌志》

この記事の感想は?

  • いいね
  • 大好き
  • 驚いた
  • つまらない
  • かなしい
【注目の記事】[PR]

関連ニュース

特集

人気ニュースランキングや特集をお届け…メルマガ会員はこちら