W杯イヤーはサッカーゲームもアツい!試合中の見落としがちなバグ

試合中のサッカー選手デバッグ

今年2022年はサッカーW杯(ワールドカップ)の開催年で、サッカーファンにとっては待ちに待ったという感じですね!

管理人(TERU)はサッカー観戦は好きですが、さほど詳しくありません。
しかし、デバッガー・デバッグリーダー時代はなぜかサッカーゲームの担当になることが多く、いつしかサッカーゲーム専属のような形になり、結果的に約4年ほどサッカーゲームの品質管理に関わりました。

そのサッカーゲームはコンシューマーゲームで、マルチプラットフォームかつ多言語対応されていたため、日本語版から海外言語版まで全てのプラットフォームのデバッグが完了するまで1年弱程度かかっていました。また、シリーズ化されていて毎年新作が出るため、他のタイトルを担当する隙間なくサッカーゲームからサッカーゲームのデバッグへと移っていったのです。

その濃密なサッカーゲームのデバッグ経験の中から見落としがちなポイントをいくつかご紹介します。

セットプレイ:コーナーキック

ひとつめはセットプレイのコーナーキックになります。

セットプレイにはコーナーキック、直接フリーキック、間接フリーキックなどがあります。間接フリーキックでボールを相手ゴールに入れてもルール上得点にはなりませんが、直接フリーキックからゴールを狙い得点するのはよくありますね。

コーナーキックからボールを相手ゴールに入れたら得点にはなるものの、コーナーキックから直接ゴールを狙うのは現実でも滅多になく、ゲームでもなかなか難しいのではないかと思います。

現実でのコーナーキックからのゴールというと、私は2002年5月2日に開催されたキリンカップサッカー2002のホンジュラス戦での中村俊輔のゴールが印象に残っています。
当時、TVでリアルタイム観戦していたのですが、現実でコーナーキックから直接ゴールを見たのは初めてだったこともありとても痺れました‥!

【ハイライト】日本代表vsホンジュラス代表|キリンカップサッカー 2002 05 02 神戸ウイングスタジアム

少し話が逸れましたが、バグはこういった『現実にはあるが実現性の低い』ところに潜んでいます。

コーナーキックからの直接ゴールを狙う場合ですが、コーナーキックになるとゴール前に自チーム、相手チームの選手が密集し、通常だと相手DFにクリアされてしまったり相手GKにキャッチされてしまうことでしょう。

そういった確率を少しでも減らすため、守備側のチームは攻撃的なフォーメーションや作戦、攻撃側チームは守備的なフォーメーションや作成に設定しておくと良いでしょう。
また、両チームともファウル繰り返してイエローカードやレッドカードをもらって退場者を出し、両チームの人数を減らします。
さらに、GKにはゴールキーパー能力の低い選手を設定することでゴールしやすくします。

こういった様々な準備をしてもコーナーキックから直接ゴール出来る確率は高くはなく、10回や20回の試行では直接ゴールできない可能性があります。

コーナーキックから直接ゴールした際に想定されるバグですが、以下のものがあります。

・ゴール判定とならない(得点を得られない)
・得点者に得点記録がつかない
・ハイライトに得点シーンが入らない

この中の『得点者の得点記録がつかない』は管理人が実際に遭遇したバグになります。
興味本位でやってみたらバグが出てしまい、再現性の確認や修正確認の作業に非常に苦労し若干後悔した覚えがあります。

セットプレイ:間接フリーキック

次は間接フリーキックですが、サッカーへの関心が低いと間接フリーキックのことがよくわからないかもしれませんね。間接フリーキックとは、以下のようなことでファウルを犯した際に与えられるものになります。

・相手に怪我をさせるような危険な方法でのプレー
・進路妨害などを身体的な接触無しに行う
・攻撃的、侮辱的な発言をする

少しざっくり言うと、間接フリーキックとは『相手に直接的ではない危害を与えたときに発生』するフリーキックとなります。
間接フリーキックから直接相手ゴールにボールを入れた場合、得点とは認められず相手チームのゴールキックで試合が再開されます。

ゲームだと、相手ゴール前での直接フリーキックとなった際はセットプレイ視点に切り替わり直接ゴールが狙いやすくなりますが、間接フリーキックの場合は視点切り替えせず通常のカメラ視点のままとなることが多いと思います。
また、シュートボタンが無効になる場合もあるため、間接フリーキックからのゴールを狙うにはパスを使っていくことになりますが、パスにもグラウンダーパス、浮き球パス、スルーパスなどいくつか種類があるので、選手配置など状況に応じて活用します。

パスは基本的に味方チーム選手にボールが向かっていくため、味方選手がいない相手ゴールに向かってパスを出すのはなかなか難しいです。
ゲームによっては手動(マニュアル)パスという操作があり、好きなところに強弱つけてパスを出すことができます。このパスを使うと間接フリーキックでも直接ゴールを狙いやすくなります。

このときに想定されるバグには、以下のようなものがあります。

・ゴール判定となってしまう
・何も起きない(ゴールキックからのリスタートとならない)

間接フリーキックで直接ゴールを狙うという行為はなかなか普通では考えないことのため、開発時に考慮漏れしてしまい何も処理が入っておらず、ゲームが止まってしまう可能性も考えられます。

競技者の数

サッカーのルールには、以下のように1チームあたりの最低競技者人数が定められています。

第3条 競技者
1.競技者の数
試合は、11人以下の競技者からなる2つのチームによって行われる。そのうち1人は、ゴールキーパーである。いずれかのチームが7人未満の場合、試合は、開始も続行もされない。

サッカー競技規則2021/22
https://www.jfa.jp/laws/soccer/2021_22/

ゲームで1チームのプレイ可能選手が7人未満になった場合、7人未満になった時点で没収試合となることがありますが、没収試合となった試合のスタッツに異常が出てしまうかもしれません。
また、ゲームの仕様として7人未満にならないように試合中にイエロー(レッド)カードもケガも発生しなくなるかもしれませんが、リーグ戦やカップ戦などではリーグ(カップ)の試合記録の異常が出る可能性もあります。

他には、サッカーゲームではフォーメーション設定データの保存・読み込みができることがあります。
競技者数の少ない状態で通常状態(11人いる状態)のフォーメーション設定データを読み込んだり、逆に競技者数の少ない状態のフォーメーション設定データを保存して通常状態で読み込んだりすることで、選手配置やキッカー設定などに異常が起きる可能性もあります。

フォーメーション設定データとリーグ(カップ)戦での試合出場停止選手数などを複合させることで、試合開始時のスタメン選手を7人未満に出来てしまうかもしれません。

まとめ

サッカーゲームをはじめとしたスポーツゲームでは、開発チーム全員がそのスポーツに精通しているわけではないため、様々なルールの確認が必要になります。

当時はゲームデバッグというバグ出し活動しかしていなかったため、ご紹介した観点もデバッガーによって気づく・気づかないがでてきてしまいます。
しかし、ルールや仕様からしっかりと確認観点を検討することでこれらの確認観点を漏らすこともなくなるでしょう。そして、その確認観点を基にテストケースを作成することで、属人的なバグ出しを組織的な活動に変えていくことができます。

テストケースの作成の注意点を以下にまとめていますので、よければご一読いただければと思います。

コメント

タイトルとURLをコピーしました