『逆転オセロニア』におけるゲームバランスの把握

Kazuaki Tokunaga
DeNAデータ分析ブログ
20 min readJul 15, 2020

はじめに

こんにちは。DeNAゲーム事業部・分析部の徳永です。

本稿では、逆転オセロニアにおけるゲームバランス(対戦環境¹)の分析というテーマを通して、運用型アプリゲームにおいてデータアナリストがどのような仕事をしているのかをお話しできればと思います。

本稿は大きく分けて5つのパートからなります。第1のパートでは本題に入る前に、逆転オセロニアについての基本的な説明をさせていただければと思います。第2のパートでは、DeNAのデータプラットフォームにも触れつつ、ログの集計やダッシュボードの構築について述べさせていただければと思います。第3のパートでは、正しい意思決定につながる良い示唆を出すために、分析目的に即したデータ抽出や、プロダクトの深い理解に基づいたデータの解釈が重要であることを説明していきます。ここまででは対戦環境として主要デッキタイプ(アーキタイプ²)間のバランスを扱いますが、第4のパートではさらに立ち入って、個々のキャラクターの強さをどのように把握するかという点を扱います。最後に、本稿のまとめを第5のパートで述べさせていただければと思います。

逆転オセロニアについて

逆転オセロニア(オセロニア)は、オセロ³のルールで対戦するバトルゲームです。ユーザーは16枚のキャラクター駒(キャラ駒)からなるデッキを用いて対戦を行います。ターンごとに、4枚の手駒から1枚を選択して設置し、設置したキャラ駒の能力によって相手にダメージを与えていきます。原則として、相手のHPをゼロにすることで勝利となります。

キャラ駒にはHP・ATKなどのパラメータと、スキル・コンボスキルがあり、デッキに含まれているキャラ駒のHPの合計が自分のHPとなります。キャラ駒を設置すると、ATKと、スキルの内容やひっくり返す枚数などに応じて、相手に与えるダメージが決まります。

本稿のテーマは対戦環境の分析ですが、より具体的にはシーズンマッチというコンテンツの対戦環境を取り扱います。シーズンマッチは、ユーザー同士が対戦を行うコンテンツです。勝利するとポイントが得られ、敗北するとポイントを失う仕組みで、月ごとにより上位のクラスに昇格するためにポイントを競い合います。シーズンマッチはオセロニアのメインコンテンツとよべるコンテンツであるため、より面白いゲームにするために、どのようなゲームバランスになっているかを常に把握しておく必要があります。

オセロニアでは、「ユーザーとの共創」との理念のもと、対戦環境についてのデータをユーザーに公開する方針を取っています。データの公開も行いつつ、ユーザーのご意見に積極的に耳を傾け、ゲームとして面白い対戦環境を実現していくことを重視しています。以下の画像は、ニュースとしてゲームのなかで公開しているものです。

このようなデータが公開されるまでにはデータアナリストの働きが必要です。本稿では、このような対戦環境データの集計がどのように行われているのか、またこれらの定量データを通して対戦環境を把握するということをどのように行なっているのかについて、説明していければと思います。

データの集計と可視化

DeNAでは、ユーザーがどのようなデッキを用いて対戦を行ったのかや、その対戦がどのように進行したのかについての詳細なデータ(行動ログ)を、Google BigQueryというデータウェアハウス(DWH)のテーブルとして保存しています。このBigQueryのテーブルに対してSQLなどの言語で集計を行い、BIツールによって見やすく使いやすいかたちで開発チームに提供することで、意思決定に活用しています。また、必要に応じてさらにレポートメールの送信や、社内チャットツールであるslackへのbot配信を行うことで、レポーティングを自動化していきます。BIツールとしては、ArgusというDeNAの内製ツールを以前から使用していたほか、最近ではLookerの導入を行いました⁴。

はじめに提示したような対戦表の集計をどのように行なっているのかを確認しましょう。まず、シーズンマッチの対戦ログをみて、ユーザーが対戦で用いた16枚のキャラ駒からなるデッキを適切なタイプ(アーキタイプ)に分類する必要があります。アーキタイプ分類は、ルールベースでも使いやすくてある程度妥当な分類が可能ですが、機械学習アルゴリズムを用いて自動的に行うこともできます⁵。どのような分類を行うにせよ、分類結果が適切なものになっているかは、開発チームも含めて確認する必要があります。各デッキをアーキタイプに分類したならば、そのアーキタイプ分類に基づいて、使用率や勝率を集計していきます。

初めにお見せした画像では、アーキタイプの対戦相手ごとの勝率を集計していました。運営チーム内では、このような数値をより柔軟に確認できるように、BIツールを用いたダッシュボードというかたちでデータを提供しています。具体的には、まず、前日までの対戦結果が自動で集計表にまで反映されるようにしています。また、開発メンバーが確認したいと思った日付やクラス帯のデータをすぐに自分で確認できるように、これらの条件をGUIで指定して集計を実行できるようにしています。勝率のほかにも、各アーキタイプの使用率、デッキの内容となるキャラ編成率、先攻・後攻別での勝率、決着がつくまでのターン数なども重要な指標といえるので、これらの数値も同じダッシュボードに掲載します。

このようなダッシュボードが整備できれば、対戦環境データの集計と可視化は行えたといえるでしょう。ログの仕様を定め、データウェアハウスにおいてテーブルを使いやすく管理し、定常的に集計を行なってダッシュボードにおいて可視化を提供することは、データアナリストの主要な役割になります。

とはいえ、これだけで対戦環境の定量的な把握が完了したとはいえません。どのような目的のもとにどのような条件でデータを集計するか、また集計結果である数値をどのように解釈するか、という論点は残ります。切り口次第で幾通りもあり得る集計結果から、対戦環境を適切に捉えてより面白いゲームにするための意思決定に役立てることは、決して簡単なことではありません。

ダッシュボードにおいてデータの可視化を提供することだけではなく、それを適切な意思決定につなげていくのもデータアナリストに求められる役割です。DeNAのゲーム事業では、ログデータの集計やダッシュボードを提供するだけでなく、それらをより面白いゲームを作るための適切な意思決定に役立てるところまでをデータアナリストが担います。そのため、データアナリストには、担当しているゲームタイトルついての深い理解を持ち、開発チームとの緊密なコミュニケーションを取ることが求められます。チームの外からデータを扱うだけでなく、開発チームの一員として、ゲームタイトルというプロダクトにコミットすることが求められるのです。

以下では、単なるログの集計やダッシュボードの提供を超えて、データをもとにどのように対戦環境を捉えることができるのかについて説明していきたいと思います。そのなかで、ゲームそのものについての深い理解をデータアナリスト自身がもつことや、開発チームと緊密に連携して分析の目的を明確にすることがいかに大事となるのかについて、お話しさせていただければと思います。オセロニアの詳細に立ち入る話とはなりますが、それを通してデータアナリストの働き方についてご理解いただければと思います。

正しい意思決定につなげるために

既に述べたように、ダッシュボードさえ整備すれば、良い意思決定につなげるための対戦環境の定量的把握が完了するわけではありません。良い意思決定につなげるためには、分析目的に応じて適切な条件で集計を実行し、結果である数値を正しく解釈する必要があります。このパートでは、正しい意思決定につなげるための、目的に応じたデータの集計や、数値の解釈ということについて、オセロニアの実例を用いて説明していきます。

目的に応じて過不足ないデータを提供することは重要です。ダッシュボードを整備しても、そこからはさまざまな数値を引き出すことができるので、目的を明確にしないままではどの数値を見たら良いのかわからなくなってしまいます。以下では、オセロニアの対戦環境の把握において、目的に応じてどのように見るべき数値を変えているのかを2点説明しましょう。

まず、どのようなユーザーがプレイしているときの対戦環境を把握したいのかを考える必要があります。新しいキャラ駒の設計や、バランス調整を考えるにあたっては、現在リリースされているキャラ駒や対戦ルールによって織りなされる対戦環境を最も深く理解し、それに基づいて対戦を最も楽しんでいただいているユーザーを集計対象にするのが適切です。シーズンマッチにおける最上位のクラスはダイヤモンドマスタークラスですが、ダイヤモンドマスタークラスだけでも多くのユーザーがいるため、そのなかでもさらに上位の順位に位置するユーザーに集計対象を絞ることも考えられます。そのようなユーザーの対戦をみることで、よりプレイングスキルが高く、多種類のキャラ駒を所持しているユーザーが繰り広げる対戦環境を把握することができます。

ただし、集計対象とするユーザーをより上位クラスに絞っていくことは、それだけごく一部のユーザーの対戦だけをみることも意味しています。上位クラスの限られたユーザーの対戦状況は、そのほかの多くのユーザーがプレイしているときのゲームバランスとは直接には関係しないものです。上位クラスの対戦環境のバランスがとれていても、その他のクラスの対戦環境のバランスがとれていないのであれば、良い対戦ゲームとはいえません。そのため、最上位クラスのユーザーがプレイしている対戦環境を把握したいのか、あるいはより広い範囲のユーザーがプレイしている対戦環境を把握したいのかを適宜確認する必要があります。

2点目として、今回題材としているシーズンマッチというコンテンツでは、日によっては対戦ルールへの細かい調整が行われてることがある⁶ため、ルール調整がない日の対戦環境を把握したいのか、それとも特定のルール調整が行われた日の対戦環境を把握したいのかを明確にしなければならない、という点があります。たとえば、調べたい目的に応じて、集計すべき対象は以下のように変わるでしょう。

・個々のキャラ駒から構成される「最も純粋な」対戦環境を調べたい
→ルール調整がない日に限った対戦環境を集計する

・特定のルール調整のもとでの対戦環境が良いものなのかを調べたい
→その特定のルール調整の日に限った対戦環境を集計する

・コンテンツ全体を通して各アーキタイプがどれくらい使われているのかを調べたい
→ルール調整の有無を区別せずに全対戦を合算した対戦環境を集計する

細かいことではありますが、このような点についても、何を分析したいのかの認識と開発チームと共有した上で議論を進める必要があります。

ここまで、集計を行うにあたっては目的を明確にすることが大事だということを説明してきました。目的を明確にし、それに基づいて数値を出したならば、今度はそれを解釈して良い意思決定につなげていくことになります。数値の解釈においては、ゲームの特性や仕様について深い理解を持っていることが重要です。たとえば、アーキタイプの強さという単純そうにみえる概念についても、勝率という数値からアーキタイプの強さについての結論を導くには、慎重な検討が必要になります。以下ではこのことについて説明していきます。

勝率の解釈にあたっては、どのようなユーザーがそのアーキタイプを使用しているのかをよく検討する必要があります。たとえば、「[逢魔の少女]フェリヤ」というキャラ駒を中心にしたデッキは上位クラスでよく使われている主要なアーキタイプの1つです。しかし、この「[逢魔の少女]フェリヤ」を獲得するためには、通常の他のキャラ駒とは異なる、非常に多くのプレイ量が要求されます。上位のクラスにいるユーザーでも、まだ「[逢魔の少女]フェリヤ」を獲得することができていないユーザーは少なくありません。そのため、「[逢魔の少女]フェリヤ」を使用しているユーザーは、同じクラスのユーザーのなかでも特にプレイ歴が長いユーザーで、プレイングスキルも全体的に高く、また多種類のキャラ駒を所持している「強い」ユーザーだということがありえます。その場合、「[逢魔の少女]フェリヤ」を用いたデッキの勝率が他のデッキよりも高くても、そのことから直ちにこのデッキが強力であることを導くのには慎重でなければなりません。

より一般に、所持しているキャラ駒の種類数も多く、プレイングスキルが高いようなユーザーが多く使用しているようなアーキタイプは、勝率が高くなる傾向があると考えられます。しかしながら、そのことは、そのアーキタイプが他のアーキタイプよりも「強い」ことをそのままでは意味しません。そのアーキタイプをより多くのユーザーが使ったときには、勝率は低下するだろうと想定されます。捉えたいものが、個々のキャラ駒から構成されるアーキタイプ間のバランスのみであるならば、使用しているユーザーの特性による影響は除外して考えなければなりません。このことは簡単なことではなく、ゲームについてのさまざまな情報から、総合的に判断していく必要があります。

ここまで、データに基づいた良い意思決定を行うために、目的に応じた適切なデータ抽出や、ゲームの深い理解に基づいた慎重な解釈が必要になるということを述べてきました。これだけでも、「対戦環境を定量的に把握する」ということが、まったく単純なものではないことが理解できると思います。ダッシュボードでデータの可視化を提供するだけでなく、開発チームと議論しながら分析を進め、データに基づいた良い意思決定に導いていくことがデーアアナリストには求められます。

キャラ駒の強さを把握する

ここまで、対戦環境としてアーキタイプ間のバランスを念頭に置いて記述を進めてきました。しかし、対戦ゲームの面白さを考えたときに、アーキタイプ間でのバランスが担保されていれば全て問題ないわけではありません。アーキタイプとしてみたときに強さが突出していなくても、特定のキャラ駒の性能があまりにも飛び抜けていれば対戦の面白さを阻害するためです。本パートでは、キャラ駒の強さを把握するかという点について述べさせていただければと思います。

アーキタイプの強さだけでなく、個々のキャラ駒の強さも重要になるのは、以下のような理由からです。オセロニアでは、デッキに入れているキャラ駒は、手駒に引いていれば置いて使うことができますが、そもそも手駒に引いていなければ使うことがはできません。デッキに入れているどのキャラ駒が手駒に来るかは原則としてランダムです。このようなゲームシステムにおいて、デッキに含まれているあるキャラ駒を使えていたらほぼ確実に勝てるが、そのキャラ駒を使えていなければほぼ確実に負けるというデッキが存在するとしてみましょう。この場合、デッキ全体の勝率が落ち着いていたとしても、このデッキが勝てるかどうかは特定のキャラ駒を使えるかどうかで定まってしまい、プレイングスキルが勝敗に介在する余地がほとんどありません。このような状況は対戦ゲームとして明らかに好ましくないといえるでしょう。

とはいえ、個々のキャラ駒の強さを把握するのは簡単なことではありません。オセロニアが16枚から成るデッキを用いて対戦するゲームである以上、個々のキャラ駒の強さを定量的に把握するためには工夫が必要です。ここでは、3つの方法を説明しましょう。

まず、各アーキタイプにおいてそれぞれのキャラ駒がどれくらいの割合使われているのかを集計する、という方法があります。この割合のことを編成率とよぶことにします。各アーキタイプごとに上位クラスのユーザーでの編成率が100%に近くなっているようなキャラ駒は、各アーキタイプで必須のキャラ駒となっており、強力であるといえるでしょう。そのため、編成率をキャラ駒の強さの指標として考えることができます。ただし、編成率が100%近くになっているからといって、そのキャラ駒がゲームの面白さを阻害するほど強力であるかはわかりません。反対に、そのキャラ駒を所持しているユーザーが少ないとき、この編成率の値は高い値になり得ませんが、それでもそのキャラ駒が非常に強力である可能性は否定されません⁷。

続いて、アーキタイプごとの勝率ではなく、より詳細なデッキの内容ごとに勝率を集計する、という方法も考えられます。たとえば、オセロニアでは、デッキ16枚のうち、最高レアリティのS+駒が通常3–5枚編成されており、これらのキャラ駒が勝敗を大きく左右します。そのため、デッキに編成されているS+駒の組ごとに、対戦数・使用ユーザー数・勝率などを集計することが考えられます。

具体的な例をみてみましょう。たとえば、「[鐘つきフルスイング]ミニエラ」というS+駒の強さに関心があるとします。このとき、「[鐘つきフルスイング]ミニエラ」がどのようなデッキで使われているかと、「[鐘つきフルスイング]ミニエラ」と似た能力を持つ入れ替え候補となるキャラ駒がどのようなキャラ駒であるかを考えます。実際には、S+駒が「[破壊竜]アルイーナル、[先陣の騎士団長]ジリアン、[暴走気味な信神]シェンメイ、[鐘つきフルスイング]ミニエラ」であるデッキと、S+駒のうち「[鐘つきフルスイング]ミニエラ」を「[信神顕示]シェンメイ」と入れ替えたデッキ、および「[鐘つきフルスイング]ミニエラ」を「[貪る屍骸]マリーツィア」と入れ替えたデッキの勝率を比較します。そうすることによって、「[鐘つきフルスイング]ミニエラ」が、類似した性能を持つキャラ駒である「[貪る屍骸]マリーツィア」や「[信神顕示]シェンメイ」と比べて、どれくらい強力なのかを把握することができます。

最後に、対戦中に特定条件を満たしたときの勝率を集計するという方法もあります。たとえば、あるアーキタイプのデッキについて、キャラ駒Aの性能がオーバーパワーなのではないか、特にキャラ駒Aとキャラ駒Bを組み合わせたときにはほぼ勝利が確定してしまうのではないか、という懸念があるとします。この場合には、次のような勝率を集計することができます。

・キャラ駒Aを手駒に引いた時の勝率
・キャラ駒Aを手駒に引けなかった時の勝率
・4ターン目までにキャラ駒Aを置いた時の勝率
・4ターン目までにキャラ駒Aとキャラ駒Bを両方とも置いた時の勝率

もし、「4ターン目までにキャラ駒Aとキャラ駒Bを両方とも置いた時の勝率」が90%にまで達しているのであれば、この条件はそこまで成り立つ場面が限定されているわけではないと考えられるので、ゲームとして好ましくないバランスになっている、と考えることができます。ここでは4つの集計例を挙げましたが、より複雑な条件下での勝率など、さまざまな集計を考えることができます⁸。

以上、アーキタイプよりもさらに進んで、キャラ駒の性能を把握するための方法を3つお話ししました。2点目と3点目については、かなり細かな観点での集計になります。ここまで細かくなってくると、集計対象になっているユーザー数や対戦数がどのくらいの値なのかを確認して、観測された勝率と「真の勝率」との間の標本誤差に配慮する必要もあります。とりわけ集計対象となるユーザー数が少数であるならば、それがどのようなユーザーなのかについても考えを巡らせることも重要です。また、データを集計するための切り口も飛躍的に増大していきます。それぞれのキャラ駒がどのような使われ方をしているのか、類似した性能を持つキャラ駒に何があるのかを把握したうえで、どのキャラ駒がどのように対戦の面白さを阻害しているのかの筋の良い仮説を持っていることが何よりも重要です。先ほどにも増して、どのような仮説をもとに対戦データを集計するのか、大量にありうる集計結果をどのように開発チームに提供するかについて繊細な判断が求められることになります。

おわりに

本稿では、逆転オセロニアにおける対戦環境の定量的な把握という具体的なテーマを通して、DeNAのゲーム事業部においてデータアナリストがどのような働きをしているのかをお話ししてきました。ログ集計の可視化をダッシュボードとして提供することも中心的業務ではありますが、それ以上に、分析したい目的に応じて過不足なくデータを提示し、ゲームの深い理解に基づいて数値の正しい解釈を提供し、データに基づいた正しい意思決定をサポートしていくことがデータアナリストには求められます。本稿を通して、そのようなデータアナリストの姿を読者の皆様が少しでも感じ取ることができていたらと思います。

オセロ・Othelloは登録商標です。TM&© Othello,Co. and MegaHouse
© 2016 DeNA Co.,Ltd.

Notes

[1]: 対戦ゲームでは、リリースされているキャラクターの性能や、バトルのルールによって構成される対戦全体のゲームバランスのことを「対戦環境」とよぶことが多いため、本稿でもこの言葉を用います。

[2]: 対戦ゲームにおけるデッキタイプのことはしばしばアーキタイプとよばれるので、本稿でもアーキタイプとよびます。

[3]: オセロ・Othelloは登録商標です。 TM&© Othello,Co. and MegaHouse

[4]: DeNAのデータプラットフォームについては、小口と長谷川が執筆した記事をお読みいただければと思います。

[5]: 機械学習アルゴリズムを用いたアーキタイプ分類とその活用については、英語となりますが、安達の記事をお読みいただければと思います。

[6]: 具体的には、個々のキャラ駒は神属性・魔属性・竜属性のいずれかの属性を有しているのですが、この属性ごとにキャラ駒のHP・ATKに一定の倍率がかけられたり(属性補正)、通常盤面ではなく特殊なマスが設置された特殊盤面が設定されていたりします。

[7]: 単純な編成率ではなく、「各アーキタイプの対戦で、各キャラ駒を所持しているユーザーの合計対戦対数のうち、そのキャラ駒が編成されている割合」という、所持ユーザーの合計対戦回数を分母にした編成率を指標とすることで、この問題は一定解決されます。ただし、所持ユーザーを分母にした編成率という指標は、その数値が高いことが対戦環境でよく使われているキャラ駒であることを意味しませんし、やや直感的な解釈が難しいものになります。

[8]: このような集計を行うためには、単なるデッキ情報とその勝敗情報だけのログではなく、対戦の進行状況についての詳細なログをデータウェアハウスに蓄積しておく必要があります。

--

--