(57)【要約】【課題】撮影対象のキャラクタをモニタに表示するための仮想カメラの設定を、容易に行うことができるようにする。【解決手段】本プログラムでは、仮想カメラＣおよび撮影空間ＳＳが、仮想ゲーム空間に設定される。そして、複数のキャラクタＫ１，Ｋ２，Ｋ３が、仮想ゲーム空間に配置される。そして、複数のキャラクタＫ１，Ｋ２，Ｋ３が撮影空間ＳＳの内部に位置しているか否かが、制御部１により判断される。そして、複数のキャラクタＫ１，Ｋ２，Ｋ３の少なくともいずれか１つのキャラクタが撮影空間ＳＳの外部に位置していた場合に、外部に位置するキャラクタが撮影空間ＳＳの内部に位置するように、仮想カメラＣの画角および仮想カメラＣの位置の少なくともいずれか一方が、変更される。そして、複数のキャラクタＫ１，Ｋ２，Ｋ３が、画像表示部３に表示される。【選択図】図２
2009273865.tif 000002
【特許請求の範囲】
【請求項１】
キャラクタが仮想ゲーム空間に配置され前記キャラクタが画像表示部に表示されるゲームを実行可能なコンピュータに、
前記仮想ゲーム空間における前記仮想カメラの位置を規定するためのカメラ用の第１座標データ、前記仮想カメラの位置から前記仮想ゲーム空間を撮影するときの前記仮想カメラの視線方向を規定するためのカメラ用の第２座標データ、および前記仮想カメラの画角を規定するための画角データを制御部に認識させることにより、前記仮想カメラを前記仮想ゲーム空間に設定するカメラ設定機能と、
前記仮想ゲーム空間において、前記仮想カメラの撮影対象となる撮影空間を規定するための境界用のデータを、制御部に認識させることにより、前記撮影空間を前記仮想ゲーム空間に規定する撮影空間規定機能と、
前記仮想ゲーム空間の内部に位置する複数のキャラクタそれぞれの座標データを制御部に認識させることにより、複数の前記キャラクタを前記仮想ゲーム空間に配置するキャラクタ配置機能と、
複数の前記キャラクタそれぞれの座標データに基づいて、複数の前記キャラクタが前記撮影空間の内部に位置しているか否かを、制御部に判断させるキャラクタ位置判断機能と、
複数の前記キャラクタの少なくともいずれか１つのキャラクタが前記撮影空間の外部に位置していると制御部に判断された場合に、前記撮影空間の外部に位置する前記キャラクタが前記撮影空間の内部に位置するように、前記仮想カメラの画角および前記仮想カメラの位置の少なくともいずれか一方を変更する処理を、制御部に実行させる第１カメラ設定変更機能と、
複数の前記キャラクタそれぞれを、キャラクタ用の画像データを用いて、画像表示部に表示するキャラクタ表示機能と、
を実現させるためのゲームプログラム。
【請求項２】
前記第１カメラ設定変更機能では、複数の前記キャラクタの少なくともいずれか１つのキャラクタが前記撮影空間の外部に位置していると制御部に判断された場合に、前記撮影空間の外部に位置する前記キャラクタが前記撮影空間の内部に位置するように、前記仮想カメラの画角を拡大する処理および複数の前記キャラクタから離れる方向に前記仮想カメラの位置を移動する処理の少なくともいずれか一方の処理が、制御部により実行される、
請求項１に記載のゲームプログラム。
【請求項３】
前記第１カメラ設定変更機能では、複数の前記キャラクタの少なくともいずれか１つのキャラクタが前記撮影空間の外部に位置していると制御部に判断された場合に、前記撮影空間の外部に位置する前記キャラクタが前記撮影空間の内部に位置するように、前記仮想カメラの画角および前記仮想カメラの位置の少なくともいずれか一方を変更する処理が、制御部により実行され、前記仮想カメラの視線方向を変更する処理が、制御部により実行される、
請求項１又は２に記載のゲームプログラム。
【請求項４】
前記第１カメラ設定変更機能では、前記仮想ゲーム空間において水平距離が最も離れた２つのキャラクタのそれぞれの座標データに基づいて、２つの前記キャラクタの中点に対応する座標データを算出する処理を制御部に実行させ、中点の前記座標データをカメラ用の前記第２座標データとして制御部に認識させることにより、前記仮想カメラの視線方向が変更される、
請求項３に記載のゲームプログラム。
【請求項５】
前記キャラクタ位置判断機能では、前記仮想カメラおよび前記キャラクタを結ぶ直線と前記仮想カメラの視線方向に向かう直線とがなす角度が、前記仮想カメラの視線方向に向かう直線と前記撮影領域の境界とがなす角度より小さいか否かを、複数の前記キャラクタそれぞれに対して、制御部に判断させることにより、複数の前記キャラクタが前記撮影空間の内部に位置しているか否かが判断される、
請求項１から４のいずれかに記載のゲームプログラム。
【請求項６】
前記コンピュータに、
前記仮想ゲーム空間の内部を移動する移動体の座標データを制御部に認識させることにより、前記移動体を前記仮想ゲーム空間に配置する移動体配置機能、
をさらに実現させ、
前記キャラクタ配置機能では、前記移動体が衝突する第１キャラクタ、前記第１キャラクタとは異なる位置に位置する第２キャラクタ、および前記第２キャラクタとは異なる位置に位置する第３キャラクタそれぞれの座標データを制御部に認識させることにより、前記第１キャラクタ、前記第２キャラクタ、および前記第３キャラクタが前記仮想ゲーム空間に配置され、
前記キャラクタ位置判断機能では、前記第１キャラクタの座標データ、前記第２キャラクタの座標データ、および前記第３キャラクタの座標データに基づいて、前記第１キャラクタ、前記第２キャラクタ、および前記第３キャラクタが前記撮影空間の内部に位置しているか否かが、制御部に判断され、
前記第１カメラ設定変更機能では、前記第１キャラクタ、前記第２キャラクタ、および前記第３キャラクタの少なくともいずれか１つのキャラクタが前記撮影空間の外部に位置していると制御部に判断された場合に、前記撮影空間の外部に位置する前記キャラクタが前記撮影空間の内部に位置するように、前記仮想カメラの画角および前記仮想カメラの位置の少なくともいずれか一方を変更する処理が、制御部により実行される、
前記キャラクタ表示機能では、前記第１キャラクタ、前記第２キャラクタ、および前記第３キャラクタが、キャラクタ用の画像データを用いて、画像表示部に表示される、
請求項１から５のいずれかに記載のゲームプログラム。
【請求項７】
前記コンピュータに、
仮想ゲーム空間の内部の静止オブジェクトの座標データをＣＰＵ７に認識させることにより、静止オブジェクトを仮想ゲーム空間に配置するオブジェクト配置機能、
をさらに実現させ、
前記カメラ設定機能では、前記仮想ゲーム空間における前記仮想カメラの位置を規定するためのカメラ用の第１座標データ、前記仮想カメラの位置から前記仮想ゲーム空間を撮影するときの前記仮想カメラの視線方向を規定するための前記静止オブジェクトの位置を基準としたカメラ用の第２座標データ、および仮想カメラの画角を規定するための画角データを制御部に認識させることにより、前記仮想カメラが前記仮想ゲーム空間に設定される、
請求項１から６のいずれかに記載のゲームプログラム。
【請求項８】
前記コンピュータに、
複数の前記キャラクタそれぞれの座標データおよび前記カメラ用の第１座標データに基づいて、複数の前記キャラクタの中のいずれか１つのキャラクタと前記仮想カメラとの間に、前記いずれか１つのキャラクタを除いた他のキャラクタが位置しているか否かを、制御部に判断させるキャラクタ位置関係判断機能と、
前記いずれか１つのキャラクタと前記仮想カメラとの間に、他の前記キャラクタが位置していると制御部に判断された場合に、前記静止オブジェクトの位置を基準として、前記仮想カメラの位置を所定の角度で移動する第２カメラ変更機能と、
をさらに実現させるための請求項７に記載のゲームプログラム。
【請求項９】
前記コンピュータに、
前記キャラクタのプレイが再現対象のプレイであるか否かを、制御部に判断させる再現プレイ判断機能、
をさらに実現させ、
前記キャラクタのプレイが再現対象のプレイであると制御部に判断された場合に、前記キャラクタ配置機能において、複数の前記キャラクタが前記仮想ゲーム空間に配置される、
請求項１から８のいずれかに記載のゲームプログラム。
【請求項１０】
キャラクタが仮想ゲーム空間に配置され前記キャラクタが画像表示部に表示されるゲームを実行可能なゲーム装置であって、
前記仮想ゲーム空間における前記仮想カメラの位置を規定するためのカメラ用の第１座標データ、前記仮想カメラの位置から前記仮想ゲーム空間を撮影するときの前記仮想カメラの視線方向を規定するためのカメラ用の第２座標データ、および前記仮想カメラの画角を規定するための画角データを制御部に認識させることにより、前記仮想カメラを前記仮想ゲーム空間に設定するカメラ設定手段と、
前記仮想ゲーム空間において、前記仮想カメラの撮影対象となる撮影空間を規定するための境界用のデータを、制御部に認識させることにより、前記撮影空間を前記仮想ゲーム空間に規定する撮影空間規定手段と、
前記仮想ゲーム空間の内部に位置する複数のキャラクタそれぞれの座標データを制御部に認識させることにより、複数の前記キャラクタを前記仮想ゲーム空間に配置するキャラクタ配置手段と、
複数の前記キャラクタそれぞれの座標データに基づいて、複数の前記キャラクタが前記撮影空間の内部に位置しているか否かを、制御部に判断させるキャラクタ位置判断手段と、
複数の前記キャラクタの少なくともいずれか１つのキャラクタが前記撮影空間の外部に位置していると制御部に判断された場合に、前記撮影空間の外部に位置する前記キャラクタが前記撮影空間の内部に位置するように、前記仮想カメラの画角および前記仮想カメラの位置の少なくともいずれか一方を変更する処理を、制御部に実行させる第１カメラ設定変更手段と、
複数の前記キャラクタそれぞれを、キャラクタ用の画像データを用いて、画像表示部に表示するキャラクタ表示手段と、
を備えるゲーム装置。
【請求項１１】
キャラクタが仮想ゲーム空間に配置され前記キャラクタが画像表示部に表示されるゲームを制御可能なゲーム制御方法であって、
前記仮想ゲーム空間における前記仮想カメラの位置を規定するためのカメラ用の第１座標データ、前記仮想カメラの位置から前記仮想ゲーム空間を撮影するときの前記仮想カメラの視線方向を規定するためのカメラ用の第２座標データ、および前記仮想カメラの画角を規定するための画角データを制御部に認識させることにより、前記仮想カメラを前記仮想ゲーム空間に設定するカメラ設定ステップと、
前記仮想ゲーム空間において、前記仮想カメラの撮影対象となる撮影空間を規定するための境界用のデータを、制御部に認識させることにより、前記撮影空間を前記仮想ゲーム空間に規定する撮影空間規定ステップと、
前記仮想ゲーム空間の内部に位置する複数のキャラクタそれぞれの座標データを制御部に認識させることにより、複数の前記キャラクタを前記仮想ゲーム空間に配置するキャラクタ配置ステップと、
複数の前記キャラクタそれぞれの座標データに基づいて、複数の前記キャラクタが前記撮影空間の内部に位置しているか否かを、制御部に判断させるキャラクタ位置判断ステップと、
複数の前記キャラクタの少なくともいずれか１つのキャラクタが前記撮影空間の外部に位置していると制御部に判断された場合に、前記撮影空間の外部に位置する前記キャラクタが前記撮影空間の内部に位置するように、前記仮想カメラの画角および前記仮想カメラの位置の少なくともいずれか一方を変更する処理を、制御部に実行させる第１カメラ設定変更ステップと、
複数の前記キャラクタそれぞれを、キャラクタ用の画像データを用いて、画像表示部に表示するキャラクタ表示ステップと、
を備えるゲーム制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ゲームプログラム、特に、キャラクタが仮想ゲーム空間に配置され前記キャラクタが画像表示部に表示されるゲームを、コンピュータにおいて実現するためのゲームプログラムに関する。また、このゲームプログラムによって実現されるゲーム装置及びゲーム制御方法に関する。
【背景技術】
【０００２】
従来から様々なビデオゲームが提案されている。これらビデオゲームは、ゲーム装置において実行されるようになっている。たとえば、一般的なゲーム装置は、モニタと、モニタとは別体のゲーム機本体と、ゲーム機本体とは別体の入力部たとえばコントローラとを有している。コントローラには、複数の入力ボタンが配置されている。
【０００３】
このようなゲーム装置によって実行されるゲームの１つとして、たとえば、野球ゲームが知られている（非特許文献１を参照）。野球ゲームには、コントローラによって自己チームの選手キャラクタを操作して相手チームと得点を競うタイプのゲームや、ゲーム自体は主に自動で行わせプレイヤが監督の立場で楽しむタイプのゲーム等がある。
【０００４】
たとえば、前者のゲームにおいて、自己チームが守備サイドである場合、プレイヤがコントローラにより野手キャラクタを操作することによって、野手キャラクタにボールを送球させることができるようになっている。一方で、相手チームが攻撃サイドである場合、相手のプレイヤがコントローラにより打者キャラクタを操作することによって、打者キャラクタにスイング動作を行わせることができるようになっている（非特許文献１を参照）。
【０００５】
このようなゲームでは、たとえば、３塁に走者が存在しているときに、打者キャラクタにより外野フライが打ち上げられた場合、野手キャラクタがボールを捕球したときに、３塁の走者キャラクタにタッチアップを実行させることができる。このため、３塁の走者キャラクタがタッチアップを実行した場合、モニタには、タッチアップした走者キャラクタと、外野の野手キャラクタから返球されたボールを捕球する捕手キャラクタとが表示される。また、この場合、ホームベースの近傍においては、ホームベースに突入する走者キャラクタと、外野の野手キャラクタから返球されたボールを捕球する捕手キャラクタとが接触する状態すなわちクロスプレイの映像が、モニタに表示される。
【非特許文献１】プロ野球スピリッツ４，株式会社コナミデジタルエンタテインメント、ＰＳ３、２００７年４月１日発売
【発明の開示】
【発明が解決しようとする課題】
【０００６】
従来の野球ゲームでは、クロスプレイが発生するときには、クロスプレイの映像がモニタに表示されるようになっていた。このクロスプレイの映像をモニタに表示するためには、ゲーム空間に配置される仮想カメラの位置や画角等の調整を行う必要があった。このため、これまでは、クロスプレイの映像がモニタ画面に収まるように、ゲーム制作者が仮想カメラの位置や画角等の調整を手動で行っていた。特に、近年のゲーム装置は、様々な方向や角度からの映像をモニタに映し出す性能を有しているため、野球ゲームにおいてこの性能を生かして様々な方向や角度からクロスプレイを映そうとすると、ゲーム制作者は、各方向および各画角に対して、仮想カメラの位置や画角の調整を行わなければならなかった。このため、ゲーム制作者は、仮想カメラの位置や画角の調整に、多大な労力および時間を要するという問題点があった。
【０００７】
また、従来の野球ゲームでは、ゲーム制作者が仮想カメラの位置や画角の調整を行ったとしても、野球ゲームにおいては選手キャラクタが状況に応じて様々な動作を行うので、状況によっては、ゲーム制作者が所望する選手キャラクタをモニタに収めることができない場合があった。たとえば、上述したホームベースの近傍におけるクロスプレイでは、ホームベースに突入する走者キャラクタ、捕手キャラクタ、および審判キャラクタを、モニタに表示することを、ゲーム制作者が望んでいたとしても、状況によっては、これら３つのキャラクタをモニタに表示することができない場合があった。具体的には、ホームベースに突入する走者キャラクタおよび捕手キャラクタはモニタに表示されたとしても、審判キャラクタはモニタに表示されないことがあった。すなわち、ゲーム制作者が、所定のキャラクタを撮影対象としてモニタに表示したいと考え、仮想カメラの位置や画角を調節したとしても、上記のように状況によっては、撮影対象のキャラクタをモニタに表示することができないという問題点もあった。
【０００８】
本発明は、このような問題に鑑みてなされたものであり、本発明の目的は、撮影対象のキャラクタをモニタに表示するための仮想カメラの設定を、容易に行うことができるようにすることにある。
【課題を解決するための手段】
【０００９】
請求項１に係るゲームプログラムは、キャラクタが仮想ゲーム空間に配置されキャラクタが画像表示部に表示されるゲームを実行可能なコンピュータに、以下の機能を実現させるためのプログラムである。
（１）仮想ゲーム空間における仮想カメラの位置を規定するためのカメラ用の第１座標データ、仮想カメラの位置から仮想ゲーム空間を撮影するときの仮想カメラの視線方向を規定するためのカメラ用の第２座標データ、および仮想カメラの画角を規定するための画角データを制御部に認識させることにより、仮想カメラを仮想ゲーム空間に設定するカメラ設定機能。
（２）仮想ゲーム空間において、仮想カメラの撮影対象となる撮影空間を規定するための境界用のデータを、制御部に認識させることにより、撮影空間を仮想ゲーム空間に規定する撮影空間規定機能。
（３）仮想ゲーム空間の内部に位置する複数のキャラクタそれぞれの座標データを制御部に認識させることにより、複数のキャラクタを仮想ゲーム空間に配置するキャラクタ配置機能。
（４）複数のキャラクタそれぞれの座標データに基づいて、複数のキャラクタが撮影空間の内部に位置しているか否かを、制御部に判断させるキャラクタ位置判断機能。
（５）複数のキャラクタの少なくともいずれか１つのキャラクタが外部に位置していると制御部に判断された場合に、外部に位置するキャラクタが撮影空間の内部に位置するように、仮想カメラの画角および仮想カメラの位置の少なくともいずれか一方を変更する処理を、制御部に実行させる第１カメラ設定変更機能。
（６）複数のキャラクタそれぞれを、キャラクタ用の画像データを用いて、画像表示部に表示するキャラクタ表示機能。
【００１０】
このゲームプログラムでは、カメラ設定機能において、仮想ゲーム空間における仮想カメラの位置を規定するためのカメラ用の第１座標データ、仮想カメラの位置を基準とした仮想カメラの視線方向を規定するためのカメラ用の第２座標データ、仮想カメラの画角を規定するための画角データを制御部に認識させることにより、仮想カメラが、仮想ゲーム空間に設定される。撮影空間規定機能においては、仮想ゲーム空間において、仮想カメラの撮影対象となる撮影空間を規定するための境界用のデータを、制御部に認識させることにより、撮影空間が仮想ゲーム空間に規定される。キャラクタ配置機能においては、仮想ゲーム空間の内部に位置する複数のキャラクタそれぞれの座標データを制御部に認識させることにより、複数のキャラクタが仮想ゲーム空間に配置される。キャラクタ位置判断機能においては、複数のキャラクタそれぞれの座標データに基づいて、複数のキャラクタが撮影空間の内部に位置しているか否かが、制御部により判断される。第１カメラ設定変更機能においては、複数のキャラクタの少なくともいずれか１つのキャラクタが外部に位置していると制御部に判断された場合に、外部に位置するキャラクタが撮影空間の内部に位置するように、仮想カメラの画角および仮想カメラの位置の少なくともいずれか一方を変更する処理が、制御部により実行される。キャラクタ表示機能においては、複数のキャラクタそれぞれが、キャラクタ用の画像データを用いて、画像表示部に表示される。
【００１１】
このゲームプログラムが野球ゲームに適用された場合を一例として、このゲームプログラムを説明すると、このゲームプログラムでは、仮想ゲーム空間における仮想カメラの位置を規定するためのカメラ用の第１座標データ、仮想カメラの位置を基準とした仮想カメラの視線方向を規定するためのカメラ用の第２座標データ、仮想カメラの画角を規定するための画角データを制御部に認識させることにより、仮想カメラが、仮想ゲーム空間に設定される。また、仮想ゲーム空間において、仮想カメラにより撮影される撮影空間を規定するための境界用のデータを、制御部に認識させることにより、撮影空間が仮想ゲーム空間に規定される。ここで、仮想ゲーム空間の内部に位置する複数のキャラクタ（選手キャラクタや審判キャラクタ等）それぞれの座標データを制御部に認識させることにより、複数のキャラクタが仮想ゲーム空間に配置される。そして、複数のキャラクタそれぞれの座標データに基づいて、複数のキャラクタが撮影空間の内部に位置しているか否かが、制御部により判断される。そして、複数のキャラクタの少なくともいずれか１つのキャラクタが外部に位置していると制御部に判断された場合に、外部に位置するキャラクタが撮影空間の内部に位置するように、仮想カメラの画角および仮想カメラの位置の少なくともいずれか一方を変更する処理が、制御部により実行される。そして、複数のキャラクタそれぞれが、キャラクタ用の画像データを用いて、画像表示部に表示される。
【００１２】
この場合、撮影対象の複数のキャラクタが仮想ゲーム空間に配置されると、仮想ゲーム空間に配置された仮想カメラにより撮影される撮影空間の内部に、撮影対象の複数のキャラクタが位置しているか否かが判別される。そして、撮影対象の複数のキャラクタのうちの少なくともいずれか１つのキャラクタが外部に位置していると判別された場合に、外部に位置するキャラクタが撮影空間の内部に位置するように、仮想カメラの画角および仮想カメラの位置の少なくともいずれか一方が変更される。そして、撮影空間の内部に位置する複数のキャラクタそれぞれが、画像表示部に表示される。
【００１３】
このように、請求項１に係る発明では、撮影対象のキャラクタが撮影空間の外部に位置した場合に、仮想カメラの画角および仮想カメラの位置の少なくともいずれか一方が変更される。そして、外部に位置する撮影対象のキャラクタが、撮影空間の内部に配置される。このように、撮影対象のキャラクタが撮影空間の外部に位置することがあったとしても、仮想カメラの画角および仮想カメラの位置の少なくともいずれか一方が変更され、外部に位置する撮影対象の複数のキャラクタを、撮影空間の内部に配置することができる。このため、請求項１に係る発明が適用されたゲームでは、仮想カメラの設定を手動で行わなくても、撮影対象のキャラクタを容易にモニタに収めることができる。すなわち、請求項１に係る発明では、撮影対象のキャラクタをモニタに表示するための仮想カメラの設定を、容易に行うことができる。
【００１４】
請求項２に係るゲームプログラムでは、請求項１に記載のゲームプログラムにおいて、複数のキャラクタの少なくともいずれか１つのキャラクタが外部に位置していると制御部に判断された場合に、外部に位置するキャラクタが撮影空間の内部に位置するように、仮想カメラの画角を拡大する処理および複数のキャラクタから離れる方向に仮想カメラの位置を移動する処理の少なくともいずれか一方の処理が、制御部により実行される。この機能は、第１カメラ設定変更機能において実現される。
【００１５】
このゲームプログラムが野球ゲームに適用された場合を一例として、このゲームプログラムを説明すると、このゲームプログラムでは、複数のキャラクタの少なくともいずれか１つのキャラクタが外部に位置していると制御部に判断された場合に、外部に位置するキャラクタが撮影空間の内部に位置するように、仮想カメラの画角を拡大する処理および複数のキャラクタから離れる方向に仮想カメラの位置を移動する処理の少なくともいずれか一方の処理が、制御部により実行される。
【００１６】
この場合、撮影対象の複数のキャラクタのうちの少なくともいずれか１つのキャラクタが外部に位置していると判別された場合に、外部に位置するキャラクタが撮影空間の内部に位置するように、仮想カメラの画角を拡大する処理および複数のキャラクタから離れる方向に仮想カメラの位置を移動する処理の少なくともいずれか一方の処理が実行される
このように、請求項２に係る発明では、撮影対象のキャラクタが撮影空間の外部に位置した場合に、仮想カメラの画角を拡大させたり、複数のキャラクタから離れる方向に仮想カメラの位置を移動させたりすることにより、外部に位置する撮影対象のキャラクタを、撮影空間の内部に配置することができる。このため、請求項２に係る発明が適用されたゲームでは、仮想カメラの設定を手動で行わなくても、撮影対象のキャラクタを確実にモニタに収めることができる。すなわち、請求項２に係る発明では、仮想カメラの設定を容易に行うことができ、撮影対象のキャラクタをモニタに確実に表示することができる。
【００１７】
請求項３に係るゲームプログラムでは、請求項１又は２に記載のゲームプログラムにおいて、複数のキャラクタの少なくともいずれか１つのキャラクタが外部に位置していると制御部に判断された場合に、外部に位置するキャラクタが撮影空間の内部に位置するように、仮想カメラの画角および仮想カメラの位置の少なくともいずれか一方を変更する処理が、制御部により実行される。また、仮想カメラの視線方向を変更する処理が、制御部により実行される。この機能は、第１カメラ設定変更機能において実現される。
【００１８】
このゲームプログラムが野球ゲームに適用された場合を一例として、このゲームプログラムを説明すると、このゲームプログラムでは、複数のキャラクタの少なくともいずれか１つのキャラクタが外部に位置していると制御部に判断された場合に、外部に位置するキャラクタが撮影空間の内部に位置するように、仮想カメラの画角および仮想カメラの位置の少なくともいずれか一方を変更する処理が、制御部により実行される。また、仮想カメラの視線方向を変更する処理が、制御部により実行される。
【００１９】
この場合、撮影対象の複数のキャラクタのうちの少なくともいずれか１つのキャラクタが外部に位置していると判別された場合に、外部に位置するキャラクタが撮影空間の内部に位置するように、仮想カメラの画角および仮想カメラの位置の少なくともいずれか一方が変更される。また、仮想カメラの視線方向を変更する処理が、制御部により実行される。
【００２０】
このように、請求項３に係る発明では、撮影対象のキャラクタが撮影空間の外部に位置した場合に、仮想カメラの画角および仮想カメラの位置の少なくともいずれか一方を変更することにより、外部に位置する撮影対象のキャラクタを撮影空間の内部に配置することができる。また、ここでは、仮想カメラの視線方向を変更することにより、撮影対象の複数のキャラクタを撮影空間の内部にバランス良く配置することができる。このため、請求項３に係る発明が適用されたゲームでは、仮想カメラの設定を手動で行わなくても、撮影対象のキャラクタをバランス良くモニタに表示することができる。すなわち、請求項３に係る発明では、撮影対象のキャラクタをバランス良くモニタに表示するための仮想カメラの設定を、容易に行うことができる。
【００２１】
請求項４に係るゲームプログラムでは、請求項３に記載のゲームプログラムにおいて、仮想ゲーム空間において水平距離が最も離れた２つのキャラクタのそれぞれの座標データに基づいて、２つのキャラクタの中点に対応する座標データを算出する処理を制御部に実行させ、中点の座標データをカメラ用の第２座標データとして制御部に認識させることにより、仮想カメラの視線方向が変更される。この機能は、第１カメラ設定変更機能において実現される。
【００２２】
このゲームプログラムが野球ゲームに適用された場合を一例として、このゲームプログラムを説明すると、このゲームプログラムでは、仮想ゲーム空間において水平距離が最も離れた２つの撮影対象のキャラクタのそれぞれの座標データに基づいて、２つの撮影対象のキャラクタの中点に対応する座標データを算出する処理を制御部に実行させ、中点の座標データをカメラ用の第２座標データとして制御部に認識させることにより、仮想カメラの視線方向が変更される。
【００２３】
この場合、仮想ゲーム空間において水平距離が最も離れた２つの撮影対象のキャラクタの間の中点を算出する処理が、実行される。そして、この中点をカメラ視点に設定することにより、仮想カメラの視線方向が変更される。このように、請求項４に係る発明では、仮想カメラの視線方向を、水平距離が最も離れた２つの撮影対象のキャラクタの間の中点の方向に変更することにより、撮影対象の複数のキャラクタを撮影空間の内部にバランス良く配置することができる。このため、請求項４に係る発明が適用されたゲームでは、仮想カメラの設定を手動で行わなくても、撮影対象のキャラクタをバランス良くモニタに表示することができる。すなわち、請求項４に係る発明では、撮影対象のキャラクタをバランス良くモニタに表示するための仮想カメラの設定を、容易に行うことができる。
【００２４】
請求項５に係るゲームプログラムでは、請求項１から４のいずれかに記載のゲームプログラムにおいて、仮想カメラおよびキャラクタを結ぶ直線と仮想カメラの視線方向に向かう直線とがなす角度が、仮想カメラの視線方向に向かう直線と撮影領域の境界とがなす角度より小さいか否かを、複数のキャラクタそれぞれに対して、制御部に判断させることにより、複数のキャラクタが撮影空間の内部に位置しているか否かが判断される。この機能は、キャラクタ位置判断機能において実現される。
【００２５】
このゲームプログラムが野球ゲームに適用された場合を一例として、このゲームプログラムを説明すると、このゲームプログラムでは、仮想カメラおよび撮影対象のキャラクタを結ぶ直線と仮想カメラの視線方向に向かう直線とがなす角度（第１角度）が、仮想カメラの視線方向に向かう直線と撮影領域の境界とがなす角度（第２角度）より小さいか否かを、複数の撮影対象のキャラクタそれぞれに対して判断される。これにより、複数のキャラクタが撮影空間の内部に位置しているか否かが判断される。
【００２６】
この場合、第１角度が第２角度より小さいか否かが、複数の撮影対象のキャラクタそれぞれに対して判断される。そして、第１角度が第２角度より小さい場合、撮影対象のキャラクタが撮影空間の内部に位置していることになる。また、第１角度が第２角度以上の場合、撮影対象のキャラクタが撮影空間の内部に位置していることになる。このようにして、複数のキャラクタが撮影空間の内部に位置しているか否かを判断することができる。このため、請求項５に係る発明が適用されたゲームでは、仮想カメラの設定を手動で行わなくても、撮影対象のキャラクタを容易にモニタに表示することができる。すなわち、請求項４に係る発明では、撮影対象のキャラクタをモニタに表示するための仮想カメラの設定を、容易に行うことができる。
【００２７】
請求項６に係るゲームプログラムは、請求項１から５のいずれかに記載のゲームプログラムにおいて、コンピュータに、以下の機能をさらに実現させるためのプログラムである。
（７）仮想ゲーム空間の内部を移動する移動体の座標データを制御部に認識させることにより、移動体を仮想ゲーム空間に配置する移動体配置機能。
【００２８】
このゲームプログラムでは、移動体配置機能において、仮想ゲーム空間の内部を移動する移動体の座標データを制御部に認識させることにより、移動体が仮想ゲーム空間に配置される。ここでは、キャラクタ配置機能において、移動体が衝突する第１キャラクタ、第１キャラクタとは異なる位置に位置する第２キャラクタ、および第２キャラクタとは異なる位置に位置する第３キャラクタそれぞれの座標データを制御部に認識させることにより、第１キャラクタ、第２キャラクタ、および第３キャラクタが、仮想ゲーム空間に配置される。また、キャラクタ位置判断機能においては、第１キャラクタの座標データ、第２キャラクタの座標データ、および第３キャラクタの座標データに基づいて、第１キャラクタ、第２キャラクタ、および第３キャラクタが撮影空間の内部に位置しているか否かが、制御部に判断される。また、第１カメラ設定変更機能においては、第１キャラクタ、第２キャラクタ、および第３キャラクタの少なくともいずれか１つのキャラクタが外部に位置していると制御部に判断された場合に、外部に位置するキャラクタが撮影空間の内部に位置するように、仮想カメラの画角および仮想カメラの位置の少なくともいずれか一方を変更する処理が、制御部により実行される。さらに、キャラクタ表示機能では、第１キャラクタ、第２キャラクタ、および第３キャラクタが、キャラクタ用の画像データを用いて、画像表示部に表示される。
【００２９】
このゲームプログラムが野球ゲームに適用された場合を一例として、このゲームプログラムを説明すると、このゲームプログラムでは、仮想ゲーム空間の内部を移動するボールの座標データを制御部に認識させることにより、ボールが仮想ゲーム空間に配置される。ここでは、ボールを捕球する第１キャラクタたとえば捕手キャラクタ（請求項６の記載では「移動体が衝突する第１キャラクタ」）、第１キャラクタとは異なる位置に位置する第２キャラクタたとえば走者キャラクタ、および第２キャラクタとは異なる位置に位置する第３キャラクタたとえば主審キャラクタそれぞれの座標データを制御部に認識させることにより、捕手キャラクタ、走者キャラクタ、および主審キャラクタが、仮想ゲーム空間に配置される。また、捕手キャラクタの座標データ、走者キャラクタの座標データ、および主審キャラクタの座標データに基づいて、捕手キャラクタ、走者キャラクタ、および主審キャラクタが撮影空間の内部に位置しているか否かが、制御部に判断される。また、捕手キャラクタ、走者手キャラクタ、および主審キャラクタの少なくともいずれか１つのキャラクタが外部に位置していると制御部に判断された場合に、外部に位置するキャラクタが撮影空間の内部に位置するように、仮想カメラの画角および仮想カメラの位置の少なくともいずれか一方を変更する処理が、制御部により実行される。さらに、捕手キャラクタ、走者キャラクタ、および主審キャラクタが、キャラクタ用の画像データを用いて、画像表示部に表示される。
【００３０】
この場合、ボール、ボールを捕球する捕手キャラクタ、走者キャラクタ、および主審キャラクタが、仮想ゲーム空間に配置される。たとえば、ボールが捕手キャラクタに向けて送球されたときに、このボールを捕球する捕手キャラクタ、ホームに向かって移動する走者キャラクタ、および主審キャラクタが、仮想ゲーム空間に配置される。そして、仮想ゲーム空間に配置された仮想カメラにより撮影される撮影空間の内部に、撮影対象の複数のキャラクタ（捕手キャラクタ、走者キャラクタ、主審キャラクタ）が位置しているか否かが判別される。そして、これら複数のキャラクタのうちの少なくともいずれか１つのキャラクタが外部に位置していると判別された場合に、外部に位置するキャラクタが撮影空間の内部に位置するように、仮想カメラの画角および仮想カメラの位置の少なくともいずれか一方が変更される。そして、撮影空間の内部に位置する複数のキャラクタそれぞれが、画像表示部に表示される。
【００３１】
このように、請求項６に係る発明では、たとえば、撮影対象のキャラクタが、捕手キャラクタ、走者キャラクタ、および主審キャラクタであった場合、捕手キャラクタ、走者キャラクタ、および主審キャラクタが、撮影空間の外部に位置することがあったとしても、仮想カメラの画角および仮想カメラの位置の少なくともいずれか一方を変更することにより、外部に位置するキャラクタを、撮影空間の内部に配置することができる。このため、請求項１に係る発明が適用されたゲームでは、仮想カメラの設定を手動で行わなくても、撮影対象のキャラクタを容易にモニタに収めることができる。すなわち、請求項６に係る発明では、撮影対象のキャラクタをモニタに表示するための仮想カメラの設定を、容易に行うことができる。
【００３２】
上記の例は、ホームベースにおけるクロスプレイを想定したものであるが、本発明は、この他に、走者キャラクタが盗塁したときに、捕手キャラクタが盗塁を阻止するために野手キャラクタにボールを送球した場合にも適用できる。例えば、走者キャラクタが1塁から２塁に向かって盗塁を行い、一方、捕手キャラクタが走者キャラクタを刺すべくセカンドの野手キャラクタに送球するような場合、２塁近傍では、「第1のキャラクタ」としてセカンドの守備キャラクタが、また、「第２のキャラクタ」として走者キャラクタが存在することになる。そして、捕手キャラクタからの送球を受けたセカンドの野手キャラクタが走者キャラクタに対してタッチをしたときに、それがアウトかセーフかをジャッジする「第３のキャラクタ」としての審判キャラクタが存在する。このような場合においても、請求項６に係る発明によれば、この「第３のキャラクタ」としての審判キャラクタが画面内に確実に入るように、仮想カメラの設定が自動的に行われる。このため、ゲームの中の重要なシーンやターニングポイントの場面において、欠くべからざるキャラクタを画面内に確実に登場させることができる。また、ゲームソフトの開発者の手作業による画面構成が行われる場合には、開発者が注意をしていても「第３のキャラクタ」が画面から外れてしまう可能性も潜在的に存在する。しかしながら、本発明によれば、この可能性を排除することができる上に、開発者の手間（労力）を大幅に低減することができる。
【００３３】
なお、上記の２例においては、「第３のキャラクタ」は、対戦状態（対戦ゲーム中の個別の対戦場面（シーン））における、「第１のキャラクタ」と「第２のキャラクタ」との対戦結果を判定するキャラクタと定義することができる。
【００３４】
請求項７に係るゲームプログラムは、請求項１から６のいずれかに記載のゲームプログラムにおいて、コンピュータに、以下の機能をさらに実現させるためのプログラムである。
（８）仮想ゲーム空間の内部における静止オブジェクトの座標データをＣＰＵ７に認識させることにより、静止オブジェクトを仮想ゲーム空間に配置するオブジェクト配置機能。
【００３５】
このゲームプログラムでは、オブジェクト配置機能において、仮想ゲーム空間の内部における静止オブジェクトの座標データをＣＰＵ７に認識させることにより、静止オブジェクトが仮想ゲーム空間に配置される。ここでは、カメラ設定機能において、仮想ゲーム空間における仮想カメラの位置を規定するためのカメラ用の第１座標データ、仮想カメラの位置から仮想ゲーム空間を撮影するときの仮想カメラの視線方向を規定するための静止オブジェクトの位置を基準としたカメラ用の第２座標データ、および仮想カメラの画角を規定するための画角データを制御部に認識させることにより、仮想カメラが仮想ゲーム空間に設定される。
【００３６】
このゲームプログラムが野球ゲームに適用された場合を一例として、このゲームプログラムを説明すると、このゲームプログラムでは、仮想ゲーム空間の内部におけるベースオブジェクト（静止オブジェクト）の座標データをＣＰＵ７に認識させることにより、ベースオブジェクトが仮想ゲーム空間に配置される。そして、仮想ゲーム空間における仮想カメラの位置を規定するためのカメラ用の第１座標データ、仮想カメラの位置から仮想ゲーム空間を撮影するときの仮想カメラの視線方向を規定するためのベースオブジェクトの位置を基準としたカメラ用の第２座標データ、および仮想カメラの画角を規定するための画角データを制御部に認識させることにより、仮想カメラが仮想ゲーム空間に設定される。
【００３７】
この場合、仮想カメラの視線方向が、ベースオブジェクトの位置を基準として設定されるので、ベース近傍のプレイに関係するキャラクタ（撮影対象のキャラクタ）が、撮影空間の内部に配置されやすくなる。ここで対象となるプレイとしては、たとえば、ホームベースにおけるプレイ、１塁ベース、２塁ベース、および３塁ベースそれぞれにおけるプレイがあり、これら各塁近傍におけるプレイに関係するキャラクタが、撮影空間の内部に配置されやすくなる。このため、ゲームの中の重要なシーンやターニングポイントの場面において、欠くべからざるキャラクタが、画面内に登場しやすくなる。このため、ゲームソフトの開発者が手作業によって画面構成を行うときに、開発者の手間（労力）を低減することができる。
【００３８】
請求項８に係るゲームプログラムは、請求項７に記載のゲームプログラムにおいて、コンピュータに、以下の機能をさらに実現させるためのプログラムである。
（９）複数のキャラクタそれぞれの座標データおよびカメラ用の第１座標データに基づいて、複数のキャラクタの中のいずれか１つのキャラクタと仮想カメラとの間に、他のキャラクタが位置しているか否かを、制御部に判断させるキャラクタ位置関係判断機能。
（１０）複数のキャラクタの中のいずれか１つのキャラクタと仮想カメラとの間に、他のキャラクタが位置していると制御部に判断された場合に、静止オブジェクトの位置を基準として、仮想カメラの位置を所定の角度で移動する第２カメラ変更機能。
【００３９】
このゲームプログラムでは、キャラクタ位置関係判断機能において、複数のキャラクタそれぞれの座標データおよびカメラ用の第１座標データに基づいて、複数のキャラクタの中のいずれか１つのキャラクタと仮想カメラとの間に、他のキャラクタが位置しているか否かが、制御部により判断される。第２カメラ変更機能においては、複数のキャラクタの中のいずれか１つのキャラクタと仮想カメラとの間に、他のキャラクタが位置していると制御部に判断された場合に、ベースオブジェクト（静止オブジェクト）の位置を基準として、仮想カメラの位置が所定の角度で移動させられる。
【００４０】
このゲームプログラムが野球ゲームに適用された場合を一例として、このゲームプログラムを説明すると、このゲームプログラムでは、複数のキャラクタ（選手キャラクタや審判キャラクタ等）それぞれの座標データに基づいて、あるキャラクタと仮想カメラとの間に、他のキャラクタが位置しているか否かが、制御部により判断される。ここで、たとえば、ベース近傍のクロスプレイを例に説明を行うと、野手キャラクタと仮想カメラとの間に、審判キャラクタが位置しているか否かが、制御部により判断される。そして、野手キャラクタと仮想カメラとの間に審判キャラクタが位置した場合、ベースの位置を基準として、仮想カメラの位置が所定の角度で移動させられる。
【００４１】
この場合、野手キャラクタと仮想カメラとの間に審判キャラクタが位置すると、仮想カメラをベースの位置を基準として移動させることができる。このため、審判キャラクタが邪魔になって、ベース近傍のプレイが撮影できなくなるという問題を解消することができる。すなわち、ゲームの中の重要なシーンやターニングポイントの場面において、欠くべからざるキャラクタを、確実に画面内に登場させることができる。また、ゲームソフトの開発者が手作業によって画面構成を行うときに、開発者の手間（労力）を低減することができる。
【００４２】
請求項９に係るゲームプログラムは、請求項１から８のいずれかに記載のゲームプログラムにおいて、コンピュータに、以下の機能をさらに実現させるためのプログラムである。
（１１）キャラクタのプレイが再現対象のプレイであるか否かを、制御部に判断させる再現プレイ判断機能。
【００４３】
このゲームプログラムでは、再現プレイ判断機能において、キャラクタのプレイが再現対象のプレイであるか否かが、制御部により判断される。ここでは、キャラクタのプレイが再現対象のプレイであると制御部に判断された場合に、キャラクタ配置機能において、複数のキャラクタが仮想ゲーム空間に配置される。
【００４４】
このゲームプログラムが野球ゲームに適用された場合を一例として、このゲームプログラムを説明すると、このゲームプログラムでは、キャラクタのプレイが再現対象のプレイであるか否かが、制御部により判断される。そして、キャラクタのプレイが再現対象のプレイであると制御部に判断された場合に、複数のキャラクタが仮想ゲーム空間に配置される。
【００４５】
この場合、キャラクタのプレイが再現対象のプレイであると制御部に判断された場合に、複数のキャラクタが仮想ゲーム空間に配置される。そして、撮影対象の複数のキャラクタのうちの少なくともいずれか１つのキャラクタが外部に位置していると判別された場合に、外部に位置するキャラクタが撮影空間の内部に位置するように、仮想カメラの画角および仮想カメラの位置の少なくともいずれか一方が変更される。そして、撮影空間の内部に位置する複数のキャラクタそれぞれが、画像表示部に表示される。
【００４６】
このように、請求項９に係る発明では、プレイが再現されるときに、撮影対象のキャラクタが撮影空間の内部に位置するように、仮想カメラの画角および仮想カメラの位置の少なくともいずれか一方が変更される。そして、撮影対象のキャラクタすべてが、画像表示部に表示される。これにより、リプレイ画像の設定を行うときに、仮想カメラの設定を手動で行わなくても、撮影対象のキャラクタを容易にモニタに収めることができる。すなわち、撮影対象のキャラクタをモニタに表示するための仮想カメラの設定を、容易に行うことができる。
【００４７】
請求項１０に係るゲーム装置は、キャラクタが仮想ゲーム空間に配置されキャラクタが画像表示部に表示されるゲームを実行可能なゲーム装置である。
【００４８】
このゲーム装置は、仮想ゲーム空間における仮想カメラの位置を規定するためのカメラ用の第１座標データ、仮想カメラの位置から仮想ゲーム空間を撮影するときの仮想カメラの視線方向を規定するためのカメラ用の第２座標データ、および仮想カメラの画角を規定するための画角データを制御部に認識させることにより、仮想カメラを仮想ゲーム空間に設定するカメラ設定手段と、仮想ゲーム空間において、仮想カメラの撮影対象となる撮影空間を規定するための境界用のデータを、制御部に認識させることにより、撮影空間を仮想ゲーム空間に規定する撮影空間規定手段と、仮想ゲーム空間の内部に位置する複数のキャラクタそれぞれの座標データを制御部に認識させることにより、複数のキャラクタを仮想ゲーム空間に配置するキャラクタ配置手段と、複数のキャラクタそれぞれの座標データに基づいて、複数のキャラクタが撮影空間の内部に位置しているか否かを、制御部に判断させるキャラクタ位置判断手段と、複数のキャラクタの少なくともいずれか１つのキャラクタが外部に位置していると制御部に判断された場合に、外部に位置するキャラクタが撮影空間の内部に位置するように、仮想カメラの画角および仮想カメラの位置の少なくともいずれか一方を変更する処理を、制御部に実行させる第１カメラ設定変更手段と、複数のキャラクタそれぞれを、キャラクタ用の画像データを用いて、画像表示部に表示するキャラクタ表示手段と、を備えている。
【００４９】
請求項１１に係るゲーム制御方法は、キャラクタが仮想ゲーム空間に配置されキャラクタが画像表示部に表示されるゲームを制御可能なゲーム制御方法である。
【００５０】
このゲーム制御方法は、仮想ゲーム空間における仮想カメラの位置を規定するためのカメラ用の第１座標データ、仮想カメラの位置から仮想ゲーム空間を撮影するときの仮想カメラの視線方向を規定するためのカメラ用の第２座標データ、および仮想カメラの画角を規定するための画角データを制御部に認識させることにより、仮想カメラを仮想ゲーム空間に設定するカメラ設定ステップと、仮想ゲーム空間において、仮想カメラの撮影対象となる撮影空間を規定するための境界用のデータを、制御部に認識させることにより、撮影空間を仮想ゲーム空間に規定する撮影空間規定ステップと、仮想ゲーム空間の内部に位置する複数のキャラクタそれぞれの座標データを制御部に認識させることにより、複数のキャラクタを仮想ゲーム空間に配置するキャラクタ配置ステップと、複数のキャラクタそれぞれの座標データに基づいて、複数のキャラクタが撮影空間の内部に位置しているか否かを、制御部に判断させるキャラクタ位置判断ステップと、複数のキャラクタの少なくともいずれか１つのキャラクタが外部に位置していると制御部に判断された場合に、外部に位置するキャラクタが撮影空間の内部に位置するように、仮想カメラの画角および仮想カメラの位置の少なくともいずれか一方を変更する処理を、制御部に実行させる第１カメラ設定変更ステップと、複数のキャラクタそれぞれを、キャラクタ用の画像データを用いて、画像表示部に表示するキャラクタ表示ステップと、を備えている。
【発明の効果】
【００５１】
本発明では、撮影対象のキャラクタが撮影空間の外部に位置した場合に、仮想カメラの画角および仮想カメラの位置の少なくともいずれか一方が変更される。そして、外部に位置する撮影対象のキャラクタが、撮影空間の内部に配置される。このように、撮影対象のキャラクタが撮影空間の外部に位置することがあったとしても、仮想カメラの画角および仮想カメラの位置の少なくともいずれか一方が変更され、外部に位置する撮影対象の複数のキャラクタを、撮影空間の内部に配置することができる。このため、仮想カメラの設定を手動で行わなくても、撮影対象のキャラクタを容易にモニタに収めることができる。すなわち、撮影対象のキャラクタをモニタに表示するための仮想カメラの設定を、容易に行うことができる。
【発明を実施するための最良の形態】
【００５２】
〔ゲーム装置の構成と動作〕
図１は、本発明の一実施形態によるゲーム装置の基本構成を示している。ここでは、ビデオゲーム装置の一例として、家庭用ビデオゲーム装置をとりあげて説明を行うこととする。家庭用ビデオゲーム装置は、家庭用ゲーム機本体および家庭用テレビジョンを備える。家庭用ゲーム機本体には、記録媒体１０が装填可能となっており、記録媒体１０からゲームデータが適宜読み出されてゲームが実行される。このようにして実行されるゲーム内容が家庭用テレビジョンに表示される。
【００５３】
家庭用ビデオゲーム装置のゲームシステムは、制御部１と、記憶部２と、画像表示部３と、音声出力部４と、操作入力部５とからなっており、それぞれがバス６を介して接続される。このバス６は、アドレスバス、データバス、およびコントロールバスなどを含んでいる。ここで、制御部１、記憶部２、音声出力部４および操作入力部５は、家庭用ビデオゲーム装置の家庭用ゲーム機本体に含まれており、画像表示部３は家庭用テレビジョンに含まれている。
【００５４】
制御部１は、主に、ゲームプログラムに基づいてゲーム全体の進行を制御するために設けられている。制御部１は、たとえば、ＣＰＵ（Central Processing Unit）７と、信号処理プロセッサ８と、画像処理プロセッサ９とから構成されている。ＣＰＵ７と信号処理プロセッサ８と画像処理プロセッサ９とは、それぞれがバス６を介して互いに接続されている。ＣＰＵ７は、ゲームプログラムからの命令を解釈し、各種のデータ処理や制御を行う。たとえば、ＣＰＵ７は、信号処理プロセッサ８に対して、画像データを画像処理プロセッサに供給するように命令する。信号処理プロセッサ８は、主に、３次元空間上における計算と、３次元空間上から擬似３次元空間上への位置変換計算と、光源計算処理と、画像および音声データの生成加工処理とを行っている。画像処理プロセッサ９は、主に、信号処理プロセッサ８の計算結果および処理結果に基づいて、描画すべき画像データをＲＡＭ１２に書き込む処理を行っている。
【００５５】
記憶部２は、主に、プログラムデータや、プログラムデータで使用される各種データなどを格納しておくために設けられている。記憶部２は、たとえば、記録媒体１０と、インターフェース回路１１と、ＲＡＭ（Random Access Memory）１２とから構成されている。記録媒体１０には、インターフェース回路１１が接続されている。そして、インターフェース回路１１とＲＡＭ１２とはバス６を介して接続されている。記録媒体１０は、オペレーションシステムのプログラムデータや、画像データ、音声データ並びに各種プログラムデータからなるゲームデータなどを記録するためのものである。この記録媒体１０は、たとえば、ＲＯＭ（Read Only Memory）カセット、光ディスク、およびフレキシブルディスクなどであり、オペレーティングシステムのプログラムデータやゲームデータなどが記憶される。なお、記録媒体１０にはカード型メモリも含まれており、このカード型メモリは、主に、ゲームを中断するときに中断時点での各種ゲームパラメータを保存するために用いられる。ＲＡＭ１２は、記録媒体１０から読み出された各種データを一時的に格納したり、制御部１からの処理結果を一時的に記録したりするために用いられる。このＲＡＭ１２には、各種データとともに、各種データの記憶位置を示すアドレスデータが格納されており、任意のアドレスを指定して読み書きすることが可能になっている。
【００５６】
画像表示部３は、主に、画像処理プロセッサ９によってＲＡＭ１２に書き込まれた画像データや、記録媒体１０から読み出される画像データなどを画像として出力するために設けられている。この画像表示部３は、たとえば、テレビジョンモニタ２０と、インターフェース回路２１と、Ｄ／Ａコンバータ（Digital-To-Analogコンバータ）２２とから構成されている。テレビジョンモニタ２０にはＤ／Ａコンバータ２２が接続されており、Ｄ／Ａコンバータ２２にはインターフェース回路２１が接続されている。そして、インターフェース回路２１にバス６が接続されている。ここでは、画像データが、インターフェース回路２１を介してＤ／Ａコンバータ２２に供給され、ここでアナログ画像信号に変換される。そして、アナログ画像信号がテレビジョンモニタ２０に画像として出力される。
【００５７】
ここで、画像データには、たとえば、ポリゴンデータやテクスチャデータなどがある。ポリゴンデータはポリゴンを構成する頂点の座標データのことである。テクスチャデータは、ポリゴンにテクスチャを設定するためのものであり、テクスチャ指示データとテクスチャカラーデータとからなっている。テクスチャ指示データはポリゴンとテクスチャとを対応づけるためのデータであり、テクスチャカラーデータはテクスチャの色を指定するためのデータである。ここで、ポリゴンデータとテクスチャデータとには、各データの記憶位置を示すポリゴンアドレスデータとテクスチャアドレスデータとが対応づけられている。このような画像データでは、信号処理プロセッサ８により、ポリゴンアドレスデータの示す３次元空間上のポリゴンデータ（３次元ポリゴンデータ）が、画面自体(視点)の移動量データおよび回転量データに基づいて座標変換および透視投影変換されて、２次元空間上のポリゴンデータ（２次元ポリゴンデータ）に置換される。そして、複数の２次元ポリゴンデータでポリゴン外形を構成して、ポリゴンの内部領域にテクスチャアドレスデータが示すテクスチャデータを書き込む。このようにして、各ポリゴンにテクスチャが貼り付けられた物体つまり各種キャラクタを表現することができる。
【００５８】
音声出力部４は、主に、記録媒体１０から読み出される音声データを音声として出力するために設けられている。音声出力部４は、たとえば、スピーカー１３と、増幅回路１４と、Ｄ／Ａコンバータ１５と、インターフェース回路１６とから構成されている。スピーカー１３には増幅回路１４が接続されており、増幅回路１４にはＤ／Ａコンバータ１５が接続されており、Ｄ／Ａコンバータ１５にはインターフェース回路１６が接続されている。そして、インターフェース回路１６にバス６が接続されている。ここでは、音声データが、インターフェース回路１６を介してＤ／Ａコンバータ１５に供給され、ここでアナログ音声信号に変換される。このアナログ音声信号が増幅回路１４によって増幅され、スピーカー１３から音声として出力される。音声データには、たとえば、ＡＤＰＣＭ（Adaptive Differential Pulse Code Modulation）データやＰＣＭ（Pulse Code Modulation）データなどがある。ＡＤＰＣＭデータの場合、上述と同様の処理方法で音声をスピーカー１３から出力することができる。ＰＣＭデータの場合、ＲＡＭ１２においてＰＣＭデータをＡＤＰＣＭデータに変換しておくことで、上述と同様の処理方法で音声をスピーカー１３から出力することができる。
【００５９】
操作入力部５は、主に、コントローラ１７と、操作情報インターフェース回路１８と、インターフェース回路１９とから構成されている。コントローラ１７には、操作情報インターフェース回路１８が接続されており、操作情報インターフェース回路１８にはインターフェース回路１９が接続されている。そして、インターフェース回路１９にバス６が接続されている。
【００６０】
コントローラ１７は、プレイヤが種々の操作命令を入力するために使用する操作装置であり、プレイヤの操作に応じた操作信号をＣＰＵ７に送出する。コントローラ１７には、第１ボタン１７ａ、第２ボタン１７ｂ、第３ボタン１７ｃ、第４ボタン１７ｄ、上方向キー１７Ｕ、下方向キー１７Ｄ、左方向キー１７Ｌ、右方向キー１７Ｒ、Ｌ１ボタン１７Ｌ１、Ｌ２ボタン１７Ｌ２、Ｒ１ボタン１７Ｒ１、Ｒ２ボタン１７Ｒ２、スタートボタン１７ｅ、セレクトボタン１７ｆ、左スティック１７ＳＬ及び右スティック１７ＳＲが設けられている。
【００６１】
上方向キー１７Ｕ、下方向キー１７Ｄ、左方向キー１７Ｌ及び右方向キー１７Ｒは、例えば、キャラクタやカーソルをテレビジョンモニタ２０の画面上で上下左右に移動させるコマンドをＣＰＵ７に与えるために使用される。
【００６２】
スタートボタン１７ｅは、記録媒体１０からゲームプログラムをロードするようにＣＰＵ７に指示するときなどに使用される。
【００６３】
セレクトボタン１７ｆは、記録媒体１０からロードされたゲームプログラムに対して、各種選択をＣＰＵ７に指示するときなどに使用される。
【００６４】
左スティック１７ＳＬ及び右スティック１７ＳＲは、いわゆるジョイスティックとほぼ同一構成のスティック型コントローラである。このスティック型コントローラは、直立したスティックを有している。このスティックは、支点を中心として直立位置から前後左右を含む３６０°方向に亘って、傾倒可能な構成になっている。左スティック１７ＳＬ及び右スティック１７ＳＲは、スティックの傾倒方向及び傾倒角度に応じて、直立位置を原点とするｘ座標及びｙ座標の値を、操作信号として操作情報インターフェース回路１８とインターフェース回路１９とを介してＣＰＵ７に送出する。
【００６５】
第１ボタン１７ａ、第２ボタン１７ｂ、第３ボタン１７ｃ、第４ボタン１７ｄ、Ｌ１ボタン１７Ｌ１、Ｌ２ボタン１７Ｌ２、Ｒ１ボタン１７Ｒ１及びＲ２ボタン１７Ｒ２には、記録媒体１０からロードされるゲームプログラムに応じて種々の機能が割り振られている。
【００６６】
なお、左スティック１７ＳＬ及び右スティック１７ＳＲを除くコントローラ１７の各ボタン及び各キーは、外部からの押圧力によって中立位置から押圧されるとオンになり、押圧力が解除されると中立位置に復帰してオフになるオンオフスイッチになっている。
【００６７】
以上のような構成からなる家庭用ビデオゲーム装置の概略動作を、以下に説明する。電源スイッチ（図示省略）がオンにされゲームシステム１に電源が投入されると、ＣＰＵ７が、記録媒体１０に記憶されているオペレーティングシステムに基づいて、記録媒体１０から画像データ、音声データ、およびプログラムデータを読み出す。読み出された画像データ、音声データ、およびプログラムデータの一部若しくは全部は、ＲＡＭ１２に格納される。そして、ＣＰＵ７が、ＲＡＭ１２に格納されたプログラムデータに基づいて、ＲＡＭ１２に格納された画像データや音声データにコマンドを発行する。
【００６８】
画像データの場合、ＣＰＵ７からのコマンドに基づいて、まず、信号処理プロセッサ８が、３次元空間上におけるキャラクタの位置計算および光源計算などを行う。次に、画像処理プロセッサ９が、信号処理プロセッサ８の計算結果に基づいて、描画すべき画像データのＲＡＭ１２への書き込み処理などを行う。そして、ＲＡＭ１２に書き込まれた画像データが、インターフェース回路１３を介してＤ／Ａコンバータ１７に供給される。ここで、画像データがＤ／Ａコンバータ１７でアナログ映像信号に変換される。そして、画像データはテレビジョンモニタ２０に供給され画像として表示される。
【００６９】
音声データの場合、まず、信号処理プロセッサ８が、ＣＰＵ７からのコマンドに基づいて音声データの生成および加工処理を行う。ここでは、音声データに対して、たとえば、ピッチの変換、ノイズの付加、エンベロープの設定、レベルの設定及びリバーブの付加などの処理が施される。次に、音声データは、信号処理プロセッサ８から出力されて、インターフェース回路１６を介してＤ／Ａコンバータ１５に供給される。ここで、音声データがアナログ音声信号に変換される。そして、音声データは増幅回路１４を介してスピーカー１３から音声として出力される。
【００７０】
〔ゲーム装置における各種処理概要〕
本ゲーム機において実行されるゲームは、たとえば野球ゲームである。本ゲーム機は、キャラクタが仮想ゲーム空間に配置されキャラクタがテレビジョンモニタ２０に表示されるゲームを、実行可能になっている。図２は、本発明で主要な役割を果たす機能を説明するための機能ブロック図である。
【００７１】
カメラ設定手段５０は、仮想ゲーム空間における仮想カメラの位置を規定するためのカメラ用の第１座標データ、仮想カメラの位置を基準とした仮想カメラの視線方向を規定するためのカメラ用の第２座標データ、仮想カメラの画角を規定するための画角データをＣＰＵ７に認識させることにより、仮想カメラを仮想ゲーム空間に設定する機能を備えている。
【００７２】
この手段では、仮想ゲーム空間における仮想カメラの位置を規定するためのカメラ用の第１座標データ、仮想カメラの位置を基準とした仮想カメラの視線方向を規定するためのカメラ用の第２座標データ、仮想カメラの画角を規定するための画角データをＣＰＵ７に認識させることにより、仮想カメラが仮想ゲーム空間に設定される。
【００７３】
ここでは、ゲームが開始されたときに初期条件としてＣＰＵ７に認識される、カメラ用の第１座標データ、カメラ用の第２座標データ、および仮想カメラの画角データは、ＲＡＭ１２に格納されている。これらのデータは、ゲームプログラムが記録媒体１０からＲＡＭ１２にロードされたときにＲＡＭ１２に格納される。また、カメラ用の第１座標データ、カメラ用の第２座標データ、および仮想カメラの画角データの少なくともいずれか１つが変更された場合は、変更後の各データがＲＡＭ１２に格納される。そして、ＲＡＭ１２に格納された各データが、ＣＰＵ７に認識される。
【００７４】
撮影空間規定手段５１は、仮想ゲーム空間において、仮想カメラの撮影対象となる撮影空間を規定するための境界用のデータを、ＣＰＵ７に認識させることにより、撮影空間を仮想ゲーム空間に規定する機能を備えている。
【００７５】
この手段では、仮想ゲーム空間において、仮想カメラの撮影対象となる撮影空間を規定するための境界用のデータを、ＣＰＵ７に認識させることにより、撮影空間が仮想ゲーム空間に規定される。
【００７６】
ここでは、仮想カメラの視界に入る全ての空間（視界空間）の内部の所定の領域が、モニタ２０に表示される空間すなわち撮影空間（視錐領域）として規定される。言い換えると、仮想カメラの画角に入る全ての空間（視界空間）の内部の所定の領域が、撮影空間として規定される。この撮影空間は、カメラ側の面（第１面）およびカメラから離反した側の面（第２面）を仮想ゲーム空間の所定の位置に設定することにより規定される。たとえば、仮想カメラの位置を基準とした所定の２つの位置座標データ（第１面用の境界用のデータおよび第２面用の境界用データ）をＣＰＵ７に認識させることにより、第１面および第２面が、仮想ゲーム空間に規定される。
【００７７】
ここでは、撮影空間を規定するための第１面の位置および第２面の位置は、ゲームプログラムにおいて予め規定されているが、第１面の位置および第２面の位置を、ユーザが任意に設定することができるようにしても良い。
【００７８】
移動体配置手段５２は、仮想ゲーム空間の内部を移動するボールの座標データをＣＰＵ７に認識させることにより、ボールを仮想ゲーム空間に配置する機能を備えている。
【００７９】
この手段では、仮想ゲーム空間の内部を移動するボールの座標データをＣＰＵ７に認識させることにより、ボールが仮想ゲーム空間に配置される。
【００８０】
たとえば、この手段では、投手キャラクタを含む野手キャラクタから送球されたボールの位置を示す座標データや、打者キャラクタにより打ち返されたボールの位置を示す座標データが、ＣＰＵ７に認識される。すると、仮想ゲーム空間において、この座標データが示す位置にボールが配置される。
【００８１】
なお、ボールの座標データは、ボールが野手キャラクタから送球されたときのボールの軌道方程式、又はボールが打者キャラクタにより打ち返されたときのボールの軌道方程式に基づいて、算出される。ここで用いられるボールの軌道方程式は、ゲームプログラムにおいて予め規定されており、ＲＡＭ１２に格納されている。また、ボールの軌道を算出するときに用いられる初期条件として、ボールの初速度、ボールの送出角度、重力、および回転等に対応するデータが用いられ、これらのデータは、ＲＡＭ１２に格納されている。
【００８２】
再現プレイ判断手段は、キャラクタのプレイが再現対象のプレイであるか否かを、ＣＰＵ７に判断させる機能を備えている。
【００８３】
この手段では、キャラクタのプレイが再現対象のプレイであるか否かが、ＣＰＵ７により判断される。たとえば、出塁状況を示すデータ（フラグデータ）およびキャラクタの動作結果を示すデータ（結果データ）に基づいて、キャラクタのプレイが再現対象のプレイであるか否かが、ＣＰＵ７により判断される。より具体的には、これらフラグデータと結果データとの組み合わせに応じて、キャラクタのプレイが再現対象のプレイであるか否かが、ＣＰＵ７により判断される。なお、ここでは、ゲームにおいて実行されたプレイが再現対象のプレイに相当する場合の、フラグデータと結果データとの組み合わせは、たとえば、対応テーブルによって、予めゲームプログラムにおいて規定されている。
【００８４】
キャラクタ配置手段５３は、仮想ゲーム空間の内部に位置する複数のキャラクタそれぞれの座標データをＣＰＵ７に認識させることにより、複数のキャラクタを仮想ゲーム空間に配置する機能を備えている。
【００８５】
この手段では、仮想ゲーム空間の内部に位置する複数のキャラクタそれぞれの座標データをＣＰＵ７に認識させることにより、複数のキャラクタが仮想ゲーム空間に配置される。
【００８６】
たとえば、この手段では、ボールを捕球する野手キャラクタ、所定の塁に向かって移動する走者キャラクタ、および審判キャラクタそれぞれの座標データをＣＰＵ７に認識させることにより、捕手キャラクタ、走者キャラクタ、および主審キャラクタが仮想ゲーム空間に配置される。
【００８７】
ここでは、仮想ゲーム空間において、全ての野手キャラクタ、打者キャラクタ、全ての審判キャラクタの中から、撮影対象となる複数のキャラクタ（捕手キャラクタ、走者キャラクタ、および主審キャラクタ）が、ＣＰＵ７に認識される。そして、これらの捕手キャラクタ、走者キャラクタ、および主審キャラクタそれぞれの座標データをＣＰＵ７に認識させることにより、捕手キャラクタ、走者キャラクタ、および主審キャラクタが仮想ゲーム空間に配置される。
【００８８】
なお、ここで撮影対象となる複数のキャラクタ（ex. 捕手キャラクタ、走者キャラクタ、および主審キャラクタ）は、シーンごとに、ゲームプログラムにおいて予め規定されている。すなわち、各シーンと各シーンにおいて撮影対象となるキャラクタとの対応関係は、ゲームプログラムにおいて予め規定されている。
【００８９】
キャラクタ位置判断手段５４は、複数のキャラクタそれぞれの座標データに基づいて、複数のキャラクタが撮影空間の内部に位置しているか否かを、ＣＰＵ７に判断させる機能を備えている。
【００９０】
この手段では、複数のキャラクタそれぞれの座標データに基づいて、複数のキャラクタが撮影空間の内部に位置しているか否かが、ＣＰＵ７により判断される。
【００９１】
この手段では、たとえば、捕手キャラクタの座標データ、走者キャラクタの座標データ、および主審キャラクタの座標データに基づいて、捕手キャラクタ、走者キャラクタ、および主審キャラクタが撮影空間の内部に位置しているか否かが、ＣＰＵ７に判断される。
【００９２】
より具体的には、この手段では、仮想カメラおよびキャラクタを結ぶ直線と、仮想カメラの視線方向に向かう直線とがなす角度（第１角度）が、ＣＰＵ７により算出される。また、仮想カメラの視線方向に向かう直線と、撮影領域の境界とがなす角度（第２角度）が、ＣＰＵ７により算出される。そして、第１角度が第２角度より小さいか否かが、複数のキャラクタそれぞれに対して、ＣＰＵ７により判断される。
【００９３】
ここで、全てのキャラクタが撮影空間の内部に位置している場合は、全てのキャラクタにおいて、第１角度が第２角度より小さくなる。一方で、複数のキャラクタの少なくともいずれか１つのキャラクタが撮影空間の外部に位置している場合は、外部に位置するキャラクタにおいて、第１角度が第２角度以上になる。
【００９４】
第１カメラ設定変更手段５５は、複数のキャラクタの少なくともいずれか１つのキャラクタが外部に位置しているとＣＰＵ７に判断された場合に、外部に位置するキャラクタが撮影空間の内部に位置するように、仮想カメラの画角および仮想カメラの位置の少なくともいずれか一方を変更する処理を、ＣＰＵ７に実行させる機能を備えている。
【００９５】
この手段では、複数のキャラクタの少なくともいずれか１つのキャラクタが外部に位置しているとＣＰＵ７に判断された場合に、外部に位置するキャラクタが撮影空間の内部に位置するように、仮想カメラの画角および仮想カメラの位置の少なくともいずれか一方を変更する処理が、ＣＰＵ７により実行される。
【００９６】
たとえば、この手段では、捕手キャラクタ、走者キャラクタ、および主審キャラクタの少なくともいずれか１つのキャラクタが外部に位置しているとＣＰＵ７に判断された場合に、外部に位置するキャラクタが撮影空間の内部に位置するように、仮想カメラの画角および仮想カメラの位置の少なくともいずれか一方を変更する処理が、ＣＰＵ７により実行される。
【００９７】
より具体的には、この手段では、捕手キャラクタ、走者キャラクタ、および主審キャラクタの少なくともいずれか１つのキャラクタが外部に位置しているとＣＰＵ７に判断された場合に、外部に位置するキャラクタが撮影空間の内部に位置するように、仮想カメラの画角を拡大する処理および複数のキャラクタから離れる方向に仮想カメラの位置を移動する処理の少なくともいずれか一方の処理が、ＣＰＵ７により実行される。そして、仮想ゲーム空間において水平距離が最も離れた２つのキャラクタのそれぞれの座標データに基づいて、２つのキャラクタの中点に対応する座標データを算出する処理がＣＰＵ７により実行される。そして、ここで算出された中点の座標データをカメラ用の第２座標データとしてＣＰＵ７に認識させることにより、仮想カメラの視線方向が変更される。これにより、複数のキャラクタを、撮影空間の内部にバランス良く配置することができる。
【００９８】
なお、各キャラクタが撮影空間の内部に位置している場合においても、仮想ゲーム空間において水平距離が最も離れた２つのキャラクタの中点がＣＰＵ７により算出され、この中点の座標データがカメラ用の第２座標データとしてＣＰＵ７に認識される。これにより、各キャラクタが撮影空間の内部に位置している場合においても、複数のキャラクタを、撮影空間の内部にバランス良く配置することができる。
【００９９】
キャラクタ表示手段５６は、複数のキャラクタそれぞれを、キャラクタ用の画像データを用いて、テレビジョンモニタ２０に表示する機能を備えている。
【０１００】
この手段では、複数のキャラクタそれぞれが、キャラクタ用の画像データを用いて、テレビジョンモニタ２０に表示される。たとえば、この手段では、撮影空間の内部に配置された、捕手キャラクタ、走者キャラクタ、および主審キャラクタが、キャラクタ用の画像データを用いて、テレビジョンモニタ２０に表示される。
【０１０１】
〔野球ゲームにおけるシーン再現システムの概要〕
次に、野球ゲームにおけるシーン再現システムの具体的な内容について説明する。また、図１０および図１１に示すフローについても同時に説明する。なお、図１０は野球ゲームの全体概要を説明するためのフローであり、図１１は上記システムを説明するためのフローである。
【０１０２】
まず、ゲーム機の電源が投入されゲーム機が起動されると、野球ゲームプログラムが、記録媒体１０からＲＡＭ１２にロードされ格納される。このときには、野球ゲームを実行する上で必要となる各種の基本ゲームデータも、同時に、記録媒体１０からＲＡＭ１２にロードされ格納される（Ｓ１）。
【０１０３】
たとえば、基本ゲームデータには、３次元ゲーム空間用の各種の画像に関するデータが含まれている。そして、この３次元ゲーム空間用の各種の画像に関するデータ、たとえば、スタジアム用の画像データ、選手キャラクタ用の画像データ、および各種のオブジェクトの画像データ等が、ＣＰＵ７に認識される。また、基本ゲームデータには、３次元ゲーム空間用の各種の画像に関するデータを３次元ゲーム空間に配置するための位置座標データが含まれている。また、基本ゲームデータには、打者キャラクタのシーン再現システムで用いられるデータも、含まれている。
【０１０４】
続いて、ＲＡＭ１２に格納された野球ゲームプログラムが、基本ゲームデータに基づいて、ＣＰＵ７により実行される（Ｓ２）。すると、野球ゲームの起動画面がテレビジョンモニタ２０に表示される。すると、野球ゲームを実行するための各種の設定画面がテレビジョンモニタ２０に表示される。ここでは、たとえば、野球ゲームのプレイモードを選択するためのモード選択画面が、テレビジョンモニタ２０に表示される（図示しない）。このモード選択画面において、プレイヤがコントローラ１７を操作することにより、プレイモードが決定される（Ｓ３）。プレイモードには、たとえば、１２球団の中から好きなチームを選択して１試合の対戦を楽しむ対戦モード、１２球団の中から好きなチームを選択してペナントレースを戦うペナントモード、プレイヤが監督の立場でチームの選手キャラクタを育成する育成モード、およりプレイヤがある１人の選手キャラクタの立場になって野球ゲームを体感する成長体感モード等が、用意されている。
【０１０５】
続いて、モード選択画面で選択されたプレイモードにおいて、各種のイベントが、ＣＰＵ７により実行される（Ｓ４）。ここで実行される各種のイベントには、たとえば、ＡＩプログラム（Ａｒｔｉｆｉｃｉａｌ  Ｉｎｔｅｌｌｉｇｅｎｃｅ  Ｐｒｏｇｒａｍ）に基づいてＣＰＵ７により自動制御されるイベントや、コントローラ１７からの入力信号に基づいてプレイヤにより手動制御されるイベントのようなイベントがある。また、選手キャラクタの制御には、ＡＩプログラムに基づいて選手キャラクタに命令を自動的に指示する自動制御や、コントローラ１７からの入力信号に基づいて選手キャラクタに命令を直接的に指示する手動制御等がある。このように、本野球ゲームでは、コントローラ１７からの指示やＡＩプログラムからの指示に応じて、イベントが制御されたり、選手キャラクタに命令が指示されたりするようになっている。
【０１０６】
続いて、選択されたプレイモードが終了したか否かが、ＣＰＵ７により判断される（Ｓ５）。具体的には、プレイモードが終了したことを示す命令が発行されたか否かが、ＣＰＵ７により判断される。そして、プレイモードが終了したことを示す命令が発行されたとＣＰＵ７により判断された場合（Ｓ５でＹｅｓ）、ゲーム継続用のデータをＲＡＭ１２に格納する処理が、ＣＰＵ７により実行される。そして、ゲーム継続用のデータがＲＡＭ１２に格納されると、この野球ゲームを終了するか否かを選択する選択画面が、テレビジョンモニタ２０に表示される（Ｓ６）。そして、この選択画面において、プレイヤがコントローラ１７を操作することにより、野球ゲームの終了を示す項目が選択されると（Ｓ６でＹｅｓ）、野球ゲームを終了するための処理がＣＰＵ７により実行される（Ｓ７）。一方で、この選択画面において、プレイヤがコントローラ１７を操作することにより、野球ゲームの継続を示す項目が選択されると（Ｓ６でＮｏ）、ステップ３（Ｓ３）のモード選択画面が、テレビジョンモニタ２０に再表示される。
【０１０７】
なお、プレイモードが終了するための命令が発行されたとＣＰＵ７に判断されない限り（Ｓ５でＮｏ）、モード選択画面で選択されたプレイモードにおいて、各種のイベントがＣＰＵ７により実行される（Ｓ４）。
【０１０８】
次に、打者キャラクタのシーン再現システムの詳細を説明する。
【０１０９】
以下には、シーン再現システムが対戦モードにおいて機能する場合の例が示される。たとえば、モード選択画面において対戦モードが選択されたときに、シーン再現システムが機能する場合の例が示される。特に、以下では、シーン再現システムにおいて、本塁上のクロスプレイ（シーン）が再現される場合の例が示される。
【０１１０】
本野球ゲームでは、対戦モードが開始されると（Ｓ４０１）、図３に示すように、シーン再現用の仮想カメラの位置Ｃ１を３次元仮想ゲーム空間に規定するためのカメラ用の第１座標データ、シーン再現用の仮想カメラの位置Ｃ１を基準として仮想カメラの視線方向ＶＤを規定するための位置Ｃ２を示すカメラ用の第２座標データ、シーン再現用の仮想カメラの画角を規定するための画角データＧＡが、ＣＰＵ７に認識される。これにより、シーン再現用の仮想カメラが３次元仮想ゲーム空間に設定される（Ｓ４０２）。
【０１１１】
なお、ここでは、３次元仮想空間の座標系が、図３に示すように定義されている。すなわち、ここでは、仮想カメラの視線方向ＶＤを水平面に投影した方向をＹ方向、高さ方向をＺ方向、Ｙ方向とＺ方向とに互いに直交する方向をＸ方向と、定義されている。また、図３の撮影空間の底面ＶＢは、ＸＹ平面上に設けられている。そして、このＸＹ平面上には、グランド面が定義されている。
【０１１２】
続いて、図３に示すように、シーン再現用の仮想カメラの画角に入る全ての空間ＳＫ（視界空間）の内部の所定の領域が、撮影空間ＳＳとして規定される。ここでは、シーン再現用の仮想カメラの撮影対象となる撮影空間ＳＳの奥行きを規定するための境界、たとえば、仮想カメラ側の面ＶＳ１（第１面）および仮想カメラから離反した側の面ＶＳ２（第２面）を、３次元仮想ゲーム空間の所定の位置に設定することにより、撮影空間ＳＳが３次元仮想ゲーム空間に規定される（Ｓ４０３）。
【０１１３】
具体的には、仮想カメラの位置Ｃ１の第１座標データ（ｘ１，ｙ１，ｚ１）のｙ座標に、仮想カメラの位置Ｃ１からの第１面ＶＳ１までの距離ｙｓ１を加算する処理を制御部に実行させることにより、第１面用の境界用のデータ（ｘ１，ｙ１＋ｙｓ１，ｚ１）が算出される。また、仮想カメラの位置Ｃ１の第１座標データ（ｘ１，ｙ１，ｚ１）のｙ座標に、仮想カメラの位置Ｃ１からの第２面ＶＳ２までの距離ｙｓ２を加算する処理を制御部に実行させることにより、第２面用の境界用のデータ（ｘ１，ｙ１＋ｙｓ２，ｚ１）が算出される。なお、距離ｙｓ１，ｙｓ２は、ゲームプログラムにおいて予め規定されており、ＲＡＭ１２に格納されている。また、距離ｙｓ１と距離ｙｓ２との間には、「ｙｓ２＞ｙｓ１」の関係が成立している。
【０１１４】
このようにして算出された、第１面用の境界用のデータ、および第２面用の境界用のデータを、第１面ＶＳ１の位置座標データおよび第２面ＶＳ２の位置座標データとして、ＣＰＵ７に認識させることにより、第１面ＶＳ１および第２面ＶＳ２が３次元仮想ゲーム空間に決定され、撮影空間ＳＳが３次元仮想ゲーム空間に規定される。
【０１１５】
なお、シーン再現用の仮想カメラの撮影対象となる撮影空間ＳＳの幅方向の境界は、シーン再現用の仮想カメラの幅方向の第１画角データＧＡｘｙによって規定される（図４を参照）。また、シーン再現用の仮想カメラの撮影対象となる撮影空間ＳＳの高さ方向の境界は、シーン再現用の仮想カメラの高さ方向の第２画角データＧＡｙｚによって規定される（図３を参照）。このように、ここでは、シーン再現用の仮想カメラの画角データＧＡは、幅方向の第１画角データＧＡｘｙ、および高さ方向の第２画角データＧＡｙｚから構成されている。
【０１１６】
続いて、試合イベントが開始されプレイが実行されると（Ｓ４０４）、実行されたプレイが再現対象のプレイであるか否かが、ＣＰＵ７により判別される（Ｓ４０５）。ここでは、再現対象のプレイは、ゲームプログラムにおいて予め規定されている。
【０１１７】
具体的には、実行されたプレイが、ゲームプログラムにおいて予め規定された再現対象のプレイ、たとえば、３塁に走者キャラクタＫ１が存在していて打者キャラクタにより安打又は外野フライが放たれた場合のプレイであるか否かが、ＣＰＵ７により判別される。
【０１１８】
ここでは、たとえば、走者キャラクタＫ１が３塁に存在する場合、３塁における出塁状況を示すフラグの値として、数値「１」がＣＰＵ７により割り当てられる。また、走者キャラクタＫ１が３塁に存在しない場合、３塁における出塁状況を示すフラグの値として、数値「０」がＣＰＵ７により割り当てられる。このフラグの値をＣＰＵ７に認識させることにより、走者キャラクタＫ１が３塁に存在するか否かが、ＣＰＵ７により判別される。
【０１１９】
また、たとえば、打者キャラクタにより安打が放たれた場合、打撃結果を示す結果データの値として、ヒットに対応する数値「１」、２塁打に対応する数値「２」、３塁打に対応する数値「３」、およびホームランに対応する数値「４」のいずれか１つが、ＣＰＵ７により割り当てられる。そして、打者キャラクタにより外野フライが放たれた場合、打撃結果を示す結果データの値として、外野フライに対応する数値「１１」が、ＣＰＵ７により割り当てられる。そして、上記以外の結果の場合、打撃結果を示す結果データの値として、数値「０」が、ＣＰＵ７により割り当てられる。この結果データの値をＣＰＵ７に認識させることにより、打者キャラクタが安打又は外野フライを放ったか否かが、ＣＰＵ７により判別される。
【０１２０】
ここで、実行されたプレイが再現対象のプレイであるとＣＰＵ７により判別された場合（Ｓ４０５でＹｅｓ）、この再現対象のプレイに関わるキャラクタの動作を再現するための座標データおよび画像データが、ＲＡＭ１２に格納される（Ｓ４０６）。たとえば、３塁に走者キャラクタＫ１が存在していて打者キャラクタにより安打又は外野フライが放たれた場合、再現対象のプレイに関わるキャラクタは、走者キャラクタＫ１、捕手キャラクタＫ２、および主審キャラクタＫ３となる。このため、この場合は、プレイ中の走者キャラクタＫ１、プレイ中の捕手キャラクタＫ２、およびプレイ中の主審キャラクタＫ３それぞれの座標データおよび画像データが、ＲＡＭ１２に格納される。また、ここでは、プレイ中のボールの座標データおよび画像データも、ＲＡＭ１２に格納される（Ｓ４０７）。
【０１２１】
なお、ボールの座標データは、ボールの軌道方程式に基づいて算出される。たとえば、ボールの軌道方程式は、位置と時間の関数になっている。このボールの軌道方程式において、ボールの送出位置の時間を基準として、時間を１／６０（ｓｅｃ）ずつ進行させることにより、所定のフレームにおけるボールの位置が算出される。なお、このボールの軌道方程式を構成するための変数および定数は、ゲームプログラムにおいて予め規定されている。
【０１２２】
続いて、ここでＲＡＭ１２に格納されたデータに基づいて、再現対象のプレイ（実行済みのプレイ）を３次元仮想ゲーム空間において再実行する処理が、ＣＰＵ７により実行される。
【０１２３】
まず、３次元仮想ゲーム空間の内部に位置する複数のキャラクタそれぞれの座標データが、ＣＰＵ７に認識される。たとえば、３塁に走者キャラクタＫ１が存在していて打者キャラクタが安打又は外野フライを放った場合、ホームベースに突入する走者キャラクタＫ１、ボールを捕球する捕手キャラクタＫ２、および主審キャラクタＫ３それぞれの座標データが、１フレームごとに、ＣＰＵ７に認識される（Ｓ４０８）。ここでＣＰＵ７に認識される各キャラクタの座標データは、ステップ４０６（Ｓ４０６）でＲＡＭ１２に格納されたデータである。
【０１２４】
次に、３次元仮想ゲーム空間の内部を移動するボールの座標データが、ＣＰＵ７に認識される。たとえば、３塁に走者キャラクタＫ１が存在していて打者キャラクタが安打又は外野フライを放った場合、ボールを捕球した野手キャラクタから捕手キャラクタＫ２へと送球されたボールの座標データが、１フレーム（１／６０ｓｅｃ）ごとに、ＣＰＵに認識される（Ｓ４０９）。ここでＣＰＵ７に認識されるボールの座標データは、ステップ４０７（Ｓ４０７）でＲＡＭ１２に格納されたデータである。
【０１２５】
続いて、各フレームの複数のキャラクタそれぞれの座標データに基づいて、複数のキャラクタが撮影空間ＳＳの内部に位置しているか否かが、１フレームごとに、ＣＰＵ７により判断される（Ｓ４１０）。ここでは、たとえば、走者キャラクタＫ１の座標データ、捕手キャラクタＫ２の座標データ、および主審キャラクタＫ３の座標データに基づいて、走者キャラクタＫ１、捕手キャラクタＫ２、および主審キャラクタＫ３が撮影空間ＳＳの内部に位置しているか否かが、ＣＰＵ７に判断される。
【０１２６】
具体的には、図４に示すように、まず、３次元仮想空間の上部から撮影空間ＳＳを見下ろした系（ＸＹ座標系）において、仮想カメラの位置Ｃ１の第１座標データと各キャラクタ（走者キャラクタＫ１、捕手キャラクタＫ２、および主審キャラクタＫ３）の座標データとに基づいて、仮想カメラと各キャラクタとを結ぶ第１線分の長さを算出する処理が、ＣＰＵ７により実行される。また、仮想カメラの第１座標データと仮想カメラの第２座標データとに基づいて、仮想カメラの位置と仮想カメラの視点位置とを結ぶ第２線分の長さ（仮想カメラの視線方向ＶＤの線分の長さ）を算出する処理が、ＣＰＵ７により実行される。さらに、仮想カメラの第２座標データと各キャラクタの座標データとに基づいて、仮想カメラの視点位置と各キャラクタとを結ぶ第３線分の長さを算出する処理が、ＣＰＵ７により実行される。
【０１２７】
これらの、第１線分の長さ、第２線分の長さ、および第３線分の長さを余弦定理に代入することにより、第１線分と第２線分とがなす角度Ａ１の余弦（＝ｃｏｓ（Ａ１））がＣＰＵ７により算出される。すると、この余弦の逆関数を算出する処理をＣＰＵ７に実行させることにより、第１線分と第２線分とがなす角度Ａ１（第１角度）が算出される。このようにして、仮想カメラおよびキャラクタを結ぶ直線と、仮想カメラの視線方向ＶＤに向かう直線とがなす角度Ａ１（第１角度）が、ＣＰＵ７により設定される。
【０１２８】
なお、図４には、走者キャラクタＫ１、捕手キャラクタＫ２、および主審キャラクタＫ３が、撮影空間の内部に位置する場合の例が示されている。図４では、走者キャラクタＫ１用の第１角度Ａ１が「Ａ１＿Ｋ１」、捕手キャラクタＫ２用の第１角度Ａ１が「Ａ１＿Ｋ２」、主審キャラクタＫ３用の第１角度Ａ１が「Ａ１＿Ｋ３」で、示されている。
【０１２９】
次に、図４に示すように、ＸＹ座標系において、仮想カメラの視線方向ＶＤに向かう直線と撮影領域の境界とがなす角度Ａ２（第２角度）が、ＣＰＵ７により算出される。ここでは、仮想カメラの視線方向ＶＤの直線が、仮想カメラの幅方向の画角を２等分しているので、仮想カメラの幅方向の画角を示す第１画角データＧＡｘｙに「１／２」を乗じる計算を、ＣＰＵ７に実行させることにより、第２角度Ａ２が算出される。このようにして、仮想カメラの視線方向ＶＤに向かう直線と撮影領域の境界とがなす角度Ａ２（第２角度）が、ＣＰＵ７により設定される。
【０１３０】
なお、ここでは、第１画角データＧＡｘｙに「１／２」を乗じる計算を、ＣＰＵ７に実行させることにより、第２角度Ａ２が算出される場合の例が示されている。しかし、第１画角データＧＡｘｙに「１／２」を乗じた値に所定の数値「ｄＧＡ１（＞０）」を加算したものを、第２角度Ａ２（＝ＧＡｘｙ／２＋ｄＧＡ１）として用いても良い。たとえば、調整値「ｄＧＡ１」を含む第２角度Ａ２を用いることにより、後述する判断を行うと、キャラクタを、撮影空間ＳＳの境界から内部側に余裕をもって収めることができる。すなわち、この場合、キャラクタを確実に撮影空間ＳＳに収めることができる。
【０１３１】
続いて、仮想カメラおよびキャラクタを結ぶ直線と、仮想カメラの視線方向ＶＤに向かう直線とがなす角度Ａ１（第１角度）が、仮想カメラの視線方向ＶＤに向かう直線と撮影領域の境界とがなす角度Ａ２（第２角度）より小さいか否かが、各キャラクタに対してＣＰＵ７により判断される。すなわち、第１角度Ａ１が第２角度Ａ２より小さいか否かを判断することにより、各キャラクタが撮影空間ＳＳの内部に位置しているか否かが判断される。
【０１３２】
そして、各キャラクタの第１角度Ａ１が第２角度Ａ２より小さいと判断された場合（Ｓ４１０でＹｅｓ：「Ａ１＿Ｋ１＜Ａ２」，且つ「Ａ１＿Ｋ２＜Ａ２」，且つ「Ａ１＿Ｋ３＜Ａ２」）、全てのキャラクタが、撮影空間ＳＳの内部に位置していることになる。たとえば、この場合、走者キャラクタＫ１、捕手キャラクタＫ２、および主審キャラクタＫ３が、撮影空間ＳＳの内部に位置していることになる。すると、３次元仮想ゲーム空間において水平距離が最も離れた２つのキャラクタのそれぞれの座標データに基づいて、２つのキャラクタの中点に対応する座標データを算出する処理がＣＰＵ７により実行される。たとえば、図４では、走者キャラクタＫ１と主審キャラクタＫ３との間の水平距離が最も大きいので、走者キャラクタＫ１の座標データおよび主審キャラクタＫ３の座標データに基づいて、これら２つのキャラクタの中点の座標データが、ＣＰＵ７により算出される。
【０１３３】
そして、ここで算出された中点のＸ座標を、カメラ用の第２座標データのＸ座標としてＣＰＵ７に再認識させることにより、仮想カメラの視線方向ＶＤが変更される（Ｓ４１１）。すなわち、カメラ用の第２座標データのＸ座標を、上記の中点のＸ座標に変更する処理を、ＣＰＵ７に実行させることにより、仮想カメラの視線方向ＶＤが変更される。すると、後述するステップ４１４（Ｓ４１４）の処理が、ＣＰＵ７により実行される。
【０１３４】
一方で、複数のキャラクタのうちの少なくともいずれか１つのキャラクタの第１角度Ａ１が第２角度Ａ２以上であると判断された場合（Ｓ４１０でＮｏ：「Ａ１＿Ｋ１≧Ａ２」，「Ａ１＿Ｋ２≧Ａ２」，および「Ａ１＿Ｋ３≧Ａ２」の中の少なくともいずれかの１つの条件式が成立した場合）、第１角度Ａ１が第２角度Ａ２以上であるキャラクタが、撮影空間ＳＳの外部に位置していることになる。たとえば、図５では、主審キャラクタＫ３の第１角度Ａ１＿Ｋ３が第２角度Ａ２以上になるので（条件式「Ａ１＿Ｋ３≧Ａ２」が成立するので）、主審キャラクタＫ３が、撮影空間ＳＳの外部に位置していることになる。
【０１３５】
この図５に対応する状態において、撮影空間ＳＳがテレビジョンモニタ２０に表示されると、図８（ａ）に示す画像になる。なお、図８（ａ）に示す画像は、参考のために示したものであって、本実施形態でテレビジョンモニタ２０に表示される画像は、図８（ｂ）になる。
【０１３６】
すると、撮影空間ＳＳの外部に位置するキャラクタが撮影空間ＳＳの内部に位置するように、仮想カメラの画角を拡大する処理および複数のキャラクタから離れる方向に仮想カメラの位置を移動する処理の少なくともいずれか一方の処理が、ＣＰＵ７により実行される（Ｓ４１２）。
【０１３７】
たとえば、本塁上のクロスプレイにおいて、主審キャラクタＫ３が撮影空間ＳＳの外部に位置した場合、すなわち主審キャラクタＫ３の第１角度Ａ１＿Ｋ３が第２角度Ａ２以上になった場合、この主審キャラクタＫ３が撮影空間ＳＳの内部に位置するように、仮想カメラの画角を拡大する処理および複数のキャラクタから離れる方向に仮想カメラの位置を移動する処理の少なくともいずれか一方の処理が、ＣＰＵ７により実行される。
【０１３８】
ここでは、仮想カメラの画角を拡大する処理および複数のキャラクタから離れる方向に仮想カメラの位置を移動する処理のいずれか一方の処理が、ＣＰＵ７により実行される。
【０１３９】
たとえば、仮想カメラの画角を拡大する処理の場合、図６に示すように、仮想カメラの画角データＧＡ（第１画角データＧＡｘｙ）に所定の値ｄＧＡｘｙを加算する処理が、ＣＰＵ７により実行される。これにより、仮想カメラの画角データが、「ＧＡｘｙ＋ｄＧＡｘｙ」に変更される。この処理は、全てのキャラクタが撮影空間ＳＳの内部に位置するまで、繰り返しＣＰＵ７により実行される。たとえば、繰り返し回数がｎ１回の場合、仮想カメラの画角データＧＡ（第１画角データＧＡｘｙ）に「ｎ１・ｄＧＡｘｙ」が加算された値、すなわち「ＧＡｘｙ＋ｎ１・ｄＧＡｘｙ」が、仮想カメラの新規の画角データとなる。ここで、ｎ１は、自然数をとる。
【０１４０】
また、複数のキャラクタから離れる方向に仮想カメラの位置を移動する処理の場合、図７に示すように、複数のキャラクタから離れる方向の仮想カメラの位置座標データ（ｘ１，“ｙ１”，ｚ１）に、所定の値ｄｙｂを加算する処理が、ＣＰＵ７により実行される。これにより、仮想カメラの位置座標データが、「（ｘ１，ｙ１＋ｄｙｂ，ｚ１）」に変更される。この処理は、全てのキャラクタが撮影空間ＳＳの内部に位置するまで、繰り返しＣＰＵ７により実行される。たとえば、繰り返し回数がｎ２回の場合、複数のキャラクタから離れる方向の仮想カメラの位置座標データ（ｘ１，“ｙ１”，ｚ１）に「ｎ２・ｄｙｂ」が加算されたもの、すなわち「（ｘ１，ｙ１＋ｎ２・ｄｙｂ，ｚ１）」が、仮想カメラの新規の位置座標データとなる。ここで、ｎ２は、自然数をとる。
【０１４１】
なお、仮想カメラの画角を拡大する処理、又は複数のキャラクタから離れる方向に仮想カメラの位置を移動する処理が実行されるときには、撮影空間ＳＳにおける第１面の定義位置および第２面の定義位置は、固定されている。このため、仮想カメラの画角の拡大、又は複数のキャラクタから離れる方向への仮想カメラの移動が行われると、撮影空間ＳＳが拡大される。すなわち、この場合、撮影空間ＳＳの水平方向（幅方向）の領域が拡大される。
【０１４２】
ここでは、仮想カメラの画角を拡大する処理（第１処理）、又は複数のキャラクタから離れる方向に仮想カメラの位置を移動する処理（第２処理）が実行される場合の例が示されているが、どの処理が実行されるのかについては、シーンごとにゲームプログラムにおいて予め規定されている。すなわち、各シーンに対応する処理が、ＣＰＵ７により実行される。たとえば、あるシーンでは、仮想カメラの画角を拡大する処理（第１処理）のみが、単独で実行される。また、他のシーンでは、複数のキャラクタから離れる方向に仮想カメラの位置を移動する処理（第２処理）のみが、単独で実行される。さらに、別の他のシーンでは、第１処理および第２処理の両方の処理が、連続的に実行される。このような、各シーンと各シーンにおいて実行される処理との対応関係は、ゲームプログラムにおいて予め規定されている。
【０１４３】
続いて、全てのキャラクタが撮影空間ＳＳの内部に位置すると、たとえば、走者キャラクタＫ１、捕手キャラクタＫ２、および主審キャラクタＫ３が撮影空間ＳＳの内部に位置すると、３次元仮想ゲーム空間において水平距離が最も離れた２つのキャラクタのそれぞれの座標データに基づいて、２つのキャラクタの中点に対応する座標データを算出する処理がＣＰＵ７により実行される。
【０１４４】
たとえば、走者キャラクタＫ１のｘ座標と捕手キャラクタＫ２のｘ座標との差の絶対値、走者キャラクタＫ１のｘ座標と主審キャラクタＫ３のｘ座標との差の絶対値、および捕手キャラクタＫ２のｘ座標と主審キャラクタＫ３のｘ座標との差の絶対値のそれぞれの値の中で、最も大きな値を有する２つのキャラクタが、ＣＰＵ７に認識される。そして、これら２つのキャラクタそれぞれの座標データに基づいて、これら２つのキャラクタの中点に対応する座標データを算出する処理がＣＰＵ７により実行される。
【０１４５】
そして、ここで算出された中点のＸ座標を、カメラ用の第２座標データのＸ座標としてＣＰＵ７に再認識させることにより、仮想カメラの視線方向ＶＤが変更される（Ｓ４１３）。すなわち、カメラ用の第２座標データのＸ座標を、上記の中点のＸ座標に変更する処理を、ＣＰＵ７に実行させることにより、仮想カメラの視線方向ＶＤが変更される。
【０１４６】
続いて、撮影空間ＳＳに配置された複数のキャラクタをクローズアップするか否かが、ＣＰＵ７により判別される（Ｓ４１４）。たとえば、ここでは、３次元仮想ゲーム空間において水平距離が最も離れた２つのキャラクタのそれぞれの座標データに基づいて、これら２つのキャラクタの水平距離が、ＣＰＵ７により算出される。そして、これら２つのキャラクタの水平距離が、キャラクタをクローズアップするタイミングを決定するための距離以下であるか否かが、ＣＰＵ７により判別される。なお、キャラクタをクローズアップするタイミングを決定するための距離は、ゲームプログラムにおいて予め所定の値に規定されている。
【０１４７】
そして、これら２つのキャラクタの水平距離が、キャラクタをクローズアップするタイミングを決定するための距離以下になった場合（Ｓ４１４でＹｅｓ）、クローズアップ命令がＣＰＵ７から発行される。すると、仮想カメラの画角を縮小する処理、および複数のキャラクタに近づく方向に仮想カメラを移動する処理の少なくともいずれか一方の処理が、ＣＰＵ７により実行される（Ｓ４１５）。具体的には、仮想カメラの画角を縮小する処理においては、仮想カメラの画角データから所定の値を減算する処理が、ＣＰＵ７により実行される。また、複数のキャラクタに近づく方向に仮想カメラの位置を移動する処理においては、複数のキャラクタに近づく方向の位置座標データから所定の値を減算する処理が、ＣＰＵ７により実行される。
【０１４８】
なお、ここで用いられる仮想カメラの画角縮小量および仮想カメラの移動量は、ゲームプログラムにおいて予め規定されている。また、ここでの処理は、ステップ４１２（Ｓ４１２）の処理とは符号が異なるものの、ステップ４１２（Ｓ４１２）の処理と同様に実行することができる。
【０１４９】
そして、このような処理が実行されると、各キャラクタ、たとえば走者キャラクタＫ１、捕手キャラクタＫ２、および主審キャラクタＫ３それぞれが、各キャラクタ用の画像データを用いて、テレビジョンモニタ２０に表示される。また、ボールが撮影空間ＳＳの内部に位置するときには、ボールが、ボール用の画像データを用いてテレビジョンモニタ２０に表示される（Ｓ４１６）。このように、走者キャラクタＫ１と捕手キャラクタＫ２（主審キャラクタＫ３）とがある一定の距離に近づいたときには、クロスプレイに関わるキャラクタ（走者キャラクタＫ１、捕手キャラクタＫ２、および主審キャラクタＫ３）が、図９に示すように、テレビジョンモニタ２０に拡大表示される。なお、図９は、拡大表示された、クロスプレイ時の一例としての画像である。
【０１５０】
一方で、２つのキャラクタの水平距離が、キャラクタをクローズアップするタイミングを決定するための距離より大きい場合（Ｓ４１４でＮｏ）、撮影空間ＳＳに配置されたキャラクタは、クローズアップされない。すなわち、クローズアップ命令がＣＰＵ７から発行されない。この場合、図８（ｂ）に示すように、ステップ４１１（Ｓ４１１）の処理が終了した状態の撮影空間ＳＳに配置されたキャラクタが、各キャラクタ用の画像データを用いて、テレビジョンモニタ２０に表示される（Ｓ４１６）。また、ステップ４１３（Ｓ４１３）の処理が終了した状態の撮影空間ＳＳに配置されたキャラクタが、各キャラクタ用の画像データを用いて、テレビジョンモニタ２０に表示される（Ｓ４１６）。
【０１５１】
続いて、ボールがキャラクタの位置に到達したか否かが、ＣＰＵ７により判断される（Ｓ４１７）。たとえば、捕手キャラクタによりボールが捕球されたか否かが、ＣＰＵ７により判断される。具体的には、捕手キャラクタによりボールが捕球された場合、捕手キャラクタにボールが捕球されたことを示すために、フラグに数値「１」がＣＰＵ７により割り当てられる。また、捕手キャラクタによりボールが捕球されていない場合、捕手キャラクタにボールが捕球されていないことを示すために、フラグに数値「０」がＣＰＵ７により割り当てられる。このようなフラグの値をＣＰＵ７に認識させることにより、捕手キャラクタによりボールが捕球されたか否かが、ＣＰＵ７により判断される。
【０１５２】
そして、たとえば、捕手キャラクタによりボールが捕球された場合（Ｓ４１７でＹｅｓ）、再現対象のプレイをテレビジョンモニタ２０に表示する処理が終了される（Ｓ４１８）。一方で、捕手キャラクタによりボールが捕球されていない場合（Ｓ４１７でＮｏ）、次フレームにおいて、ステップ４０８（Ｓ４０８）が再実行される。
【０１５３】
続いて、対戦が終了したか否かが、ＣＰＵ７により判断される（Ｓ４１９）。すなわち、対戦が終了する命令が発行されたか否かが、ＣＰＵ７により判断される。そして、対戦を終了する命令が発行された場合（Ｓ４１９でＹｅｓ）、各種のデータをＲＡＭ１２に格納する処理が行われる（Ｓ４２０）。一方で、対戦を終了する命令が発行されない限り（Ｓ４１９でＮｏ）、ステップ４０４（Ｓ４０４）以降の処理が、ＣＰＵ７により繰り返し実行される。
【０１５４】
上記のように、本実施形態では、撮影対象の複数のキャラクタＫ１，Ｋ２，Ｋ３のうちの少なくともいずれか１つのキャラクタが撮影空間ＳＳの外部に位置していると判別された場合に、外部に位置するキャラクタＫ１，Ｋ２，Ｋ３を、撮影空間ＳＳの内部に自動的に位置させることができる。特に、本実施形態では、外部に位置するキャラクタＫ１，Ｋ２，Ｋ３を、撮影空間ＳＳの内部に単に位置させるだけでなく、撮影空間ＳＳの内部にバランス良く配置することができる。このように、本実施形態では、仮想カメラの設定を手動で行わなくても、撮影対象のキャラクタを容易にモニタに収めることができる。また、本実施形態では、撮影対象のキャラクタをバランス良くモニタに収めることができる。
【０１５５】
〔他の実施形態〕
（ａ）前記実施形態では、撮影対象のキャラクタが撮影空間の外部に位置していると制御部に判断された場合に、このキャラクタが撮影空間の内部に位置するように、仮想カメラの画角および仮想カメラの位置の少なくともいずれか一方が変更される場合の例を、示した。
【０１５６】
前記実施形態に、次のような手段を加えることにより、あるキャラクタ（野手キャラクタ、走者キャラクタ、審判キャラクタ）と仮想カメラとの間に他のキャラクタ（野手キャラクタ、走者キャラクタ、審判キャラクタ）が位置したとしても、撮影対象のキャラクタ（野手キャラクタ、走者キャラクタ、審判キャラクタ）が互いに重ならないように、テレビジョンモニタ２０に表示することができる。
【０１５７】
ここでは、図１４に示すように、たとえば、オブジェクト配置手段１５０と、キャラクタ位置関係判断手段１５１と、第２カメラ設定変更手段１５２とが、前記実施形態にさらに付加される。前記実施形態の各種手段については、説明を省略する。
【０１５８】
オブジェクト配置手段１５０は、仮想ゲーム空間の内部における静止オブジェクトの座標データをＣＰＵ７に認識させることにより、静止オブジェクトを仮想ゲーム空間に配置するためのものである。
【０１５９】
また、キャラクタ位置関係判断手段１５１は、複数のキャラクタそれぞれの座標データおよびカメラ用の第１座標データに基づいて、複数のキャラクタの中のいずれか１つのキャラクタと仮想カメラとの間に、このキャラクタを除いた他のキャラクタが位置しているか否かを、制御部に判断させるためのものである。
【０１６０】
さらに、第２カメラ設定変更手段１５２は、上記のいずれか１つのキャラクタと仮想カメラとの間に、他のキャラクタが位置していると制御部に判断された場合に、静止オブジェクトの位置を基準として、仮想カメラの位置を所定の角度で移動するためのものである。
【０１６１】
この場合、カメラ設定手段５０では、カメラ用の第１座標データ、静止オブジェクトの位置を基準としたカメラ用の第２座標データ、および仮想カメラの画角を規定するための画角データＧＡ（ＧＡｘｙ）を制御部に認識させることにより、仮想カメラが仮想ゲーム空間に設定される（図１５を参照）。そして、キャラクタ位置関係判断手段１５１および第２カメラ設定変更手段１５２によって、撮影対象のキャラクタＫ２と仮想カメラとの間に、他の撮影対象のキャラクタＫ３が位置していると制御部に判断された場合に、静止オブジェクトの位置Ｃ２を基準として、仮想カメラの位置Ｃ１が所定の角度Ｂで移動させられる（図１６を参照）。
【０１６２】
具体的には、図１５に示すように、カメラ用の第１座標データＣ１、ホームベース（静止オブジェクト）の位置を基準としたカメラ用の第２座標データＣ２、および仮想カメラの画角の画角データＧＡ（ＧＡｘｙ）に基づいて、仮想カメラが仮想ゲーム空間に設定される。ここでは、カメラ用の第２座標データが示す位置は、ホームベース上方の所定の位置に設定されている。
【０１６３】
そして、たとえば、図１５に示すように、捕手キャラクタＫ２と仮想カメラとの間に主審キャラクタＫ３が位置した場合、ホームベースの位置Ｃ２を基準として、仮想カメラを所定の角度Ｂで移動する命令がＣＰＵ７から発行される。すると、図１６に示すように、仮想カメラがゲーム空間において移動する。これにより、主審キャラクタＫ３と捕手キャラクタＫ２とが、重なり合うことなく、テレビジョンモニタ２０に表示される。図１６では、仮想カメラが４５度で反時計回りに移動する場合の例を示したが、この角度Ｂは任意に設定可能である。
【０１６４】
なお、オブジェクト配置手段１５０に係る処理は、前記実施形態のステップ４０１（Ｓ４０１）とステップ４０２（Ｓ４０２）との間において、ＣＰＵ７により実行される。また、キャラクタ位置関係判断手段１５１および第２カメラ設定変更手段１５２に係る処理は、前記実施形態のステップ４１５（Ｓ４１５）とステップ４１６（Ｓ４１６）との間において、ＣＰＵ７により実行される。
（ｂ）前記実施形態では、タッチアップ後のホームベース上でのクロスプレイを例として説明しているが、塁上でのクロスプレイだけでなく、以下のような場合にも、本発明は適用することができる。たとえば、左方向（レフト方向）に強い打球が飛び、それに対してレフト守備のキャラクタが飛び込んで捕球しようとするような場合にも、本発明は適用することができる。このシーンは、打球をキャッチしてファインプレーとなるか、キャッチできずにヒットになるかといった重要なシーンである。この場合、センター守備のキャラクタは、仮にレフト守備のキャラクタの後ろに打球が抜けてもそれをカバーをできる位置にいるのか否かも、その状況では重要な要素である。このため、もし仮想カメラの視野角からセンター守備のキャラクタが外れている場合には、センター守備のキャラクタが視野角内に収まるように仮想カメラの自動調整が行われる。
（ｃ）前記実施形態では、ゲームプログラムを適用しうるコンピュータの一例としての家庭用ビデオゲーム装置を用いた場合の例を示したが、ゲーム装置は、前記実施形態に限定されず、モニタが別体に構成されたゲーム装置、モニタが一体に構成されたゲーム装置、ゲームプログラムを実行することによってゲーム装置として機能するパーソナルコンピュータやワークステーションなどにも同様に適用することができる。
（ｄ）本発明には、前述したようなゲームを実行するプログラムおよびこのプログラムを記録したコンピュータ読み取り可能な記録媒体も含まれる。この記録媒体としては、カートリッジ以外に、たとえば、コンピュータ読み取り可能なフレキシブルディスク、半導体メモリ、ＣＤ−ＲＯＭ、ＤＶＤ、ＭＯ、ＲＯＭカセット、その他のものが挙げられる。
【図面の簡単な説明】
【０１６５】
【図１】本発明の一実施形態によるビデオゲーム装置の基本構成図。
【図２】前記ビデオゲーム装置の一例としての機能ブロック図。
【図３】３次元ゲーム空間に配置された、撮影空間を説明するための図。
【図４】キャラクタと撮影空間との関係を示す図（その１）。
【図５】キャラクタと撮影空間との関係を示す図（その２）。
【図６】仮想カメラの設定を変更した後のキャラクタと撮影空間との関係を示す図（その１）。
【図７】仮想カメラの設定を変更した後のキャラクタと撮影空間との関係を示す図（その２）。
【図８】撮影空間に位置するキャラクタをモニタに表示した図。
【図９】クロスプレイ時のキャラクタがクローズアップされた図。
【図１０】野球ゲームの全体概要を示すフロー。
【図１１】シーン再現システムを説明するためのフローチャート（その１）。
【図１２】シーン再現システムを説明するためのフローチャート（その２）。
【図１３】シーン再現システムを説明するためのフローチャート（その３）。
【図１４】他の実施形態による前記ビデオゲーム装置の一例としての機能ブロック図。
【図１５】他の実施形態によるキャラクタと撮影空間との関係を示す図（その１）。
【図１６】他の実施形態によるキャラクタと撮影空間との関係を示す図（その２）。
【符号の説明】
【０１６６】
１  制御部
７  ＣＰＵ
１７  コントローラ
２０  テレビジョンモニタ
５０  カメラ設定手段
５１  撮影空間規定手段
５２  移動体配置手段
５３  キャラクタ配置手段
５４  キャラクタ位置判断手段
５５  第１カメラ設定変更手段
５６  キャラクタ表示手段
１５０  オブジェクト配置手段
１５１  キャラクタ位置関係判断手段
１５２  第２カメラ設定変更手段
Ｋ１，Ｋ２，Ｋ３  走者キャラクタ、捕手キャラクタ、主審キャラクタ
ＶＤ  仮想カメラの視線方向
Ｃ１  仮想カメラの位置
Ｃ２  仮想カメラの視線方向を規定するための位置
ＳＳ  撮影空間
Ａ１，Ａ１＿Ｋ１，Ａ１＿Ｋ２，Ａ１＿Ｋ３  第１角度
Ａ２  第２角度
ＧＡ，ＧＡｘｙ，ＧＡｙｚ  仮想カメラの画角データ
Ｂ  所定の角度
【図１】
2009273865.tif 000003
【図２】
2009273865.tif 000004
【図３】
2009273865.tif 000005
【図４】
2009273865.tif 000006
【図５】
2009273865.tif 000007
【図６】
2009273865.tif 000008
【図７】
2009273865.tif 000009
【図８】
2009273865.tif 000010
【図９】
2009273865.tif 000011
【図１０】
2009273865.tif 000012
【図１１】
2009273865.tif 000013
【図１２】
2009273865.tif 000014
【図１３】
2009273865.tif 000015
【図１４】
2009273865.tif 000016
【図１５】
2009273865.tif 000017
【図１６】
2009273865.tif 000018