コラム

  • 2021.12.07
  • ソフトウェアテスト
  • #ゲーム開発
  • #デバック
  • #ノウハウ
  • #基礎知識

ゲーム業界におけるデバッグの意味とは?ゲームデバッグ成功にむけた3つのポイントを解説 

ゲーム開発において、「そのゲームがプレイヤーにとって面白いか」という観点よりもさらに重要視すべきなのが、「ユーザーがストレスを感じることなくプレイできるか」という観点でしょう。いくら「面白い」と思えるゲームの世界感を表現できたとしても、不具合によりユーザーがプレイに支障をきたしてしまったら元も子もありません。そのためゲーム開発では幾度にもわたるデバッグが行われます。

今回は「デバッグ」について解説をしながら、ゲーム開発におけるデバッグの課題やデバッグ成功におけるポイントを紹介いたします。

デバッグとは

不具合を発見し、修正する作業をデバッグといいます。ソフトウェアをリリースするうえで大切なことは、「不具合のない製品」をつくることです。そのため不具合が多く、使えない機能が多いことは、品質が悪い製品であることを意味します。このことから、デバッグという作業は、ソフトウェア開発において重要な工程であるといえます。

一方、ソフトウェア開発全般における「デバッグ」と、ゲーム開発における「デバッグ」では少しニュアンスが異なります。まずはそれぞれの違いについて解説します。

ソフトウェア開発全般における「デバッグ」とは

ソフトウェア開発全般における「デバッグ」とは、上記で述べた通りプログラムや関数にある不具合、欠陥を発見し、それらを修正することで仕様書通りの動作にするための一連の作業のことを指します。

デバッグの基本的な手順は以下の5つです。

1.不具合の存在を認識する
2.不具合の発生源を分離する
3.不具合の原因を特定する
4.不具合の修正方法と影響範囲を決定する
5.修正し、テストする

実際の業務では、プログラマーやデバッグを専門に執り行うテスターが、ソースコードを実際に目で追って確認したり、「デバッガ」と呼ばれる支援ツールを用いて不具合箇所を見つけたりしながら、修正作業を行っていきます。

ゲーム開発における「デバッグ」とは

ゲーム業界では、ゲームに長けたテスターがテスト観点をもとにプレイヤーの視点に立ってプレイし、そのなかでゲーム内にある不具合の発見や、ゲーム自体の内容まで含めた評価を行うことを「デバッグ」と呼ぶ慣習があります。

この場合、テスターは機能の動作チェックだけではなく、「ゲームの世界観と、キャラクターの設定やパラメーターに矛盾がないか」や「イベントの開催期間が想定通りであるか」なども含めて確認をしなければなりません。

一方、不具合の修正はあくまで開発担当者の役割となります。テスターから報告を受けた不具合を集約し、別途実施するソフトウェアテストを通じて不具合を修正していきます。

このようにテスターが「製品自体を評価する」という役割も担うのがソフトウェア開発全般における「デバッグ」と、ゲーム開発で呼ばれる「デバッグ」との大きな違いといえるでしょう。

表1:「デバッグ」の定義の違い

ソフトウェア開発全般とゲーム開発における「デバッグ」の定義の違いの図

ゲーム業界におけるデバッグの課題

ゲーム開発の中で重要な工程ともいえるデバッグですが、実施における課題もあります。

膨大な量のテストケースが必要

システムにおいて達成したい目的が明確な業務システムなどとは異なり、ゲームに求められる目的は「ユーザーに楽しんでいただくこと」です。それゆえに、ユーザーシナリオは無限であり、また開発者が想定していない「遊び方」もユーザーによって開拓されていきます。また動作系の不具合がなく満足に遊べるか、仕様通りであるか以外にも、意地悪な操作をしても問題ないか、コンテンツに魅力があるかなどユーザー視点に立ち、「楽しんでいただける仕様となっているか」「仕様に穴はないか」といった指摘も求められます。これらの要求に応えるため、必然的にテストケースが膨大な量になりやすいのが、ゲームにおけるデバッグの特徴であり、課題といえます。

テスト実行における専門的な人材が必要

膨大な量のテストケースを実行するデバッグ作業には、当然のように多くの人的リソースが必要です。ゲームにおけるデバッグ作業のなかには「コマンドを入力し、その通りの動作をするか?」といった、初心者でも実施できる作業があります。しかし、ゲームの面白さの評価や、大きな不具合を発見するためには慣れやコツ、専門性が必要であり、これらを身につけている一定レベルの人材は不足しがちというのが現状です。

また一定レベルにするための教育コストや、優秀な人材を確保するための採用コストなどで開発費用が膨れ上がるといった問題も生まれます。

ゲーム開発の長期化と大規模化によるQAコストの増加

ゲーム機器や、スマートフォンの性能進化が目まぐるしい近年、それに伴いゲームの開発は長期化、大規模化の一途を辿っています。開発期間が延びれば、その分仕様変更も増えるため、結果としてテストケースもその仕様変更ごとに追加されます。またデバッグにより思わぬ不具合を発見することで、開発中の仕様変更やさらなるブラッシュアップによる仕様の追加が行われるという悪循環が発生することがあります。

これらにより、ただでさえ無尽蔵にあるテストケースが膨れ上がることで、QAコストが増加し、開発費を圧迫するという課題が近年のゲーム開発の中で問題となっています。

デバッグ成功のポイント

ゲームにおけるデバッグは重要でありながら、乗り越えるべき課題が多い工程であるといえるでしょう。ここでは、デバッグを成功に導くためのポイントを3つ紹介いたします。

過去事例やナレッジ、既存のテストケースを活用する

テストケースが膨大な量になりやすいゲームのデバッグでは、過去に行ったデバッグ事例や蓄積されたナレッジを最大限に活用することが重要です。過去事例やナレッジから既存のテストケースと突き合わせを行うことで、おおよその項目を流用できるため、デバッグにおける抜け漏れを最小限に抑えることができます。これにより、デバッグに割く時間やリソースを最小限にすることができるため、コスト削減にもつながります。

プラットフォームとジャンルに適した体制構築

より網羅性の高いテストを実施するために、ゲーム内で壁抜けがないかなど、項目化しづらい動的要素に対応したアドホックテストもあわせて行うことがあります。そのような場合に備えて、デバッグを行うゲームのプラットフォームやジャンルに合わせた体制を構築することが成功の鍵といえます。
上記でも述べた通り、ゲームにおけるデバッグ作業を未経験者で補う場合もあります。しかし、本来は「音ゲーであれば必ずチェックすべき項目」や「このコンシューマー系ゲームプラットフォームならではのクセ」といったようなコツ、専門性が問われる業務です。そのため、やみくもに人を集めてチームをつくるのではなく、極力、デバッグを行うゲームにおけるジャンルやプラットフォームに関するノウハウをもった人材を配備して体制を構築することで、コスト削減や高品質なゲーム開発につながるといえるでしょう。またナレッジを蓄積し活用していくためにも重要です。

テスト進捗の可視化

テストの実行は人の手によって行われるものであるため、その効率化を行うことでコストの削減につなげることが可能です。

デバッグの実施において、以下の3つの役割が存在します。

報告者(テスターなど):ゲームにおける不具合を発見し、それを報告内容の管理者へ報告する人。
報告内容の管理者(テストリーダーなど):報告された不具合を、適切な修正者へ渡す人。
修正者(プランナー・プログラマーなど):報告された不具合を修正する人。

デバッグにおいて、一番よくないのはこれらの役割それぞれが属人化し、どこまでのテストが進んでいるかがわからないことであるといえます。そのためリアルタイムでテスト進捗を可視化し、的確に管理する必要があります。

管理の方法としては、よくあるのがExcelやグーグルスプレッドシートの活用です。しかし、これらの利用はリアルタイムでの管理がむずかしい場合があります。また、フォーマットを統一しづらい部分もあり、「前回実施した同様のプロジェクトと比べてどれくらい作業が進捗しているか?」といった品質分析がしづらいといったデメリットもあります。そのため、できればプロジェクト管理ツールを利用することをオススメします。ツールを導入することで、同一のフォーマットで管理をすることができるため、テスト進捗管理の粒度を均一化することも容易となります。また、不具合の修正が実装されたことをゲーム内で確認したかどうかも管理することができます。

このような体制でテスト管理を標準化することで、限られたリソースであっても効率的にデバッグが行えます。また開発中の仕様変更やさらなるブラッシュアップによる仕様の追加があっても、進捗状況を可視化することで、効率的な開発が行えるため、最終的に人的コストの削減につなげることができます。

まとめ

ゲームにおけるデバッグは機能の動作チェックを通して「どんな入力をしても、正しく動作すること」だけではなく、「キャラクターに振られているパラメーターは正しいか」といった細かい設定から、「ケーブルの抜き差しによる影響」といった外部の要因など、ゲームのユーザービリティを含めた「魅力的な品質」を確認する必要があります。この定義がむずかしい指標をどのように決定し、どのように改善していくかというのが重要です。一方で、限られたコストやリソースで最大限の効果を得るためには、適切なプロジェクト管理が不可欠です。重視する部分と、そうではない部分に切りわけながら、本来の仕事である「面白いゲームをつくる」という業務に集中できるような体制づくりをするためにも、一度弊社のゲームテスト支援サービスにご相談いただければと思います。

資料ダウンロード

ゲームテスト支援サービス ~ゲームテスト効率化にむけた3つの特徴~

関連サービス