イベント

2019.11.19

【CEDEC2019】「『逆転オセロニア』における、機械学習モデルを用いたデッキのアーキタイプ抽出とゲーム運用への活用」セッションレポート

  • Facebookでシェア
  • Twitterでツイート
  • はてなブックマークでブクマする!
  • LINEで送る
  • follow us in feedly
  • Facebookでシェア
  • Twitterでツイート
  • はてなブックマークでブクマする!
  • LINEで送る
  • follow us in feedly

2019年9月4日~6日の期間、パシフィコ横浜において、ゲーム開発者向けカンファレンス「CEDEC2019」が開催されました。

本記事では9月5日に実施された、『逆転オセロニア』における、機械学習モデル (トピックモデル) を用いた、大規模データからのデッキアーキタイプの抽出、関連するKPIの可視化などについて紹介されたセッションの内容を一部抜粋してレポートします。

セッションの冒頭では、分析部 アナリストの安達涼より、登壇者の簡単な自己紹介のあと、DeNAゲーム事業部分析部について、現在では各ゲームタイトルに専属アナリストをアサインする体制があること、行動ログ分析、ユーザー調査など、さまざま分析手法を利用して分析に取り組んでいることが説明されました。

また、新しい分析手法や機械学習などの高度な技術を活用したR&Dにも挑戦しており、本セッションでの発表は、その実践例の一部を抜粋して紹介するとのことです。

『逆転オセロニア』では、これまで積極的にAIや機械学習の活用を実施しており、特に深層学習を用いた「対戦AI」、アソシエーション分析を用いた「デッキのオススメ編成」などをゲーム内に実装するなど、プレイヤー体験を向上させる施策を実施してきました。

最近では、ゲーム外(運営側)でも、AIや機械学習の手法を用いて、作業の効率化やプレイヤー体験の向上のために、さまざまな検証を行っていると、安達は述べました。

DeNA 安達 涼

『逆転オセロニア』とデッキアーキタイプ

『逆転オセロニア』は、オセロのルールに基づいた対戦型スマートフォンゲームアプリで、駒のスキルやコンボを組み合わせて戦う高い戦略性と、劣勢からでもドラマチックに逆転できることが特徴となっています。

ゲームプレイコンテンツとしては、キャラクター(駒)の中からプレイヤーが自由に構築したデッキでの対戦が中心で、PvPがメインで遊ばれています。

なお、PvPコンテンツ内ではプレイヤー同士でポイントを奪い合い、月間の到達クラスを競うリアルタイム対戦「クラスマッチ」が最も遊ばれていることが分かるデータも紹介されました。

『逆転オセロニア』のキャラクター(駒)には「神・魔・竜」の3種類の属性が設定されていますが、これらの属性に属性間の相克や優劣などはありません。

また、クラスマッチには「属性補正」が設定されており、「神・魔・竜」それぞれの属性のキャラクター(駒)のHP/ATKなどに対して、ステータス補正が設定され、属性補正によって毎日環境が変化するため、その日の相性の良いデッキを選ぶことで、飽きを防ぐ仕組みになっているとのことです。

プレイヤーは約3,500種類以上存在する駒の中で、自分が保有している駒から16個を選んでデッキを構築し、そのうち1つをリーダーの駒に指定します。

それぞれの駒には固有のスキルやステータスが存在するため、盤上に駒を置いた際、相手の駒を自分の駒で挟んだ場合に特定条件下で発動する「コンボスキル」を決めて勝利するには、駒同士のシナジーを考えてデッキを組むことが重要なようです。

このデッキ構築に関して、戦い方を考慮したおおまかなデッキ構成に「アーキタイプ」という概念が存在します。

『逆転オセロニア』には、現在20種類前後のアーキタイプが存在しており、アーキタイプは属性を統一することで効果を発揮するものなどもありますが、リーダー駒とアーキタイプは必ずしも紐づいていないとのことです。

デッキアーキタイプの例として、竜属性の駒のみで構成され、高い攻撃力と強力なコンボスキルで早い決着を狙える「貫通速攻」と、3属性の駒で構成され、バランス良く戦える「混合」のアーキタイプが安達より紹介されました。

アーキタイプの相互関係は、対戦環境に大きな影響を及ぼすため、バランスが崩れると「特定のアーキタイプが強すぎてつまらない」など、中長期の継続率に大きな影響を及ぼします。

特に『逆転オセロニア』のようなPvPが主体のゲームでは、プレイヤー数は非常に大切なため、バランスの把握やメンテナンスが重要になります。

運用上の問題点と、既存手法の限界

これまでの運用上の問題点として、「特定のアーキタイプが強すぎる」「アーキタイプの優劣が固定化されている」ことが挙げられ、対戦環境を平均化かつダイナミックにして、プレイヤー体験を向上させることが必要となってきたとのこと。

強い駒を単純に禁止や制限する運用もありますが、『逆転オセロニア』では、駒の追加と属性の追加がプランニングの主なアクションになるようです。

運用チームでは対戦環境の改善のためにプランニングを実施する際、これまではプランナーがクラスマッチを徹底的にプレイすること、プレイヤーの声をもとに人力で対戦環境を把握し、その定性情報を用いてプランニングをしていたと語られました。

この方法での問題点は3つあり、まず1つは、さまざまなデッキを使って、何ヶ月も膨大なバトル数を消費するため「プレイング習熟まで時間が必要となる」こと。

2つ目はプレイヤーの声や人間の主観的な見解は、ネガティブな要素に引っ張られる傾向など、心理的なバイアスにも影響を受ける恐れがあることです。

3つ目は、増え続けるアーキタイプ数への対応が難しいこと。アーキタイプが少ない時期は、徹底的にプレイすることにより、異なるアーキタイプ間の対戦を網羅的に十分なサンプル数を取得できますが、現状20種類ほどのアーキタイプがある中で、人的リソースの観点からも、人力で対応するには現実的ではなくなっているようです。

これら述べてきた理由で、定量的に対戦環境を把握することが、必要不可欠と言えるでしょう。

そこで、ログデータを参照し、リーダー駒の編成率や勝率を分析してみると、デッキアーキタイプという抽象度でデータを解釈するのが難しく、リーダー駒レベルの情報でプランニングをすると、意図せずに対戦環境のバランスを崩す可能性があることが説明されました。

例えば、勝率35%のリーダーaのデッキ、勝率50%のリーダーbのデッキがあった場合、対戦環境を整えるためにリーダーaのデッキに駒を追加すると勝率が50%に上がりますが、なぜかリーダーbの勝率が65%に上がってしまいました。

このプランニングの失敗の理由は、どちらのデッキもアーキタイプAに属しており、追加した駒はどちらのデッキにも組み込まれてしまったため、バランスが崩れてしまったことにあります

アーキタイプレベルでプランニングをすれば、デッキのコンセプト自体が異なるため、勝率を上げることを狙ったアーキタイプには効果的で、他のアーキタイプでは使用されないような駒をピンポイントに考えられ、このような事故を防ぐことができます。

アーキタイプの抽出方法について、ルールベース(定義に基づいた分類)で対応できないのは、3,500種類以上の駒が存在し、同じリーダーでも異なるアーキタイプに所属することもあるため、ルールを構築することが不可能になっているようです。

また、プランナーが抽出したいアーキタイプに含まれる駒を事前に指定しなければならず、プレイヤーが編み出した、プランナーが想定しない新しいアーキタイプは抽出できなかったとのこと。これらの問題点をふまえてチーム全体で「機械学習によるデッキのアーキタイプ抽出してみよう」という動きになったと、安達は述べています。

機械学習モデルの概要

機械学習のデータについて、プレイヤーのリテラシーが高く、デッキのアーキタイプが成立している、クラスマッチのダイヤモンドクラスデッキデータを使用しています。

このデータを用いて、数十万のデッキでアーキタイプを抽出する週次データと、月次データで属性補正ごと、2種類の粒度で分析を行っているとのことです。

概要として、トピックモデルと呼ばれる手法、その中でも良く使われるLDA(Latent Dirichlet Allocation)のアルゴリズムを用いて、アーキタイプ抽出を行っています。

このモデルに大量のデッキデータ、パラメータとして抽出するアーキタイプ数を入力すると、2つの結果を出力し、1つは自動的に抽出されたアーキタイプそれぞれの組成になります。

各アーキタイプはデッキに存在した、すべての駒上の確率分布として表現されます、つまりそれぞれのアーキタイプのデッキで各駒がどのくらい採用されやすいのか、ということが表現されているとのこと。

アーキタイプAは駒1と駒99の確率が高く、これらの駒が良く採用されているアーキタイプだと解釈することができます。

このキャラクター組成の情報をもとに、それぞれがどんなアーキタイプなのか、という解釈をプランナーが実行します。

今回のデータでは『逆転オセロニア』をある程度遊んでいるプレイヤーなら、この組成を見れば何のアーキタイプなのか、紐付けられるレベルの抽出ができていると考えられています。

これは使用データをダイヤモンドクラスに絞っていることで、成立しているデッキタイプが多く、ノイズが少ないことが考えられます。

2つ目は、1~100,000番目までのデッキがそれぞれどのアーキタイプに属するのか、という情報が出力されます。

それぞれのデッキはアーキタイプ上の確率分布として表現され、デッキ1だとアーキタイプBに属する可能性が高く、デッキ100,000だと、アーキタイプGに属する可能性が高いと言えます。

LDAというアルゴリズムは、大量のドキュメントをその中の単語の分布をもとに、トピック別に分類する用途で開発されたことも明かされました。

本モデルでは、各トピックはドキュメントに出てくるすべての単語上の確率分布、各ドキュメントはトピック上の確率分布として表現されます。

ドキュメント内の各単語に対し、そのドキュメントに紐付いたトピックの確率分布を参照し、その単語が何のトピックから生成されているのかを決めます。

次に、選ばれたトピックに対応する確率分布を参照し、その単語が生成される確率を求めます。この作業をドキュメント内のすべての単語について実行し、ドキュメントが生成されます。

続いて、トピックに紐付いた確率分布と、ドキュメントに紐付いた確率分布の事前分布に、Dirichlet分布を仮定し、サンプリング手法によってこれらの事後分布を求めます。

次にトピックモデルを用いたデッキアーキタイプ抽出に活用するために、ドキュメント内の単語を「デッキ内の駒」、ドキュメントを「デッキ」、トピックを「アーキタイプ」に置き換えます。

先述のモデル推定を実行することで、ここではアーキタイプが駒上において、各ドキュメントがトピック上の確率分布でしたが、ここでは各デッキがアーキタイプ上の確率分布として求められます。

トピックモデルの利点は、実装が簡単で、新しいアーキタイプを抽出可能、時系列でのアーキタイプの紐付けが容易、パフォーマンスも良いことが挙げられました。

デッキアーキタイプの抽出フローは、まずBigQueryからRaw対戦ログ(デッキ情報、勝敗など)を取り出し、その中からタスクキルなどの使用しないデータを取り除いたり、デッキ情報をモデルが使える形に変換したりと前処理をします。

次にルールベースで抽出できるアーキタイプを抽出します。LDAだけでもきちんと抽出できますが、ルールベースで抽出されるアーキタイプ、機械学習で抽出するアーキタイプの両方にとってノイズが減ることが判明しているとのことです。

実際の運用では、プランナーに依頼し、Googleスプレッドシートにルールベースで抽出するアーキタイプ名と駒に関するルールを書いてもらい、アルゴリズムがそのシートを読み込み、指定されたものを抽出しています。

その後、デッキデータに関してLDAアルゴリズムを適用し、指定した数だけアーキタイプを抽出します。最後にそれぞれアーキタイプに関して、過去に抽出されたアーキタイプと比較して紐付けをします。

アーキタイプは駒上の確率分布なので、分布間の距離を用いて紐付けを行います。これを抽出したすべてのアーキタイプについて繰り返し実行し、どのアーキタイプとも紐付かない場合は、新しいアーキタイプとして検出します。

可視化ツールの紹介

対戦環境の改善により、プレイヤー体験向上を実現するという目標を考えたとき、2つのポイントが重要だと、安達は述べています。

1つ目は「現状把握と運営のアクションの効果確認が容易にできる」こと。ここでは使用率や勝率などアーキタイプに関連する統計量がひと目で分かり、かつ時系列で比較できる必要があります。既存の内製BIツールでは自由度が低く、実現できなかったとのこと。

2つ目は「運営チームの誰もが対戦環境を意識できる状況を作り出す」ことです。今回の分析手法により対戦環境が誰にでもわかるようになったため、ゲームプランナーだけでなく、運営チームの他のメンバーにもプレイヤー体験向上のためにできることのアイデアを出して欲しいとの思いがあったことも語られました。

これを実現するためには、ローカルPCで結果を表示してスライドに貼って共有する方法では不十分と考えたようです。

この要件を実現するために、「Dash」と呼ばれるPython製のWebアプリケーションのフレームワークを採用しました。これを利用することでベーシックなレポート、インタラクティブなダッシュボードなどを作成することができます。

さらにDashはオープンソースであり、無料で使用できる上、開発もアクティブに実施されています。JavaScriptの知識がなくてもPythonのみですぐにダッシュボードを作ることが可能だとのこと。

高い自由度も魅力で、レイアウトも簡単に変更でき、公式ページには40を超えるダッシュボード例とソースコードが公開されています。

また、誰でも簡単に対戦環境を確認できる点に関しては、ダッシュボードをGCP(Google Cloud Platform)インスタンス上でデプロイすることで解決しています。運営チームのメンバーは、Webブラウザからダッシュボードにアクセスすることで、いつでも対戦環境を確認することが可能になったとのことです。

また、週次と月次の2種類のデータを使用してアーキタイプ抽出を行っていますが、可視化ツールも用途に応じてそれぞれに対応するものを作っています。

週次の可視化ツールは、月~日まで一週間のデータを用いてアーキタイプを抽出し、月曜日にツールを更新しています。ここでは、新しい駒の追加で対戦環境が崩れていないかなど、最新の対戦環境の把握のために使用しています。

このツールで「このアーキタイプにはどんなデッキが含まれるのか」「どの駒がどのくらいの確率で採用されているのか」「使用しているプレイヤー数や勝率」「自分が先行/後攻の場合の変化」「決着までの平均ターン数」などを簡単に確認できます。

対戦分布では、対戦表で抽出された各アーキタイプの勝率や、アーキタイプ間の勝率を確認可能で、プレイヤー分布ではそれぞれのアーキタイプを使用しているプレイヤー数を表示しています。

月次データを使ったツールでは、属性補正ごとにアーキタイプを抽出した結果を表示しています。月次のクラスマッチの補正ごとの抽出結果を表示、より詳細な対戦環境情報の把握やプランニングのPDCAサイクルに活用しているとのことです。

ゲーム運用への活用

ここからはDevelop統括部 企画部 プランナーの岩城にバトンタッチし、実際の運用現場でこの分析ツールがどのように活用されているのか、いくつかの具体例と共に説明されました。

DeNA 岩城 惇

『逆転オセロニア』の運用課題について、分析ツール導入前は「アーキタイプの優劣が固定化」「特定のアーキタイプが強すぎる」という2点の問題点を挙げました。

これまではプレイングを習熟したプランナーの意見および、プレイヤーからの定性意見を中心に、一部ですがルールベースの定量分析を加えつつ、改善とプランニングを実施してきたとのこと。

ですが、「客観的に判断をする難易度が高い」「プレイング習熟まで時間が必要」「増え続けるアーキタイプ数の対応が難しい」「新しいアーキタイプを検知しづらい」といった課題で、正確で網羅的な現状把握が難しく、改善結果が正確に評価しづらくなっていました。

分析ツールの導入後は、運用チームなら誰でもアクセスできるツールを採用したことで、運用上の問題点は変わりませんが、定性意見とツールによる定量評価を併用することにより、チームに非常に良いインパクトをもたらしたようです。

客観性に関しては「実際に数値として環境の情報が確認できるので、客観的な判断がしやすくなり、さらにトッププレイヤー傾向を分析しやすくなったことで、プレイング習熟の時間が短縮され、プランナーの属人化が大きく改善しました」と岩城は語っています。

また、アーキタイプが増えても相性があるため、相関関係をひと目で確認でき、新しいアーキタイプの検知についても、ツールが自動で検知するためスムーズに対応できるようになったようです。

その結果、正確に網羅的な現状把握を継続的に行い、改善アクションがスムーズになりました。その中でも個人的にインパクトがあったのは、ツールのデータをWebブラウザ上でいつでも手軽に確認できることによって、誰でも客観的に確認できる点だと、岩城は述べました。

プランニングの前段階の問題が改善されたことで、課題点に確信が持てなくて日々悩んでいたプランナーにとって、改善のプランニングに集中でき、今までに比べて業務効率が何倍にも向上した印象がありました。

続いては、実際に活用された改善プランニング具体例が紹介されました。

改善アクション1「対戦環境のバランス平均化」

運用チームでは対戦環境のひとつの理想状態として、アーキタイプ同士の相性が拮抗していて、プレイヤーの選択肢が多様に存在する状態を考えているようです。

その多様性が失われることがしばしばあり、一部のアーキタイプが駒追加が続いたり、属性補正に相性が良かったり、いくつかの要因によって相性の弱点がなくなり、一強状態になる状態が実際に発生しました。

一強状態が続くと、他のアーキタイプが淘汰されてしまい、代わり映えのしない対戦が続き、中長期の継続率に大きな影響を及ぼします。

分析ツールで抽出した勝率のグラフでは突出しているようには見えませんが、対戦表を見ると、他のアーキタイプにほとんど勝ち越していることから、一強になる可能性をはらんでいると判断できます。

このように実際にグラフとして可視化されることで、明確に課題が検出できると同時に、一強状態を改善し、多様性を維持するために何らかの対策が必要だと感じたとのことです。

そこで実施したアクションが「適切な抑止力の選定と対戦環境への配慮」になります。

簡単に既存のアーキタイプの弱体化を行えない制約を考慮しつつ、一強になりそうなアーキタイプを平均化しようというアクションです。平均化の実現のために、対戦表の相性比較から「すくみ」が生まれるように、抑止力となるアーキタイプを複数選出しました。

そして一強の抑止力となるアーキタイプを強化することで、相対的に一強状態を解消することを狙いました。

ここで大事なのが環境への配慮で、単純に抑止力を選定するとどちらかのバランスが崩れやすいため、必ず複数を強化することでアーキタイプの勝率バランスを平均化することを心がけた、とのことです。

そのため属性補正に関しても、複数のアーキタイプの勝率が拮抗するものを採用したり、使用率の低いアーキタイプに駒を追加して、強化と普及を促しました。

このアクションの結果、突出しかけていたアーキタイプのバランスを、対戦環境に配慮しながら抑えることができ、適切な属性補正を特定し、スムーズに調整ができた上、抑止力となるアーキタイプの選定がピンポイントに実施できたとのことです。

改善アクション2「勝てるアーキタイプの選択肢を増やす」

このアクションでは、アーキタイプ間の優劣が固定化しているという課題に対応しています。

一定のアーキタイプの勝率が相対的に他のアーキタイプより高いことから、プレイヤーの使用が偏り、他のアーキタイプが徐々に淘汰され、結果的にプレイヤーの選択肢が少なくなってしまう状況になります。

アーキタイプ間の優劣が固定化してしまうと、プレイヤーの選択肢が少なくなり、それにより「飽き」につながり、中長期的の継続率に影響が出てしまいます。

ある月の同じ属性補正で、3ヶ月後の勝率を比較すると、いくつかのアーキタイプの順位は多少上下しましたが、上位の序列に変化がないことがわかりました。

この課題に対する改善アクションは「既存のアーキタイプを強化することで、固定化した環境を変化させることを目指してプランニングしています」と岩城は話しました。

つまり固定化したグラフに割って入るように、アーキタイプを強化しました。参照したのは勝率の比較とアーキタイプの使用率の比較データになります。

まずは勝率の比較によって、勝率は悪くなく、かつ使用率の低いといった条件を満たすアーキタイプを探します。

その理由は、キーとなる駒が足りない、プレイヤーにあまり普及していないといったアーキタイプそのものの強さに比較的ネガティブな要素が少なく、強化および普及が容易だと考えられたためです。

具体的な改善アクションは、選出したアーキタイプに対戦環境をもとに、その勝率が高くなる属性補正を追加、デッキの核となる駒の追加、アーキタイプに必要な駒を普及させるために定期的に開催されるガチャを実装しました。

結果として、アーキタイプの選択肢を増やすことに成功し、キャラクターの設計方針がスムーズにでき、アーキタイプそのものを追加する場合に比べて、少ないコストで環境を変化させることができました。

改善アクション3「新しいアーキタイプの検知と使用率向上」

アーキタイプは運用から提供するもの以外でも、プレイヤー間で日々生み出されているそうです。想定外のアーキタイプは『逆転オセロニア』でも検知されており、毎月新たなアーキタイプを見つけることができます。

この事象は、アーキタイプの優劣が固定化していることに対して、新しい選択肢を広げるという意味で、良い影響を与えることが可能です。

新しいアーキタイプについては、ツール上で「NEW」と表示され、それらの勝率や使用率を参照可能になっているとのことです

検知したアーキタイプについて運用側では、対戦環境に悪影響はないのか、どうやったら強化できるかを調べる必要があると、岩城は話しました。

ここでツールを用いて対戦成績と使用率を比較して、検出したアーキタイプを分析します。まず新しいアーキタイプと既存のアーキタイプの使用率を差分比較します。一見新しいアーキタイプに見えても、広義では他のアーキタイプに含まれる可能性もあるからです。

この時点で新しいアーキタイプであると判断された場合、次に対戦成績を比較し、勝率が高くなる補正は何か、逆に勝率が突出してしまう補正はないか、について検討しています。

そこで問題ない場合、この属性補正について新しいパターンとして蓄積し、新しいアーキタイプの使用率の向上を図りたい場合、適切に使用できる体制を整えました。

このアクションの結果、新しいアーキタイプの使用率が向上するシーンを生み出すことができました。

検知に関しては、ツールがない場合は、非常に難易度が高く、明確に新しいアーキタイプを検知できたことは大きな価値になっています。

また、新しい場合でも対戦表や相性を確認できるので、対戦環境の傾向をつかむことで、もし将来的に新しいアーキタイプを強化したい、再検知したときに強化したいときでも速やかに対応できるナレッジを蓄積できたことも、大きなメリットだと岩城は述べています。

まとめと展望

最後に安達から、今回のセッションの簡単なまとめと、今後取り組みたいこととして、現在『逆転オセロニア』に実装されている駒の属性レベルでのレコメンデーションに、アーキタイプレベルでのデッキレコメンデーションを追加すること、対戦環境のダイナミックさを担保する「属性補正の最適化」「プランニングプロセスの自動化」や、対戦環境変化の予測などにも注力していきたいと、本セッションを締め括りました。

取材・文・撮影:細谷亮介

GeNOM(ゲノム)とは

DeNAのゲームクリエイターを様々な切り口で紹介するメディア(運営:株式会社ディー・エヌ・エー)です。ゲーム開発の現場で生まれる様々なエピソードや、クリエイター紹介、イベント紹介などを通して、DeNAで働くメンバーの”ありのまま”をお伝えしていきます。

GeNOMの最新情報は、公式Twitterアカウントにて確認いただけます。ぜひフォローをお願いします!