どんなに画期的なシステムのゲームや、グラフィックが綺麗なゲームでも、いざプレイしてみたら不具合(バグ)だらけというのでは、ユーザーのみなさんを楽しませることはできません。ゲームへの没入感を高めるために欠かせないのが、バグがないか確認する「デバッグ」です。今回はこのデバッグの仕事について、デバッガーを束ねるマネージャーへの取材を基に解説します。

ゲーム開発に不可欠な業務
デバッガーとはどんな仕事?

ゲームは、プログラムやデータなどの多くの要素から成り立つ集合体です。そのため、開発の過程で大小さまざまなバグが生じます。
リリースする際に、ゲームを構成する要素をあらゆる角度からテストし、不具合を発見して正常に動作するようにするのが「デバッグ」の仕事です。

不具合が残っていて、ゲームが本来の意図とは違う挙動をしてしまうと、ユーザーのみなさんの体験を大きく損なう場合もあります。ゲームのクオリティーを担保し、楽しく遊んでもらうために、デバッグはゲーム開発の「番人」としての極めて重要な役割を果たしていると言えます。

デバッグの作業は以下のようなフローで進めます。

1.開発側より依頼を受ける
2.想定工数・必要人員の算出と手配
3.仕様の確認
4.チェックリストの作成
5.デバッグ開始
6.不具合報告
7.修正(開発側)
8.修正確認

実作業に入る前の1〜4の工程を「プレチェック」、デバッグを始めてから修正を確認するまでの5〜8の工程を「ノーマルチェック」と呼んでいます。
1〜4のプレチェックの工程でしっかりと準備することにより、5~8のノーマルチェックの工程でより効率的・効果的に作業を進められます。

このデバッグの作業は、開発との連携が欠かせません。デバッガーが不具合を発見・報告し、それを開発者が修正。修正が施された部分を再度デバッグして、きちんと解消されているかを検証する作業を、不具合がなくなるまで繰り返します。

▲デバッグと開発のかかわり

デバッガーの仕事内容をもう少し詳しくご紹介しましょう。
まず、スマートフォン、コンシューマーゲームにかかわらず、新しいゲームを世の中に出す前には、ストーリーやクエスト、バトル、キャラクターの仕様、各種イベントなどのゲームの基本機能が想定通りきちんと動作するかをテストします。

これに加えて運用型のタイトルでは、定期的に新規イベントやキャラクターなどが追加されるので、それらのリリース前には毎回動作をテストします。どんなに小さな機能のリリースでも、不具合がないかをチェックする必要があります。

▲新規タイトルをデバッグする際のフロー

実際に、どれくらいの期間をかけて何件のデバッグをするかというと、これはゲームによって大きく変わる部分もあり、一概には言えません。
面白いコンテンツを作ろうと試行錯誤を重ねる中で、多かれ少なかれバグは必ずと言っていいほど発生します。ただ1つだけ言えるのは、バグを可能な限り少なくするのが、コンテンツの面白さに繋がるのだということです。

サイゲームスのデバッグ体制

サイゲームスには現在、東京拠点に約140名、佐賀拠点(佐賀デバッグセンター)に約130名のデバッガーが所属しています。さらに、一部、協力会社とも連携しながら、自社で開発・運用しているゲームのデバッグを行っています。

東京ではプロジェクトごとに専属のデバッガーがいます。一方、佐賀の場合、プロジェクトには所属せずとも長期にわたって同じタイトルに関わる、ゲームを熟知したデバッガーが増えています。物理的な距離はあっても、開発チームと緊密にやり取りして効率良く作業を進めています。

通常は各プロジェクトに所属するスタッフでデバッグの対応をしていますが、周年記念イベントや大型アップデートなど、大幅な変更がある場合は一時的に人数を増やすといった対応をしています。社内の人員が足りない場合は、協力会社へ委託するケースもあります。

デバッガーが行うテストの種類と内容

ここまでで、なんとなくデバッグの仕事のイメージが掴めたでしょうか?ここからは、我々が実際にどんな作業をしているか、デバッグ(テスト)の種類から「機能テスト」「非機能テスト」「変更部分のテスト」の3つを取り上げてご説明します。

■機能テスト
ゲーム内の機能が想定通りに動作するかを検証します。画面のレイアウトが崩れていないか、画面遷移は正しく行われるか、各種の演出といった「表示」に関するテストです。また、ボタンの同時押しや連打、不意に通信が切断されたときなど、イレギュラーな状況下でもゲームが問題なく進行できるかも確かめます。

■非機能テスト
ゲームが「どのように動作するか」あるいは「快適に遊べるか」を検証するものです。各種UIが違和感なく操作できるか(ユーザビリティー)、異なる端末やOSのバージョンでも動作するか、消費電力が適正範囲かなどをテストします。
非機能テストの1つに、ゲームバランスのチェックも挙げられます。例えば、複数のキャラクターを組み合わせてバトルするタイプのゲームでは、新しいキャラクターや装備品が1つ追加されたことで、強さのバランスが大きく変わってしまうことがあります。実装通りに動いていても、他のキャラクター・装備とのシナジー効果によって、予想外にバランスが悪くなってしまうこともあります。こうしたバランスはゲームの面白さを左右する重要な要素なので、プロジェクトによってはバランスを見る専門のデバッガーを置くこともあります。この他に最初から最後までユーザー目線でプレイし、問題なく進行できるかを確かめる「通しプレイ」も実施しています。

■変更部分のテスト
不具合を見つけて該当箇所が修正された後、修正確認作業をします。不具合が正しく修正されているかを確認する「確認テスト」と、その修正により別の不具合が発生しないかを確認する「回帰テスト」を行います。

デバッグの精度を上げるための
「テスト観点」とは何か

不具合をすべて洗い出すためには、事前にテスト計画を立てる必要があります。網羅性の高い高精度なテスト計画を立てるために重要なのが「テスト観点」です。テスト観点とは、ソフトウェアが正しく動作するかを確認するための着眼点のこと。これを意識することで、テストの全体像を把握でき、漏れのないテストを実施できます。

少し専門的な話になりますが、ソフトウェアの品質を評価するための国際規格に「ISO/IEC 9126」があります。この規格では、大きく「機能性」「信頼性」「効率性」「移植性」「使用性」「保守性」の6つの観点が定義されています。テスト観点を洗い出す際、この品質特性を参考にすることもあります。

このように、しっかりとしたテスト観点があることで精度の高いチェックリストが作成でき、優先度を付けて効率的にテストを進められるのです。

ゲームの進化に伴い
デバッガーへの要求も高度化

ゲームをテストして不具合を発見する作業そのものは、今も昔も変わりません。しかし、ゲームは日々進化しています。コンテンツはどんどんリッチ化・多機能化していますし、ネットワーク対応や複数ユーザーによる同時接続など、遊び方の幅も広がってきました。さらに、マルチプラットフォーム展開やグローバル展開も当たり前になってきて、ゲームは複雑化し続けています。

また、ゲームに求められる品質もより高くなっています。必然的に、我々デバッガーに求められることもより高度になっています。テストしなければならない項目が増えたのはもちろんのこと、プラットフォームやハードウェア、ソフトウェア、ネットワークの知識が必要になってきています。ゲームの規模が大きくなればなるほど、デバッグにかかる時間や人数も増えていきます。デバッガーの質と量の両方を確保することが、良いゲームを作る条件の1つとも言えます。

デバッガーの仕事に求められる
スキルとマインドとは?

デバッガーに向いている人はどんな人でしょうか?ここでは、デバッガーを目指す人が持っていてほしいスキルやマインドについてお話ししたいと思います。

■ゲームが好きである

ゲーム業界でデバッガーを目指すのであれば、ゲームが好きなのは前提条件だと思います。好きであればこそ、ユーザーのみなさんの目線に立って、ゲームをより面白くするための意見も出せます。「快適にプレイできるか」というユーザビリティーを考慮し、ゲームを良くするための意見をどんどん言える人がデバッガーに向いている人だと言えます。

■「わかりやすい報告」をする

デバッグの仕事は不具合を発見して終わりではなく、その不具合がどんな条件で、どのようなかたちで発生するのかを正確に伝える必要があります。当事者だけでなく第三者が見ても容易にわかる報告書を作る伝達力が必要です。

■「テスト観点」を意識する

精度の高いデバッグを行うには、前述した「テスト観点」が重要です。開発側目線による仕様書ベースのテストと合わせて、テストの目的や意図を考えてデバッグする姿勢が大切です。またゲームをクオリティーの高いものに仕上げるには、「絶対に不具合を出さない」という強い意志も必要です。

これ以外に、「デバッグのセンス」を持っている人は活躍できます。不具合の中には予想外のものもあり、過去のゲームプレイの知見から勘を働かせて問題を特定するのが上手い人がいます。「不具合が発生するのはわかっているが、どういう条件で出るのかわからない」といったときに条件を絞るアプローチができる。こんな人はデバッグのセンスがあると言えます。

ユーザーのみなさんに喜んでもらうために
デバッグの仕事のやりがいと厳しさ

デバッグの仕事で達成感を得られるのは、なんと言っても、予定通りにテスト計画が進み、ゲームが無事リリースされたときです。リリースしたアプリに不具合がなく、ユーザーのみなさんからも高評価だと最高です。

デバッガーは、担当のゲームに開発段階から触れており、日々あらゆる角度からテストをしています。ある意味では、担当するゲームに最も詳しいスタッフと言えるでしょう。その知見を買われて、開発側から意見を求められることもあります。サイゲームスには、担当業務を超えて意見を出し合う風土があるので、ゲームをより良いものにするためのアイディアは積極的に取り入れられます。そんな風に開発側に頼りにされたときにはやりがいを感じます。

一方、デバッグの仕事の厳しさは、どんな状況であってもリリースまでに必要なテストをやり切らなければならないことです。開発の進捗によっては、十分な時間が取れないこともあります。そんな場合には「時間がないからできない」でなく、「どうしたら少ない時間でできるのか」を考える必要があります。プロデューサーやディレクター、プロジェクトマネージャーなどと進め方の相談をして、他のプロジェクトに応援を頼んだり、協力会社を利用したりして、必要なテストを諦めずにすべてやり切る工夫が必要です。

デバッガーのキャリアパス
専門に特化する人や他職種に転向する人も

ゲームのデバッガーのキャリアとして典型的なのは、担当範囲を拡大していくパターンです。小規模なイベントなどのデバッグから始めて、実績を積んでいくと徐々に大型施策を任されるようになります。テスト計画の立案から実行まですべてできるようになれば、デバッガーとして一人前と言えるでしょう。そうして成長していけば、複数のデバッガーを取りまとめるサブリーダー、さらにプロジェクトのデバッグ全体を束ねるリーダーへとステップアップしていきます。

他に、珍しい例としては、「テストの種類」のところで述べたバランス検証の専門家のように、ある分野のテストに特化したスペシャリストになる人もいます。また、デバッガーとして経験を積む中で自分のスキルを磨き、企画職やエンジニアに転向した例もあります。

ちなみに、サイゲームスのデバッグチームのスタッフは、元々エンジニアやプランナーだった人もいますし、未経験から始めた人もいます。デバッガーというと、連絡事項以外は口を利かず、黙々と作業しているイメージを持つ方もいるかもしれませんが、サイゲームスのデバッグ現場は明るい雰囲気です。新作ゲームが出るとみんなで遊んで感想を言い合うなどコミュニケーションも活発です。もちろん、仕事に集中するときとメリハリをつけています。

▼「Cygames佐賀デバッグセンター」についてはこちらもご覧ください
社員の声≫≫≫
新人デバッガーの1日≫≫≫
リーダーの1日≫≫≫

デバッガーを志す人は
どんな準備をすればいい?

デバッガーを志している人たちに向けて、少しアドバイスができればと思います。

何よりも、普段から色々なゲームに触れておくことは大事です。さまざまなジャンルのゲームをプレイして知見を溜めておくと、現場で活かせる機会は多いです。実務面では「Microsoft Excel」を使うことが多いので、使いこなせると有利です。また、必須ではありませんが、ソフトウェアテスト関連の資格を取得しておくと仕事の習得も早いと思います。

最高のゲーム体験のために
「バグゼロ」を目指す

我々デバッグチームが目指しているのは、ゲームにまったく不具合がない状態、いわゆる「バグゼロ」にすることです。開発段階で発生したバグをすべて発見・報告し、すべての不具合が修正された状態にしてからゲームがリリースされることを理想としています。

▲オフィス内デバッグチームの座席に掲げられたチームの看板

とはいえ、現実にはなかなかそうはいきません。これだけゲームが大規模化・複雑化し、多数の人間が関わって作り上げている以上、すべてを完璧に仕上げるのは至難の業です。また、不具合の中にはハード側や開発環境自体の問題といった、開発を行うゲーム会社だけでは解決できないものもあります。

そうした現実を認識しながらも、多くのユーザーのみなさんに最大限ゲームを楽しんでいただけるように、不具合を限りなくゼロに近づけるのが、我々デバッガーの使命だと考えています。実際、デバッグの体制を整え、各スタッフが作業の精度を上げることで、不具合の件数は確実に減ってきました。これからさらにサイゲームスのゲームのクオリティーを上げていくために、デバッグ体制を強化していきたいと考えています。


以上、デバッガーの仕事についての解説でした。
現在サイゲームスでは、一緒に働く仲間を募集しています。この記事で興味を持たれた方は、ぜひ一度こちらをチェックしてみてください。

デバッガー/東京 募集職種 デバッガー/佐賀 募集職種