Updated at: 2017-08-02

ゲームのバグ・障害あるある

タッチデバイス UI 系

キーパッドやマウスと比べて、タッチデバイスになって色々と厄介ごとが増えた。 実機を使わないとデバッグしづらいのも悩みどころ。 いさぎよくシステムレベルでマルチタップ禁止にしとくと事故が減ってよい。

  • 同時押し(マルチタップ)
    • 遷移やウインドウ開くボタンを同時に押したりするとアレ
  • 連続タップ
    • 2 回実行しちゃいけないものを実行しちゃってバグる

根っこで解決できなくてロジックでどうにかしたい場合は、 ある State からは特定の State にしか遷移できないようなステートマシンで制御するとか。

乱数系

  • 乱数として取りうる最大値 / 最小値の時にバッファオーバランや何らかの不具合が生じる
    • 発生確率が低いようなものはリリース後に発覚したりするので厄介
    • 乱数の部分はパラメータとして指定できるようにしておき、ユニットテストで境界値テストをするのが無難

ファイル破損系系

モバイルデバイスのゲームでたまに有り得るのが、

  • なんかよく分からないけどユーザの端末側でダウンロードアセットが破損しててうまく動かない

Client 側のデータに問題がある場合は運用チーム側で調査・修正しにくい。 ユーザが自分で救済策を実行できるようにしておくのはひとつの予防法:

  • ダウンロードしたアセットを使う前のタイトル画面などで キャッシュ削除やアカウント連携が行えるようにしておく