exp777.hatenablog.com

頭の中はゲームでいっぱい

技のデバッグ

ポケモンの技をデバッグするとして、チェックすべき要素をリストアップしてみる。
とりあえず、体当たりみたいな普通の攻撃技としよう。

  • 双方の能力値(999?1024?6×2通り)
  • 双方の残りHP((999×1000×1997÷6)2通り)
  • 双方の能力増減ランク(68×2通り)
  • 双方のタイプ((17×18)2通りよりはもっと少ない)
  • 双方の特性(175?2通り)
  • 双方の持ち物(?通り)
  • 双方の状態(62通り)
  • 双方の重さ(草結びの威力区分で考えると62通り)
  • 双方の場(25×2×32通り)もっとあるかも
    • リフレクター
    • 光の壁
    • 追い風
    • ステルスロック
    • 毒菱
    • 撒き菱
  • 双方のもろもろのステータス(215×2×32通り)もっとあるかも
    • 気合だめ
    • 身代わり
    • 黒いまなざし系
    • 呪い
    • 宿木の種
    • ロックオン系
    • 根を張る
    • 泥遊び
    • 水遊び
    • 充電
    • 差し押さえ
    • 回復封じ
    • 叩き落とす
    • 白い霧
    • 小さくなる
    • 蓄える
  • 天気+トリックルーム(4×2通り)
  • どちらが先行か
  • 技を受ける側の行動
  • 技の並び方
  • 対戦ルール
  • 対戦する場所
    • 一人プレイ
      • 対戦中に使える道具とか
      • GBA以前なら各バッジの有無
    • ユニオンルーム
    • ワイヤレス通信の各ルール
    • バトルフロンティアの各施設各ルール
    • 通信の場合、どちらが親か

この組み合わせを全部やるとかまず無理。途中から何通りあるか考えるのが面倒になってきたし…
しかも、バグが出ないか1回試せばいいわけじゃなくて、威力や命中率や効果が仕様通りかチェックしないといけない。つまりひとつのパターンに対して何回も試すことになる。これを怠ると、金銀のプレゼントのようなバグが入ってしまう。
全部を試すことはできないから、ある程度省略することになるだろうけど、その中にバグの要因が無いという保証はないのだ。事実、追い討ちと無関係に見える天候がバグの要因になっている。
実際のところプロのデバッガーさんはどの程度チェックするんだろう。もしかしたらまだ見ぬバグがあるかもしれないよね。