個人制作者や小規模インディチームもクローズドβテストやろうぜ

現在、Steamで販売するゲームとして2作目となる「Dungeon Antiqua 2」を制作しているのですが、1作目の反省・学びを踏まえて実施している取り組みの1つが表題の「クローズドベータテスト」です。

なぜクローズドβテストをやろうと思ったか

クローズドβテストとは、開発中のソフトウェアを、事前に選ばれた限られたユーザー(テスター)にのみ提供して、品質や不具合をチェックするテストのことです。参加者は、バグ報告やフィードバックを開発元に提供し、製品の改善に協力します。

Google AIモードによるご説明

リリースしてからでは遅い

前作を制作したとき、それ以前にも同ジャンルのゲーム(Steamでは出していない)を制作した経験があったこと、少数ながらスタッフ数名にもプレイしてもらったことから「まあバグとかそんなないはず、大丈夫っしょ」と思ってそれ以上の大規模なテストはやりませんでした。

また、リリースしてからいろいろなフィードバックが寄せられるはずで、それに順次対応していけば十分と考えていました

…ですがその考えは甘々でした。

まず作者を嘲笑うかのように次々と検出されるバグ、またバグ。
そして作者が「ちょっと意地悪だけどこういう仕様にしてやれ、へっへっ」などと軽い気持ちで仕込んだ仕様(※)に対して「この仕様はサイテー」と激怒するプレイヤーの方が多く、初期のレビューはそれを理由に低評価をつけられたことが多々ありました。

デビュー戦であった私には「最初に一度ついてしまった低評価は(なかなか)覆らない」という当たり前のことに気づいてなかったのですね。

(※)Dungeon Antiquaをプレイされた方のために補足
ダンジョン内のNPCを「おそう」と性格が悪になり、逆に困っているNPCを助けると性格が善になるシステムがあったと思いますが、アレです。現在のバージョンは警告が出たり、お金を寺院に払って性格を悪から善に戻したりできるようにしていますが、初期は救済策ゼロで、パーティがこれのせいで瓦解して半分育成しなおし、ということになりがちでした。

まあ、そんなんベータうんぬん以前にお前の経験とセンス不足なだけだろ、と言われるとそうなんですが、公開前にベータテストをやっていたらさすがの私も気づけたのでは、と思うわけですよ。

アーリーアクセスや体験版でいいんじゃない?

しかしデメリットというか、「そうは言ってもやらないかなあ」と思う方もいるでしょう。
たとえばこんな理由でしょうか。

  • ①自分(たち)にはまだファンがいないので、ベータテストに協力してくれる人をたぶん集められない

  • ②時間やリリースまでの期間が許すなら、それよりもイベントに参加するとか知名度アップのための活動をしたほうがいい

  • ③単純に手間がかかりすぎて、労力的に厳しい

どれももっともで、小規模ゲーム作家の最適な優先順位というのは私ごときには到底わからないし、一通りの正解があるわけでもないと思うのでそこは深く言及しませんが、③については記事後半で今回私がやった実例を紹介しておきますので、「これくらいならやれるかも」と思ってくれる方がいたらうれしいです。

ところで理由はどうあれ、クローズドなベータテストをやることにそこまで魅力を感じない人の意見として「早めに体験版出したりアーリーアクセス版出して、そこでフィードバックもらって質を上げたらいいんじゃね」という考えもあるかもしれません。

それももちろん一つの解なのですが、私としては「あまり質が高くない状態で公開してしまうと、とりかえしのつかない結果を招くかも」というリスクを感じたので、上記の方針は避けました。
早期アクセスであってもレビューは残っちゃいますからね。

ちなみに、規模やレベルが違いすぎる話なんですが、たまたまこの記事を書いている日に以下の記事を見ました。
要するに「リリース直後に買うよりちょっと待った方が良いゲーム体験になるでしょ」というプレイヤが増えているのでは?という話でして、インディゲームでもあってもアーリーアクセスと見ると「正式版までは待つか」と思ってしまう派の自分としては頷けるものがありました。

セガは、その(筆者注:販売実績が振るわない)要因の一つとして、時間をおいて「完全版」が販売されることへの懸念が発売当初の買い控えに繋がっている可能性があると説明しています。

https://gamestalk.net/sega-definitive-edition-sales-concern/

実際にこんなふうにやってみた

ここまでが「リリース前にクローズドベータやろうぜ」の主張でした。
以降は今回、私が行ったクローズドベータ版テストの紹介(共有)です。

スケジュール

11/15〜11/30 クローズドベータ版テスト
12/6 体験版リリース
1月上旬 製品版リリース

11/11夜にようやくクローズドベータ版に必要なグラフィック素材が全て出揃ったので、それを確認してすぐに(11/12)Xで募集開始し、速やかにスタートしました。

カツカツすぎます。もう少し余裕をもったほうがいいですね?!
(ちなみに記事を書いているのは11/27なので、まだ実施期間中です。)

ベータ版のプレイ範囲と条件

プレイ範囲としては、クリアまでプレイしていただくのもアリかなとも思ったのですが、ネタバレすぎるのも気になったので「ラスダン(対象のゲームのジャンルはRPG)の途中まで」にしました。

また、想定プレイ時間を書かないとプレイヤーさんが募集していいのかどうか判断できないと思ったので、「わからんけど8~10時間くらいかな?」と想像して書いておきました。
実際には人によって6~17時間とかなりブレがあったようで、想定ともやや外れてしまいましたが、何も書かないよりはいいはず…ですよね…

募集の受け付け方

募集はDMやリプで受け付けると後が大変だと思ったのでGoogleフォームを使いました。
お名前やメールアドレスをスプレッドシートに出力できるのがかなり便利です。

参考までに実際のフォームへのリンクを貼っておきます。
この段階で収集する情報はあまりないので「名前・メールアドレス・前作をプレイしたか・フリーコメント」くらいにとどめました。

参加人数

10人くらい集まればいいなと思って募集をかけましたが、1日(約24時間)で28人の方から応募いただきまして、あまり多いとまとめるのも大変なのでそこで打ち切りました。

ちなみにたまたま執筆している日に目にしたのですが、同じインディゲーでも「コメンテーター」はβ版の参加者が500名を超えたらしい… (詳しくない方のために補足すると、インディゲームとしては以前からかなり注目されている作品です)。
この辺どれくらいを良しとするかは活動規模や知名度次第ですね。

Steamの準備

Steamで販売するゲームなので、環境面のチェックの意味も込めてテストもSteamでやってもらうようにしました。

beta 用のブランチを作って、そのブランチとベータテスト用のパッケージを紐づけたりする必要がありますが、要するにSteam側でベータテストのための仕組みを用意してくれているのでそれに乗っかればOKです。

なお「Playtest」という仕組みもありますが、これはもう少し大規模でオープンなテストで、キーを自分で発行して配布するのではなく「参加したい人はどうぞ!」とSteam上でダイレクトに受け付けるイメージのようです。(参考記事

Steamworks の SteamPipe > ビルド
Steamworks の「関連パッケージ & DLC」

Steamキーの配布

β版も製品版同様にSteamキーを発行できるので、リクエストして生成されたキーを応募者に順に割り当てます。

28人といっても一人ずつメールを送るのはけっこう手間なので、以下のようなシートを用意した上でGASでスクリプトを作って一斉送信しました。

nameやemailは応募フォームの情報をシートに変換すればよいので、あとはkeyのリストを貼り付けるだけ(D列は送信管理用)

こういう使い捨てのスクリプトは、今やAIに生成させるのが手っ取り早いですね。
以下参考程度にChatGPT先生のコードを貼り付けておきます。

function sendSteamKeys() {
  const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('keys_test');
  const startRow = 2; // データ開始行
  const lastRow = sheet.getLastRow();
  const lastCol = sheet.getLastColumn();

  const range = sheet.getRange(startRow, 1, lastRow - startRow + 1, lastCol);
  const values = range.getValues();

  const SUBJECT = 'Dungeon Antiqua 2 βテスト版 Steamキーのご案内';

  for (let i = 0; i < values.length; i++) {
    const row = values[i];
    const name = row[0]; // A列: name
    const email = row[1]; // B列: email
    const key = row[2]; // C列: key
    const sentFlag = row[3]; // D列: sent

    // すでに送信済みならスキップ
    if (sentFlag === 'SENT') {
      continue;
    }

    const body =
`${name} 様

Dungeon Antiqua 2のテストにご協力ありがとうございます。
以下があなたに割り当てられた Steamキーです。

----------------------------
Steamキー:
${key}
----------------------------

Steam クライアントの「ゲーム → Steamで製品を有効化」からご入力ください。
その後、プロパティ → ベータ にて「beta」ブランチを選択してください。

よろしくお願いいたします。
しろもふファクトリー(frenchbread)
`;

    // 送信
    GmailApp.sendEmail(email, SUBJECT, body, {
      name: 'Shiromofu Factory',
      replyTo: 'contact@shiromofufactory.com', // 返信先を contact@ にしたい場合
    });

    // 送信済みフラグをセット(D列)
    values[i][3] = 'SENT';
  }

  // まとめてシートに書き戻す
  range.setValues(values);
}

フィードバックの収集

フィードバックもGoogleフォームで収集しています。
質問項目は以下としました。

  • β版クリアまでプレイできましたか?

  • バグ(フリーズ・ゲーム進行不能になる・画面表示が明らかにおかしいなど)を発見された場合、そのバグの内容について教えてください

  • UIや操作などでわかりづらかった・不満だった点があれば教えてください

  • ゲームバランスをどう感じたか教えてください(「xxのボスやダンジョンが厳しかった/つまらなく感じた」「xxの職業/装備/呪文が強すぎる・弱すぎる」「xxのシステムのせいでバランスが崩れている」など)

  • その他気になったことなど

バグをつぶすのは当然として、「快適なプレイ感だったか」を重点的にケアするべきと思って3番目・4番目の項目を入れています。

やっぱり他の方のゲームを遊んでいても「これは良かったな」と思うゲームはまずプレイしていて快適で、「操作わからん/わかりづらい」「バランスが悪すぎる」とはならないのですよね。

しかしながら、自分でプレイしているとここが最も盲目になってしまうところなので、できるだけこのタイミングでプレイヤーがストレスを感じるポイントを減らしたいところです。

反省点:Discord使えばよかった?

反省点もあって、こういうときこそDiscordのサーバの使いどころだったなとプレイ期間が始まってから思いました。

従来、よほど細かく発信したりケアできる自信がなければこの規模のゲームでDiscordのサーバを立てるのは悪手だと考えていたのですが、「ベータ版テストプレイ用」と割り切れば活用できそうです。

一方的に情報を発信するだけなら前述のような一斉メールで十分なのですが、たとえば「xxのボスが強すぎるって意見が出ていて、こういう調整をしたほうがいいかもと思うんだけどみなさんどうですか?」のような投げかけをして意見収集や議論を交わす、といった使い方です。

また、私なんかDiscordのサーバに参加しても、最初こそちらほら覗くもののすぐに興味が薄れて足が遠のきがちなのですが、期間がせいぜい2週間など限定的であればそこまでダレずに済むのではないか、と思ったりしました。

この辺、経験や見識がある方がいたら教えてほしいです。


ということで、クローズドベータテストのススメと一事例の共有でした。

あっ、冒頭で紹介した制作中のゲームはこちらです。
ベータテストでブラッシュアップした高品質な状態でリリースするので、ぜひ今のうちにウィッシュリスト登録してくださいね!
(自らハードルを上げていくスタイル)


いいなと思ったら応援しよう!