説明

プログラム、情報記憶媒体及び画像生成システム

【課題】誤判定や誤判定に対する再判定を可能にするプログラム、情報記憶媒体及び画像生成システムを提供すること。
【解決手段】画像生成システムは、ゲーム画像を見ながらプレーヤがプレイするゲーム中に、ゲームプレイ結果の判定イベントが発生した場合に、ゲームプレイ結果に対して所与のルールに基づく判定処理を行う判定部と、判定イベントの発生後に、判定結果に対するプレーヤの再判定要求の操作入力の受け付け処理を行う入力受け付け部と、判定イベントでの判定部の判定に対して誤判定を発生させる誤判定発生処理を行う誤判定発生部を含む。判定部は、再判定要求の操作入力が受け付けられた場合に、ゲームプレイ結果に対する再判定処理を行う。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、プログラム、情報記憶媒体及び画像生成システムに関する。
【背景技術】
【0002】
従来より、スポーツ選手を模したキャラクタ等のオブジェクトが配置設定されるオブジェクト空間内(仮想的な3次元空間)において仮想カメラ(所与の視点)から見える画像を生成する画像生成システム(ゲームシステム)が知られており、いわゆる仮想現実を体験できるものとして人気が高い。テニスゲームを楽しむことができる画像生成システムを例にとれば、プレーヤは、ゲームコントローラなどの操作部を用いて自身のキャラクタを操作して、他のプレーヤやコンピュータが操作する相手キャラクタがショットしたボールをラケットで打ち返すことでゲームを楽しむ。また野球ゲームを楽しむことができる画像生成システムを例にとれば、プレーヤは、操作部を用いて自身のキャラクタを操作して、相手キャラクタが投球したボールをバット打ち返すことでゲームを楽しむ。
【0003】
そして、これまでのスポーツゲームでは、テニスゲームを例にとれば、相手キャラクタが打ったボールがコート内に入ったのか、コートの外に出たのかを、コンピュータが正確に判定していた。即ちプレーヤにとっては、コンピュータが判定を正確に行うことが前提となっており、ボールがコートの外に出たのにINと判定されたり、ボールがコート内に入ったのにOUTと判定されるようなことはなかった。このため、コンピュータが誤判定をするということがなく、ゲームが画一的になってしまうという課題があった。
【特許文献1】特開平9−253333号公報
【特許文献2】特開2001−113045号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
本発明は、以上のような課題に鑑みてなされたものであり、その目的とするところは、誤判定や誤判定に対する再判定を可能にするプログラム、情報記憶媒体及び画像生成システムを提供することにある。
【課題を解決するための手段】
【0005】
本発明は、ゲーム画像を生成する画像生成部と、前記ゲーム画像を見ながらプレーヤがプレイするゲーム中に、ゲームプレイ結果の判定イベントが発生した場合に、前記ゲームプレイ結果に対して所与のルールに基づく判定処理を行う判定部と、前記判定イベントの発生後に、前記判定部の判定結果に対するプレーヤの再判定要求の操作入力の受け付け処理を行う入力受け付け部と、前記判定イベントでの前記判定部の判定に対して誤判定を発生させる誤判定発生処理を行う誤判定発生部とを含み、前記判定部は、前記再判定要求の操作入力が受け付けられた場合に、前記ゲームプレイ結果に対する再判定処理を行う画像生成システムに関係する。また本発明は、上記各部としてコンピュータを機能させるプログラム、又は該プログラムを記憶したコンピュータ読み取り可能な情報記憶媒体に関係する。
【0006】
本発明によれば、ゲーム中にゲームプレイ結果の判定イベントが発生すると、ゲームプレイ結果に対する判定処理が行われる。そして判定イベントの発生後に、プレーヤの再判定要求の操作入力の受け付け処理が行われる。また判定に対する誤判定を発生させる処理が行われる。そして本発明では、再判定要求の操作入力が受け付けられると、ゲームプレイ結果に対する判定を再度行う再判定処理が行われる。
【0007】
このようにすれば、ゲームプレイ結果が常に正確には判定されずに、誤判定が発生するようになる。そしてプレーヤは、その判定が正しい判定なのか誤判定なのかを確かめるために、再判定を要求でき、その再判定要求の操作入力が受け付けられると、ゲームプレイ結果に対する再判定処理が行われる。従って、誤判定や誤判定に対する再判定を可能にする画像生成システム等を提供できる。
【0008】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記誤判定発生部は、ゲームプレイ結果の判定対象物である移動体が、誤判定発生エリアに入ったと判定された場合に、前記誤判定発生処理を行ってもよい。
【0009】
このようにすれば、移動体が誤判定発生エリアに入ったときに誤判定を発生させることができ、誤判定が頻繁に発生してしまう事態を防止できる。
【0010】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記所与のルールは、ゲームプレイ結果の判定対象物である前記移動体が判定エリア内に入ったか否かについてのルールであり、前記誤判定発生エリアは、前記判定エリアを区画する判定ラインに沿って設定され、前記誤判定発生部は、前記判定ラインに近い位置ほど、誤判定の発生確率が高くなる前記誤判定発生処理を行ってもよい。
【0011】
このようにすれば、判定ラインに近いほど誤判定が発生し易くなり、現実世界の誤判定を擬似的にシミュレートできる。
【0012】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記誤判定発生エリアは、前記判定エリアの内側に設定される第1の誤判定発生エリアと、前記判定エリアの外側に設定される第2の誤判定発生エリアを有し、前記誤判定発生部は、第1の確率設定が行われている前記第1の誤判定発生エリアと、前記第2の確率設定とは異なる第2の確率設定が行われている前記第2の誤判定発生エリアとを用いて、前記誤判定発生処理を行ってもよい。
【0013】
このようにすれば、第1、第2の誤判定発生エリアでの誤判定の確率設定を個別に設定でき、ゲームバランスの調整等が容易になる。
【0014】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記誤判定発生処理のための確率設定データを記憶する確率設定データ記憶部を含み(確率設定データ記憶部としてコンピュータを機能させ)、前記確率設定データ記憶部は、前記誤判定発生エリアを区画する第1の境界ライン上での誤判定発生確率データである第1の確率データと、前記誤判定発生エリアを区画する第2の境界ライン上での誤判定発生確率データである第2の確率データと、前記判定ライン上での誤判定発生確率データである第3の確率データを記憶し、前記誤判定発生部は、前記第1、第2、第3の確率データに基づいて、前記誤判定発生処理を行ってもよい。
【0015】
このような第1、第2、第3の確率データを用いれば、誤判定発生エリアでの確率設定を簡素な設定でコントロールできる。
【0016】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記誤判定発生エリアは、前記判定エリアの内側に設定される第1の誤判定発生エリアと、前記判定エリアの外側に設定される第2の誤判定発生エリアを有し、前記確率設定データ記憶部は、前記第1、第2の誤判定発生エリアを設定するための第1、第2のエリア設定データを記憶し、前記誤判定発生部は、前記第1、第2のエリア設定データに基づいて、前記誤判定発生処理を行ってもよい。
【0017】
このようにすれば、第1、第2の誤判定発生エリアの太さやサイズ等を、第1、第2のエリア設定データを用いて個別に設定できるようになる。
【0018】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記ゲーム画像を生成するための仮想カメラを制御する仮想カメラ制御部を含み(仮想カメラ制御部としてコンピュータを機能させ)、前記誤判定発生部は、前記仮想カメラの視点からの距離に応じてその誤判定発生の確率設定が変化する前記誤判定発生エリアを用いて、前記誤判定発生処理を行ってもよい。
【0019】
このようにすれば、プレーヤにとって納得の行く再判定処理の実現等が可能になる。
【0020】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記誤判定発生部は、前記判定エリアを区画する第1の判定ラインと第2の判定ラインとで、その確率設定が異なる前記誤判定発生エリアを用いて、前記誤判定発生処理を行ってもよい。
【0021】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記入力受け付け部は、前記判定イベントが発生した後、プレーヤがゲームプレイを停止したことを条件に、再判定要求の受け付け処理を行ってもよい。
【0022】
このようにすれば、プレーヤにゲームプレイの継続の意思がないと判断して、ゲームを終了し、再判定処理に移行することが可能になる。
【0023】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記所与のルールは、ゲームプレイ結果の判定対象物である移動体が判定エリア内に入ったか否かについてのルールであり、前記誤判定発生部は、前記移動体が前記判定エリア内に入ったのに前記判定エリア外に出たと誤判定する第1の誤判定と、前記移動体が前記判定エリア外に出たのに前記判定エリア内に入ったと誤判定する第2の誤判定とを発生させ、前記入力受け付け部は、前記第2の誤判定が発生したときには、プレーヤがゲームプレイを停止したことを条件に、再判定要求の受け付け処理を行ってもよい。
【0024】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、誤判定が発生した場合にセットされ、前記判定イベントが発生した後にプレーヤがゲームプレイを停止しなかった場合にクリアされる誤判定発生フラグを記憶する誤判定発生フラグ記憶部を含み(誤判定発生フラグ記憶部としてコンピュータを機能させ)、前記判定部は、前記誤判定発生フラグを用いて前記再判定処理を行ってもよい。
【0025】
このような誤判定発生フラグを利用すれば、誤判定発生処理を簡素化できる。
【0026】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、プレーヤが行った前記再判定要求の回数をカウントするカウント部を含み(カウント部としてコンピュータを機能させ)、前記入力受け付け部は、前記カウント部によりカウントされたプレーヤの再判定要求回数が、許容要求回数に達していないことを条件に、再判定要求の受け付け処理を行ってもよい。
【0027】
このようにすれば、プレーヤが再判定の要求を繰り返すことでゲームプレイが頻繁に中断されてしまう事態を防止できる。
【0028】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記カウント部は、前記判定部の前記再判定処理において、前記判定イベントにおいて誤判定がなかったと判断された場合には、前記許容要求回数をデクリメントする処理を行ってもよい。
【0029】
このようにすれば、判定が正しかった場合にプレーヤに対してペナルティを課すことができる。
【0030】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、ゲーム画像のリプレイ画像を生成するリプレイ画像生成部を含み(リプレイ画像生成部としてコンピュータを機能させ)、前記リプレイ画像生成部は、前記再判定要求の操作入力が受け付けられた場合に、前記判定イベントのリプレイ画像を生成してもよい。
【0031】
このようにすればプレーヤは、判定イベント発生時の判定が、正しい判定だったのか、誤判定だったのかを、視覚的に確認できる。
【0032】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、リプレイ画像を生成するためのリプレイデータを記憶するリプレイデータ記憶部と、前記リプレイデータを読み出すためのリプレイフレームを記憶するリプレイフレーム記憶部を含み(上記各部としてコンピュータを機能させ)、前記リプレイ画像生成部は、前記再判定要求の操作入力が受け付けられた場合に、前記リプレイフレーム記憶部から前記リプレイフレームを読み出し、読み出された前記リプレイフレームに基づいて前記リプレイデータ記憶部からリプレイデータを読み出して、前記判定イベントのリプレイ画像を生成してもよい。
【0033】
このようにすれば、判定イベント発生時のリプレイ画像の生成に必要なリプレイデータを、リプレイフレームにより特定して読み出し、リプレイ画像を生成できるようになる。
【0034】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記リプレイ画像生成部は、前記判定イベントの発生場所をズームアップしたリプレイ画像であって、前記判定イベントの発生時に前記判定イベントの発生場所に存在していたキャラクタが非表示にされたリプレイ画像を生成してもよい。
【0035】
このようなズームアップされたリプレイ画像を生成すれば、プレーヤは、微妙な判定の結果を容易に確認できる。またリプレイ時にキャラクタを非表示にすれば、キャラクタの存在が原因になって、判定イベントの発生時の様子が見えにくくなってしまう事態を防止できる。
【0036】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記所与のルールは、ゲームプレイ結果の判定対象物である移動体が判定エリア内に入ったか否かについてのルールであり、前記リプレイ画像生成部は、リプレイ時には、前記判定イベントの発生時に比べて、前記判定エリアを区画する判定ラインから近い位置に、前記移動体が着地又は通過するリプレイ画像を生成してもよい。
【0037】
このようにすれば、ぎりぎりの判定が誤判定になったかのようにプレーヤに見せかけることができ、プレーヤの感じる不自然感を軽減できる。
【0038】
また本発明に係るゲーム装置、プログラム及び情報記憶媒体では、前記リプレイ画像生成部は、第1のプレーヤと、前記第1のプレーヤと対戦する第2のプレーヤとの対戦状況の情報に基づいて、前記判定イベント発生時の画像とは異なるリプレイ画像を生成してもよい。
【0039】
このようにすれば、第1、第2のプレーヤの対戦状況に応じて、判定イベント発生時の画像と同じリプレイ画像が生成されたり、異なるリプレイ画像が生成されたりするようになる。
【0040】
また本発明に係るゲーム装置、プログラム及び情報記憶媒体では、前記リプレイ画像生成部は、前記第2のプレーヤに比べて前記第1のプレーヤの方が不利になる誤判定発生処理を前記誤判定発生部が行ったときに、前記第2のプレーヤに比べて前記第1のプレーヤの方が対戦状況において勝っている場合には、前記判定イベント発生の画像とは異なるリプレイ画像として、前記第2のプレーヤに比べて前記第1のプレーヤの方が不利になるリプレイ画像を生成してもよい。
【0041】
このようにすれば、誤判定発生やリプレイ画像を利用したハンディ設定が可能になる。
【0042】
また本発明に係るゲーム装置、プログラム及び情報記憶媒体では、前記誤判定発生部は、ゲームプレイ結果の判定対象物である移動体の移動情報に基づいて、前記誤判定発生処理を行ってもよい。
【0043】
このようにすれば、移動体の移動情報に応じて誤判定の発生を制御できる。
【0044】
また本発明に係るゲーム装置、プログラム及び情報記憶媒体では、前記誤判定発生部は、前記移動速度が速いほど、誤判定の発生確率が高くなる前記誤判定発生処理を行ってもよい。
【0045】
このようにすれば現実世界での誤判定を擬似的にシミュレートできる。
【0046】
また本発明に係るゲーム装置、プログラム及び情報記憶媒体では、前記誤判定発生部は、ゲームプレイ結果の判定対象物である移動体の誤判定発生エリアでの滞在時間に基づいて、前記誤判定発生処理を行ってもよい。
【0047】
このようにすれば、移動体の誤判定発生エリアでの滞在時間に応じて誤判定の発生を制御できる。
【0048】
また本発明に係るゲーム装置、プログラム及び情報記憶媒体では、前記誤判定発生部は、前記移動体の滞在時間が短いほど、誤判定の発生確率が高くなる前記誤判定発生処理を行ってもよい。
【0049】
このようにすれば現実世界での誤判定を擬似的にシミュレートできる。
【0050】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、コンピュータにより操作されるコンピュータキャラクタの制御処理を行うキャラクタ制御部を含み(キャラクタ制御部としてコンピュータを機能させ)、前記キャラクタ制御部は、前記判定イベントが発生した場合に、前記コンピュータキャラクタに前記再判定要求を行わせる制御処理を行ってもよい。
【0051】
このようにすれば、プレーヤ側とコンピュータ側が再判定要求をお互いに行い合うようになり、白熱したゲーム展開を実現できる。
【0052】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記キャラクタ制御部は、プレーヤが操作するキャラクタと前記コンピュータキャラクタとの間の対戦状況の情報に基づいて、前記コンピュータキャラクタに前記再判定要求を行わせるか否かを判断してもよい。
【0053】
このようにすれば、例えば対戦状況が接戦状況であるときに、コンピュータキャラクタが意味のない再判定要求を行う事態を防止できる。
【0054】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記所与のルールは、ゲームプレイ結果の判定対象物である移動体が判定エリア内に入ったか否かについてのルールであり、前記キャラクタ制御部は、前記判定エリアを区画する判定ラインと前記移動体の着地点又は通過点との距離に応じて設定される確率データに基づいて、前記コンピュータキャラクタに前記再判定要求を行わせるか否かを判断してもよい。
【0055】
このようにすれば、判定ラインと着地点又は通過点との距離に応じて、コンピュータキャラクタが再判定要求を行う頻度を制御できる。
【0056】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記キャラクタ制御部は、前記コンピュータキャラクタの再判定要求の許容要求回数の情報に基づいて、前記コンピュータキャラクタに前記再判定要求を行わせるか否かを判断してもよい。
【0057】
このようにすれば、再判定要求の許容要求回数に応じて、コンピュータキャラクタが再判定要求を行う頻度を制御できる。
【0058】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、プレーヤが操作するキャラクタによりショット又は捕捉される移動体の制御処理を行う移動体制御部と、前記キャラクタの制御処理を行うキャラクタ制御部を含み(上記各部としてコンピュータを機能させ)、前記入力受け付け部は、前記キャラクタにより前記移動体がショット又は捕捉されるタイミングに先行して、前記キャラクタの動作を指示する先行入力をプレーヤが行った場合に、入力された先行入力の受け付け処理を行い、前記キャラクタ制御部は、前記先行入力により前記キャラクタがショット動作又は捕捉動作を開始した後に、前記再判定要求のためにプレーヤがキャンセル操作を行った場合には、前記キャラクタの前記ショット動作又は前記捕捉動作をキャンセルする制御を行ってもよい。
【0059】
このようにすれば、先行入力により開始したショット動作又は捕捉動作をキャンセルできるため、誤判定に対する再判定要求の機会をプレーヤから奪ってしまう事態を防止できる。
【0060】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記所与のルールは、ゲームプレイ結果の判定対象物である移動体が判定エリア内に入ったか否かについてのルールであり、前記キャラクタ制御部は、前記移動体が前記判定エリア外に出たときに、プレーヤが前記キャンセル操作を行った場合に、前記キャラクタの前記ショット動作又は前記捕捉動作をキャンセルする制御を行ってもよい。
【0061】
このようにすれば、判定エリア外に出たときに、ショット動作又は捕捉動作のキャンセルが可能になり、先行入力システムに最適な再判定処理を実現できる。
【発明を実施するための最良の形態】
【0062】
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【0063】
1.構成
図1に本実施形態の画像生成システム(ゲームシステム)のブロック図の例を示す。なお本実施形態の画像生成システムは図1の構成要素(各部)の一部を省略した構成としてもよい。
【0064】
操作部160は、プレーヤが操作データを入力するためのものであり、その機能は、方向キー、操作ボタン、アナログスティック、レバー、マイク、或いはタッチパネル型ディスプレイなどにより実現できる。
【0065】
記憶部170は、処理部100や通信部196などのワーク領域となるもので、その機能はRAM(DRAM、VRAM)などにより実現できる。この記憶部170は、電源を切るとデータが消えてしまう揮発性のメモリにより構成できるが、補助記憶装置194よりも高速な記憶装置になっている。そしてゲームプログラムや、ゲームプログラムの実行に必要なゲームデータは、この記憶部170に保持される。
【0066】
情報記憶媒体180(コンピュータにより読み取り可能な媒体)は、プログラムやデータなどを格納するものであり、その機能は、光ディスク(CD、DVD)、HDD(ハードディスクドライブ)、或いはメモリ(ROM等)などにより実現できる。処理部100は、情報記憶媒体180に格納されるプログラム(データ)に基づいて本実施形態の種々の処理を行う。即ち情報記憶媒体180には、本実施形態の各部としてコンピュータ(操作部、処理部、記憶部、出力部を備える装置)を機能させるためのプログラム(各部の処理をコンピュータに実行させるためのプログラム)が記憶される。
【0067】
表示部190は、本実施形態により生成された画像を出力するものであり、その機能は、CRT、LCD、タッチパネル型ディスプレイ、或いはHMD(ヘッドマウントディスプレイ)などにより実現できる。音出力部192は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどにより実現できる。
【0068】
補助記憶装置194(補助メモリ、2次メモリ)は、記憶部170の容量を補うために使用される記憶装置であり、SDメモリーカード、マルチメディアカードなどのメモリーカードや、HDDなどにより実現できる。この補助記憶装置194は脱着自在になっているが、内蔵されるものであってもよい。この補助記憶装置194は、ゲームの途中結果などのセーブデータや、プレーヤ(ユーザ)の個人的な画像データや音楽データなどを保存するために使用される。
【0069】
通信部196は、有線や無線のネットワークを介して外部(例えば他の画像生成システム、サーバ、ホスト装置)との間で通信を行うものであり、その機能は、通信用ASIC又は通信用プロセッサなどのハードウェアや、通信用ファームウェアにより実現できる。
【0070】
なお本実施形態の各部としてコンピュータを機能させるためのプログラム(データ)は、サーバ(ホスト装置)が有する情報記憶媒体からネットワーク及び通信部196を介して情報記憶媒体180(あるいは記憶部170、補助記憶装置194)に配信してもよい。このようなサーバ(ホスト装置)による情報記憶媒体の使用も本発明の範囲内に含めることができる。
【0071】
処理部100(プロセッサ)は、操作部160からの操作データやプログラムなどに基づいて、ゲーム処理、画像生成処理、或いは音生成処理などを行う。処理部100は記憶部170をワーク領域として各種処理を行う。この処理部100の機能は、各種プロセッサ(CPU、GPU等)、ASIC(ゲートアレイ等)などのハードウェアや、プログラムにより実現できる。
【0072】
処理部100は、入力受け付け部102、オブジェクト空間設定部104、ゲーム演算部106、移動体制御部108、キャラクタ制御部110、モーション再生部112、ヒット位置演算部114、判定部116、誤判定発生部117、カウント部118、仮想カメラ制御部119、画像生成部120、リプレイ画像生成部122、音生成部130を含むことができる。なおこれらの一部の構成要素(例えばヒット位置演算部)を省略する構成としてもよい。
【0073】
入力受け付け部(操作データ取得部)102は、プレーヤの操作入力を受け付ける処理を行う。例えばプレーヤによる操作部160の操作をモニタし、プレーヤがキャラクタの動作指示等のために操作部160を操作した場合に、操作部160により入力された動作指示データ(モーション指示データ、方向指示データ)や項目選択データ等の操作情報を取得する。
【0074】
そして本実施形態では入力受け付け部102は、プレーヤの再判定要求の操作入力の受け付け処理を行う。例えばゲーム画像を見ながらプレーヤがプレイするゲーム中に、ゲームプレイ結果の判定イベント(IN・OUTの判定、ストライク・ボールの判定、タッチダウンの判定等)が発生した場合に、判定イベントの発生後に、判定部116の判定結果に対する再判定要求(チャレンジ)の操作入力の受け付け処理を行う。また判定イベントが発生した後、プレーヤがゲームプレイを停止したことを条件(ゲームプレイが継続されなかったことを条件)に、プレーヤの再判定要求の操作入力を受け付ける。またカウント部118によりカウントされたプレーヤの再判定要求回数が許容要求回数に達していないことを条件に、再判定要求の操作入力を受け付ける。
【0075】
また入力受け付け部102は、キャラクタにより移動体(ボール)がショット(打撃、キック)又は捕捉(捕球、キープ)されるタイミングに先行して、キャラクタの動作を指示する先行入力(動作指示データの入力)をプレーヤが行った場合に、入力された先行入力を受け付ける。ここで先行入力は、例えば、少なくとも先行入力が行われたタイミングから移動体がショット又は捕捉されるタイミングまでのキャラクタのモーション(動作)を決めるための入力である。例えばヒット動作(トップスピンやスライスなどのショット動作)を指示する先行入力が行われると、その先行入力の動作指示データにより特定されるモーションが再生されて、ヒットタイミング(ショットタイミング、捕捉タイミング)においてキャラクタが移動体(ボール、プレイ対象物)のヒット動作(ショット動作、捕捉動作)を行う。このようにすれば、先行入力のタイミングから少なくともヒットタイミングまで、その先行入力で特定されるモーション(例えば1つのモーションデータ)を選択して再生できるようになり、リアルで高品質なモーション表現を実現できる。
【0076】
オブジェクト空間設定部104は、モデルオブジェクト(キャラクタ、ロボット、車、戦闘機、ボール、ミサイル、弾等)、ゲームフィールド(コート、グラウンド)、壁、建物、樹木、マップ(地形)、コース(道路)などの表示物を表す各種オブジェクト(ポリゴン、自由曲面又はサブディビジョンサーフェイスなどのプリミティブ面で構成されるオブジェクト)をオブジェクト空間に配置設定する処理を行う。即ちワールド座標系でのオブジェクトの位置や回転角度(向き、方向と同義)を決定し、その位置(X、Y、Z)にその回転角度(X、Y、Z軸回りでの回転角度)でオブジェクトを配置する。
【0077】
例えば記憶部170の形状データ記憶部171には、キャラクタ等のオブジェクト(モデルオブジェクト)の形状を決めるための形状データ(ポリゴンデータ)が記憶されている。またオブジェクトデータ記憶部172には、図2に示すように、これらのオブジェクトの位置、回転角度、移動速度、移動方向等のデータであるオブジェクトデータがオブジェクト番号に対応づけて記憶される。
【0078】
そしてオブジェクト空間設定部104は、これらの形状データやオブジェクトデータを用いて、オブジェクト空間へのオブジェクトの設定(配置)処理を行う。またオブジェクトデータ記憶部172のオブジェクトデータは、移動体制御部108やキャラクタ制御部110での移動制御処理等により順次更新される。
【0079】
ゲーム演算部106はゲーム演算処理を行う。ここでゲーム演算としては、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、ゲーム結果を演算する処理、或いはゲーム終了条件が満たされた場合にゲームを終了する処理などがある。
【0080】
移動体制御部(移動体演算部)108は、オブジェクト空間内で移動するボールなどの移動体(プレイ対象物)の制御処理を行う。例えば移動体を移動させたり動作させるための制御処理(演算処理)を行う。即ち、移動体の移動軌道等を決めるためのアルゴリズムや、各種データなどに基づいて、移動体をオブジェクト空間内(ゲーム空間内)で移動させるための処理を行う。例えば移動体の移動情報(位置、回転角度、速度、或いは加速度)や動作情報(パーツオブジェクトの位置、或いは回転角度)を、1フレーム(1/60秒)毎に順次求めるシミュレーション処理を行う。なおフレームは、移動体の移動・動作処理(シミュレーション処理)や画像生成処理を行う時間の単位である。
【0081】
キャラクタ制御部(キャラクタ演算部)110は、人間等(例えばスポーツ選手)を模したキャラクタの制御処理を行う。例えばキャラクタを移動させたり動作させるための制御処理を行う。即ち操作部160によりプレーヤが入力した操作データや、キャラクタの移動、動作を決めるためのアルゴリズムや、各種データなどに基づいて、キャラクタをオブジェクト空間内で移動、動作させるための処理を行う。例えば操作データに基づいてキャラクタの移動情報や動作情報を1フレーム毎に順次求めるシミュレーション処理を行う。
【0082】
そして本実施形態では、移動体制御部108は、キャラクタによりショット又は捕捉されるボール(判定対象物、プレイ対象物)などの移動体の制御処理(移動制御処理)を行う。またキャラクタ制御部110は、入力受け付け部102により受け付けられた先行入力の操作データに基づいて、キャラクタの制御処理(移動制御処理)を行う。この場合に制御処理により移動する移動体の軌道データを、図示しない軌道データ記憶部に記憶する。例えばコンピュータや他プレーヤが操作する相手キャラクタが、ボール等の移動体をショット(ヒット)すると、ショットしたフレームを先頭フレームとした各フレームでの移動体位置(予測位置)が、軌道データとして記憶される。
【0083】
またキャラクタ制御部110は、コンピュータにより操作されるコンピュータキャラクタの制御処理も行う。具体的には、判定イベントが発生した場合に、コンピュータキャラクタに再判定要求を行わせる制御処理を行う。例えば、キャラクタとコンピュータキャラクタとの間の対戦状況の情報(接戦か否か)や、判定エリアを区画する判定ラインと移動体の着地点又は通過点との距離に応じて設定される確率データや、再判定要求の許容要求回数の情報などに基づいて、コンピュータキャラクタに再判定要求を行わせるか否かを判断(制御)する。
【0084】
モーション再生部(モーション処理部)112はモーション再生処理を行う。即ちキャラクタにモーション(アニメーション)を行わせるモーション再生処理(モーション処理、モーション生成処理)を行う。このモーション再生処理は、キャラクタのモーションを、モーションデータ記憶部173に記憶されているモーションデータに基づいて再生することなどで実現できる。
【0085】
即ち、モーションデータ記憶部173には、キャラクタ等のオブジェクト(モデルオブジェクト、スケルトン)を構成する各パーツオブジェクト(スケルトンを構成する骨)の位置又は回転角度等を含むモーションデータが記憶されている。モーション再生部112は、このモーションデータを読み出し、このモーションデータに基づいてオブジェクトの各パーツオブジェクト(骨)を動かすことで(オブジェクトのスケルトン形状を変形させることで)、オブジェクトのモーションを再生する。なお、モーションデータ記憶部173に記憶されるモーションデータは、モーションキャプチャなどを利用して作成したものであることが望ましいが、モーションデータを、物理シミュレーション(物理計算を利用したシミュレーション。擬似的な物理計算でもよい)などによりリアルタイムに生成するようにしてもよい。また、少ないモーションデータ量でリアルなモーションを再生するために、モーションブレンドやインバース・キネマティクスを用いてモーション再生を行うことが望ましい。
【0086】
ヒット位置演算部114は、キャラクタ(例えばキャラクタが持つラケット、バット等)と移動体(ボール等)とのヒットイベントが発生する位置(場所)であるヒット位置(ショット位置、捕捉位置)を求める処理を行う。例えばキャラクタが移動体をショットするショット位置や、キャラクタが移動体を捕捉する捕捉位置を求める。即ち、キャラクタと移動体とのヒットチェック処理を行い、ヒットイベントが発生した時の移動体の位置等を、ヒット位置として求める。そして求められたヒット位置のデータは図示しないヒット位置記憶部に記憶される。
【0087】
判定部116は、ゲームプレイ結果に対して所与のルールに基づく判定処理を行う。具体的は、ゲーム画像を見ながらプレーヤがプレイするゲーム中に、ゲームプレイ結果の判定イベントが発生した場合に、ゲームプレイ結果に対して所与のルールを適用して判定する。例えばゲームプレイ結果に所与のルールを適用して、ルール基準を満たしたか否かを判定する。ここでゲームプレイ結果は、例えばプレーヤがゲームにおいて行う一連のゲームプレイの各プレイ結果であり、例えば得点、ポイント、勝敗又は趨勢等を決める結果である。また所与のルールは、例えば、スポーツゲームのルールであり、ゲームプレイ結果の判定対象物である移動体が判定エリア内に入ったか否かについてのルールなどである。例えば判定部116は、ボール等の移動体をショットしたり、投げたりするゲームプレイの結果に対して、ショットされた移動体又は投げられた移動体が判定エリア(例えばコート、ストライクゾーン、タッチダウンエリア、ゴールエリア等)内に入ったか否かのルールを適用して判定する。
【0088】
そして判定部116は再判定処理も行う。具体的には入力受け付け部102により、再判定要求の操作入力が受け付けられた場合に、ゲームプレイ結果に対する再判定処理を行う。例えば誤判定発生フラグ記憶部177に記憶される誤判定発生フラグを用いて、ゲームプレイ結果に対して所与のルールに基づく再判定処理を行う。
【0089】
誤判定発生部117は誤判定の発生処理を行う。具体的には判定イベント(判定エリア内に移動体が入ったか否かのイベント)での判定部116の判定に誤判定を発生させる誤判定発生処理を行う。例えば判定対象物である移動体が、誤判定発生エリア(例えば判定エリアの判定ラインなどに設定されるエリア)に入ったと判定された場合(移動体が着地、通過した場合)に、誤判定発生処理を行い、確率設定データ記憶部176に記憶される確率設定データ(確率分布、確率)に基づいて誤判定を発生させる。また誤判定発生部117は、仮想カメラの視点からの距離に応じてその誤判定発生の確率設定が変化する誤判定発生エリアを用いて、誤判定発生処理を行う。
【0090】
カウント部118は、プレーヤ(或いはコンピュータキャラクタ)が行った再判定要求の回数をカウントする。そして入力受け付け部102は、カウント部118によりカウントされたプレーヤの再判定要求回数が許容要求回数に達していないことを条件に、プレーヤ(或いはコンピュータキャラクタ)の再判定要求の操作入力を受け付ける。またカウント部118は、判定部116の再判定処理において、判定イベントにおいて誤判定がなかったと判断された場合には、ペナルティを課すために、許容要求回数をデクリメントする処理を行う。
【0091】
仮想カメラ制御部119は、オブジェクト空間内の所与(任意)の視点から見える画像を生成するための仮想カメラ(視点)の制御処理を行う。具体的には、仮想カメラの位置(X、Y、Z)又は回転角度(X、Y、Z軸回りでの回転角度)を制御する処理(視点位置、視線方向あるいは画角を制御する処理)を行う。
【0092】
例えば仮想カメラによりキャラクタを後方から撮影する場合には、キャラクタの位置又は回転の変化に仮想カメラが追従するように、仮想カメラの位置又は回転角度(仮想カメラの向き)を制御する。この場合には、キャラクタ制御部110で得られたキャラクタの位置、回転角度又は速度などの情報に基づいて、仮想カメラを制御できる。或いは、仮想カメラを、予め決められた回転角度で回転させたり、予め決められた移動経路で移動させる制御を行ってもよい。この場合には、仮想カメラの位置(移動経路)又は回転角度を特定するための仮想カメラデータに基づいて仮想カメラを制御する。
【0093】
画像生成部120は、処理部100で行われる種々の処理(ゲーム処理)の結果に基づいて描画処理を行い、これによりゲーム画像を生成し、描画バッファ179に書き込んで、表示部190に出力する。いわゆる3次元ゲーム画像を生成する場合には、まずモデル(オブジェクト)の各頂点の頂点データ(頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等)を含むモデルデータが入力され、入力されたモデルデータに含まれる頂点データに基づいて、頂点処理(頂点シェーダによるシェーディング)が行われる。なお頂点処理を行うに際して、必要に応じてポリゴンを再分割するための頂点生成処理(テッセレーション、曲面分割、ポリゴン分割)を行うようにしてもよい。
【0094】
リプレイ画像生成部122はリプレイ画像の生成処理を行う。具体的には、入力受け付け部102により再判定要求の操作入力が受け付けられた場合に、判定イベントのリプレイ画像を生成する。
【0095】
この場合、リプレイデータ記憶部174は、リプレイ画像を生成するためのリプレイデータを記憶する。リプレイデータとしては、オブジェクトのワールド座標系(絶対座標系)での位置、回転角度等のオブジェクトデータを記憶してもよいし、操作部160の操作履歴データなどを記憶してもよい。またリプレイフレーム記憶部174は、リプレイデータを読み出すためのリプレイフレーム(リプレイポインタ)を記憶する。
【0096】
そしてリプレイ画像生成部122は、再判定要求の操作入力が受け付けられた場合にリプレイフレーム記憶部175からリプレイフレームを読み出し、読み出されたリプレイフレームに基づいてリプレイデータ記憶部174からリプレイデータを読み出す。そして、判定イベントのリプレイ画像(判定時における判定場所でのリプレイ画像)を生成する。また、リプレイ時には、判定イベントの発生時に比べて、判定エリアを区画する判定ラインから近い位置に、移動体が着地(着弾)又は通過するリプレイ画像を生成する。また判定イベントの発生場所をズームアップ(拡大)したリプレイ画像であって、判定イベントの発生時に判定イベントの発生場所に存在していたキャラクタ(オブジェクト)が非表示にされたリプレイ画像を生成する。
【0097】
音生成部130は、処理部100で行われる種々の処理の結果に基づいて音処理を行い、BGM、効果音、又は音声などのゲーム音を生成し、音出力部192に出力する。
【0098】
なお、本実施形態の画像生成システムは、1人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。また複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、1つの端末を用いて生成してもよいし、ネットワーク(伝送ライン、通信回線)などで接続された複数の端末(ゲーム機、携帯電話)を用いて分散処理により生成してもよい。
【0099】
2.本実施形態の手法
次に本実施形態の手法の具体例について説明する。なお以下では、テニスゲームに本実施形態の手法を適用した場合について主に説明するが、本実施形態はこれに限定されず、例えば野球、アメリカンフットボール、サッカーなどの様々なスポーツゲームやそれ以外のゲームにも適用できる。
【0100】
2.1 再判定要求
本実施形態の手法を適用したテニスゲームでは、図3に示すように、プレーヤが操作するキャラクタCHとコンピュータや他プレーヤが操作する相手キャラクタCCとが、オブジェクト空間(仮想3次元空間)に設定されたコート上でボールBLを打ち合って対戦する。例えば図3のオブジェクト空間のワールド座標系では、平面方向にX軸、Z軸(広義には第1、第3の座標軸)が設定され、高さ方向にY軸(広義には第2の座標軸)が設定され、コート(ネット)の中心に原点に設定されている。そしてキャラクタCHは、プレーヤにより入力された操作データに基づいてX、Z平面のコート上で移動して、相手キャラクタCCが打ったボールBLを打ち返す。
【0101】
そして本実施形態では、このようにして打たれたボールのIN、OUTの判定イベントにおいて、誤判定(誤審)を発生させる。また判定イベントの後に、プレーヤの再判定要求を受け付け、再判定処理を行う。例えば図4に本実施形態の処理を説明するためのフローチャートを示す。
【0102】
まず、ゲームプレイ中にボール(広義には移動体)が着地(バウンド)し、判定イベントが発生したか否かを判断する(ステップS1)。そしてボールが着地した場合には、ボールの着地位置と着地フレームを取得して記憶部に保存する(ステップS2)。例えば着地位置は、ボールの軌道と地面との交点を求めることで取得できる。また着地フレームは、リプレイデータを読み出すためのリプレイフレームとなる。例えば本実施形態では、キャラクタがサービスを行って、ゲームプレイを開始すると、リプレイデータ記憶部174へのリプレイデータの記録が開始すると共に、フレーム数のカウントを開始する。そしてボールが着地したときのフレーム数が、リプレイフレームとしてリプレイフレーム記憶部175に記憶される。
【0103】
次に、ボールが誤判定発生エリア(誤審エリア)に着地したか否かを判断する(ステップS3)。この誤判定発生エリアは、例えば判定エリア(コート、ストライクゾーン)を区画する判定ラインなどに対して設定される。そしてボールの着地位置が誤判定発生エリア内に存在するか否かを判断することで、誤判定発生エリアに着地したか否かを判断する。
【0104】
ボールが誤判定発生エリアに着地した場合には、誤判定発生処理を行う(ステップS4)。具体的には、確率設定データ記憶部176から、誤判定発生エリアでの確率分布や確率を決める確率設定データを読み出し、この確率設定データやボールの着地点などに基づいて、所与の確率で誤判定を発生させる。そして誤判定が発生した場合には、誤判定発生フラグ記憶部177に記憶される誤判定発生フラグをセットする(ステップS5、S6)。
【0105】
次に、着地(バウンド)直後にゲームプレイが終了したか否かを判断する(ステップS7)。そして例えばプレーヤがゲームプレイを停止しなかったことにより(ゲームプレイを継続したことにより)、ゲームプレイが終了しなかった場合には、ステップS1に戻る。即ちこの場合には、プレーヤの再判定要求の受け付け処理は行われない。また例えばプレーヤが、ボールをショットしたことでゲームプレイが終了しなかった場合には、誤判定発生フラグをクリアする。
【0106】
一方、ゲームプレイが終了した場合には、カウント部118によりカウントされる再判定要求回数が許容要求回数に達していないかを判断する(ステップS8)。そして許容要求回数に達している場合には、ステップS1に戻る。一方、達していない場合には、再判定要求受け付け画面を表示して、プレーヤの再判定要求を受け付ける(ステップS9)。
【0107】
次に、再判定要求受け付け画面において、プレーヤが再判定要求(再判定要求の操作入力)をしたか否かを判断し(ステップS10)、再判定要求をしなかった場合には、ステップS1に戻る。一方、再判定要求をした場合には、ステップS2で保存されたリプレイフレーム(着地フレーム)をリプレイフレーム記憶部175から読み出し、読み出されたリプレイフレームに基づいてリプレイデータ記憶部174からリプレイデータを読み出す(ステップS11)。
【0108】
次に、ボールの着地点を判定ラインに近づくように調整する(ステップS12)。即ちステップS2で保存されたゲームプレイ時の実際の着地点よりも判定ラインに近い位置に、ボールが着地して見えるように、ボールの着地点の表示位置を調整する。
【0109】
次に、リプレイデータに基づいて、着地点をズームアップしたリプレイ画像を生成して表示する(ステップS13)。即ち、ステップS11で読み出されたリプレイデータと、ステップS2で保存された着地位置に基づいて、着地点がズームアップされたリプレイ画像を生成する。この場合、リプレイデータのうち、ボール、コート等のデータのみを用いて、キャラクタのデータを使用しないことで、キャラクタが非表示にされたリプレイ画像を生成する。
【0110】
次に、誤判定があったか否かを判定する(ステップS14)。具体的には誤判定フラグがセットされたか否かを判断する。そして誤判定がなかった場合には、プレーヤの許容要求回数をデクリメントして(ステップS15)、次のゲームプレイの処理に移行する。一方、誤判定があった場合には、正して判定結果に基づき、得点、記録を修正して(ステップS16)、次のゲームプレイの処理に移行する。
【0111】
図6(A)〜図8(B)に本実施形態により生成されるゲーム画像やリプレイ画像の例を示す。図6(A)ではプレーヤが操作するキャラクタCHの打ったボールが、相手キャラクタCCのコートでOUTと判定されている。このとき、相手コートの判定ラインに設定された誤判定発生エリアにボールがバウンド(着地)したため(判定イベントが発生したため)、再判定要求の操作入力の受け付け処理が行われ、A1に示すように再判定要求の受け付け画面が表示される。即ち、判定が出た後に条件が揃うと、A1に示すように操作ボタンの入力を促す受け付け画面が表示される。
【0112】
そしてプレーヤが、このような受け付け画面が表示されている間に、再判定要求(チャレンジ)を指示する操作ボタン64を押すと、図6(B)に示すように、キャラクタCHが再判定を要求している様子が表現された演出画面が表示される。そして図7(A)に示すように、ボールBLの着地点をズームアップしたリプレイ画像によるビデオ判定画面が表示される。即ち判定が正しかったどうかを確認するためのリプレイが再生される。その結果、判定が間違っていると判断された場合には、判定を覆すことができる。なおリプレイ画像では、リプレイの邪魔にならないようにキャラクタ等は非表示に設定される。
【0113】
例えば図7(A)では、再判定の結果、キャラクタCHの打ったボールが、相手のコート内(オンラインを含む)に入ったと判定され、OUT判定がIN判定に覆っている。従って、プレーヤの再判定要求は成功に終わり、得点、記録が修正される。そして図7(B)に示すように、再判定のチャレンジに成功したキャラクタCHが喜ぶ演出画面が表示される。
【0114】
一方、図8(A)では、再判定の結果、キャラクタCHの打ったボールが、相手コートの外に出たと判定され、最初の判定通りOUTと判定されている。従って、プレーヤの再判定要求は失敗に終わり、プレーヤの再判定の許容要求回数が1だけデクリメントされる。そして図8(B)に示すように、再判定のチャレンジに失敗してキャラクタCHがうなだれる演出画面が表示される。
【0115】
このように本実施形態では、通常のコンピュータゲームでは正確に行われる判定に対して、敢えて誤判定(誤審)を発生させている。そしてプレーヤの再判定要求が受け付けられると、リプレイ画像を表示して再判定の演出を行う。即ち、試合中、ライン際のきわどい位置にボールが落ちたときに、プレーヤは、自分に不利な判定に対して、リプレイ画像を用いたビデオ判定を求める抗議を行うことができる。従って、プレーヤは、微妙な判定に対して再判定を要求できるため、プレーヤの仮想現実感を増すことができ、これまでにない演出表現を実現できる。
【0116】
2.2 誤判定発生処理
次に誤判定発生処理の詳細例について説明する。本実施形態では図9(A)に示すように、ボールBL(移動体)が、誤判定発生エリアFARに入ったと判定された場合に、誤判定発生処理を行う。即ちボールBLの着地点LP(或いは通過点)の座標(X、Z座標)が、誤判定発生エリアFAR内である場合に誤判定発生処理を行う。このようにすれば、判定ラインDLの近くにボールBLが着地したときにだけ誤判定を発生させることができ、誤判定発生処理が頻繁に行われてしまう事態を防止できる。また誤判定発生エリアFARの幅(サイズ)や確率データを変えることで、誤判定が発生する頻度を制御でき、ゲームバランスの調整が容易になる。
【0117】
具体的には、判定のルールが、ボールBLが判定エリア内に入ったか否かについてのルールである場合、誤判定発生エリアFARは、判定エリア(コート等)を区画する判定ラインDLに沿って設定される。即ち判定ラインDLにオーバラップするように誤判定発生エリアFARが設定される。そして誤判定発生部117は、判定ラインDLに近い位置ほど、誤判定の発生確率が高くなる誤判定発生処理を行う。
【0118】
例えば図9(A)では、判定ラインDL上での誤判定発生確率は80%になっている。一方、誤判定発生エリアFARを区画する第1、第2の境界ラインBD1、BD2上での誤判定発生確率は30%になっている。そして判定ラインDLから境界ラインBD1又はBD2の方に向かうにつれて徐々に誤判定発生確率が減少する。例えばリニアに誤判定発生確率が減少する。従って誤判定発生部117は、着地点LPと判定ラインDLとの距離に基づいて、境界ラインBD1、BD2での誤判定発生確率と判定ラインDLでの誤判定発生確率を線形補間することで、着地点LPでの誤判定発生確率を求めることができる。
【0119】
このようにすれば、ボールBLの着地点が判定ラインDLに近いほど、誤判定が発生し易くなり、微妙な判定のときに誤判定が発生するようになるため、現実世界の誤審を擬似的にシミュレートできる。なお境界ラインBD1、BD2の外側では誤判定発生確率は0%になっている。即ち誤判定発生エリアFARの外側では誤判定は発生しない。
【0120】
また図9(B)に示すように、誤判定発生エリアFARは、判定エリア(判定ラインDL)の内側に設定される第1の誤判定発生エリアFAR1と、判定エリアの外側に設定される第2の誤判定発生エリアFAR2を有する。そして第1の誤判定発生エリアFAR1には第1の確率設定が行われ、第2の誤判定発生エリアFAR2には第2の確率設定が行われ、誤判定発生部117は、これらの誤判定発生エリアFAR1、FAR2を用いて誤判定発生処理を行う。
【0121】
例えば図9(B)では、誤判定発生エリアFAR2の方がFAR1よりも幅が太くなっている。また境界ラインBD2の方がBD1よりも誤判定の発生確率が高く設定されており、誤判定発生エリアFAR2の方がFAR1よりも誤判定が発生し易くなっている。なお、逆に、誤判定発生エリアFAR1の方がFAR2よりも誤判定が発生し易くなるようにしてもよい。
【0122】
このように誤判定発生エリアFAR1、FAR2での誤判定の確率設定を個別に設定できるようにすれば、例えばINがOUTと判定される誤判定の頻度と、OUTがINと判定される誤判定の頻度が異なるように、ゲームバランスの調整等が可能になる。
【0123】
図10に、誤判定発生処理を行うための課率設定データ(確率設定テーブル)の例を示す。この確率設定データは確率設定データ記憶部176に記憶される。
【0124】
例えば確率設定データ記憶部176は、誤判定発生エリアFARを区画する境界ラインBD1上での誤判定発生確率データである第1の確率データPR1と、第2の境界ラインBD2上での誤判定発生確率データである第2の確率データPR2を記憶する。また判定ラインDL上での誤判定発生確率データである第3の確率データPR3を記憶する。なおPR1=PR2になるように設定してもよい。
【0125】
そして誤判定発生部117は、これらの確率データPR1、PR2、PR3に基づいて誤判定発生処理を行う。例えば着地点LPの位置と、確率データPR1、PR2、PR3を用いて、着地点LPでの誤判定発生確率を求める。
【0126】
また確率設定データ記憶部176は、誤判定発生エリアFAR1、FAR2を設定するための第1、第2のエリア設定データLA1、LA2を記憶する。具体的には例えば判定ラインDLから境界ラインBD1、BD2までの距離が、エリア設定データLA1、LA2になる。
【0127】
そして誤判定発生部117は、これらのエリア設定データLA1、LA2に基づいて、誤判定発生処理を行う。例えば着地点LPの位置と、確率データPR1、PR2、PR3と、エリア設定データLA1、LA2を用いて、着地点LPでの誤判定発生確率を求める。
【0128】
図10のような確率設定データを用いれば、誤判定発生エリアFAR1、FAR2での確率設定を自由にコントロールできるため、ゲームバランスの調整が容易になる。
【0129】
また誤判定発生部117は、図11に示すように、仮想カメラVCの視点からの距離(俯角、解像度等の視点距離と等価なパラメータを含む)に応じてその誤判定発生の確率設定が変化する誤判定発生エリアを用いて、誤判定発生処理を行ってもよい。例えばコート(広義には判定エリア)を区画する各判定ラインにおける誤判定の確率設定を、互いに異ならせる。
【0130】
具体的には図11では、コートを区画する第1の判定ラインDL1に設定される誤判定発生エリアと、第2の判定ラインDL2に設定される誤判定発生エリアでは、その確率設定が異なる。例えば誤判定発生エリアの幅(図9のLA1、LA2)や、確率データ(PR1、PR2、PR3)が異なり、誤判定発生部117は、このような確率設定が異なる誤判定発生エリアを用いて誤判定発生処理を行う。
【0131】
即ち仮想カメラVCの視点(プレーヤの視点)では、判定ラインDL1に比べて判定ラインDL2は遠くに見え、細く見える。従ってプレーヤの視点からは、判定ラインDL2(相手側のコートの判定ライン)の近くでボールがバウンドした場合に、OUTなのかINなのかの見極めが、判定ラインDL1に比べて難しい。そこで、例えば判定ラインDL2では、判定ラインDL1に比べて、誤判定発生エリアの幅を太くする。こうすれば、プレーヤの視点から見て、ボールの着地点と判定ラインDL2とがずれて見えるときに、再判定要求の受け付け画面が表示されるようになり、プレーヤにとって納得の行く再判定処理を実現できる。
【0132】
なお2人プレイの対戦時やネットワーク対戦時には、判定ラインDL1、DL2の確率設定が異なると、プレーヤが不自然さを感じるおそれもある。そこで、図11のように視点からの距離に応じて確率設定を異ならせる手法は、コンピュータキャラクタとの対戦の時だけ、その設定をオンにしてもよい。
【0133】
2.3 再判定要求の受け付け
本実施形態では、判定イベントが発生した後、プレーヤがゲームプレイを停止したことを条件に、再判定要求の受け付け処理を行う手法を採用している。
【0134】
例えばテニスゲームにおける誤判定としては、図12(A)のようにINをOUTと誤判定する第1の誤判定と、図12(B)のようにOUTをINと誤判定する第2の誤判定がある。即ち図12(A)の第1の誤判定では、ボールBL(移動体)がコート(広義には判定エリア)内に入ったのにコート内に出たと誤判定し、図12(B)の第2の誤判定では、ボールがコート外に出たのにコート内に入ったと誤判定する。
【0135】
そして図12(A)の第1の誤判定では、ボールBLがOUTと判定されているため、その時点でゲームが終了する。一方、図12(B)の第2の誤判定では、ボールBLがINと判定されているため、プレーヤがゲームプレイを継続して、ボールを打ち返すと、ゲームは終了しない。このため図12(B)の場合は再判定要求ができなくなってしまう。
【0136】
そこで本実施形態では、図12(A)の第1の誤判定が発生したときには、入力受け付け部102は、ゲームプレイが停止したか否かに依らずに、再判定要求の受け付け処理を行う。即ちボールが誤判定発生エリアに着地した場合には、無条件で再判定要求の受け付け処理を行い、図6(A)に示すような再判定の受け付け画面を表示する。そしてプレーヤが再判定要求の操作入力を行うと、リプレイ画像の生成や再判定処理を行う。
【0137】
一方、図12(B)の第2の誤判定が発生したときには、入力受け付け部102は、プレーヤがゲームプレイを停止したことを条件に、再判定要求の受け付け処理を行う。例えばプレーヤが、相手キャラクタからのボールを打たないで見送った場合等に、再判定の受け付け処理を行い、図6(A)に示すような再判定の受け付け画面を表示する。そしてプレーヤが再判定要求の操作入力を行うと、リプレイ画像の生成や再判定処理を行う。
【0138】
このようにすれば、ボールを見送った時点で、プレーヤにゲームプレイの継続の意思がないと判断して、ゲームを終了し、再判定処理に移行することが可能になる。
【0139】
例えば誤判定が発生すると、図4のステップS6に示すように誤判定発生フラグがセットされる。そしてこのような判定イベントの発生後、プレーヤがゲームプレイを停止しなかった場合に、誤判定発生フラグはクリアされる。
【0140】
即ち図13に示すように、第2の誤判定が発生すると、誤判定発生フラグがセットされる。その後、プレーヤがゲームプレイを停止せずに、キャラクタCHを操作してラケットによりボールBLを打ち返すと、誤判定発生フラグはクリアされる。つまり、この場合には、図4のステップS7においてゲームプレイが終了しなかったと判断され、ステップS1に戻る。そして次のゲームプレイ(サーブから始まる一連のゲームプレイ)で、再度、誤判定が発生すると、誤判定発生フラグはセットされることになる。
【0141】
このようにすれば、誤判定が発生したときに、プレーヤが誤判定を見逃すなどして、ゲームプレイを継続した場合には、誤判定発生フラグがクリアされて、そのゲームプレイでは再判定要求ができなくなる。従って、誤判定を見逃さずに抗議するという楽しみを、プレーヤに対して提供でき、正確な判定が前提となっていたこれまでのコンピュータゲームでは実現できない演出効果を実現できる。
【0142】
なお本実施形態では、カウント部118がプレーヤの再判定要求回数をカウントする。そして図4のステップS8に示すように、再判定要求が許容要求回数に達している場合には、再判定要求は受け付けられない。また図5のステップS15に示すように、判定イベントでの判定が誤判定ではなかった場合には、許容要求回数が減らされる。即ちチャレンジする権利を1回減らされる。このようにすることで、プレーヤがむやみに再判定を要求することでゲームプレイが頻繁に中断されてしまう事態を防止できる。
【0143】
なお許容要求回数は、例えば1セット(1タイブレーク)にN回(Nは自然数)、或いは複数セットからなる1ゲームにN回というように設定できる。また、1セットが終わった場合に、許容要求回数を元のN回に戻してもよいし、戻さなくてもよい。
【0144】
また再判定の許容要求回数を、ゲームのモード設定画面において設定できるようにしてもよい。例えば許容要求回数が0回に設定された場合には、再判定要求自体ができなくなり、無限大に設定された場合には、制限無く再判定要求ができるようになる。また例えばネットワーク対戦モードの場合には、再判定の許容要求回数をマッチング条件の1つとして設定してもよい。
【0145】
2.4 リプレイ
本実施形態では、ビデオ判定による再判定を表現するために、再判定要求が受け付けられた場合に、判定イベント発生時のリプレイ画像を生成して表示している。
【0146】
例えば図14(A)では、判定ラインDLの近くのきわどい位置にバウンドしたボールBLに対して、誤判定が発生し、本来はOUTであるのに、INと判定されている。また図14(B)では、判定ラインDLの近くのきわどい位置にボールBLがバウンドしているが、誤判定が発生することなく、INと判定されている。
【0147】
このような場合に、ボールBLの着地タイミングのフレームが、リプレイフレームとしてリプレイフレーム記憶部175に保存される。即ちキャラクタ又は相手キャラクタのサーブが行われたタイミングからフレーム数がカウントされ、着地タイミングでのフレーム数がリプレイフレームとして保存される。
【0148】
一方、リプレイデータ記憶部174(リプレイバッファ)には、ボール、キャラクタ等のオブジェクトの位置、回転方向、オブジェクト番号等のオブジェクトデータが、リプレイ画像を生成するためのリプレイデータとして記憶される。
【0149】
そして、再判定要求の操作入力が受け付けられると、リプレイフレーム記憶部175からリプレイフレームが読み出され、読み出されたリプレイフレームに基づいてリプレイデータ記憶部174からリプレイデータを読み出される。例えばリプレイフレームで指定されるフレームの前(又は前後)の数十フレーム分のリプレイデータが読み出される。そして、読み出されたリプレイデータに基づいて、図7(A)や図8(A)に示すように、判定イベント発生時の再現画像であるリプレイ画像が生成される。
【0150】
この場合に図14(A)では、誤判定が発生しているが、リプレイデータ記憶部174に記憶されるボールBLの軌道は、OUT側に着地した実際のボールBLの軌道になっている。従って、リプレイ時には、IN側ではなくOUT側にボールBLが着地した画像が生成されることになる。従って、このリプレイ画像を見ることで、プレーヤは、誤判定が発生したことを確認できる。
【0151】
また、判定イベントの発生時(ボールのバウンド時)が例えば図15(A)のような状況であった場合に、リプレイ時には図15(B)に示すように、判定イベントの発生場所をズームアップしたリプレイ画像が生成される。即ち判定イベント発生時に着地点LPの位置も保存され、リプレイ時には、仮想カメラの注視点が、この着地点LP付近に設定されたズームアップ画像が生成される。こうすることで、プレーヤは、微妙な判定の結果を容易に確認できる。
【0152】
また例えば図15(A)では、判定イベント発生時に、ボールBLの着地点LPの近くにキャラクタが存在する。この場合に、キャラクタがリプレイ画像に表示されてしまうと、キャラクタの存在が邪魔になって、ボールBLの着地点LPが見えなくなってしまう可能性もある。
【0153】
そこで図15(B)では、判定イベントの発生時に判定イベントの発生場所に存在していたキャラクタが非表示にされたリプレイ画像を生成する。具体的にはリプレイデータ記憶部124に記憶されたリプレイデータの中から、キャラクタに関するリプレイデータを除いて、ボールやコート等のリプレイデータだけを取り出して、リプレイ画像を生成する。このようにすれば、リプレイ画像の生成時に、例えばキャラクタの足などの余計なオブジェクトが表示されないようになり、ボールBLが着地する様子が隠れて見えなくなってしまう事態を防止できる。
【0154】
また図16では、判定イベント発生時に、本来はOUTであるのにINと誤判定されている。そしてリプレイ時に、リプレイフレームに基づいてリプレイデータが読みされてリプレイ画像が生成されている。この時に図16では、ボールBLの着地位置(通過位置)が変更されたリプレイ画像が生成される。即ち、リプレイ時には、判定イベントの発生時に比べて、判定エリアを区画する判定ラインDLから近い位置に、ボールBL(移動体)が着地(又は通過)するリプレイ画像が生成される。つまり、リプレイ時には着地点LPが判定ラインDL側に近づけられる。
【0155】
例えば図9(A)の誤判定発生エリアFARの幅を細くなってしてしまうと、誤判定の発生頻度が少なくなり、再判定要求を行う場面が少なくなってしまうため、再判定要求システムを導入した意味が薄れてしまう。このため、誤判定発生エリアFARの幅は、現実世界において誤判定が発生すると想定される幅よりも太く設定され、例えば30cm〜50cmに設定される。
【0156】
ところが、このように誤判定発生エリアFARの幅が太いと、リプレイ画像においてズームアップしたときに、判定ラインDLからボールBLの着地点LPがかなり離れているのに誤判定が発生しているように見えてしまい、プレーヤが不自然さを感じるおそれがある。
【0157】
そこで図16では、リプレイ時には判定イベント発生時に比べて着地点LPを判定ラインDLに近づけている。このようにすれば、判定イベント発生時には、幅の太い誤判定発生エリアFARを用いて誤判定を発生させると共に、リプレイ時には、ボールBLの着地点LPを判定ラインDLに近づけることで、ぎりぎりの判定が誤判定になったようにプレーヤに見せかけることができ、プレーヤの不自然感を軽減できる。
【0158】
なお着地点LPを判定ラインDLに近づける処理は、着地点LPが判定ラインDLから所与のしきい値距離だけ離れていることを条件に行ってもよい。即ち、しきい値距離だけ離れていない場合には、着地点LPを判定ラインDLに近づける処理を行わずに、しきい値距離だけ離れた場合に、近づける処理を行ってもよい。
【0159】
2.5 コンピュータキャラクタ
本実施形態では、コンピュータにより操作されるコンピュータキャラクタ(所与のアルゴリズムにしたがって動作するキャラクタ)も誤判定要求を行うシステムを採用している。即ちキャラクタ制御部110は、判定イベントが発生し、ボールが誤判定発生エリアに着地すると、コンピュータキャラクタに再判定要求を行わせる制御処理を行う。
【0160】
この場合に、例えば、キャラクタとコンピュータキャラクタとの対戦状況(プレイ状況)の情報に基づいて、コンピュータキャラクタに再判定要求を行わせるか否かを判断(制御)してもよい。例えば、対戦状況が接戦状況ではない場合(得点差が大きい場合、一方が他方に対して圧倒的に勝っている場合)には、コンピュータキャラクタに再判定要求を行わせない。一方、対戦状況が接戦状況である場合(得点差が小さい場合、両方がイーブンの場合)には、コンピュータキャラクタに再判定要求を行わせる。
【0161】
また、判定ラインとボール(移動体)の着地点(又は通過点)との距離に応じて設定される確率データや、コンピュータキャラクタの再判定要求の許容要求回数の情報に基づいて、コンピュータキャラクタに再判定要求を行わせるか否かを判断してもよい。
【0162】
例えば判定ラインと着地点との距離が離れているほど、コンピュータキャラクタが判定要求を行う確率を高くしてもよい。即ち判定ラインと着地点との距離が近いと、コンピュータキャラクタも誤判定に気づきにくく、距離が離れていれば、誤判定に気づきやすいと想定されるからである。
【0163】
また再判定要求の残り許容要求回数が少ないほど、コンピュータキャラクタが判定要求を行う確率を低くしてもよい。許容要求回数が少ないと、コンピュータキャラクタも慎重になり、再判定要求を行うことをためらうと考えられるからである。
【0164】
図17に、コンピュータキャラクタの制御処理についてのフローチャートを示す。
【0165】
まず、ゲームプレイ中にボール(移動体)が着地し、判定イベントが発生したか否かを判断する(ステップS21)。そしてボールが着地した場合には、ボールの着地位置を取得して記憶部に保存する(ステップS22)。
【0166】
次に、プレーヤとの対戦状況は接戦状況か否かを判断する(ステップS23)。例えばその時点でのキャラクタとコンピュータキャラクタとの得点差(取得セット数の差)などの情報を求めて、接戦状況か否かを判断する。そして接戦状況ではない場合にはステップS21に戻る。
【0167】
一方、接戦状況である場合には、ボールの着地点と判定ラインとの距離やコンピュータキャラクタの再判定要求の許容要求回数に基づいて、再判定要求の確率データを取得する(ステップS24)。例えば着地点と判定ラインの距離や許容要求回数と、確率データとが関連づけられた確率設定テーブルなどに基づいて、コンピュータキャラクタが再判定要求を行う確率のデータを求めることができる。具合的には、上記距離が長くなるほど高くなると共に許容要求回数が多いほど高くなる確率データを求める。
【0168】
次に、取得された確率データに基づいて、コンピュータキャラクタが再判定要求を行うか否かを判定する(ステップS25)。そして再判定要求を行わないと判定された場合にはステップS21に戻る。一方、再判定要求を行うと判定された場合には、プレーヤに対してコンピュータキャラクタが再判定を要求する画面を生成して表示する(ステップS26)。
【0169】
以上のように、プレーヤ側のみならずコンピュータ側も再判定要求を行うようにすることで、再判定要求をお互いに行い合うようになり、白熱したゲーム展開を実現できる。
【0170】
2.6 先行入力システム
さて、テニスゲームなどのスポーツゲームでは、ボールがキャラクタの場所に飛んできたタイミングで、プレーヤがゲームコントローラの動作指示ボタンを押すことで、ボールを打ち返すという操作インターフェースを採用するのが一般的である。
【0171】
しかしながら、このような操作インターフェースでは、プレーヤがキャラクタの動作指示ボタンを押すタイミングの前においては、どのような種類のショット動作をキャラクタに行わせるのかを、確定できない。即ちプレーヤがショットタイミングの直前に例えばトップスピンやスライスのショット動作の指示ボタンを押した場合に、打ち返したボールの軌道をトップスピンやスライスの軌道にすることはできるが、キャラクタのモーション自体を、トップスピンやスライスのショット動作に応じたモーションにすることは難しかった。
【0172】
以上のような課題を解決するために、本実施形態では、キャラクタによりボール(移動体)がショット(捕捉)されるタイミングに先行して、キャラクタの動作指示を行うことができる先行入力システムを採用している。この先行入力システムによれば、例えばショットタイミングの前に、プレーヤがトップスピンやスライスの動作指示ボタンを押すと、ボールの軌道のみならず、ショットタイミングまでのキャラクタのモーションについても、トップスピンやスライスの動作を忠実に再現したモーションにすることが可能になる。
【0173】
具体的には図18(A)に示すようにプレーヤは、相手キャラクタCCがボールBLをショットした後、キャラクタCHの動作を指示する先行入力を行う。即ちキャラクタCHによりボールBL(移動体)がショット(又は捕捉)されるタイミングに先行して、キャラクタCHの動作を指示する先行入力を行う。具体的には、キャラクタCHの移動方向を方向指示キー50(ジョイスティック、方向指示部)で指示すると共に、キャラクタCHのショットの種類を指示する操作ボタン61を押す。ここでは、ゲームプレイ中では操作ボタン61、62、63、64は、各々、トップスピン、スライス、フラット、ロブのショットを指示するボタンになっており、キャラクタCHは、指示されたショットに応じたモーションを行う。そして図18(A)ではトップスピンを指示する操作ボタン61が押されているため、トップスピン用のモーションデータが再生されることになる。
【0174】
なお方向指示キー50と操作ボタン61の操作は必ずしも同時である必要はなく、例えば操作ボタン61を操作した後に方向指示キー50を操作したり、方向指示キー50を操作した後に操作ボタン61を操作してもよい。
【0175】
以上のような先行入力が行われると、図18(B)に示すように、キャラクタCH(キャラクタのラケット)とボールBL(移動体)とのヒットイベント(ショットイベント)が発生する位置であるヒット位置HP(ショット位置、捕捉位置)が求められる。即ちキャラクタCHによりボールBLがショット(ヒット)されると予測される位置(場所)がヒット位置HPとして求められる。例えば、先行入力のタイミングでのキャラクタCHの位置及び移動方向により特定される軌道RCと、ボールBLの軌道RBとの交点を求めることで、ヒット位置HPが求められる。
【0176】
具体的には、ボールBLの軌道RBは、相手キャラクタCCがボールBLを打った時点で計算され、計算された軌道は軌道データとして軌道データ記憶部に記憶される。ヒット位置HPは、この軌道データに含まれる複数のボール位置(各フレームでの移動体位置)のデータのうち、軌道RC、RBの交点に対応するボール位置(交点に最も近いボール位置)のデータを選択することで、取得できる。
【0177】
またこの時に、ボールBLのヒット位置HPへの到達時間trも取得される。具体的には、到達時間trは、軌道データにおいてヒット位置HPにボールBLが到達するまでのフレーム数として取得できる。
【0178】
そして図18(C)に示すように、求められた到達時間tr(到達フレーム数)と、図18(A)での動作指示データとに基づき、モーション(モーションデータ)を選択し、選択されたモーションを再生することで、キャラクタCHのショット動作を表現する。
【0179】
例えば、各ショットのモーションとして再生時間(再生フレーム数)が異なる複数のモーションを用意しておく。そして図18(A)でトップスピンが選択された場合には、トップスピン用に用意された複数のモーションの中から、到達時間trに応じた長さの再生時間のモーションを選択する。例えば到達時間trが短ければ、再生時間が短いモーションを選択し、到達時間trが長ければ、再生時間が長いモーションを選択する。またモーション再生速度の変更処理を行うことで、到達時間trと再生時間の長さを一致させるための微調整を行う。
【0180】
そして図18(D)に示すように、キャラクタCHとボールBLのヒットイベント(ショットイベント)が発生した場合には、そのときにプレーヤが方向指示キー50で指示している方向にボールBLが打ち返される。
【0181】
ここで、図18(D)では、ヒットイベントの発生タイミング(ショットタイミング)と、プレーヤが操作ボタン61を離すタイミングとの一致の度合いが高いほど、ボールBLの速度が増したり、相手コート内の厳しい場所にボールBLが飛ぶようになる。即ち、図18(A)で操作ボタン61を押した後、そのまま押し続け、キャラクタCHの近くにボールBLが来た時に、タイミング良く操作ボタン61を離すことで、いわゆる溜め打ち動作が実現され、強くて正確なショットが相手コートに打ち返される。
【0182】
図18(A)〜図18(D)の先行入力システムの手法によれば、先行入力により指示されたモーションが切れ目なく再生されるため、選手のモーション、ボールの挙動、カメラアングル等をリアルに表現できる。即ち各ショット毎に用意された多彩で高品質なモーションを再生でき、プレーヤは、多彩なショットを使い分けてゲームを楽しむことができるようになる。
【0183】
例えば比較例の手法として、準備動作であるテイクバック動作の開始条件が満たされると、キャラクタが自動的にテイクバック動作を開始し、その後にプレーヤがショットを指示する操作ボタンを押すと、キャラクタがボールをショットするという手法が考えられる。この手法では、テイクバックモーション(準備動作モーション)を再生した後、ショット動作が指示されると、ショットモーションを再生する。即ちテイクバックモーションとショットモーションを別々のモーションデータとして記憶して再生する。従ってテイクバックモーションとショットモーションが滑らかに繋がらなくなる場合があり、リアルで滑らかなモーション表現を実現できないおそれがある。
【0184】
この点、本実施形態の先行入力システムによれば、テイクバック動作(準備動作)及びショット動作(捕捉動作)が1つのモーションデータの再生により実現される。従ってテイクバック動作とショット動作(フォロー動作)が滑らかに繋がるようになり、よりリアルなモーション表現を実現できる。
【0185】
例えば比較例の手法では、ヒット位置においてボールが高ければ、通常のテイクバックモーションの再生後に高いボール用のショットモーションが再生され、ヒット位置においてボールが低ければ、通常のテイクバックモーションの再生後に低いボール用のショットモーションが再生されるようになる。即ち、ボールが高くても低くても、テイクバック動作については同じモーションが再生されるため、リアルなモーション表現を実現できない。
【0186】
これに対して本実施形態の先行入力システムによれば、先行入力を行った時点で、ヒット位置でのボールの高さ等を予測し、高いボール用のテイクバック動作及びショット動作が一体となったモーションを選択して再生したり、低いボール用のテイクバック動作及びショット動作が一体となったモーションを選択して再生できる。従って、不自然さの少ないリアルなモーション表現を実現できる。
【0187】
さて、以上のような先行入力システムを採用した場合、プレーヤが先行入力を行ってキャラクタCHがショット動作(捕捉動作)を開始した後、そのショット動作をキャンセルできないという課題がある。
【0188】
例えば図12(B)のように第2の誤判定が発生した場合には、プレーヤのゲームプレイが停止したことを条件に、再判定要求の受け付け処理が行われる。従って、先行入力により開始したショット動作をキャンセルできないと、プレーヤは、ライン際にバウンドすると思われるボールを見逃すことができなくなり、図13のようにボールをショットせざるを得なくなる。従って、誤判定に対する再判定要求の機会をプレーヤから奪ってしまうことになってしまう。
【0189】
そこで本実施形態では、キャラクタ制御部110は、先行入力によりキャラクタCHがショット動作(又は捕捉動作)を開始した後に、再判定要求のためにプレーヤがキャンセル操作を行った場合には、キャラクタCHのショット動作(捕捉動作)をキャンセルする制御を行う。具体的にはボールBL(移動体)がコート(判定エリア)外に出たときに、プレーヤがキャンセル操作を行った場合に、キャラクタのショット動作(捕捉動作)をキャンセルする。
【0190】
例えば図19(A)では、プレーヤが先行入力の後、操作ボタン61を押し続けている。そして図18(D)のように、キャラクタCHとボールBLが近づいたタイミング(ヒットイベントのタイミング)で、操作ボタン61を離すことで、いわゆる溜め打ちが実現されて、強力で正確なショットが相手コート内に飛ぶようになる。
【0191】
一方、図19(B)では、図18(D)とは異なり、プレーヤは、キャラクタCHとボールBLが近づいた時にも操作ボタン61を押し続けている。このような操作をプレーヤが行った場合には、キャラクタ制御部110は、ショット動作のキャンセル動作が行われたと判断する。そして、キャラクタCHの最後のショット動作は行われないようになり、ボールBLを見逃すようにする。
【0192】
従って、プレーヤは、ボールBLが判定ラインの近くに着地すると判断した場合には、図18(D)の溜め打ちの操作ではなく、図19(B)のキャンセル操作を行うことで、ボールBLを見逃すことができる。そして、判定ラインに設定された誤判定発生エリアにボールBLが着地し、OUT判定がINと判定される誤判定が発生したとする。
【0193】
この場合に、プレーヤはボールBLを見逃して、ゲームプレイを停止しているため、相手側のポイントになり、ゲームプレイは終了する。従って、この場合には、再判定要求の受け付け画面が表示され、プレーヤは再判定にチャレンジできるようになる。
【0194】
このように図19(B)では、先行入力により開始したショット動作(捕捉動作)のキャンセル操作が可能であるため、先行入力システムにおいても、判定ラインぎりぎりのボールを見逃すことが可能になる。そしてプレーヤは、見逃したボールの着地点について、自身にとって不利な判定がなされた場合には、これに対して再判定を要求することが可能になり、先行入力システムに最適な再判定処理を実現できる。
【0195】
2.7 変形例
次に本実施形態の変形例について説明する。図16では、判定イベント発生時の画像とは異なるリプレイ画像を生成する手法について説明したが、この手法については種々の変形実施が可能である。例えば第1のプレーヤと、第1のプレーヤと対戦する第2のプレーヤ(コンピュータプレーヤ又は人間プレーヤ)との対戦状況の情報(得点差、ポイント差、勝敗の趨勢)に基づいて、判定イベント発生時の画像とは異なるリプレイ画像を生成してもよい。例えば第1のプレーヤと第2のプレーヤの対戦状況が第1の状況である場合には、判定イベント発生時の画像と同じリプレイ画像を生成し、第2の状況である場合には、判定イベント発生時の画像とは異なるリプレイ画像を生成する。
【0196】
具体的には図20(A)では、第1、第2のプレーヤP1、P2がキャラクタC1、C2を操作して、テニスゲームをプレイしている。そして誤判定発生部117が、プレーヤP2に比べてプレーヤP1の方が不利になる誤判定を行っている。即ちボールBLが実際にはコート外に着地しているのに、コート内に着地したと判定して、OUT判定をIN判定と誤判定しており、このIN判定は、プレーヤP1にとって不利な判定になる。そしてプレーヤは、ボールBLの着地点がライン際であるため、再判定要求を行い、その要求が受け付けられると、リプレイ画像が生成される。
【0197】
このときに図20(B)では、プレーヤP1、P2の対戦状況において、プレーヤP2に比べてプレーヤP1が負けている状況になっている。具体的には、プレーヤP2に比べてプレーヤP1の得点(セット数、ゲーム数)の方が低い。このような場合には、通常どおりに、イベント発生時の画像と同じリプレイ画像を生成し、IN判定は実際はOUT判定であり、誤判定であったことをプレーヤに知らせる。
【0198】
一方、図20(C)では、プレーヤP1、P2の対戦状況において、プレーヤP2に比べてプレーヤP1が勝っている状況になっている。具体的には、プレーヤP2に比べてプレーヤP1の得点の方が高い。このような場合には、イベント発生時の画像とは異なるリプレイ画像を生成する。即ち、プレーヤP2に比べてプレーヤP1の方が不利になるリプレイ画像を生成する。そして、IN判定は実際にはOUT判定であり誤判定であったのにもかからず、誤判定画像であるIN判定のリプレイ画像を生成する。またプレーヤP1ではなく、プレーヤP2の方に得点を与える。
【0199】
このようにすることで、誤判定やリプレイ画像を活用したハンディ設定を実現できる。なお、誤判定の発生確率自体を、プレーヤP1、P2の対戦状況に応じて変えてもよい。例えばプレーヤP1が対戦状況において勝っている場合には、プレーヤP1にとって不利な誤判定が行われる確率を高くし、プレーヤP1が対戦状況において負けている場合には、プレーヤP1にとって不利な誤判定が行われる確率を低くしてもよい。
【0200】
また図9(A)、図9(B)では、移動体であるボールBLが誤判定発生エリアFARに着地したか否かや、誤判定発生エリアFARに対する確率設定に基づいて、誤判定発生処理を制御していたが、本実施形態はこれに限定されない。例えば誤判定発生部117は、ゲームプレイ結果の判定対象物である移動体の移動情報(移動速度、移動加速度等)や、移動体の誤判定発生エリアでの滞在時間(通過時間)に基づいて、誤判定発生処理を行ってもよい。
【0201】
例えば図21(A)では、キャラクタCAは野球の走者であり、キャラクタCBは一塁手(野手)である。そしてベースBSを踏んでいるキャラクタCBがボールBLを捕球するタイミングに比べて、キャラクタCAがベースBSを踏むタイミングの方が速かったか否かが判定され、速かった場合にはセーフになるというルールになっている。
【0202】
この場合に誤判定発生部117は、図21(B)に示すように、走者であるキャラクタCA(或いはボールBL)の移動速度VCに基づいて誤判定発生処理を行う。具体的には移動速度VCが速い場合には、誤判定の発生確率を高くし、移動速度VCが遅い場合には、誤判定の発生確率を低くする。或いは、ベースBSを囲むように設定された誤判定発生エリアFARでのキャラクタCA(或いはボールBL)の滞在時間(通過時間)TCに基づいて誤判定発生処理を行う。具体的には、滞在時間TCが短い場合には、誤判定の発生確率を高くし、滞在時間TCが長い場合には、誤判定の発生確率を低くする。
【0203】
このようにすれば、走者やボールが速いほど誤判定の発生確率が高くなるため、現実世界における審判の誤判定を擬似的にシミュレートできるようになる。
【0204】
なお移動速度VCによる誤判定発生確率の制御は、例えば図21(C)のように、移動速度(VC1〜VC2、VC2〜VC3・・)と誤判定発生確率とを対応づけたテーブルを用いることで実現できる。同様に、滞在時間TCによる誤判定発生確率の制御も、例えば図21(D)のように、滞在時間(TC1〜TC2、TC2〜TC3・・)と誤判定発生確率とを対応づけたテーブルを用いることで実現できる。
【0205】
3.ハードウェア構成
図22(A)に本実施形態を実現できるハードウェアの構成例を示す。
【0206】
CPU900(メインプロセッサ)は、複数のCPUコア1、CPUコア2、CPUコア3を含むマルチコアプロセッサである。またCPU900は図示しないキャッシュメモリを含む。CPUコア1、2、3の各々にはベクタ演算器等が設けられている。そしてCPUコア1、2、3の各々は、例えば2つのH/Wスレッド処理をコンテクストスイッチをすることなしに並列実行でき、マルチスレッド機能がハードウェアでサポートされている。そして3つのCPUコア1、2、3の合計で、6つのH/Wスレッド処理を並列実行できる。
【0207】
GPU910(描画プロセッサ)は、頂点処理やピクセル処理を行って、描画(レンダリング)処理を実現する。具体的には、シェーダプログラムに従って、頂点データの作成・変更やピクセル(フラグメント)の描画色の決定を行う。1フレーム分の画像がVRAM920(フレームバッファ)に書き込まれると、その画像はビデオ出力を介してTVなどのディスプレイに表示される。なおメインメモリ930はCPU900やGPU910のワークメモリとして機能する。またGPU910では、複数の頂点スレッド、複数のピクセルスレッドが並列実行され、描画処理のマルチスレッド機能がハードウェアでサポートされている。またGPU910にはハードウェアのテッセレータも備えられている。またGPU910は、頂点シェーダとピクセルシェーダとがハードウェア的に区別されていないユニファイド・シェーダ・タイプとなっている。
【0208】
ブリッジ回路940(サウスブリッジ)は、システム内部の情報流通を制御する回路であり、USBコントローラ(シリアルインターフェース)、ネットワークの通信コントローラ、IDEコントローラ、或いはDMAコントローラなどのコントローラを内蔵する。そしてこのブリッジ回路940により、ゲームコントローラ942、メモリーカード944、HDD946、DVDドライブ948との間のインターフェース機能が実現される。
【0209】
なお本実施形態を実現できるハードウェア構成は図22(A)に限定されず、例えば図22(B)のような構成であってもよい。
【0210】
図22(B)ではCPU902が、プロセッサエレメントPPと8つのプロセッサエレメントPE1〜PE8を含む。プロセッサエレメントPPは汎用的なプロセッサコアであり、プロセッサエレメントPE1〜PE8は比較的シンプルな構成のプロセッサコアである。そしてプロセッサエレメントPPとプロセッサエレメントPE1〜PE8のアーキテクチャは異なっており、プロセッサエレメントPE1〜PE8は、複数のデータに対して1命令で同じ処理を同時にできるSIMD型のプロセッサコアとなっている。これによりストリーミング処理などのマルチメディア処理を効率的に実行できる。プロセッサエレメントPPは、2つのH/Wスレッド処理を並列実行でき、プロセッサエレメントPE1〜PE8の各々は、1つのH/Wスレッド処理を実行できる。従って、CPU902では、合計で10個のH/Wスレッド処理の並列実行が可能になる。
【0211】
図22(B)では、GPU912とCPU902の連携が密になっており、GPU912は、CPU902側のメインメモリ930に直接にレンダリング処理を行うことができる。また例えばCPU902がジオメトリ処理を行って、頂点データを転送したり、GPU912からCPU902にデータを戻すことも容易にできる。またCPU902が、レンダリングのプリプロセッシング処理やポストプロセッシング処理を行うことも容易であり、テッセレーション(平面分割)やドットフィルをCPU902が実行できる。例えば抽象度の高い処理はCPU902が行い、抽象度が低い細かな処理はGPU912が行うというような役割分担が可能である。
【0212】
なお本実施形態の各部の処理をハードウェアとプログラムにより実現する場合には、情報記憶媒体には、ハードウェア(コンピュータ)を本実施形態の各部として機能させるためのプログラムが格納される。より具体的には、上記プログラムが、ハードウェアであるプロセッサ(CPU、GPU)に処理を指示すると共に、必要であればデータを渡す。そして、プロセッサは、その指示と渡されたデータとに基づいて本発明の各部の処理を実現する。
【0213】
なお、上記のように本実施形態について詳細に説明したが、本発明の新規事項および効果から実体的に逸脱しない多くの変形が可能であることは当業者には容易に理解できるであろう。従って、このような変形例はすべて本発明の範囲に含まれるものとする。例えば、明細書又は図面において、少なくとも一度、より広義または同義な異なる用語(移動体、判定エリア等)と共に記載された用語(ボール、コート等)は、明細書又は図面のいかなる箇所においても、その異なる用語に置き換えることができる。
【0214】
また、誤判定発生処理、再判定受け付け処理、再判定処理、リプレイ画像生成処理等も本実施形態で説明したものに限定されず、これらと均等な手法も本発明の範囲に含まれる。
【0215】
また本発明はテニスゲーム以外の種々のゲームに適用できる。例えば野球ゲームやアメリカンフットボールゲームなどに適用した場合には、判定エリアはストライクゾーンやタッチダウンエリアになる。例えばストライクゾーンの場合には、ボールの通過点の位置を判断することで、ストライクゾーンに入ったか否かを判定できる。
【0216】
また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレイヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、ゲーム画像を生成するシステムボード、携帯電話等の種々の画像生成システムに適用できる。
【図面の簡単な説明】
【0217】
【図1】本実施形態の画像生成システムのブロック図の例。
【図2】キャラクタやボールのオブジェクトデータの例。
【図3】テニスゲームにおけるオブジェクト空間の設定例。
【図4】本実施形態の処理を説明するフローチャート。
【図5】本実施形態の処理を説明するフローチャート。
【図6】図6(A)、図6(B)は本実施形態により生成されるゲーム画像の例。
【図7】図7(A)、図7(B)は本実施形態により生成されるリプレイ画像、ゲーム画像の例。
【図8】図8(A)、図8(B)は本実施形態により生成されるリプレイ画像、ゲーム画像の例。
【図9】図9(A)、図9(B)は誤判定発生エリアの説明図。
【図10】誤判定発生エリアの確率設定データの例。
【図11】仮想カメラの視点からの距離に応じて誤判定発生の確率設定を変化させる手法の説明図。
【図12】図12(A)、図12(B)は再判定要求の受け付け処理の説明図。
【図13】誤判定発生フラグを利用する手法の説明図。
【図14】図14(A)、図14(B)はリプレイフレームやリプレイデータを用いたリプレイ画像の生成手法の説明図。
【図15】図15(A)、図15(B)はリプレイ画像の生成手法の説明図。
【図16】リプレイ時に着地点を判定ラインに近づける手法の説明図。
【図17】本実施形態のキャラクタ制御処理のフローチャート。
【図18】図18(A)〜図18(D)は先行入力システムの説明図。
【図19】図19(A)、図19(B)は先行入力システムにおけるショット動作のキャンセル手法の説明図。
【図20】図20(A)〜図20(C)はリプレイ画像の生成手法の変形例の説明図。
【図21】図21(A)〜図21(D)は誤判定発生手法の変形例の説明図。
【図22】図22(A)、図22(B)はハードウェア構成例。
【符号の説明】
【0218】
100 処理部、102 入力受け付け部、104 オブジェクト空間設定部、
106 ゲーム演算部、108 移動体制御部、110 キャラクタ制御部、
112 モーション再生部、114 ヒット位置演算部、116 判定部、
117 誤判定発生部、118 カウント部、119 仮想カメラ制御部、
120 画像生成部、130 音生成部、160 操作部、170 記憶部、
171 形状データ記憶部、172 オブジェクトデータ記憶部、
173 モーションデータ記憶部、174 リプレイデータ記憶部、
175 リプレイフレーム記憶部、176 確率設定データ記憶部、
177 誤判定発生フラグ記憶部、179 描画バッファ、180 情報記憶媒体、
190 表示部、192 音出力部、194 補助記憶装置、196 通信部

【特許請求の範囲】
【請求項1】
ゲーム画像を生成する画像生成部と、
前記ゲーム画像を見ながらプレーヤがプレイするゲーム中に、ゲームプレイ結果の判定イベントが発生した場合に、前記ゲームプレイ結果に対して所与のルールに基づく判定処理を行う判定部と、
前記判定イベントの発生後に、前記判定部の判定結果に対するプレーヤの再判定要求の操作入力の受け付け処理を行う入力受け付け部と、
前記判定イベントでの前記判定部の判定に対して誤判定を発生させる誤判定発生処理を行う誤判定発生部として、
コンピュータを機能させ、
前記判定部は、
前記再判定要求の操作入力が受け付けられた場合に、前記ゲームプレイ結果に対する再判定処理を行うことを特徴とするプログラム。
【請求項2】
請求項1において、
前記誤判定発生部は、
ゲームプレイ結果の判定対象物である移動体が、誤判定発生エリアに入ったと判定された場合に、前記誤判定発生処理を行うことを特徴とするプログラム。
【請求項3】
請求項2において、
前記所与のルールは、ゲームプレイ結果の判定対象物である前記移動体が判定エリア内に入ったか否かについてのルールであり、
前記誤判定発生エリアは、前記判定エリアを区画する判定ラインに沿って設定され、
前記誤判定発生部は、
前記判定ラインに近い位置ほど、誤判定の発生確率が高くなる前記誤判定発生処理を行うことを特徴とするプログラム。
【請求項4】
請求項2又は3において、
前記誤判定発生エリアは、前記判定エリアの内側に設定される第1の誤判定発生エリアと、前記判定エリアの外側に設定される第2の誤判定発生エリアを有し、
前記誤判定発生部は、
第1の確率設定が行われている前記第1の誤判定発生エリアと、前記第2の確率設定とは異なる第2の確率設定が行われている前記第2の誤判定発生エリアとを用いて、前記誤判定発生処理を行うことを特徴とするプログラム。
【請求項5】
請求項4において、
前記誤判定発生処理のための確率設定データを記憶する確率設定データ記憶部として、
コンピュータを機能させ、
前記確率設定データ記憶部は、
前記誤判定発生エリアを区画する第1の境界ライン上での誤判定発生確率データである第1の確率データと、前記誤判定発生エリアを区画する第2の境界ライン上での誤判定発生確率データである第2の確率データと、前記判定ライン上での誤判定発生確率データである第3の確率データを記憶し、
前記誤判定発生部は、
前記第1、第2、第3の確率データに基づいて、前記誤判定発生処理を行うことを特徴とするプログラム。
【請求項6】
請求項5において、
前記誤判定発生エリアは、前記判定エリアの内側に設定される第1の誤判定発生エリアと、前記判定エリアの外側に設定される第2の誤判定発生エリアを有し、
前記確率設定データ記憶部は、
前記第1、第2の誤判定発生エリアを設定するための第1、第2のエリア設定データを記憶し、
前記誤判定発生部は、
前記第1、第2のエリア設定データに基づいて、前記誤判定発生処理を行うことを特徴とするプログラム。
【請求項7】
請求項2乃至6のいずれかにおいて、
前記ゲーム画像を生成するための仮想カメラを制御する仮想カメラ制御部として、
コンピュータを機能させ、
前記誤判定発生部は、
前記仮想カメラの視点からの距離に応じてその誤判定発生の確率設定が変化する前記誤判定発生エリアを用いて、前記誤判定発生処理を行うことを特徴とするプログラム。
【請求項8】
請求項2乃至7のいずれかにおいて、
前記誤判定発生部は、
前記判定エリアを区画する第1の判定ラインと第2の判定ラインとで、その確率設定が異なる前記誤判定発生エリアを用いて、前記誤判定発生処理を行うことを特徴とするプログラム。
【請求項9】
請求項1乃至8のいずれかにおいて、
前記入力受け付け部は、
前記判定イベントが発生した後、プレーヤがゲームプレイを停止したことを条件に、再判定要求の受け付け処理を行うことを特徴とするプログラム。
【請求項10】
請求項9において、
前記所与のルールは、ゲームプレイ結果の判定対象物である移動体が判定エリア内に入ったか否かについてのルールであり、
前記誤判定発生部は、
前記移動体が前記判定エリア内に入ったのに前記判定エリア外に出たと誤判定する第1の誤判定と、前記移動体が前記判定エリア外に出たのに前記判定エリア内に入ったと誤判定する第2の誤判定とを発生させ、
前記入力受け付け部は、
前記第2の誤判定が発生したときには、プレーヤがゲームプレイを停止したことを条件に、再判定要求の受け付け処理を行うことを特徴とするプログラム。
【請求項11】
請求項9又は10において、
誤判定が発生した場合にセットされ、前記判定イベントが発生した後にプレーヤがゲームプレイを停止しなかった場合にクリアされる誤判定発生フラグを記憶する誤判定発生フラグ記憶部として、
コンピュータを機能させ、
前記判定部は、
前記誤判定発生フラグを用いて前記再判定処理を行うことを特徴とするプログラム。
【請求項12】
請求項1乃至11のいずれかにおいて、
プレーヤが行った前記再判定要求の回数をカウントするカウント部として、
コンピュータを機能させ、
前記入力受け付け部は、
前記カウント部によりカウントされたプレーヤの再判定要求回数が、許容要求回数に達していないことを条件に、再判定要求の受け付け処理を行うことを特徴とするプログラム。
【請求項13】
請求項12において、
前記カウント部は、
前記判定部の前記再判定処理において、前記判定イベントにおいて誤判定がなかったと判断された場合には、前記許容要求回数をデクリメントする処理を行うことを特徴とするプログラム。
【請求項14】
請求項1乃至13のいずれかにおいて、
ゲーム画像のリプレイ画像を生成するリプレイ画像生成部として、
コンピュータを機能させ、
前記リプレイ画像生成部は、
前記再判定要求の操作入力が受け付けられた場合に、前記判定イベントのリプレイ画像を生成することを特徴とするプログラム。
【請求項15】
請求項14において、
リプレイ画像を生成するためのリプレイデータを記憶するリプレイデータ記憶部と、
前記リプレイデータを読み出すためのリプレイフレームを記憶するリプレイフレーム記憶部として、
コンピュータを機能させ、
前記リプレイ画像生成部は、
前記再判定要求の操作入力が受け付けられた場合に、前記リプレイフレーム記憶部から前記リプレイフレームを読み出し、読み出された前記リプレイフレームに基づいて前記リプレイデータ記憶部からリプレイデータを読み出して、前記判定イベントのリプレイ画像を生成することを特徴とするプログラム。
【請求項16】
請求項14又は15において、
前記リプレイ画像生成部は、
前記判定イベントの発生場所をズームアップしたリプレイ画像であって、前記判定イベントの発生時に前記判定イベントの発生場所に存在していたキャラクタが非表示にされたリプレイ画像を生成することを特徴とするプログラム。
【請求項17】
請求項14乃至16のいずれかにおいて、
前記所与のルールは、ゲームプレイ結果の判定対象物である移動体が判定エリア内に入ったか否かについてのルールであり、
前記リプレイ画像生成部は、
リプレイ時には、前記判定イベントの発生時に比べて、前記判定エリアを区画する判定ラインから近い位置に、前記移動体が着地又は通過するリプレイ画像を生成することを特徴とするプログラム。
【請求項18】
請求項14乃至17のいずれかにおいて、
前記リプレイ画像生成部は、
第1のプレーヤと、前記第1のプレーヤと対戦する第2のプレーヤとの対戦状況の情報に基づいて、前記判定イベント発生時の画像とは異なるリプレイ画像を生成することを特徴とするプログラム。
【請求項19】
請求項18において、
前記リプレイ画像生成部は、
前記第2のプレーヤに比べて前記第1のプレーヤの方が不利になる誤判定発生処理を前記誤判定発生部が行ったときに、前記第2のプレーヤに比べて前記第1のプレーヤの方が対戦状況において勝っている場合には、前記判定イベント発生時の画像とは異なる画像として、前記第2のプレーヤに比べて前記第1のプレーヤの方が不利になるリプレイ画像を生成することを特徴とするプログラム。
【請求項20】
請求項1乃至19のいずれかにおいて、
前記誤判定発生部は、
ゲームプレイ結果の判定対象物である移動体の移動情報に基づいて、前記誤判定発生処理を行うことを特徴とするプログラム。
【請求項21】
請求項20において、
前記誤判定発生部は、
前記移動速度が速いほど、誤判定の発生確率が高くなる前記誤判定発生処理を行うことを特徴とするプログラム。
【請求項22】
請求項1乃至21のいずれかにおいて、
前記誤判定発生部は、
ゲームプレイ結果の判定対象物である移動体の誤判定発生エリアでの滞在時間に基づいて、前記誤判定発生処理を行うことを特徴とするプログラム。
【請求項23】
請求項22において、
前記誤判定発生部は、
前記移動体の滞在時間が短いほど、誤判定の発生確率が高くなる前記誤判定発生処理を行うことを特徴とするプログラム。
【請求項24】
請求項1乃至23のいずれかにおいて、
コンピュータにより操作されるコンピュータキャラクタの制御処理を行うキャラクタ制御部として、
コンピュータを機能させ、
前記キャラクタ制御部は、
前記判定イベントが発生した場合に、前記コンピュータキャラクタに前記再判定要求を行わせる制御処理を行うことを特徴とするプログラム。
【請求項25】
請求項24において、
前記キャラクタ制御部は、
プレーヤが操作するキャラクタと前記コンピュータキャラクタとの間の対戦状況の情報に基づいて、前記コンピュータキャラクタに前記再判定要求を行わせるか否かを判断することを特徴とするプログラム。
【請求項26】
請求項24又は25において、
前記所与のルールは、ゲームプレイ結果の判定対象物である移動体が判定エリア内に入ったか否かについてのルールであり、
前記キャラクタ制御部は、
前記判定エリアを区画する判定ラインと前記移動体の着地点又は通過点との距離に応じて設定される確率データに基づいて、前記コンピュータキャラクタに前記再判定要求を行わせるか否かを判断することを特徴とするプログラム。
【請求項27】
請求項24乃至26のいずれかにおいて、
前記キャラクタ制御部は、
前記コンピュータキャラクタの再判定要求の許容要求回数の情報に基づいて、前記コンピュータキャラクタに前記再判定要求を行わせるか否かを判断することを特徴とするプログラム。
【請求項28】
請求項1乃至27のいずれかにおいて、
プレーヤが操作するキャラクタによりショット又は捕捉される移動体の制御処理を行う移動体制御部と、
前記キャラクタの制御処理を行うキャラクタ制御部として、
コンピュータを機能させ、
前記入力受け付け部は、
前記キャラクタにより前記移動体がショット又は捕捉されるタイミングに先行して、前記キャラクタの動作を指示する先行入力をプレーヤが行った場合に、入力された先行入力の受け付け処理を行い、
前記キャラクタ制御部は、
前記先行入力により前記キャラクタがショット動作又は捕捉動作を開始した後に、前記再判定要求のためにプレーヤがキャンセル操作を行った場合には、前記キャラクタの前記ショット動作又は前記捕捉動作をキャンセルする制御を行うことを特徴とするプログラム。
【請求項29】
請求項28において、
前記所与のルールは、ゲームプレイ結果の判定対象物である移動体が判定エリア内に入ったか否かについてのルールであり、
前記キャラクタ制御部は、
前記移動体が前記判定エリア外に出たときに、プレーヤが前記キャンセル操作を行った場合に、前記キャラクタの前記ショット動作又は前記捕捉動作をキャンセルする制御を行うことを特徴とするプログラム。
【請求項30】
コンピュータ読み取り可能な情報記憶媒体であって、請求項1乃至29のいずれかに記載のプログラムを記憶したことを特徴とする情報記憶媒体。
【請求項31】
画像を生成する画像生成システムであって、
ゲーム画像を生成する画像生成部と、
前記ゲーム画像を見ながらプレーヤがプレイするゲーム中に、ゲームプレイ結果の判定イベントが発生した場合に、前記ゲームプレイ結果に対して所与のルールに基づく判定処理を行う判定部と、
前記判定イベントの発生後に、前記判定部の判定結果に対するプレーヤの再判定要求の操作入力の受け付け処理を行う入力受け付け部と、
前記判定イベントでの前記判定部の判定に対して誤判定を発生させる誤判定発生処理を行う誤判定発生部とを含み、
前記判定部は、
前記再判定要求の操作入力が受け付けられた場合に、前記ゲームプレイ結果に対する再判定処理を行うことを特徴とする画像生成システム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図7】
image rotate

【図8】
image rotate