こんにちは!
今野さんの隣に座っていた、
針目縫推しの制作部3年目角谷です!
今回のブログの内容は、弊社がSwitch移植を担当させて頂いた
キルラキルザ・ゲーム -異布- 弊社開発チームによるブログの第二弾となります!
第一弾をお読みでない方はそちらもご参照ください。
さて、第二弾目の内容は「デバッグ&自動テスト」についてです。
1.自動テストについて
自動テストの内容
このプロジェクトでは簡単な物ですが自動テストを行っていました。
自動テストの内容はフリー対戦モードで対戦する2キャラと対戦マップをランダムで選択し、CPU同士で対戦させるといった事をゲーム側に実装していました。
自動テストの結果
実際行ってみた結果、メモリ不足になってしまう組み合わせを発見する事が出来たり、コンバートに失敗しているリソース等も発見することができました。
※以下の画像のようにメモリを取得している物の種類別でどれだけメモリが使用されているのかを確認できる機能があったため、自動テストと組み合わせどの種類のメモリが足りないのかを判別する事が出来ました。
自動テストの感想
あった方がいいだろうという軽い気持ちで実装しましたが、
その割には効果があったと感じたので致命的な問題を発見するために自動テストを行うのは重要な事だと感じました。
また、夜中に自動テストを回すことにより翌日には問題点が分かるので業務の効率化を行えたと思います。
自動テストの反省点
私が実装した自動テストだとただ、ゲームを自動でまわすという事を行っただけなので、
ゲームが止まるような致命的な問題があった場合にしか分からない状態となってしまいました。
しかし、メモリがどれだけ使われていたかや、CPU、GPUの使用率をLog等に出力出来ていればゲームプレイの改善にも使用出来たと思うので、次の機会があれば自動テストの結果を見てゲームプレイの改善を行えるような物を実装したいと思います。
2.デバッグについて
バグの発見方法
第一弾の記事にも記載されていましたが、
日常的なデバッグ作業に加え、
みんなで対戦等を行いながらバグの発見等を行いました。
バグの報告方法
発見したバグの報告ですが、主にMantisを使っての報告を行っていました。
しかし、緊急性が高い物や、こちら側の判断だけでは修正できずやり取りが多くなりそうな物については、以下の画像のようにSlackでバグ報告用の専用チャンネルを作成しておりそこで決められた形式で報告する、というような形にしていました。
この進め方ですが、やり取りに関してはSlackの方が慣れているというのもありスムーズに行えたのでとても良い方法だったと思います。
3.まとめ
今回行ったのは簡単な自動テストでしたが、効果を感じることが出来ました。
簡単な自動テストであれば少しコードを追加するだけでも実装可能だと思うので是非実装してみてください。
ゲーム制作をする上でバグとは切っても切り離せない物だと思います。
これからもどうすればバグを素早く治せるか、どうすればバグを出さずに済むのかを考えながらゲーム制作をしていきたいですね。
以上、「デバッグ&自動テスト」についてでした。
次回は、こちらもゲーム開発では切っても切り離せない「グラフィックス最適化」についてです!是非お楽しみに!
キルラキル ザ・ゲーム -異布-
© ARC SYSTEM WORKS / ©TRIGGER・中島かずき/キルラキル製作委員会
【免責事項】
本サイトでの情報を利用することによる損害等に対し、
株式会社ロジカルビートは一切の責任を負いません。