バグ報告を一元管理する仕組みを作りたい!
作成日:まだ作成中
最終更新日:
こんにちは!大学生ゲーム開発チーム「ユニコネ」のゲームを売る部分担当のポップです!
今回は、ユニコネのカスタマーサポートをしている私が実際に作成した「バグ報告を一元管理する仕組み」をシェアしたいと思います!
今回作っていくバグ報告の一元管理システムがコチラ!
このバグ報告フォームは第7作目『みんなで魔法対戦』からの試みなので、まだ経験値が浅いですが、修正ポイントを見つけ次第更新していきますね!
どうしてバグ報告フォームを作ろうと思ったか?
第6作目『ARシューティングバトル』を運営していた時は、ユーザの皆様からTwitterやYouTube、TikTok、メールなど、様々な媒体からバグ報告を頂いておりました!
当時はまだ時間があったので、バグ報告を頂くたびに、丁寧に一つ一つのコメントに対応していました。
そして、皆様から頂いたバグ報告を私がリスト化して、「ゲームを作る担当」のたむーに共有してバグ修正を繰り返し行っていました!
ただ、ユーザの皆様のバグ報告に一つ一つ返信していくのは以下のような点で問題がありました。
開発者側の本音
- 時間がある時期は大丈夫だが、忙しい時期は返信が追いつかなくなる
- 頂いたバグ報告をまとめるのに時間がかかる
- 見逃してしまう可能性がある
ユーザ視点
- バグ修正状況が共有されないため、
- バグ修正がちゃんと行われるか不安
- バグ修正がいつ行われるか不安
欠点が目立つ一方で、実は逆に良かったんじゃないかという点もあります!
- SNSに届いたバグ報告に一つ一つ返信していくことで、ユーザに信頼関係を築くことができ、応援してもらえる可能性がUPする
- SNSではこちらの返信に対して、さらに返信して反応して下さる方がいるため、コメントによるエンゲージメント率の向上と動画滞在時間の向上が期待でき、結果として動画が伸びやすくなる
とはいえ、当時のゴリ押し全コメント返信作戦は、時間が無限にあった時期だからこそできた作戦であって、基本的に土日しか作業が進まない現在の生活状況を鑑みると無理があります。
これからはそこまでコメント返信等に時間をかけられなくなっていくと思うので、ユーザの皆様からの大切なフィードバックを迅速かつ確実に受け取り、適切に対応するために、バグ報告を一元管理できる仕組みの重要性を強く感じるようになりました。
そういった経緯があって、第7作目『みんなで魔法対戦』からは、本記事で紹介するような「Googleフォームを使ったバグ報告フォームをGoogleスプレッドシートと連携させて一元管理する仕組み」を作ることを決意しました!
フォームに必要な項目を調査する
バグ報告フォームを作成するにあたって、以下のサイトを参考にさせて頂きました。
こちらを元に、自分達のゲームに必要そうな要素を足して、作成してみました!
バグ報告フォームの構成を練る
以下が実際に作成したバグ報告フォームの骨組みです!
バグ報告フォーム(日本語版)
【あいさつ】
こんにちは!バグ報告フォームへようこそ!
大学生ゲーム開発チーム「ユニコネ」です!
ここでは、ゲームのバグや気になる点を開発者に報告することができます。
【バグ報告をするメリット】
・早くバグが見つかれば、次のアップデートで直せる可能性がUP!
・バグが修正されれば、快適に遊べるようになる!
・ゲームがもっと楽しくなる!
・他のプレイヤーも快適に遊べるようになる!
つまり、皆様の報告のおかげで、ゲームをもっと面白くすることができます!
どんな些細なことでも、気になったことがあったら気軽に教えてくださいね!
0. 回答する時の注意点
・回答時間は5分を想定しています。
・答えたくないと思った質問があったら空欄で大丈夫です。
・途中で止めたくなっても、とりあえず送信ボタンを押しておいて頂けると助かります。
・それによって、バグ報告フォーム自体を改善することができます。
・ご報告いただいた内容は、公式サイトなどでご紹介させていただく場合があります。予めご了承ください。
1. バグ種別
1. バグ・不具合
2. 誤字脱字
3. 翻訳ミス
4. 気になる点
2. 発生環境
1. 利用OS(自動入力対応)
2. 利用OSのバージョン(自動入力対応)
3. バグが発生した当時の通信環境(Wi-Fi, 4G, 5Gなど)
4. 利用機種名(自動入力対応)
5. アプリのバージョン(自動入力対応)
6. アプリ名(自動入力対応)
3. 基本情報
1. 発生日時
例)2024/09/29 14:00頃
2. 発生頻度
どのくらいの頻度/確率で発生しますか?(100%、75%、50%、25%、1%)
3. プレイ環境
屋内/屋外のどちらで発生しましたか?
4. ニックネーム
5. メールアドレス
返信用のメールアドレスを記入してください。
※原則として返信はいたしませんが、必要に応じてご連絡させていただく場合がございます。
4. タイトル
・バグを一文で説明するタイトルを記入してください。
例)特定の武器の組み合わせの時に攻撃魔法のボタンを押しても反応しない
5. 発生した事象
・どのような状況でバグが発生しましたか?具体的に記入してください。
例)対戦モードで2人で遊んでいた時に、攻撃魔法Aと攻撃魔法Bの組み合わせにしたら、ボタンを何回押しても攻撃を撃つことができませんでした。
6. 期待していた結果
問題の事象がバグか仕様かを確認するために、期待していた結果を以下の例に従って簡潔に記入して下さい。
例)〇〇となって欲しかったのに、△△となってしまった。
7. 再現手順
・バグが再現できる手順をできるだけ詳しく箇条書きで説明してください。
例)
1. 装備画面で攻撃魔法Aと攻撃魔法Bを装備する。
2. 対戦モードに入る。
3. 攻撃魔法のボタンを押す。
8. ファイルをアップロード
・不具合を確認できるスクリーンショットがありましたら、添付してください。
・画像と動画のみアップロード可能です。
・合計1GBまでのファイルをアップロードできます。
9. その他
・上記以外で何か追加情報があればこちらにご記入ください。
例)以前のバージョンでは発生しなかったのに、アップデート後にバグが発生するようになりました。
【送信後確認メッセージ】
バグ報告をして頂き、本当にありがとうございました!
頂いたバグ報告はゲームを作る部分担当のたむーに共有して、次のアップデートに向けて修正していきたいと思います。
バグの修正状況は、公式サイトのバグ報告一覧ページでお知らせするので、そちらもぜひチェックしてみてください!
これからも、皆様に楽しんでもらえるように頑張って開発を進めて参りますので、応援よろしくお願いします!
大学生ゲーム開発チーム ユニコネ
ゲームを売る部分担当 ポップ
バグ報告フォーム(英語版)
[Greeting]
Hello! Welcome to the Bug Report Form!
We are "UniConnection," a japanese university student game development team!
Here, you can report bugs or anything that bothers you in the game to the developers.
[Why Bug Reporting Helps]
- If bugs are found early, they have a higher chance of getting fixed in the next update!
- Once the bugs are fixed, you'll have a smoother gaming experience!
- The game will become even more fun to play!
- Other players will also have a better experience!
In short, thanks to your reports, we can make the game even better!
Feel free to let us know about anything, even the smallest details!
0. Important Notes for Answering
- If you don't speak English and cannot understand the questions, please use the Google Translate Function.
- You can use your favorite language if it's too difficult for you to fill out.
- We can use ChatGPT to read your text.
- It should take about 5 minutes to complete.
- If there's a question you don’t want to answer, you can leave it blank.
- If you need to stop halfway, please press the submit button anyway. It helps us improve the bug report process.
- Your reports may be shared on the official website or other platforms. Thank you for your understanding!
1. Type of Bug
1. Bug/Glitch
2. Typo
3. Translation Mistake
4. Other Concerns
2. Environment (Auto-filled)
1. Operating System (auto-filled)
2. OS Version (auto-filled)
3. Network Environment during the bug (Wi-Fi, 4G, 5G, etc.)
4. Device Model (auto-filled)
5. App Version (auto-filled)
6. App Name (auto-filled)
3. Basic Information
1. When did the bug happen?
Ex) 2024/09/29 2:00 PM
2. How often does it happen? (100%, 75%, 50%, 25%, 1%)
3. Where were you playing? (Indoor/Outdoor)
4. Nickname
5. Email Address (Please enter if you want a response.)
※We usually don’t reply, but we may contact you if needed.
4. Bug Title
- Please write a short title describing the bug.
Ex) The attack magic button doesn’t work when using a certain combination of weapons.
5. What Happened
- Please describe the situation when the bug occurred in detail.
Ex) While playing a 2-player match, I equipped Attack Magic A and Attack Magic B, but no matter how many times I pressed the button, I couldn’t use an attack.
6. What You Expected to Happen
- Please describe what you expected to happen.
Ex) I expected XX, but it did YY instead.
7. Steps to Reproduce
- Please explain the steps to reproduce the bug as clearly as possible.
Ex)
1. Equip Attack Magic A and Attack Magic B in the equipment screen.
2. Start a match.
3. Press the attack magic button.
8. File Upload
- If possible, please attach a screenshot or video of the bug.
- You can upload up to 1GB of image or video files.
9. Other Information
- If you have any additional info, please write it here.
Ex) This bug didn’t exist in the previous version, but it started happening after the update.
[Thank You Message]
Thanks a lot for your bug report! We really appreciate it!
We’ll share your report with our team member, Tamuu, who handles game development, and we’ll work on fixing it for the next update!
You can check the bug fix status on the official website’s bug report page, so please take a look if you’re interested!
We’ll keep working hard to make the game even better, so we appreciate your support!
Japanese University Student Game Development Team UniConnection
Game Promotion Lead: Pop
これを元にGoogleフォームをいじっていきます。
【ユニコネ製】バグ報告フォームv1.0.0
完成したユニコネのアプリゲーム用のバグ報告フォームv1.0.0がこちら!
アプリ内にバグ報告ボタンを作る
以下のサイトを参考にしながら、GoogleフォームにOSバージョンや機種名などが自動的に入力されるようにするスクリプトを作りました!
これによって、ユーザの皆様の負担を少し軽減できるのではないかなと思います。
アプリ内にバグ報告ボタンを実装する時のC#スクリプト
public class BugReportForm
{
// 日本語版と英語版のデフォルトURL
private string URL_JP = "https://docs.google.com/forms/d/e/1FAIpQLSfE5DxKkdH5_DefvfPfGPNLuFRrm3HSoKOcJBKsnMcnUFfVCg/viewform?usp=pp_url";
private string URL_EN = "https://docs.google.com/forms/d/e/1FAIpQLSdIDSX0IEhtB-sorXJrY3zaz3iRg6maJ6IVovDGMorOuJXADw/viewform?usp=pp_url";
// アプリ名
private string appName = "みんなで魔法対戦";
public void OnClick_ErrorReport()
{
List<string> autoFillData = new List<string>
{
SystemInfo.operatingSystem, // OSバージョン
SystemInfo.deviceModel, // 機種モデル名
appName, // アプリ名
Application.version // アプリバージョン
};
// 言語によってURLを切り替え
string systemLanguage = Application.systemLanguage.ToString();
if (systemLanguage == "Japanese")
{
// 日本語の場合は日本語版のGoogleフォームへ
OpenBugReportForm_JP(autoFillData);
}
else
{
// 日本語以外の場合は英語版のGoogleフォームへ
OpenBugReportForm_EN(autoFillData);
}
}
// 日本語版のGoogleフォームを開く関数
private void OpenBugReportForm_JP(List<string> autoFillData)
{
// 日本語版URLに初期入力値を付与
string formattedURL = string.Format(
URL_JP + "&entry.373075556={0}" + // 利用OSのバージョン
"&entry.586642297={1}" + // 利用機種名
"&entry.1144910160={2}" + // アプリ名
"&entry.621033743={3}", // アプリのバージョン
autoFillData[0], // {0} = 利用OSのバージョン
autoFillData[1], // {1} = 利用機種名
autoFillData[2], // {2} = アプリ名
autoFillData[3] // {3} = アプリのバージョン
);
Application.OpenURL(formattedURL);
}
// 英語版のGoogleフォームを開く関数
private void OpenBugReportForm_EN(List<string> autoFillData)
{
// 英語版URLに初期入力値を付与
string formattedURL = string.Format(
URL_EN + "&entry.373075556={0}" + // 利用OSのバージョン
"&entry.586642297={1}" + // 利用機種名
"&entry.1144910160={2}" + // アプリ名
"&entry.621033743={3}", // アプリのバージョン
autoFillData[0], // {0} = 利用OSのバージョン
autoFillData[1], // {1} = 利用機種名
autoFillData[2], // {2} = アプリ名
autoFillData[3] // {3} = アプリのバージョン
);
Application.OpenURL(formattedURL);
}
}
Googleスプレッドシートで一括管理できるようにする
最後に以下のサイトを参考にしながら、Googleフォームを整形して管理しやすいようにしてみました!
これによって、修正優先度の高い順番にソートしたりできるようになりました!
完成品
完成したバグ報告一元管理システムがコチラ!
おわりに
まだ運用前なので評価ができていません!
実際に第7作目『みんなで魔法対戦』で実装してみて、様子を見てみようと思います!