開発でテストは重要だけど大変な理由【個人ゲーム開発の苦悩】
ゲームを作った後はテストがとても大事。
意図した通りに動いているか、プレイを妨げるバグはないか、かたっぱしから確かめていきます。ユーザーに楽しくゲームを遊んでもらうために重要なフェーズだとは分かっていても、テストはやっぱり大変な作業です。
このページでは個人開発でのテストが大変な理由をいくつか共有できればと思います。
開発でテストは重要だけど大変な理由
個人開発でのテストが大変な理由は大きく分けて2つあり、ひとつは進んでいる感がないこと、もうひとつは見落としが発生しやすいこと、です。
進んでいる感がない
開発中にどんどん機能を追加していくと、ゲーム作りが前に進んでいるような感覚があってモチベーションもどんどん上がっていきます。
目に見える進捗があるというのはやる気にも影響しますからね。
テストの場合は新しく機能が増えていくよりも既存の機能を強固にしていく作業なので、進んでいる感じはあまりないんです。(プロジェクト的には進んでいるのですが)
しかもバグを見つけたりすると「なんでこんな簡単なバグを……」とちょっと自分を追い詰めたりも。前の会社にいた時に先輩が「テストって自分を否定してる感じがするよね」と呟いていたのを思い出します。
見落としが発生しやすい
見落としが発生しやすい点については、これはひとりでやっている宿命とも言えるかもしれません。
テストは網羅性が大切ですが、それを意識していたとしてもひとりで確認しているとどうしても見落としが発生することがあります。例えばテスト範囲を決めたとしても、そのテスト範囲自体が妥当かどうか判断するのは自分ひとりだと中々難しいところがあります。というのも、設計に対して「こういうテストをする」と決めても、客観的に見たらそれだけでは不十分なこともあります。
複数人いるプロジェクトだとレビューという形でテストが設計に対応しているかどうかを複数の目で確認することができますが、ひとりだと自分が見えている範囲しか見えないんです。この言葉は当たり前のことを言っているような気もしますが、「自分が見えている範囲しか見えていない」ということを忘れて「自分が見えている範囲が全てだ」と考えてしまうのが人間なんです。
だから、リリースした後に予想していなかったバグが出て慌てることもあるんですね(白目)
それぞれへの対応策
大変だからって放っておいていいかというとそうでもないのがテストです。テストに対して開発者が諦めを持ってしまった時、一番悲しむのはゲームを遊んでくれているユーザーさんです。
- 進んでいる感がない
- 見落としが発生しやすい
という2点について対応策を考えます。
進んでいる感がないことへの対策
進んでいる感がない点についてはプロジェクトの進行を可視化する、テストケースを作って進捗を可視化する、という対策があります。どちらも可視化でした。
開発パートで機能を足していくことで進んでいる感が生まれるのは目に見えて変わっていく様子が分かりやすいため。ならばテストでも目に見えて変わる様子を感じられるようにするのがベストです。
もし普段のお仕事でWBS(とガントチャート)を作ったりすることがあればゲーム開発でも作ってみるのがいいかもしれません。タスクを細分化してどこが終わっていて、どこが終わっていないのかを把握するのは大切ですし、スケジュール通りに進んでいく姿を見れば進んでいる感が出てきます。全体のスケジュールと、今どこまで進んでいるという姿を比較することで数字で把握することができますからね。
テストケースを作るのもIT系のお仕事をしている人はいつもやっていることだと思うので、思い切って作ってしまいましょう。テストケースとはどのようなテストをするのかをひとつひとつ表にまとめたもので、手当たり次第テストする前にどのようなテストをするのかを決めておくものです。
- テストの確認項目
- テストの手順
- 結果
- 実施日
- 実施者
などをExcelなどでまとめておくことによって何を確認したのかが分かりやすくなっています。
テストケースが50件だったとしたら、今日は15件終わったから15/50だ、みたいに進捗状況が数字で分かりやすくなります。こうすれば進んでいる感が出てきます。
見落としが発生しやすいことへの対策
テストケースがこれで十分か? という点については正直ひとりで確認するのは難しいところです。設計と突き合わせてテスト項目を考えていきますが、もしかしたら設計には明文化していないけどUnityで設定を行うときにちょちょいといじった部分などの暗黙的な部分もあるかもしれませんからね。
プロジェクトに複数人いればレビューしてもらうことができますが、例えば友人などに「テストケース足りてるかな?」なんて言っても「は?」と言われるのがオチ。IT系の会社にいる友人なら言っている意味は理解してもらえると思いますが、「じゃあ設計の共有から」ってなってめっちゃ時間をもらうことになります。多分ちゃんとお金を払うべきです。
それよりもむしろ「テストケースや範囲については自分で最大限カバーしたけれど、完全ではないかもしれない」と心に留めておいた状態でゲームをビルドして、それを友達に遊んでもらうのが良いと思います。プロジェクトメンバーとして参加してもらうよりユーザーの立場として参加してもらう方がハードルも低いですからね。
ゲームの場合は何度もテストすることでテストプレイする自分の操作が最適化されてしまっているので、ある種鈍感になっている部分もあります。ゲーム会社がお金を出してでもデバッグする人に仕事を出しているのはこういう見落としを防ぐためでもあります。
他の人の目線からチェックするのはとても大切なんです。
個人開発者の場合はデバッガーを雇うのはきついかもしれないので、友達に協力してもらうのがいいかも。その場合でもご飯奢るとかで感謝するのは大切です。
まとめ
ひとりでゲームを作っているとテストの部分で負担が大きくなるので、可能なら他の人の力も借りられると良いゲームが作りやすくなります。
ひとりでやるなら、他の開発者がどのようにテストをしているのかを調べるのもいいかもしれません。
ゲーム開発の攻略チャートを作りました!
-
前の記事
ゲームを作っているとエンカウントするカタカナ語への対処法 2020.11.30
-
次の記事
UMLを知るとコーディングが楽になるので慣れてきたらぜひ【ゲーム開発】 2020.12.02
コメントを書く