(57)【特許請求の範囲】
【請求項１】
画像を生成するためのプログラムであって、
操作部により入力された操作データに基づいて、第１の座標軸方向に沿ってカーソルを移動させる制御を行うカーソル制御部と、
オブジェクト空間においてオブジェクトを移動させる制御を行うオブジェクト制御部と、
前記カーソルの第１の座標軸方向での位置情報に基づいて、ヒッティングポイントの第１の座標軸方向での位置情報を設定し、前記オブジェクトの第１の座標軸方向での位置情報により設定されるエリアに前記カーソルが位置した時間のカウント処理を行って得られたカウント時間に基づいて、前記ヒッティングポイントの第２の座標軸方向での位置情報を設定し、前記ヒッティングポイントと前記オブジェクトとのヒット処理を行うヒット処理部と、
前記オブジェクト及び前記カーソルの画像を含む画像を生成する画像生成部として、
コンピュータを機能させることを特徴とするプログラム。
【請求項２】
請求項１において、
前記ヒット処理部が、
第１、第２の座標軸を含む面に対する前記オブジェクトの着弾ポイントを求め、前記カウント時間に基づいて、前記着弾ポイントに対する前記ヒッティングポイントの第２の座標軸方向でのぶれ幅を設定し、設定されたぶれ幅に基づいて、ヒット後のオブジェクトのヒッティング情報を設定することを特徴とするプログラム。
【請求項３】
請求項２において、
前記ヒット処理部が、
前記着弾ポイントの第２の座標軸方向での位置情報に基づいて、前記着弾ポイントに対する前記ヒッティングポイントのぶれ方向を設定することを特徴とするプログラム。
【請求項４】
請求項１乃至３のいずれかにおいて、
前記エリアとして、第１の座標軸方向での幅が異なる第１〜第Ｎのエリア（Ｎは２以上の整数）が設定され、
前記ヒット処理部が、
前記第１〜第Ｎのエリアの各々について前記カーソルが位置した時間をカウントし、得られた第１〜第Ｎのカウント時間に基づいて、前記ヒッティングポイントの第２の座標軸方向での位置情報を自動調整することを特徴とするプログラム。
【請求項５】
請求項１乃至４のいずれかにおいて、
前記オブジェクトが、キャラクタによりリリースされて移動するオブジェクトであり、
前記ヒット処理部が、
前記キャラクタが前記オブジェクトをリリースしたタイミング以降のタイミングから、前記エリアに前記カーソルが位置した時間のカウント処理を開始することを特徴とするプログラム。
【請求項６】
請求項１乃至５のいずれかにおいて、
前記ヒット処理部が、
ヒッティングタイミングにおいて前記エリアに前記カーソルが位置していた場合に、オブジェクトがヒットされたと判定して、ヒッティングポイントの自動調整を行うことを特徴とするプログラム。
【請求項７】
請求項１乃至６のいずれかにおいて、
前記ヒット処理部が、
今回のヒット処理においてカウントされたカウント時間と、前回のヒット処理においてカウントされたカウント時間に基づいて、前記ヒッティングポイントの第２の座標軸方向での位置情報を自動調整することを特徴とするプログラム。
【請求項８】
請求項１乃至７のいずれかにおいて、
前記エリアに前記カーソルが位置することを画像、音又は振動でプレーヤに知らせることを特徴とするプログラム。
【請求項９】
請求項１乃至８のいずれかにおいて、
前記カーソルが野球ゲームにおけるミートカーソルであり、前記オブジェクトが野球ゲームにおけるボールであることを特徴とするプログラム。
【請求項１０】
コンピュータ読み取り可能な情報記憶媒体であって、請求項１乃至９のいずれかのプログラムを記憶したことを特徴とする情報記憶媒体。
【請求項１１】
画像を生成する画像生成システムであって、
操作部により入力された操作データに基づいて、第１の座標軸方向に沿ってカーソルを移動させる制御を行うカーソル制御部と、
オブジェクト空間においてオブジェクトを移動させる制御を行うオブジェクト制御部と、
前記カーソルの第１の座標軸方向での位置情報に基づいて、ヒッティングポイントの第１の座標軸方向での位置情報を設定し、前記オブジェクトの第１の座標軸方向での位置情報により設定されるエリアに前記カーソルが位置した時間のカウント処理を行って得られたカウント時間に基づいて、前記ヒッティングポイントの第２の座標軸方向での位置情報を設定し、前記ヒッティングポイントと前記オブジェクトとのヒット処理を行うヒット処理部と、
前記オブジェクト及び前記カーソルの画像を含む画像を生成する画像生成部と、
を含むことを特徴とする画像生成システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム、情報記憶媒体、及び画像生成システムに関する。
【背景技術】
【０００２】
従来より、球技系のゲームを仮想的にプレイすることができる画像生成システムが知られている。野球ゲームを例にとれば、守備側のプレーヤ（コンピュータプレーヤも含む）が投手キャラクタを操作して、ボール（広義にはオブジェクト）を投げ、攻撃側のプレーヤが打者キャラクタを操作して、投げられたボールを打ってゲームを楽しむ。
【０００３】
このような画像生成システムにおいては、プレーヤが感じる仮想現実感を向上させるために、いわゆる３次元野球ゲームを実現できるものが主流になってきている。そして３次元野球ゲームにおいては、守備側のプレーヤが、操作部（ゲームコントローラ）を操作して、投球目標ポイントや球種や球速を設定し、投手キャラクタにボールを投げさせる。そして攻撃側のプレーヤが、操作部を操作して、バットのヒッティングポイントの位置と、ボールの着弾ポイントの位置との一致判定を行い、打撃が成功したか否か（ヒットなのか凡打なのか）を判定する。
【０００４】
しかしながら、従来の野球ゲームでは、攻撃側プレーヤは、左右方向であるＸ軸（第１の座標軸）方向のみならず、上下方向であるＹ軸（第２の座標軸）方向にも、バットのヒッティングポイントを移動させる必要があった。このため、ゲーム操作のインターフェースが、ゲーム操作を熟知していない初級プレーヤにとって難しいものとなり、初級プレーヤにゲームプレイを敬遠されてしまうという課題があった。
【特許文献１】特開平１０−３０２０８７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明は、以上のような課題に鑑みてなされたものであり、その目的とするところは、操作インターフェース環境の向上を図れるプログラム、情報記憶媒体及び画像生成システムを提供することにある。
【課題を解決するための手段】
【０００６】
本発明は、画像を生成する画像生成システムであって、操作部により入力された操作データに基づいて、第１の座標軸方向に沿ってカーソルを移動させる制御を行うカーソル制御部と、オブジェクト空間においてオブジェクトを移動させる制御を行うオブジェクト制御部と、ヒッティングポイントの第１の座標軸方向での位置情報を、前記カーソルの第１の座標軸方向での位置情報に基づいて設定し、ヒッティングポイントの第２の座標軸方向での位置情報を、自動調整により設定し、前記ヒッティングポイントと前記オブジェクトとのヒット処理を行うヒット処理部と、前記オブジェクト及び前記カーソルの画像を含む画像を生成する画像生成部とを含み、前記ヒット処理部が、前記オブジェクトの第１の座標軸方向での位置情報により設定されるエリアに、前記カーソルが位置した時間のカウント処理を行い、得られたカウント時間に基づいて、前記ヒッティングポイントの第２の座標軸方向での位置情報を自動調整する画像生成システムに関係する。また本発明は、上記各部としてコンピュータを機能させるプログラムに関係する。また本発明は、コンピュータ読み取り可能な情報記憶媒体であって、上記各部としてコンピュータを機能させるプログラムを記憶（記録）した情報記憶媒体に関係する。
【０００７】
本発明によれば、ヒッティングポイント（仮想的なポイント）の第１の座標軸方向での位置情報（座標成分）については、カーソルの第１の座標軸方向での位置情報により設定され、ヒッティングポイントの第２の座標軸方向での位置情報（座標成分、ぶれ幅）については、自動設定される。具体的には、オブジェクトの位置情報により設定されるエリアに、カーソルが位置したカウント時間に応じて、ヒッティングポイントの第２の座標軸方向での位置情報が自動調整される。従ってプレーヤ（ユーザ）は、操作部を操作してカーソルを動かし、ヒッティングポイントの第１の座標軸方向での位置情報を設定するだけで済むため、操作を簡素化できる。また、ヒッティングポイントの第２の座標軸方向での位置情報は、エリアに位置したカウント時間に基づいて設定されるため、プレーヤに対して、ある程度の操作技量を要求できるようになり、好適な操作インターフェース環境を提供できる。なおカーソルがエリアに位置した時間は、実際に表示されるカーソルそのものがエリアに位置した時間のみならず、操作部からの操作データにより計算されるカーソルの位置データが、エリアに位置していると判断される時間であってもよい。またカーソルは常に表示している必要はなく、仮想的なカーソルであってもよい。またカーソルの表示のオン・オフを任意に切り替えるようにしてもよい。
【０００８】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記ヒット処理部が、第１、第２の座標軸を含む面に対する前記オブジェクトの着弾ポイントを求め、前記カウント時間に基づいて、前記着弾ポイントに対する前記ヒッティングポイントの第２の座標軸方向でのぶれ幅を設定し、設定されたぶれ幅に基づいて、ヒット後のオブジェクトのヒッティング情報を設定するようにしてもよい。
【０００９】
このようにすれば、例えば、カウント時間が短い場合にはぶれ幅を大きくし、カウント時間が長い場合にはぶれ幅を小さくするというような自動調整が可能になる。
【００１０】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記ヒット処理部が、前記着弾ポイントの第２の座標軸方向での位置情報に基づいて、前記着弾ポイントに対する前記ヒッティングポイントのぶれ方向を設定するようにしてもよい。
【００１１】
このようにすれば、着弾ポイントの第２の座標軸方向での位置情報に応じて、着弾ポイントに対するヒッティングポイントのぶれ方向（第２の座標軸に沿ったぶれ方向。第１の座標軸に沿った第１の方向、或いは第１の方向とは逆方向の第２の方向）が変化するようになり、オブジェクトのヒッティング方向等を変化させることが可能になる。
【００１２】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記エリアとして、第１の座標軸方向での幅が異なる第１〜第Ｎのエリア（Ｎは２以上の整数）が設定され、前記ヒット処理部が、前記第１〜第Ｎのエリアの各々について前記カーソルが位置した時間をカウントし、得られた第１〜第Ｎのカウント時間に基づいて、前記ヒッティングポイントの第２の座標軸方向での位置情報を自動調整するようにしてもよい。
【００１３】
このようにすれば、第１〜第Ｎの各々のエリアにカーソルが位置した時間である第１〜第Ｎのカウント時間に応じて自動調整が行われるようになり、よりきめ細かな自動調整を実現できる。
【００１４】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記オブジェクトが、キャラクタによりリリースされて移動するオブジェクトであり、前記ヒット処理部が、前記キャラクタが前記オブジェクトをリリースしたタイミング以降のタイミングから、前記エリアに前記カーソルが位置した時間のカウント処理を開始するようにしてもよい。
【００１５】
このようにすれば、時間のカウント処理が行われる期間を短くすることができ、よりスピード感や緊張感が溢れる操作をプレーヤに要求できるようになる。
【００１６】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記ヒット処理部が、ヒッティングタイミングにおいて前記エリアに前記カーソルが位置していた場合に、オブジェクトがヒットされたと判定して、ヒッティングポイントの自動調整を行うようにしてもよい。
【００１７】
このようにすれば、カウント時間のみならず、ヒッティングのタイミングの正確さについてもプレーヤに要求できるようになる。
【００１８】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記ヒット処理部が、今回のヒット処理においてカウントされたカウント時間と、前回のヒット処理においてカウントされたカウント時間に基づいて、前記ヒッティングポイントの第２の座標軸方向での位置情報を自動調整するようにしてもよい。
【００１９】
このようにすれば、前回（過去）のヒット処理でのカウント時間も考慮されて自動調整が行われるようになり、多様できめ細かな自動調整を実現できる。
【００２０】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記エリアに前記カーソルが位置することを画像、音又は振動でプレーヤに知らせるようにしてもよい。
【００２１】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記カーソルが野球ゲームにおけるミートカーソルであり、前記オブジェクトが野球ゲームにおけるボールであってもよい。
【発明を実施するための最良の形態】
【００２２】
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【００２３】
１．構成
図１に本実施形態の画像生成システム（ゲームシステム）の機能ブロック図の例を示す。なお本実施形態の画像生成システムは図１の構成要素（各部）の一部を省略した構成としてもよい。
【００２４】
操作部１６０（ゲームコントローラ）は、プレーヤが操作データを入力するためのものであり、その機能は、方向キー、アナログスティック、ボタン、レバー、ステアリング、マイク、タッチパネル型ディスプレイ、或いは筺体などにより実現できる。
【００２５】
記憶部１７０は、処理部１００や通信部１９６などのワーク領域となるもので、その機能はＲＡＭなどにより実現できる。
【００２６】
情報記憶媒体１８０（コンピュータにより読み取り可能な媒体）は、プログラムやデータなどを格納するものであり、その機能は、光ディスク（ＣＤ、ＤＶＤ）、光磁気ディスク（ＭＯ）、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ（ＲＯＭ）などにより実現できる。処理部１００は、情報記憶媒体１８０に格納されるプログラム（データ）に基づいて本実施形態の種々の処理を行う。即ち情報記憶媒体１８０には、本実施形態の各部としてコンピュータを機能させるためのプログラム（各部の処理をコンピュータに実行させるためのプログラム）が記憶される。
【００２７】
表示部１９０は、本実施形態により生成された画像を出力するものであり、その機能は、ＣＲＴ、ＬＣＤ、タッチパネル型ディスプレイ、或いはＨＭＤ（ヘッドマウントディスプレイ）などにより実現できる。
【００２８】
音出力部１９２は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどにより実現できる。
【００２９】
携帯型情報記憶装置１９４は、プレーヤの個人データやゲームのセーブデータなどが記憶されるものであり、この携帯型情報記憶装置１９４としては、メモリカードや携帯型ゲーム装置などがある。通信部１９６は外部（例えばホスト装置や他の画像生成システム）との間で通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用ＡＳＩＣなどのハードウェアや、プログラムなどにより実現できる。
【００３０】
なお本実施形態の各部としてコンピュータを機能させるためのプログラム（データ）は、ホスト装置（サーバー）が有する情報記憶媒体からネットワーク及び通信部１９６を介して情報記憶媒体１８０（記憶部１７０）に配信してもよい。このようなホスト装置（サーバー）の情報記憶媒体の使用も本発明の範囲内に含めることができる。
【００３１】
処理部１００（プロセッサ）は、操作部１６０からの操作データやプログラムなどに基づいて、ゲーム処理、画像生成処理、或いは音生成処理などを行う。この処理部１００は記憶部１７０をワーク領域として各種処理を行う。処理部１００の機能は各種プロセッサ（ＣＰＵ、ＤＳＰ等）、ＡＳＩＣ（ゲートアレイ等）などのハードウェアや、プログラムなどにより実現できる。
【００３２】
処理部１００は、ゲーム処理部１１０、画像生成部１２０、音生成部１３０を含む。ここでゲーム処理部１１０は、操作部１６０からの操作データやプログラムなどに基づいてゲーム処理を行う。このゲーム処理としては、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、キャラクタやマップなどのオブジェクトを配置する処理、オブジェクトを表示する処理、ゲーム結果を演算する処理、或いはゲーム終了条件が満たされた場合にゲームを終了する処理などがある。
【００３３】
画像生成１２０は、処理部１００で行われる種々の処理（ゲーム処理）の結果に基づいて描画処理を行い、これにより画像を生成し、表示部１９０に出力する。いわゆる３次元ゲーム画像を生成する場合には、まず、座標変換（ワールド座標変換、カメラ座標変換）、クリッピング処理、或いは透視変換等のジオメトリ処理が行われ、その処理結果に基づいて、描画データ（プリミティブ面の頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等）が作成される。そして、この描画データ（プリミティブ面データ）に基づいて、透視変換後（ジオメトリ処理後）のオブジェクト（１又は複数プリミティブ面）を描画領域１７２（フレームバッファ、ワークバッファ）に描画する。これにより、オブジェクト空間内において所与の視点（仮想カメラ）から見える画像が生成される。
【００３４】
音生成部１３０は、処理部１００で行われる種々の処理の結果に基づいて音処理を行い、ＢＧＭ、効果音、又は音声などのゲーム音を生成し、音出力部１９２に出力する。
【００３５】
ゲーム処理部１１０は、カーソル制御部１１２、オブジェクト制御部１１３、ヒット処理部１１４を含む。なおこれらの一部を省略する構成としてもよい。
【００３６】
ここでカーソル制御部１１２はカーソルの移動制御や表示制御を行う。より具体的にはカーソル制御部１１２は、操作部１６０により入力された操作データ（カーソル移動指示データ）に基づいて、第１の座標軸（例えばＸ軸）方向に沿ってカーソル（例えばミートカーソル）を移動させる。即ち操作部１６０からの操作データに基づいてカーソルの第１の座標軸での位置情報（例えばＸ座標などの座標成分）を逐次求める。
【００３７】
オブジェクト制御部１１３はオブジェクト（ポリゴン、自由曲面又はサブディビジョンサーフェスなどのプリミティブ面で構成されるオブジェクト）についての種々の制御を行う。例えばキャラクタやボールなどのオブジェクトをオブジェクト空間に配置設定したり、オブジェクトの移動制御や表示制御を行う。即ち、ワールド座標系でのオブジェクト（モデルオブジェクト）の位置や回転角度（向き、方向と同義）を決定し、その位置にその回転角度でオブジェクトを配置する。また操作部１６０によりプレーヤが入力した操作データや、プログラム（移動・動作アルゴリズム）や、各種データ（モーションデータ）などに基づいて、オブジェクトをオブジェクト空間内で移動させたり、オブジェクトを動作（モーション、アニメーション）させる処理を行う。具体的には、オブジェクトの移動情報（位置、回転角度、速度、或いは加速度）や動作情報（各パーツオブジェクトの位置、或いは回転角度）を、１フレーム（１／６０秒）毎に順次求めるシミュレーション処理を行う。なおフレームは、オブジェクトの移動・動作処理（シミュレーション処理）や画像生成処理を行う時間の単位である。
【００３８】
ヒット処理部１１４は、オブジェクト（例えばボール）についてヒット処理（ヒット判定処理、ヒット後のオブジェクトの移動制御等）を行う。具体的にはヒット処理部１１４は、ヒッティングポイント（バットのミートポイント）の第１の座標軸（Ｘ軸）方向での位置情報（Ｘ座標）を、カーソル（ミートカーソル）の第１の座標軸方向での位置情報（Ｘ座標）により設定する。一方、ヒッティングポイントの第２の座標軸（Ｙ軸）方向での位置情報（Ｙ座標などの座標成分やぶれ幅）については、自動調整により設定する。そして、このように第１、第２の座標軸方向での位置情報が設定されたヒッティングポイントと、オブジェクト制御部１１３により制御されるオブジェクトとのヒット処理（位置の一致判定処理等）を行う。なおヒッティングポイントの第１、第２の座標軸方向での位置情報は、第１、第２の座標成分（Ｘ座標、Ｙ座標）であってもよいし、これらと等価な情報（例えばぶれ幅等）であってもよい。またヒッティングポイントは、仮想的なヒッティングポイントであり、表示してもよいし、表示しなくてもよい。
【００３９】
そして本実施形態ではヒット処理部１１４が、オブジェクトの第１の座標軸方向での位置情報（Ｘ座標）により設定されるエリア（ミートエリア）に、カーソル（ミートカーソル、ヒッティングポイント）が位置した時間（フレーム数）のカウント処理を行う。そして得られたカウント時間（計時時間）に基づいて、ヒッティングポイントの第２の座標軸方向での位置情報（座標成分、ぶれ幅）を自動調整（自動補正）する。この場合の自動調整は、例えば、テーブル記憶部１７４に記憶されるテーブルデータに基づいて行う。なお上述したエリアは、例えばオブジェクト（着弾ポイント）の第１の座標軸方向での位置情報を中心として所与の幅を有するエリアである。またカウント時間は、例えばカーソル又はカーソルの代表点が上記エリアに重なっていた時間をカウントすることで得ることができる。
【００４０】
ヒット処理部１１４は、着弾ポイント演算部１１５、カウント処理部１１６、自動調整部１１７、ヒッティング情報設定部１１８を含む。なおこれらの一部を省略する構成としてもよい。
【００４１】
ここで着弾ポイント演算部１１５は、第１、第２の座標軸を含む面（ＸＹ平面、スクリーンに平行な面）に対するオブジェクトの着弾ポイント（到達ポイント）を求める。カウント処理部１１６は、着弾ポイントの位置情報（第１の座標軸方向での位置情報）により設定されるエリア（ミートエリア）に、カーソルが位置した時間（エリアにカーソルが重なっていた時間）をカウントする。自動調整部１１７は、このカウント時間に基づいて、ヒッティングポイント（カーソル）の第２の座標軸方向での位置情報を自動調整する。具体的には、例えばテーブル記憶部１７４に記憶されるテーブルデータに基づいて、着弾ポイントに対するヒッティングポイントの第２の座標軸方向でのぶれ幅を設定する。ヒッティング情報設定部１１８は、設定されたぶれ幅に基づいて、ヒット後のオブジェクトのヒッティング情報（ヒッティング方向、ヒッティング速度、ヒッティング加速度、或いはヒッティング強さ）を設定する。ヒット後のオブジェクトの移動は、このヒッティング情報に基づいて制御される。
【００４２】
なお、上述したエリアとして、第１の座標軸方向での幅が異なる複数の第１〜第Ｎのエリア（Ｎは２以上の整数）を設定してもよい。第１の座標軸がＸ軸である場合を例にとると、第１のエリアは、着弾ポイントのＸ座標（第１の座標軸での座標成分）ＸＰを中心とした幅Ｗ１のエリアであり、第２のエリアは、ＸＰを中心とした幅Ｗ２（＞Ｗ１）のエリアであり、・・・・・第Ｎのエリアは、ＸＰを中心とした幅ＷＮ（＞ＷＮ−１）のエリアである。そしてヒット処理部１１４は、これらの第１〜第Ｎのエリアの各々についてカーソルが位置した時間をカウントする。例えば第１のエリアにカーソルが位置した時間である第１のカウント時間、第２のエリアにカーソルが位置した時間である第２のカウント時間、・・・・・・第Ｎのエリアにカーソルが位置した時間である第Ｎのカウント時間を求める。そして得られた第１〜第Ｎのカウント時間に基づいて、ヒッティングポイントの第２の座標軸方向での位置情報（Ｙ座標、ぶれ幅）を自動調整する。この場合、第１〜第Ｎのカウント時間のうち、より幅の狭い第１のエリアに対応する第１のカウント時間が長い場合には、着弾ポイントに対するヒッティングポイントのぶれ幅を例えば小さくする。一方、より幅の広い第Ｎのエリアに対応する第Ｎのカウント時間が長い場合には、着弾ポイントに対するヒッティングポイントのぶれ幅を例えば大きくする。
【００４３】
また、オブジェクトが、キャラクタ（投手キャラクタ）によりリリース（投球）されて移動するオブジェクト（ボール）である場合には、ヒット処理部１１４（カウント処理部１１６）は、キャラクタがオブジェクトをリリースしたタイミング以降のタイミングから、カウント処理を開始するようにする。このようにすれば、例えば攻撃側（打者側）のプレーヤが狙っているコースを、守備側（投手側）のプレーヤに知られてしまう事態を防止でき、人間同士の対戦ゲームの面白みを向上できる。
【００４４】
またヒット処理部１１４（自動調整部１１７）は、ヒッティングタイミング（ミートタイミング）において、エリアにカーソルが位置していた場合に、オブジェクトがヒットされたと判定して、ヒッティングポイントの第２の座標軸方向での位置情報を自動調整する。またエリアにカーソルが位置すると判断された場合（時間カウント処理が開始された場合）に、そのことを画像（ガイドマーカ、色、点滅）や音（実況中継の音声、効果音等）や振動でプレーヤに知らせるようにしてもよい。
【００４５】
なお振動で知らせる場合には、そのカーソルを操作しているプレーヤの操作部１６０（ゲームコントローラ）の振動機構を用いて、その操作部を振動させることで、プレーヤに知らせればよい。具体的には、エリアにカーソルが位置すると判断された場合には、ヒット処理部１１４（処理部１００）が操作部１６０に対して振動イネーブル信号を出力する。そして、この振動イネーブル信号を受けた操作部１６０が、内蔵する公知の振動機構を用いて操作部１６０を振動させる。なお、エリアにカーソルが位置することを、操作部１６０以外の部材を振動させてプレーヤに知らせてもよい。
【００４６】
なお、本実施形態の画像生成システムは、１人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。また複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、１つの端末を用いて生成してもよいし、ネットワーク（伝送ライン、通信回線）などで接続された複数の端末（ゲーム機、携帯電話）を用いて分散処理により生成してもよい。
【００４７】
２．本実施形態の手法
次に本実施形態の手法について図面を用いて詳細に説明する。なお以下では本実施形態を、球技系ゲームの１つである野球ゲームに適用した場合について説明するが、本実施形態はこれに限定されない。例えば、バレーボールゲーム（スパイク）やテニスゲーム（ストローク）やサッカーゲーム（ヘッディング）などの他の球技系ゲームにも本実施形態の手法は適用できる。また球技系ゲーム以外のゲーム（例えば格闘ゲーム、シューティングゲーム）に本実施形態の手法を適用することも可能である。
【００４８】
２．１  カウント時間に基づく自動調整
図２（Ａ）〜図３に本実施形態により生成されるゲーム画像の例を示す。図２（Ａ）において、守備側のプレーヤ（人間プレーヤ又はコンピュータプレーヤ）は、投手キャラクタＣＨ１を操作し、球種や投球目標ポイント（着弾ポイント）や球速を設定し、投手キャラクタＣＨ１にボールＢＬ（広義にはオブジェクト）を投げさせる。
【００４９】
具体的には守備側のプレーヤ（第１のプレーヤ）は、図４の操作部（ゲームコントローラ）の方向キー１０やアナログスティック２０を操作して、球種（ストレート、カーブ、シュート、スライダー、フォーク等）を決める。なおこの図４の操作部は、図示しない公知の振動機構を有している。
【００５０】
次にストライクゾーンやボールゾーンとなるエリアの任意の位置を、方向キー１０やアナログスティック２０により指定して、投球目標ポイント（着弾ポイント）を設定する。そして図２（Ａ）のゲージＧＧを見ながら、投球用のボタン３０を押すことで、投手キャラクタＣＨ１が投球モーションを開始してボールＢＬを投球（リリース）する。なおゲージＧＧが示す値が最大値になったところでボタン３０を押すと、球速が最大になる。またボールＢＬの着弾（到達）ポイントには着弾マーカＳＭＫが表示される。なお着弾マーカＳＭＫは、現実の着弾ポイントを示すマーカであってもよいし、予測着弾ポイントを示すマーカであってもよい。予測着弾ポイントを示すマーカは、図２（Ａ）の着弾マーカＳＭＫよりも広い面積を有するマーカになる。また、ボールが打者キャラクタの近くに来るまでは、予測着弾ポイントを示す着弾マーカを表示し、ボールが打者キャラクタの近くに来たタイミングで、現実の着弾ポイントを示す着弾マーカを表示するようにしてもよい。なお着弾マーカＳＭＫ（予測着弾マーカ）は常に表示するようにしてもよいし、非表示にしてもよい。また着弾マーカＳＭＫの表示のオン・オフを、プレーヤのゲーム設定により切り替えるようにしてもよい。またカーソルＣＳは仮想的な表示されないカーソルであってもよい。またカーソルの表示のオン・オフを、プレーヤのゲーム設定により切り替えるようにしてもよい。
【００５１】
攻撃側のプレーヤ（人間プレーヤ又はコンピュータプレーヤ）は、打者キャラクタＣＨ２を操作し、投手キャラクタＣＨ１が投球するボールＢＬを打つ。具体的には攻撃側のプレーヤ（第２のプレーヤ）は、図４の操作部の方向キー１０やアナログスティック２０を操作して、ミートカーソルＣＳ（広義にはカーソル）を移動させる。この時、ミートカーソルＣＳの移動に追従するように打者キャラクタＣＨ２も移動する。またミートカーソルＣＳは、攻撃側のプレーヤの操作により、Ｘ軸（広義には第１の座標軸）方向に沿って左右に移動する。例えば図４の方向キー１０で左方向を指示したり、アナログスティック２０を左方向に倒すと、ミートカーソルＣＳや打者キャラクタＣＨ２は左方向に移動する。一方、方向キー１０で右方向を指示したり、アナログスティック２０を右方向に倒すと、ミートカーソルＣＳや打者キャラクタＣＨ２は右方向に移動する。
【００５２】
図２（Ｂ）に示すように攻撃側のプレーヤは、ミートカーソルＣＳのＸ座標が着弾マーカＳＭＫ（予測着弾マーカ）のＸ座標に一致するように、ミートカーソルＣＳを移動させる。そして図４のボタン３０又は３２を押して、打者キャラクタＣＨ２にバットを振らせ、ボールＢＬのヒッティングを行う。なおボタン３０を押すと、バットを強く振るパワー打撃が行われ、ボタン３２を押すと、バットをコンパクトに振るミート打撃が行われる。
【００５３】
ヒッティングのタイミング（バットがボールに当たるタイミング、スイングタイミング、ボタンを押したタイミング）において、ミートカーソルＣＳのＸ座標と、着弾マーカＳＭＫ（着弾ポイント）のＸ座標とが、所与のエリア内においてほぼ一致していると、ボールＢＬがヒットされたと判定される。そして図３に示すように、ボールＢＬがヒッティング方向に飛ぶ。
【００５４】
そして本実施形態では、バットのヒッティングポイント（ミートポイント）のＸ座標（広義には第１の座標軸方向での位置情報）については、ミートカーソルＣＳのＸ座標により設定される。一方、ヒッティングポイントのＹ座標（広義には第２の座標軸方向での位置情報）については、コンピュータによる自動調整により設定される。具体的には、ボールＢＬ（オブジェクト）のＸ座標により設定されるエリアに、ミートカーソルＣＳが位置した時間（ＢＬとＣＳのＸ座標が所定のエリア内で一致した時間、ミートカーソル位置がエリアに一致した時間）をカウントする。そして得られたカウント時間に基づいて、ヒッティングポイント（ミートカーソルＣＳ）のＹ座標が自動調整される。このようにすれば、攻撃側のプレーヤは、ヒッティングポイントのＸ座標が着弾マーカＳＭＫに一致するように操作するだけで済み、ヒッティングポイントのＹ座標については考慮する必要が無くなる。従って、初級者プレーヤなどに最適な操作インターフェース環境を提供できる。また本実施形態によれば、ヒッティングポイント（ミートカーソルＣＳ）のＸ座標と着弾マーカＳＭＫのＸ座標が一致していた時間が長いほど、自動調整のぶれ幅を小さくすることが可能になる。これにより、プレーヤのゲーム操作技量も、ある程度、ゲーム結果に反映させることが可能になり、好適な操作インターフェース環境を実現できる。
【００５５】
なお図２（Ｂ）では、ヒッティングポイントのＸ座標と着弾マーカＳＭＫのＸ座標が一致していることを（ミートエリアにミートカーソルが位置することを）、ガイドマーカＧＤ（画像）を用いてプレーヤに知らせている。例えば図２（Ｂ）では「ロックオン」と書かれたガイドマーカＧＤが表示されているが、これ以外の用語が書かれたガイドマーカＧＤを表示してもよい。或いは、ヒッティングポイントのＸ座標と着弾マーカＳＭＫのＸ座標が一致した場合（ミートエリアにミートカーソルが位置した場合）に、例えばミートカーソルＣＳや着弾マーカＳＭＫの色を変更したり、ＣＳやＳＭＫの点滅表示を行うことで、プレーヤに知らせるようにしてもよい。或いは、ヒッティングポイントのＸ座標と着弾マーカＳＭＫのＸ座標が一致していることを、例えば音などの実況中継音声により、プレーヤに知らせてもよい。或いは、ヒッティングポイントのＸ座標と着弾マーカＳＭＫのＸ座標が一致していることを、操作部を振動させることなどでプレーヤに知らせてもよい。
【００５６】
またプレーヤのゲームモード設定（難易度設定等）に応じて、図２（Ａ）〜図３で説明した簡易操作バッティングと、ヒッティングポイントのＸ、Ｙ座標の両方をミートカーソルで設定する通常操作バッティングとを切り替えるようにしてもよい。
【００５７】
２．２  自動調整の詳細
次に本実施形態の自動調整手法の詳細について説明する。
【００５８】
図５（Ａ）（Ｂ）に示すように本実施形態では、着弾ポイントＳＰのＸ座標ＸＰに基づいて、ミートエリアＡＲ１、ＡＲ２（広義には第１〜第Ｎのエリア）が設定される。ここで着弾ポイントＳＰ（到達ポイント）は、例えば、Ｘ軸、Ｙ軸（第１、第２の座標軸）を含む面に対してボールＢＬ（オブジェクト）が着弾（到達）するポイントである。具体的には、Ｘ軸、Ｙ軸を含む面とボールＢＬの軌道との交点を着弾ポイントＳＰとすることができる。
【００５９】
またミートエリアＡＲ１は、着弾ポイントＳＰのＸ座標ＸＰを中心とした幅Ｗ１のエリアであり、このＡＲ１はジャストミートエリアとして使用される。一方、ミートエリアＡＲ２は座標ＸＰを中心とした幅Ｗ２（＞Ｗ１）のエリアであり、このＡＲ２は通常ミートエリアとして使用される。なお図５（Ａ）（Ｂ）では、ミートエリアＡＲ１、ＡＲ２は、Ｙ軸方向を長手方向とした長方形のエリアになっているが、これに限定されない。即ちミートエリアは、少なくとも着弾ポイントＳＰのＸ座標（第１の座標軸方向での位置情報）により設定されるエリアであればよく、その形状は問わない。また図５（Ａ）（Ｂ）では、２個のミートエリアＡＲ１、ＡＲ２を設定しているが、１個や３個以上のミートエリアを設定するようにしてもよい。
【００６０】
攻撃側のプレーヤが操作部の方向指示キー１０やアナログスティック２０を左右に操作すると、ヒッティングポイントＨＰの位置を示すミートカーソルＣＳもＸ軸方向に沿って左右に移動する。そして図６（Ａ）に示すように、ミートエリアＡＲ１、ＡＲ２にミートカーソルＣＳ（ＣＳ又はＣＳの代表点）が位置すると、その位置した時間（ＡＲ１、ＡＲ２にＣＳが重なった時間）のカウント処理が開始する。そして図６（Ｂ）に示すように、カウント処理により得られたカウント時間（フレーム数）に基づいて、ヒッティングポイントＨＰのＹ座標（第２の座標軸方向での位置情報）が自動調整される。即ち着弾ポイントＳＰ（着弾マーカＳＭＫ）のＹ座標に近づくように、ヒッティングポイントＨＰのＹ座標が自動調整される。この時、ミートカーソルＣＳの表示形態は、例えば、着弾ポイントＳＰにミートカーソルＣＳがロックオンしたことを示す表示形態に変更される。
【００６１】
そして本実施形態では、カウント処理により得られたカウント時間に基づいて、着弾ポイントＳＰに対するヒッティングポイントＨＰのＹ軸方向（第２の座標軸方向）でのぶれ幅（補正値）を設定している。そして設定されたぶれ幅に基づいて、ヒット後のボールＢＬのヒッティング情報（ヒッティング方向、ヒッティング速度、ヒッティング加速度、ヒッティング強さ）を設定している。例えば図７（Ａ）に示すように、カウント時間が小さい場合には、着弾ポイントＳＰに対するヒッティングポイントＨＰのぶれ幅を大きくする。これにより、バッティング結果が凡打になる確率が高くなる。一方、図７（Ｂ）に示すように、カウント時間が大きい場合には、着弾ポイントＳＰに対するヒッティングポイントＨＰのぶれ幅を小さくする。これにより、バッティング結果がホームランやヒットになる確率が高くなる。
【００６２】
図８（Ａ）（Ｂ）に、本実施形態の自動調整手法で使用されるテーブルデータの例を示す。図８（Ａ）は、図４のボタン３０を押してパワー打撃（パワースイング）を行った場合に参照されるテーブルデータの例であり、図８（Ｂ）はボタン３２を押してミート打撃（コンパクトスイング）を行った場合に参照されるテーブルデータの例である。
【００６３】
本実施形態では、ミートカーソルＣＳがジャストミートエリアＡＲ１（第１のエリア）に例えば５０パーセント（広義には所定のパーセント）以上重なっている時間ＴＣ１（第１のカウント時間）をカウントする。また、ミートカーソルＣＳが通常のミートエリアＡＲ２（第２のエリア）に例えば５０パーセント（広義には所定のパーセント）以上重なっている時間ＴＣ２（第２のカウント時間）をカウントする。またミートカーソルＣＳがＡＲ１、ＡＲ２のどちらにも重なっていない時間ＴＣ３をカウントする。
【００６４】
そしてＴＣ１≧ＴＣ２＞ＴＣ３であった場合には、ぶれ幅の小さいジャストミートであると判定する。またＴＣ１＜ＴＣ２≧ＴＣ３であった場合には、ぶれ幅が中ぐらいの通常のミートであると判定する。またＴＣ１≦ＴＣ２＜ＴＣ３であった場合には、ぶれ幅が大きい凡打であると判定する。なおエリアＡＲ１の幅はミートカーソルＣＳの幅の例えば半分とすることができる。
【００６５】
そして図８（Ａ）に示すように、パワー打撃時においてジャストミートと判定されると、ＴＣ１／ＴＡＬＬに基づいて自動調整のぶれ幅が設定される。ここでＴＡＬＬは、ボールがリリースされてから着弾（到達）するまでの時間（フレーム数）である。
【００６６】
例えばＴＣ１／ＴＡＬＬが１．０〜０．８である場合には、ぶれ幅は０．０に設定される。即ちこの場合には、着弾ポイントＳＰとヒッティングポイントＨＰとが一致し、ホームラン等の結果になる確率が極めて高くなる。またＴＣ１／ＴＡＬＬが０．８〜０．５である場合には、ぶれ幅は０．２に設定される。即ち、着弾ポイントＳＰに対するヒッティングポイントＨＰのぶれ幅が、例えばボール幅の０．２倍（ボール０．２個分）になる。これにより、ホームラン等になる確率は低くなるが、クリーンヒットになる確率は高くなる。またＴＣ１／ＴＡＬＬが０．５〜０．０である場合には、ぶれ幅は０．３に設定される。即ち着弾ポイントＳＰに対するヒッティングポイントＨＰのぶれ幅が、ボール幅の０．３倍になる。
【００６７】
通常ミート判定の場合は、ジャストミート判定の場合と同様に、ＴＣ２／ＴＡＬＬに基づいて自動調整のぶれ幅が設定される。また凡打判定の場合は、ＴＣ３／ＴＡＬＬに基づいて自動調整のぶれ幅が設定される。ミート打撃におけるジャストミート判定時、通常ミート判定時、凡打判定時でのぶれ幅についても、図８（Ｂ）のテーブルデータに基づいて設定される。
【００６８】
このように本実施形態では、Ｘ軸方向（第１の座標軸方向）での幅が異なる複数のエリアＡＲ１、ＡＲ２（第１〜第Ｎのエリア）が設定される。そしてエリアＡＲ１、ＡＲ２の各々についてミートカーソルＣＳが位置した時間をカウントする。そして、得られたカウント時間ＴＣ１やＴＣ２（第１〜第Ｎのカウント時間）に基づいて、ヒッティングポイントＨＰのＹ座標（ぶれ幅）が自動調整される。
【００６９】
また本実施形態では、着弾ポイントＳＰのＹ座標（第２の座標軸方向での位置情報）に基づいて、着弾ポイントＳＰに対するヒッティングポイントＨＰのぶれ方向を設定している。例えば図９（Ａ）ではストライクゾーンが、上段ゾーンと中段ゾーンと下段ゾーン（第１〜第Ｋのゾーン）に分けられている。
【００７０】
そして図９（Ｂ）に示すように、着弾ポイントＳＰがストライクゾーンの上段ゾーンの位置する場合（ＳＰのＹ座標が大きい場合）には、着弾ポイントＳＰに対してヒッティングポイントＨＰが下方向（第２の座標軸に沿った第１の方向）にぶれるようにする。即ち、ぶれ方向は下方向になり、ヒッティングポイントＨＰのＹ座標の自動調整時に、図７（Ａ）（Ｂ）の場合とは逆の方向にヒッティングポイントＨＰがぶれるようにする。このようにすれば、バットがボールの下半分にヒットするようになり、フライになる確率が高くなる。従って、高めのボールを打つとフライになるという現実世界の事象に近いシミュレーション表現を実現できる。
【００７１】
また着弾ポイントＳＰが下段ゾーンの位置する場合（ＳＰのＹ座標が小さい場合）には、着弾ポイントＳＰに対してヒッティングポイントＨＰが上方向（第２の座標軸に沿った第２方向）にぶれるようにする。即ち、ぶれ方向は上方向になり、ヒッティングポイントＨＰのＹ座標の自動調整時に、図７（Ａ）（Ｂ）の場合と同じ方向にヒッティングポイントＨＰがぶれるようにする。このようにすれば、バットがボールの上半分にヒットするようになり、ゴロになる確率が高くなる。従って、低めのボールを打つとゴロになるという現実世界の事象に近いシミュレーション表現を実現できる。なお図９（Ａ）では、ストライクゾーンを複数のゾーンに分けて、ぶれ方向を設定しているが、着弾ポイントＳＰのＹ座標を直接に用いて、ぶれ方向を設定するようにしてもよい。
【００７２】
また本実施形態では、エリアＡＲ１、ＡＲ２にミートカーソルＣＳが位置した時間のカウント処理を、図２（Ａ）に示すように、投手キャラクタＣＨ１がボールＢＬ（広義にはオブジェクト）をリリースしたタイミング以降のタイミングから開始している。即ち、このタイミングよりも前のタイミングから時間カウント処理を開始すると、守備側のプレーヤが、ミートカーソルＣＳの位置を見て、投球目標ポイント（着弾ポイント）を変えるという事態が生じてしまい、守備側のプレーヤが不当に有利になってしまうからである。またボールＢＬがリリースされてから着弾（到達）するまでの期間は比較的短いため、この期間において時間カウント処理を行うようにすれば、緊張感やスピード感に溢れるゲームを実現できる。
【００７３】
また本実施形態では、ヒッティングタイミング（スイング時）においてミートエリアＡＲ１、ＡＲ２にミートカーソルＣＳが位置していたことを条件に、ボールがヒットされたと判定し、ヒッティングポイントＨＰの自動調整を行うようにしている。
【００７４】
例えば図１０（Ａ）では、ヒッティングタイミングにおいて、ミートエリアＡＲ１、ＡＲ２にミートカーソルＣＳが位置している（ＡＲ１、ＡＲ２にＣＳが重なっている）。従って、この場合には、ボールがヒットされたと判定し、ヒッティングポイントＨＰのＹ座標の自動調整を行う。これにより打撃結果は、例えばホームランやヒットや凡打になる。
【００７５】
一方、図１０（Ｂ）では、ヒッティングタイミングにおいて、ミートエリアＡＲ１、ＡＲ２にミートカーソルＣＳが位置していない（ＡＲ１、ＡＲ２にＣＳが重なっていない）。従って、この場合には、ボールがヒットされなかったと判定し、ヒッティングポイントＨＰのＹ座標の自動調整を行わないようにする。これにより打撃結果は、例えば空振りになる。
【００７６】
このようにすれば、ミートカーソルＣＳのＸ座標を着弾ポイントＳＰのＸ座標に一致させたとしても、図４の打撃用のボタン３０又は３２を押すタイミングが悪いと、打撃結果も悪い結果になる。従って、ボタンを押すタイミングの技量の良し悪しに応じてゲーム結果が異なるようになり、ゲームの面白みや緊張感を増すことができる。
【００７７】
更に本実施形態では、今回のヒット処理においてカウントされたカウント時間と、前回のヒット処理においてカウントされたカウント時間に基づいて、ヒッティングポイントのＹ座標の自動調整を行うようにすることもできる。
【００７８】
例えば図１１（Ａ）では、前回のヒット処理（バッティング）において、ミートエリアＡＲ１、ＡＲ２にミートカーソルＣＳが位置していた時間がカウントされている。一方、図１１（Ｂ）では、今回のヒット処理（バッティング）において、ミートエリアＡＲ１、ＡＲ２にミートカーソルＣＳが位置していた時間がカウントされている。そして自動調整は、図１１（Ａ）の前回のカウント時間と図１１（Ｂ）の今回のカウント時間に基づいて行われる。即ち前回のカウント時間を今回のカウント時間に持ち越すことができる。
【００７９】
例えば野球においては、バッターが、外角コースなどの所定のコースに山を張って待つことがある。図１１（Ａ）（Ｂ）の手法によれば、攻撃側のプレーヤが所定のコースに山を張ってミートカーソルＣＳの位置を設定している場合には、その攻撃側のプレーヤの打撃結果を有利に設定することが可能になる。例えば前回のバッティングにおいて、外角コースを狙うようにミートカーソルＣＳを左よりに位置させており、今回のバッティングにおいても、外角コースを狙うようにミートカーソルを左よりに位置させていた場合には、自動調整におけるぶれ幅が小さくなる。これにより、ホームランやヒットになる確率が高まり、コースに山を張っているプレーヤが有利になる。この結果、プレーヤの仮想現実感を向上できる。
【００８０】
なお図１１（Ａ）（Ｂ）では、前回のヒット処理（バッティング）において得られたカウント時間を保存して、今回のヒット処理での自動調整に用いているが、これに加えて前々回やそれ以前のヒット処理において得られたカウント時間を保存して、今回のヒット処理での自動調整に用いているようにしてもよい。
【００８１】
３．本実施形態の処理
次に本実施形態の詳細な処理例について図１２のフローチャートを用いて説明する。
【００８２】
まず着弾ポイントの位置を求める（ステップＳ１）。この着弾ポイントの位置は、例えば、守備側プレーヤが設定した球種、投球目標ポイント、球速などに基づいてコンピュータが求めることができる。
【００８３】
次に、図５（Ａ）（Ｂ）で説明したように、着弾ポイントの位置（Ｘ座標）に基づいて、ミートエリアを設定する（ステップＳ２）。また攻撃側プレーヤの操作によりＸ軸方向に沿って移動するミートカーソルの位置（Ｘ座標）を求める（ステップＳ３）。
【００８４】
次に、図６（Ａ）で説明したように、ミートエリアにミートカーソルが位置した時間（ミートエリアにミートカーソルが重なっていた時間）をカウントする（ステップＳ４）。複数のミートエリアがある場合には、このカウント処理は、各ミートエリア毎に行うことができる。
【００８５】
次に、攻撃側プレーヤが図４のボタン３０又は３２を押して、打者キャラクタにスイングを行わせたか否かを判断する（ステップＳ５）。そしてスイングが行われなかった場合には、見逃しと判定する（ステップＳ６）。一方、スイングが行われた場合には、図１０（Ａ）（Ｂ）で説明したように、ヒッティングタイミング（スイング時）において、ミートエリアにミートカーソルが位置していたか否かを判断する（ステップＳ７）。そして、位置していなかった場合には、空振りと判定する（ステップＳ８）。一方、位置していた場合には、ステップＳ４で得られたカウント時間に基づいて、図８（Ａ）（Ｂ）や図９（Ｂ）に示すようなテーブルデータを参照し、ヒッティングポイント（ミートカーソル）のぶれ幅やぶれ方向を自動調整する（ステップＳ９）。そして、得られたぶれ幅やぶれ方向に基づいて、ボールのヒッティング情報を設定し、ボールをヒット方向に飛ばす処理を行う（ステップＳ１０）。そして、このようなボールやカーソルの画像を含むフレーム画像の生成や、実況中継音声などのゲーム音の生成処理を行う（ステップＳ１１）。
【００８６】
４．ハードウェア構成
図１３に本実施形態を実現できるハードウェア構成の例を示す。メインプロセッサ９００は、ＣＤ９８２（情報記憶媒体）に格納されたプログラム、通信インターフェース９９０を介してダウンロードされたプログラム、或いはＲＯＭ９５０に格納されたプログラムなどに基づき動作し、ゲーム処理、画像処理、音処理などを実行する。コプロセッサ９０２は、メインプロセッサ９００の処理を補助するものであり、マトリクス演算（ベクトル演算）を高速に実行する。例えばオブジェクトを移動させたり動作（モーション）させる物理シミュレーションに、マトリクス演算処理が必要な場合には、メインプロセッサ９００上で動作するプログラムが、その処理をコプロセッサ９０２に指示（依頼）する。
【００８７】
ジオメトリプロセッサ９０４は、メインプロセッサ９００上で動作するプログラムからの指示に基づいて、座標変換、透視変換、光源計算、曲面生成などのジオメトリ処理を行うものであり、マトリクス演算を高速に実行する。データ伸張プロセッサ９０６は、圧縮された画像データや音データのデコード処理を行ったり、メインプロセッサ９００のデコード処理をアクセレートする。これにより、オープニング画面やゲーム画面において、ＭＰＥＧ方式等で圧縮された動画像を表示できる。
【００８８】
描画プロセッサ９１０は、ポリゴンや曲面などのプリミティブ面で構成されるオブジェクトの描画（レンダリング）処理を実行する。オブジェクトの描画の際には、メインプロセッサ９００は、ＤＭＡコントローラ９７０を利用して、描画データを描画プロセッサ９１０に渡すと共に、必要であればテクスチャ記憶部９２４にテクスチャを転送する。すると描画プロセッサ９１０は、描画データやテクスチャに基づいて、Ｚバッファなどを利用した隠面消去を行いながら、オブジェクトをフレームバッファ９２２に描画する。また描画プロセッサ９１０は、αブレンディング（半透明処理）、デプスキューイング、ミップマッピング、フォグ処理、バイリニア・フィルタリング、トライリニア・フィルタリング、アンチエリアシング、シェーディング処理なども行う。１フレーム分の画像がフレームバッファ９２２に書き込まれるとその画像はディスプレイ９１２に表示される。
【００８９】
サウンドプロセッサ９３０は、多チャンネルのＡＤＰＣＭ音源などを内蔵し、ＢＧＭ、効果音、音声などのゲーム音を生成し、スピーカ９３２を介して出力する。ゲームコントローラ９４２やメモリカード９４４からのデータはシリアルインターフェース９４０を介して入力される。
【００９０】
ＲＯＭ９５０にはシステムプログラムなどが格納される。業務用ゲームシステムの場合にはＲＯＭ９５０が情報記憶媒体として機能し、ＲＯＭ９５０に各種プログラムが格納される。なおＲＯＭ９５０の代わりにハードディスクを利用してもよい。ＲＡＭ９６０は各種プロセッサの作業領域となる。ＤＭＡコントローラ９７０は、プロセッサ、メモリ間でのＤＭＡ転送を制御する。ＣＤドライブ９８０は、プログラム、画像データ、或いは音データなどが格納されるＣＤ９８２にアクセスする。通信インターフェース９９０はネットワーク（通信回線、高速シリアルバス）を介して外部との間でデータ転送を行う。
【００９１】
なお本実施形態の各部の処理は、その全てをハードウェアのみにより実現してもよいし、情報記憶媒体に格納されるプログラムや通信インターフェースを介して配信されるプログラムにより実現してもよい。或いは、ハードウェアとプログラムの両方により実現してもよい。
【００９２】
そして本実施形態の各部の処理をハードウェアとプログラムの両方により実現する場合には、情報記憶媒体には、ハードウェア（コンピュータ）を本実施形態の各部として機能させるためのプログラムが格納される。より具体的には、上記プログラムが、ハードウェアである各プロセッサ９０２、９０４、９０６、９１０、９３０に処理を指示すると共に、必要であればデータを渡す。そして、各プロセッサ９０２、９０４、９０６、９１０、９３０は、その指示と渡されたデータとに基づいて本発明の各部の処理を実現する。
【００９３】
なお本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。例えば、明細書又は図面中の記載において広義や同義な用語（オブジェクト、カーソル、第１の座標軸、第２の座標軸、第１の座標軸方向での位置情報、第２の座標軸方向での位置情報等）として引用された用語（ボール、ミートカーソル、Ｘ軸、Ｙ軸、Ｘ座標、Ｙ座標・ぶれ幅等）は、明細書又は図面中の他の記載においても広義や同義な用語に置き換えることができる。
【００９４】
またヒッティングポイントの設定手法やぶれ幅の自動調整手法も、本実施形態で説明したものに限定されず、これらと均等な手法も本発明の範囲に含まれる。また本実施形態では第１の座標軸がＸ軸であり、第２の座標軸がＹ軸である場合について説明したが、第１、第２の座標軸は直交又は交差していれば十分であり、Ｘ軸、Ｙ軸に限定されない。
【００９５】
また本発明は種々のゲームに適用できる。また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレーヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、ゲーム画像を生成するシステムボード、携帯端末、携帯電話等の種々の画像生成システムに適用できる。
【図面の簡単な説明】
【００９６】
【図１】本実施形態の画像生成システムの機能ブロック図の例。
【図２】図２（Ａ）（Ｂ）は本実施形態により生成されるゲーム画像の例。
【図３】本実施形態により生成されるゲーム画像の例。
【図４】操作部の例。
【図５】図５（Ａ）（Ｂ）は自動調整手法の説明図。
【図６】図６（Ａ）（Ｂ）は自動調整手法の説明図。
【図７】図７（Ａ）（Ｂ）はぶれ幅の設定手法の説明図。
【図８】図８（Ａ）（Ｂ）はテーブルデータの例。
【図９】図９（Ａ）（Ｂ）はぶれ方向の設定手法の説明図。
【図１０】図１０（Ａ）（Ｂ）は自動調整手法の説明図。
【図１１】図１１（Ａ）（Ｂ）は前回のカウント時間を用いる手法の説明図。
【図１２】本実施形態の具体的な処理のフローチャート。
【図１３】ハードウェア構成例。
【符号の説明】
【００９７】
１００  処理部、１１０  ゲーム処理部、１１２  カーソル制御部、
１１３  オブジェクト制御部、１１４  ヒット処理部、１１５  着弾ポイント演算部、
１１６  カウント処理部、１１７  自動調整部、１１８  ヒッティング情報設定部、
１２０  画像生成部、１３０  音生成部、１６０  操作部、１７０  記憶部、
１７２  描画領域、１７４  テーブル記憶部、１８０  情報記憶媒体、
１９０  表示部、１９２  音出力部、１９４  携帯型情報記憶装置、１９６  通信部
【図１】
0003686069.tif 000002
【図２】
0003686069.tif 000003
【図３】
0003686069.tif 000004
【図４】
0003686069.tif 000005
【図５】
0003686069.tif 000006
【図６】
0003686069.tif 000007
【図７】
0003686069.tif 000008
【図８】
0003686069.tif 000009
【図９】
0003686069.tif 000010
【図１０】
0003686069.tif 000011
【図１１】
0003686069.tif 000012
【図１２】
0003686069.tif 000013
【図１３】
0003686069.tif 000014