この記事の内容
・Google Analyticsに登録して、定量的にユーザーのプレイ動向を把握しよう!
・アナl・・・・なんてつくけど、決して卑猥な言葉ではないぞ!
・最後に、過去の集計事例を公表しています。
まえおき (なぜ人はゲームバランスで苦しむのか)
難易度調整難しいいいいいいいいいいいい!
ゲーム制作は孤独、自分との戦いです。
悩みながらもなんとか実装を続けて、自分流にゲームバランスもちょこちょこ調整して・・・。
やっと完成!といざお披露目したところで、次の悩みが始まります・・・。
わたしのゲームバランス!?悪すぎ!
ゲームバランス調整、これが次に悩みの種になります。
ゲーム完成当初は友人からの数少ないレビューで、ゲームバランスの調整を行うことになるでしょう。
もし、幸運にもあなたのゲームが多くの人の目に触れることになったとしても、コメント欄には賛否両論、様々な感想があなたに襲い掛かることになるのです。
ここでユーザーに振り回されて気を病むゲームクリエイターが多いとかなんとか・・・。
googleアナリティクスで定量的に評価しよう
そんなアナタに救世主。ここはひとつ、具体的な数値を用いてゲームバランスを評価しましょう。
アナリティクス、なんだか卑猥な言葉に聞こえますが、これはサイトのアクセス数やユーザー傾向を計測するためのツールです。
とりあえず、以下サイトから登録してください。(登録済の方は無視してください。)
・Google Analytics
https://www.google.com/intl/ja/analytics/search.html
・使い方は以下のサイトなど、いくつか説明されているサイトがあるのでそれを参考にしてください。
https://wacul-ai.com/blog/access-analysis/google-analytics-method/what-is-google-analytics/
今回GoogleAnalyticsを初導入した方の中で、ブラウザゲーム・アプリを制作者がいらっしゃいましたら、この際なのでサイトにトラッキングコードを貼り付けておきましょう。ユーザーの動向がわかるとモチベーションアップにつながります。
イベント命令の閲覧方法
データ取得方法を学ぶ前に、取得したデータがどのように表示されるかを説明します。
今回のゲーム進捗度評価は、イベント集計欄から結果を観ることができます。
左のメニュータグから、行動→イベント→概要を選択すると、以下のような画面になります。
このページは、GoogleAnalyticsの外部APIから呼び出された以下のSend命令を集計しています。
・Send命令
// // ga('send', 'event', '[イベントカテゴリ]', '[イベントアクション]', "[イベントラベル]", 1); // //
上記のコードを実行すると、該当するイベントカテゴリ・アクション・ラベルの数値が1増えます。
・イベントカテゴリ・イベントアクション・イベントラベル について
ユーザーがSendで送った命令は以下の分類で識別しています。
・イベントカテゴリ(大カテゴリ)
・イベントアクション(中カテゴリ)
・イベントラベル(小カテゴリ)
なぜ3カテゴリで分類しているのかについては、google様のご意思なので、おとなしく長いものに巻かれましょう。
私はステージ突破率を計測するために使っているので、このカテゴリを以下のように使っています。
・ゲーム名(イベントカテゴリ)
・ステージ〇〇〇(中カテゴリ 〇には数字が入る)
・具体的な内容とか・・・。(小カテゴリ)
※筆者は小カテゴリまで使うことがないので、中カテゴリと同じ名称で使っている。
実際の計測方法をみないと、要領を得ないと思いますので、次のページの計測方法をご覧ください。
GoogleAnalyticsを使ったステージ突破率の計測
【詳しい人向けの説明】
(GoogleAnalyticsのAPIを使用するので、詳しい方であれば以下の記事をご参考ください)
GoogleAnalyticsを使ったことがない人でも、以下の通り書いていけばとりあえず使えるようにはなるでしょう。
<script> タグ等でjavascriptを使用可能にして、以下のコードを先頭に貼り付けます。
UA-からはじまるあなたのIDにはあなたのgoogleAnalytics IDを記入してください。
// // //GA Code (function (i, s, o, g, r, a, m) { i['GoogleAnalyticsObject'] = r; i[r] = i[r] || function () { (i[r].q = i[r].q || []).push(arguments) }, i[r].l = 1 * new Date(); a = s.createElement(o), m = s.getElementsByTagName(o)[0]; a.async = 1; a.src = g; m.parentNode.insertBefore(a, m) })(window, document, 'script', 'https://www.google-analytics.com/analytics.js', 'ga'); ga('create', 'UA-からはじまるあなたのID', 'auto'); ga('send', 'pageview'); // //
次に、人数計測用のコードを使用します。
ゲームの開始地点に以下のコードを記入してください。
// //ゲーム開始直後にこのイベントを実行する ga('send', 'event', 'ゲームの名前', 'ゲーム開始', "ゲーム開始", 1); // //
そして、各ステージクリア直後に以下の関数を追加してください。
イベントアクションの文字列語尾の数値はステージ変数の値にしておきましょう。
// // //そのステージクリア直後にこのイベントを実行する var NowStage=2; //ステージ数 ga('send', 'event', 'ゲームの名前', '到達Stage:'+NowStage, '到達Stage:'+NowStage, 1); // //
実際に効果を見てみる
ここでひとつ注意なのですが、
イベント集計の反映は次の日の夜になります。リアルタイムイベントは観測できますが、累積データは当日見ることができません。
なので、自分の設置したSend命令がうまく動いているかは、リアルタイムのイベント発火状況を確認するしかないです。ちょっと使いづらいですね・・・。
では、一日経過したとして、集計したデータの見方を説明します。
左のメニュータグから、行動→イベント→概要を選択した以下画面の赤丸を見てください。
イベントカテゴリで設定した名前(ゲーム名で設定しているはず)が表示されているので、見たいイベントカテゴリをクリックしてください。
以下の画面になります。
少しわかり辛い位置ですが、赤丸のイベントラベルの欄をクリックしてください。
イベントカテゴリ内でのイベントラベル一覧が表示されます。
イベントカテゴリはゲームごとに設定すれば、ここで表示される内容はゲーム内の到達人数一覧となります。
ちなみに上図のイベントラベルですが、Stage1=ステージ1を開始した人数で今回は集計しています。
なので、ステージ1の突破率を知りたければ以下の式を使って求めることになります。
(Stage1突破人数)=(Stage2突破人数)-(Stage1突破人数)
同様に、他ステージの突破人数を集計していくことで、各ステージで離脱した割合を計算することができます。
これで、ゲームバランスの定量的なデータを収集することができました。
ここで、参考までに過去事例を見てみましょう。
ファンタジー村人一揆 フォーエバー ステージ集計
・ゲームはこちらから
https://hothukurou.com/game/Tobatsu/index.html
ゲーム制作の振り返りとして、ファンタジー村人一揆フォーエバーのクリア分布をまとめてみる。
難易度1クリアで抜けている量がそこそこ多いのは残念。もっと継続率をあげるためにストーリーをいれるとか、目的を定めるような意識があってもよかったかもしれない。
(続く) pic.twitter.com/Ezc1X8efRJ— ほっとフクロウ(作っちゃうおじさん) (@hothukurou) 2018年6月6日
(クリア分布考察続き)
難易度10クリア率が20%ほど、1ステージ5分近くかかるゲームなので、そこそこの持続率な気がする。
嬉しいことに、高難易度にも果敢に挑んでくれる方がいるようだ。
長い間遊べるするめゲーのような感触なので、最初のとっかかりを改善するのが今後の課題だろう。— ほっとフクロウ(作っちゃうおじさん) (@hothukurou) 2018年6月6日
とまあ、こんな感じでいつもゲームバランスとにらめっこしています。
みなさんもぜひ、ユーザーのステージ突破率を集計して、よりよいゲームバランス調整ができるようになりますと幸いです。