こんにちは。Shadowverseでサーバーサイドを担当している岸本です。
2月16(木)、Developers Summit 2018にて「Shadowverseのリリースサイクルを支える運用基盤」という講演を行いました。運営の皆さま、また講演にご参加いただいた皆さま、ありがとうございました。
この講演では、Shadowverseというゲームタイトルの運用に際し、開発側で大きな課題となっている「カードの組み合わせ」のデバッグに関して、私たちが試みた施策をご紹介しました。ここでは、その内容を振り返ってみたいと思います。
講演の内容
まず、Shadowverseについて簡単に説明しておくと、Shadowverseはデジタルカードゲーム(DCG)と呼ばれるジャンルのゲームです。プレイヤーは1000枚を超えるカードの中から40枚を選んで「デッキ」を編成し、相手プレイヤーと対戦します。
多種多様なカードの組み合わせパターンが存在するのがShadowverseの面白さにつながっているのですが、開発側としてはそれが悩みの種でもあります。というのも、カードの組み合わせに破たんがないかどうか、リリース前にすべてチェックする必要があるからです。つまり、カードの種類が増えれば増えるほど、その作業が大変になるのです。
ちなみに、そのカードの組み合わせ総数がどれくらいあるかというと、「約4京」です。英数字で書くと約40,000,000,000,000,000。途方もない数字で、当然ながらこれだけの組み合わせを人力でデバッグするのは不可能。そこで、この作業を自動化しようという発想から導入したのが、自動デバッグツールのBotverse(ボットバース)です。
講演では、このBotverseの具体的な仕様と、その性能評価についてご紹介しました。詳細については、下に掲載した講演のスライドをご参照ください。
Botverseの「祭壇」がなぜ必要か
講演でもご紹介しましたが、Botverseを稼働させるにあたり、私たちは自動デバッグ用のスマホ端末をズラリと並べた棚を設置しました(この棚を「祭壇」と呼んでいます)。なぜこんなものをわざわざ作ったかについて、少し補足しておきたいと思います。
上の写真にあるように、「祭壇」では動作中の画面が見えるようにしました。デバッグの実行だけなら画面を表示する必要はないのですが、チーム内にデバッグへの意識を浸透させるため、あえて画面が見えるかたちにしました。
ゲーム開発においては、コンテンツをいかにストレスなくプレイしてもらえるかどうかが、死活的に重要な意味を持ちます。どんなに創意工夫に富んだコンテンツを作っても、それをユーザーに楽しんでもらえなければ意味がないからです。バグのあるタイトルをリリースするということは、ユーザーにゲームを十分にプレイしてもらえないリスクが生じるということ。これは絶対に回避しなければなりません。
上記を踏まえ、「祭壇」は、デバッグの重要性を開発チーム全体で共有するために作りました。Botverseはテスト結果やエラー内容を社内SNSに流す機能を備えていますが、そうしたレポートのみでは、どうしてもほかの作業に埋もれてしまい、デバッグに対する意識を高く保ち続けることは困難です。そこで、デバッグしている端末を視界に入る場所に置き、その様子を日常的に目にすることで、チーム全体がデバッグに自然と意識を向けられるようにしたわけです。
最後に
最後までお読みいただき、ありがとうございました。
今回ご紹介したBotverseは発展途上のツールであり、改善できるところがまだまだあります。私たちは最高のコンテンツをユーザーに届けるために、今後も改善を続けて効率化をさらに進めていきます。
本講演は、作業の自動化・効率化が焦点でした。自動化できる部分をとことん自動化していき、それによって生まれたリソースを「ゲームをいかに面白くするか」というチューニングの部分に回すことができれば、同じコストでより質の高いコンテンツを作ることができます。単純作業はツールに任せ、開発チームは「考える」作業に専念できる、そんな環境を目指したいと思っています。
本講演がソフトウェア開発に携わる皆さまの気づきや刺激になれば幸いです。私たち開発チーム一同、ユーザーの皆さまに最高のコンテンツをお届けできるよう、日々励んでいきます。