(57)【特許請求の範囲】
【請求項１】
仮想ゲーム空間に登場するキャラクタオブジェクトに被打撃オブジェクトに対する打撃動作をさせることにより、当該被打撃オブジェクトを当該仮想ゲーム空間内で移動させるゲーム装置のコンピュータを、
前記仮想ゲーム空間における前記キャラクタオブジェクトの位置を基準として設定される第１領域内に前記被打撃オブジェクトが存在することを必要条件として、前記キャラクタオブジェクトに第１打撃動作をさせる第１動作手段と、
前記第１領域とは異なる領域であって前記仮想ゲーム空間における前記キャラクタオブジェクトの位置を基準として設定される第２領域内に前記被打撃オブジェクトが存在することを必要条件として、前記キャラクタオブジェクトに前記第１打撃動作とは異なる第２打撃動作をさせる第２動作手段と、
前記キャラクタオブジェクトに前記第２打撃動作をさせるときに、前記キャラクタオブジェクトの少なくとも一部と前記被打撃オブジェクトとが所定の位置関係となるように、前記キャラクタオブジェクトの少なくとも一部および前記被打撃オブジェクトのうちの少なくとも一方の位置を調整する調整手段と、
前記キャラクタオブジェクトが前記第２打撃動作をすべきか否かを判定する打撃判定手段と、
前記打撃判定手段によって前記キャラクタオブジェクトが前記第２打撃動作をすべきと判定されたとき、少なくとも前記被打撃オブジェクトについて動作を一時的に停止させる第１停止手段として機能させ、
前記調整手段は、前記第１停止手段によって前記被打撃オブジェクトの動作が停止されている間に、前記キャラクタオブジェクトの少なくとも一部を移動させることによって位置を調整する、ゲームプログラム。
【請求項２】
仮想ゲーム空間に登場するキャラクタオブジェクトに被打撃オブジェクトに対する打撃動作をさせることにより、当該被打撃オブジェクトを当該仮想ゲーム空間内で移動させるゲーム装置のコンピュータを、
前記仮想ゲーム空間における前記キャラクタオブジェクトの位置を基準として設定される第１領域内に前記被打撃オブジェクトが存在することを必要条件として、前記キャラクタオブジェクトに第１打撃動作をさせる第１動作手段と、
前記第１領域とは異なる領域であって前記仮想ゲーム空間における前記キャラクタオブジェクトの位置を基準として設定される第２領域内に前記被打撃オブジェクトが存在することを必要条件として、前記キャラクタオブジェクトに前記第１打撃動作とは異なる第２打撃動作をさせる第２動作手段と、
前記キャラクタオブジェクトに前記第２打撃動作をさせるときに、前記キャラクタオブジェクトの少なくとも一部と前記被打撃オブジェクトとが所定の位置関係となるように、前記キャラクタオブジェクトの少なくとも一部および前記被打撃オブジェクトのうちの少なくとも一方の位置を調整する調整手段と、
前記キャラクタオブジェクトが前記第２打撃動作をすべきか否かを判定する打撃判定手段と、
前記打撃判定手段によって前記キャラクタオブジェクトが前記第２打撃動作をすべきと判定されたとき、前記被打撃オブジェクト以外の他のオブジェクトについて動作を一時的に停止させる第２停止手段として機能させ、
前記調整手段は、前記第２停止手段によって前記他のオブジェクトの動作が停止されている間に、前記被打撃オブジェクトを移動させることによって位置を調整する、ゲームプログラム。
【請求項３】
仮想ゲーム空間に登場するキャラクタオブジェクトに被打撃オブジェクトに対する打撃動作をさせることにより、当該被打撃オブジェクトを当該仮想ゲーム空間内で移動させるゲーム装置のコンピュータを、
前記仮想ゲーム空間における前記キャラクタオブジェクトの位置を基準として設定される第１領域内に前記被打撃オブジェクトが存在することを必要条件として、前記キャラクタオブジェクトに第１打撃動作をさせる第１動作手段と、
前記第１領域とは異なる領域であって前記仮想ゲーム空間における前記キャラクタオブジェクトの位置を基準として設定される第２領域内に前記被打撃オブジェクトが存在することを必要条件として、前記キャラクタオブジェクトに前記第１打撃動作とは異なる第２打撃動作をさせる第２動作手段と、
前記キャラクタオブジェクトに前記第２打撃動作をさせるときに、前記キャラクタオブジェクトの少なくとも一部と前記被打撃オブジェクトとが所定の位置関係となるように、前記キャラクタオブジェクトの少なくとも一部および前記被打撃オブジェクトのうちの少なくとも一方の位置を調整する調整手段と、
前記キャラクタオブジェクトが前記第２打撃動作をすべきか否かを判定する打撃判定手段と、
前記打撃判定手段によって前記キャラクタオブジェクトが前記第２打撃動作をすべきと判定されたとき、前記キャラクタオブジェクトおよび前記被打撃オブジェクト以外の他のオブジェクトについて動作を一時的に停止させる第３停止手段として機能させ、
前記調整手段は、前記第３停止手段によって前記他のオブジェクトの動作が停止されている間に、前記キャラクタオブジェクトの少なくとも一部を移動させるとともに前記被打撃オブジェクトを移動させることによって位置を調整する、ゲームプログラム。
【請求項４】
仮想ゲーム空間に登場するキャラクタオブジェクトに被打撃オブジェクトに対する打撃動作をさせることにより、当該被打撃オブジェクトを当該仮想ゲーム空間内で移動させるゲーム装置であって、
前記仮想ゲーム空間における前記キャラクタオブジェクトの位置を基準として設定される第１領域内に前記被打撃オブジェクトが存在することを必要条件として、前記キャラクタオブジェクトに第１打撃動作をさせる第１動作手段と、
前記第１領域とは異なる領域であって前記仮想ゲーム空間における前記キャラクタオブジェクトの位置を基準として設定される第２領域内に前記被打撃オブジェクトが存在することを必要条件として、前記キャラクタオブジェクトに前記第１打撃動作とは異なる第２打撃動作をさせる第２動作手段と、
前記キャラクタオブジェクトに前記第２打撃動作をさせるときに、前記キャラクタオブジェクトの少なくとも一部と前記被打撃オブジェクトとが所定の位置関係となるように、前記キャラクタオブジェクトの少なくとも一部および前記被打撃オブジェクトのうちの少なくとも一方の位置を調整する調整手段と、
前記キャラクタオブジェクトが前記第２打撃動作をすべきか否かを判定する打撃判定手段と、
前記打撃判定手段によって前記キャラクタオブジェクトが前記第２打撃動作をすべきと判定されたとき、少なくとも前記被打撃オブジェクトについて動作を一時的に停止させる第１停止手段とを備え、
前記調整手段は、前記第１停止手段によって前記被打撃オブジェクトの動作が停止されている間に、前記キャラクタオブジェクトの少なくとも一部を移動させることによって位置を調整する、ゲーム装置。
【請求項５】
仮想ゲーム空間に登場するキャラクタオブジェクトに被打撃オブジェクトに対する打撃動作をさせることにより、当該被打撃オブジェクトを当該仮想ゲーム空間内で移動させるゲーム装置であって、
前記仮想ゲーム空間における前記キャラクタオブジェクトの位置を基準として設定される第１領域内に前記被打撃オブジェクトが存在することを必要条件として、前記キャラクタオブジェクトに第１打撃動作をさせる第１動作手段と、
前記第１領域とは異なる領域であって前記仮想ゲーム空間における前記キャラクタオブジェクトの位置を基準として設定される第２領域内に前記被打撃オブジェクトが存在することを必要条件として、前記キャラクタオブジェクトに前記第１打撃動作とは異なる第２打撃動作をさせる第２動作手段と、
前記キャラクタオブジェクトに前記第２打撃動作をさせるときに、前記キャラクタオブジェクトの少なくとも一部と前記被打撃オブジェクトとが所定の位置関係となるように、前記キャラクタオブジェクトの少なくとも一部および前記被打撃オブジェクトのうちの少なくとも一方の位置を調整する調整手段と、
前記キャラクタオブジェクトが前記第２打撃動作をすべきか否かを判定する打撃判定手段と、
前記打撃判定手段によって前記キャラクタオブジェクトが前記第２打撃動作をすべきと判定されたとき、前記被打撃オブジェクト以外の他のオブジェクトについて動作を一時的に停止させる第２停止手段とを備え、
前記調整手段は、前記第２停止手段によって前記他のオブジェクトの動作が停止されている間に、前記被打撃オブジェクトを移動させることによって位置を調整する、ゲーム装置。
【請求項６】
仮想ゲーム空間に登場するキャラクタオブジェクトに被打撃オブジェクトに対する打撃動作をさせることにより、当該被打撃オブジェクトを当該仮想ゲーム空間内で移動させるゲーム装置であって、
前記仮想ゲーム空間における前記キャラクタオブジェクトの位置を基準として設定される第１領域内に前記被打撃オブジェクトが存在することを必要条件として、前記キャラクタオブジェクトに第１打撃動作をさせる第１動作手段と、
前記第１領域とは異なる領域であって前記仮想ゲーム空間における前記キャラクタオブジェクトの位置を基準として設定される第２領域内に前記被打撃オブジェクトが存在することを必要条件として、前記キャラクタオブジェクトに前記第１打撃動作とは異なる第２打撃動作をさせる第２動作手段と、
前記キャラクタオブジェクトに前記第２打撃動作をさせるときに、前記キャラクタオブジェクトの少なくとも一部と前記被打撃オブジェクトとが所定の位置関係となるように、前記キャラクタオブジェクトの少なくとも一部および前記被打撃オブジェクトのうちの少なくとも一方の位置を調整する調整手段と、
前記キャラクタオブジェクトが前記第２打撃動作をすべきか否かを判定する打撃判定手段と、
前記打撃判定手段によって前記キャラクタオブジェクトが前記第２打撃動作をすべきと判定されたとき、前記キャラクタオブジェクトおよび前記被打撃オブジェクト以外の他のオブジェクトについて動作を一時的に停止させる第３停止手段とを備え、
前記調整手段は、前記第３停止手段によって前記他のオブジェクトの動作が停止されている間に、前記キャラクタオブジェクトの少なくとも一部を移動させるとともに前記被打撃オブジェクトを移動させることによって位置を調整する、ゲーム装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ゲームプログラムおよびゲーム装置に関し、より特定的には、例えばテニスゲームのように、仮想ゲーム空間に登場するキャラクタオブジェクトに被打撃オブジェクト（例えばボール）に対する打撃動作をさせるゲームプログラムおよびゲーム装置に関する。
【背景技術】
【０００２】
従来、仮想ゲーム空間に登場するキャラクタにボールに対する打撃動作を行わせ、当該打撃動作に応じてボールを移動させてゲームを進行するゲームが存在する。例えば、特許文献１には仮想ゲーム空間において仮想的なテニスゲームを行うゲーム装置が開示されている。なお、このテニスゲームにおいては、テニスのプレイヤであるキャラクタは、通常のショットによる効果とは異なる効果を得ることができる必殺技を出すことができる。必殺技とは、例えば、打ち返したボールの球速が通常よりも速いショットや、打ち返したボールが通常よりもよく曲がるショットのことである。
【特許文献１】特開２００３−１７５２８２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
上記のようなショット動作（打撃動作）をキャラクタに行わせるゲームにおいては、キャラクタの周囲に判定領域が設定されると考えられる。判定領域とは、ショット動作が可能と判定される領域である。すなわち、判定領域内にボールが位置する場合、ショット動作によってボールを打ち返すことが可能である。逆に、判定領域内にボールが位置しない場合、ボールを打ち返すことができず、ショット動作を行うことができない。このような判定領域は、通常、ショット動作が自然な動作に見えるように、ショット動作を行うキャラクタの近傍に設定される。例えばテニスゲームであれば、キャラクタがラケットを振ったときのラケットの位置が判定領域に設定される。
【０００４】
ここで、特許文献１においては上記判定領域について開示がなく、特許文献１に開示される従来のゲームでは、通常のショット動作の場合であっても上記必殺技の場合であっても、同じ判定領域が設定されていると考えられる。従来のゲームでは、必殺技は、ショット動作によって打ち返したボールの速度や軌道にバリエーションを持たせたもののみであり、必殺技のバリエーションに限度があった。したがって、ゲームが単純になり、飽きられやすくなるおそれがあった。
【０００５】
それ故、本発明の目的は、キャラクタがショット動作を行うゲームにおいて、ショット動作のバリエーションをより多くすることが可能なゲームプログラムおよびゲーム装置を提供することである。
【課題を解決するための手段】
【０００６】
本発明は、上記の課題を解決するために、以下の構成を採用した。なお、括弧内の参照符号および補足説明等は、本発明の理解を助けるために後述する実施形態との対応関係を示したものであって、本発明を何ら限定するものではない。
【０００７】
第１の発明は、仮想ゲーム空間に登場するキャラクタオブジェクト（１００および１０１）に被打撃オブジェクト（ボール１０２）に対する打撃動作（ショット動作、シュート動作）をさせることにより、当該被打撃オブジェクトを当該仮想ゲーム空間内で移動させるゲーム装置のコンピュータ（ＣＰＵ２２等）を、以下に示す手段として機能させるため
のゲームプログラムである。すなわち、ゲーム装置は、第１動作手段（Ｓ９５）と、第２動作手段（Ｓ３３）と、調整手段（Ｓ１０７および／またはＳ１０９）として機能する。第１動作手段は、仮想ゲーム空間におけるキャラクタオブジェクトの位置を基準として設定される第１領域（１０４ａ）内に被打撃オブジェクトが存在することを必要条件として、キャラクタオブジェクトに第１打撃動作（通常ショット）をさせる。第２動作手段は、第１領域とは異なり、第１領域よりもキャラクタオブジェクトから離れた領域を含む領域であって仮想ゲーム空間におけるキャラクタオブジェクトの位置を基準として設定される第２領域（１０４ｂ、１０４ｃおよび１０４ｄ）内に被打撃オブジェクトが存在することを必要条件として、キャラクタオブジェクトに第１打撃動作とは異なる第２打撃動作（スペシャルショット動作）をさせる。調整手段は、キャラクタオブジェクトに第２打撃動作をさせるときに、キャラクタオブジェクトの少なくとも一部（キャラクタ１００、または、ラケット１０１）と被打撃オブジェクトとが所定の位置関係となるように、キャラクタオブジェクトの少なくとも一部（ラケット）および被打撃オブジェクトのうちの少なくとも一方の位置を調整する。キャラクタオブジェクトの位置を調整する場合、キャラクタオブジェクトの全体（キャラクタ１００およびラケット１０１）の位置を調整してもよいし、キャラクタオブジェクトの一部（ラケット１０１のみ）の位置を調整してもよい。また、キャラクタオブジェクトのみの位置を調整してもよいし、被打撃オブジェクトのみの位置を調整してもよいし、キャラクタオブジェクトと被打撃オブジェクトの両方の位置を調整してもよい。
【０００８】
なお、操作手段からの移動指示入力に基づいて、キャラクタオブジェクトを仮想ゲーム空間内で移動させるゲームの場合、上記調整手段によるキャラクタオブジェクトの位置を調整する処理は、移動指示入力に基づかないでプログラムで自動的におこなわれる。
【０００９】
また、第２の発明においては、ゲームプログラムは、打撃判定手段（Ｓ７７，Ｓ８１，Ｓ８５，Ｓ８７）と、第１停止手段（Ｓ９１）としてコンピュータをさらに機能させてもよい。打撃判定手段は、キャラクタオブジェクトが第２打撃動作をすべきか否かを判定する。第１停止手段は、打撃判定手段によってキャラクタオブジェクトが第２打撃動作をすべきと判定されたとき、少なくとも被打撃オブジェクトについて動作を一時的に停止させる。このとき、調整手段は、第１停止手段によって被打撃オブジェクトの動作が停止されている間に、キャラクタオブジェクトの少なくとも一部を移動動作（ＳＳ時動作）をさせることによって位置を調整する。
【００１０】
また、第３の発明においては、ゲームプログラムは、打撃判定手段（Ｓ７７，Ｓ８１，Ｓ８５，Ｓ８７）と、第２停止手段（Ｓ９１）としてコンピュータをさらに機能させてもよい。打撃判定手段は、キャラクタオブジェクトが第２打撃動作をすべきか否かを判定する。第２停止手段は、打撃判定手段によってキャラクタオブジェクトが第２打撃動作をすべきと判定されたとき、被打撃オブジェクト以外の他のオブジェクトについて動作を一時的に停止させる。調整手段は、第２停止手段によって他のオブジェクトの動作が停止されている間に、被打撃オブジェクトを移動させることによって位置を調整する。
【００１１】
また、第４の発明においては、ゲームプログラムは、打撃判定手段（Ｓ７７，Ｓ８１，Ｓ８５，Ｓ８７）と、第３停止手段（Ｓ９１）としてコンピュータをさらに機能させてもよい。打撃判定手段は、キャラクタオブジェクトが第２打撃動作をすべきか否かを判定する。停止手段は、打撃判定手段によってキャラクタオブジェクトが第２打撃動作をすべきと判定されたとき、キャラクタオブジェクトおよび被打撃オブジェクト以外の他のオブジェクトについて動作を一時的に停止させる。調整手段は、停止手段によって他のオブジェクトの動作が停止されている間に、キャラクタオブジェクトの少なくとも一部を移動させるとともに被打撃オブジェクトを移動させることによって位置を調整する。
【００１２】
また、第５の発明においては、第２領域は、第１領域に含まれない領域を含んでいてもよい。なお、第２領域は、第１領域の全体を含み、かつ、第１領域以外の領域を含むようにしてもよいし、第１領域の一部を含み、かつ、第１領域以外の領域を含むようにしてもよいし、第１領域を含まず、かつ、第１領域以外の領域を含むようにしてもよい。
【００１３】
また、第６の発明においては、キャラクタオブジェクトは、人物オブジェクト（キャラクタ）とそれが持っている打撃オブジェクト（ラケット）とを含んでいてもよい。このとき、調整手段は、打撃オブジェクトが被打撃オブジェクトに接触するように打撃オブジェクトを移動させる。
【００１４】
また、第７の発明においては、第２動作手段は、ゲーム装置が有する操作手段（コントローラ２０）に対して所定の操作がなされたことに応じて、当該所定の操作がなされた時およびその後において第２領域内に被打撃オブジェクトが存在することを条件としてキャラクタオブジェクトに第２打撃動作をさせるようにしてもよい。
【００１５】
また、第８の発明においては、第２打撃動作は、キャラクタオブジェクトに関する所定のパラメータ（ＳＳゲージ）が所定条件を満たすときにのみ実行可能であってもよい。このとき、ゲームプログラムは、第１制御手段（Ｓ４９）としてコンピュータをさらに機能させる。第１制御手段は、ゲーム装置が有する操作手段に対して所定の操作がなされたことに応じて、所定条件が満たされていれば、キャラクタオブジェクトに第２打撃動作をさせる処理を第２動作手段に実行させるとともに、所定条件が満たされていなければ、キャラクタオブジェクトに第１打撃動作をさせる処理を第１動作手段に実行させるように制御する。
【００１６】
また、第９の発明においては、第２打撃動作は、キャラクタオブジェクトに関する所定のパラメータが所定条件を満たすときにのみ実行可能であってもよい。このとき、ゲームプログラムは、モード設定手段（Ｓ１）と、第２制御手段（Ｓ４９）と、第３制御手段（Ｓ５７）としてコンピュータをさらに機能させる。モード設定手段は、プレイヤによりまたは自動的に第１モード（簡単モード）または第２モード（ノーマルモード）を設定する。第２制御手段は、モード設定手段において第１モードが設定されたとき、ゲーム装置が有する操作手段に対して第１操作（Ａボタンの操作）がなされたことに応じて、所定条件が満たされていれば、キャラクタオブジェクトに第２打撃動作をさせる処理を第２動作手段に実行させるとともに、所定条件が満たされていなければ、キャラクタオブジェクトに第１打撃動作をさせる処理を第１動作手段に実行させるように制御する。第３制御手段は、モード設定手段において第２モードが設定されたとき、操作手段に対して第１操作（Ａボタンの操作）がなされたことに応じて、キャラクタオブジェクトに第１打撃動作をさせる処理を第１動作手段に実行させるとともに、操作手段に対して第１操作と異なる第２操作（ＲボタンおよびＡボタンの操作）がなされたことに応じて、キャラクタオブジェクトに第２打撃動作をさせる処理を第２動作手段に実行させるように制御する。
【００１７】
また、第１０の発明においては、ゲームプログラムは、第１判定手段（Ｓ８５）と、第２判定手段（Ｓ８５）としてコンピュータをさらに機能させてもよい。第１判定手段は、ゲーム装置が有する操作手段に対して所定の操作がなされたことに応じて、第１領域および第２領域のいずれか一方について、領域内に被打撃オブジェクトが存在するか否かを判定する。第２判定手段は、第１判定手段によって領域内に被打撃オブジェクトが存在しないと判定されたとき、第１領域および第２領域の他方について、領域内に被打撃オブジェクトが存在するか否かを判定する。第１動作手段は、第１判定手段および第２判定手段のいずれかによって、第１領域内に被打撃オブジェクトが存在すると判定されたとき、キャラクタオブジェクトに第１打撃動作をさせる。第２動作手段は、第１判定手段および第２判定手段のいずれかによって、第２領域内に被打撃オブジェクトが存在すると判定されたとき、キャラクタオブジェクトに第２打撃動作をさせる。
【００１８】
また、第１１の発明においては、ゲームプログラムは、第３動作手段（Ｓ３３）と、第３判定手段（Ｓ８５）と、第４判定手段（Ｓ８５）としてコンピュータをさらに機能させてもよい。第３動作手段は、仮想ゲーム空間におけるキャラクタオブジェクトの位置を基準として設定される第３領域（１０４ｃおよび１０４ｄ）内に被打撃オブジェクトが存在することを必要条件として、キャラクタオブジェクトに第１打撃動作および第２打撃動作（攻撃系のスペシャルショット動作）とは異なる第３打撃動作（守備系のスペシャルショット動作）をさせる。第３判定手段は、ゲーム装置が有する操作手段に対して所定の操作がなされたことに応じて、第２領域（１０４ｂ）および第３領域（１０４ｃおよび１０４ｄ）のいずれか一方について、領域内に被打撃オブジェクトが存在するか否かを判定する。第４判定手段は、第３判定手段によって領域内に被打撃オブジェクトが存在しないと判定されたとき、第２領域および第３領域の他方について、領域内に被打撃オブジェクトが存在するか否かを判定する。第２動作手段は、第３判定手段および第４判定手段のいずれかによって、第２領域内に被打撃オブジェクトが存在すると判定されたとき、キャラクタオブジェクトに第２打撃動作をさせる。第３動作手段は、第３判定手段および第４判定手段のいずれかによって、第３領域内に被打撃オブジェクトが存在すると判定されたとき、キャラクタオブジェクトに第３打撃動作をさせる。調整手段は、キャラクタオブジェクトに第３打撃動作をさせるときに、キャラクタオブジェクトと被打撃オブジェクトとが所定の位置関係となるように、キャラクタオブジェクトの少なくとも一部および被打撃オブジェクトのうちの少なくとも一方の位置を調整する。
【００１９】
また、本発明は、上記ゲームプログラムによって実現される各機能を備えるゲーム装置の形態で提供されてもよい。
【発明の効果】
【００２０】
第１の発明によれば、判定領域が異なる複数の打撃動作をキャラクタオブジェクトに行わせることができるので、打撃動作のバリエーションをより多くすることが可能である。さらに、キャラクタオブジェクトと被打撃オブジェクトとの位置が所定の関係となるように調整されるので、キャラクタオブジェクトから遠く離れた領域を含むように第２領域を設定することができる。すなわち、キャラクタオブジェクトが離れた位置の被打撃オブジェクトを打撃動作することが可能となるので、キャラクタオブジェクトに意外性のある打撃動作をさせることができる。
【００２１】
第２の発明によれば、第２打撃動作をするキャラクタオブジェクト以外の他のオブジェクトの動作を停止することによって、位置調整のためのキャラクタオブジェクトの動作に時間的な制約がなくなる。例えば、第２打撃動作において、キャラクタオブジェクトと被打撃オブジェクトとの距離が大きく離れている状態からキャラクタオブジェクトの位置を調整する場合を考える。この場合、他のオブジェクトの動作を停止しないのであれば、高速でキャラクタオブジェクトを移動させることによって位置を調整しなければならない。これに対して、第２の発明では、他のオブジェクトの動作が停止しているので、キャラクタオブジェクトを高速で移動させる必要はなく、十分に時間をかけてキャラクタオブジェクトを移動させることができる。また、位置調整をおこなっている間、キャラクタオブジェクトの動作として派手な演出動作を行わせる場合には、当該動作を時間的制約を考慮せずに自由に設定することができるので、当該動作を演出効果の高い動作にすることができる。これによって、ゲームをより興趣性の高いものとすることができる。
【００２２】
第３の発明によれば、他のオブジェクトの動作が停止されているので、被打撃オブジェクトのみが移動する様子を表現することができる。また、位置調整のための被打撃オブジェクトの移動を時間的制約を考慮せずに自由に設定することができるので、被打撃オブジェクトを高速で移動させる必要はない。また、被打撃オブジェクトに演出動作を行なわせる場合には、当該動作を演出効果の高い動作にすることができる。
【００２３】
第４の発明によれば、他のオブジェクトの動作が停止されているので、十分に時間をかけてキャラクタオブジェクトおよび被打撃オブジェクトを移動させることができる。したがって、位置調整のための両者の動作を時間的制約を考慮せずに自由に設定することができるので、高速で移動させる必要はなく、また、演出動作を行なわせる場合には当該動作を演出効果の高い動作にすることができる。
【００２４】
第５の発明によれば、第１打撃動作では不可能な位置に被打撃オブジェクトが位置するときでもキャラクタオブジェクトに打撃動作をさせることが可能になる。
【００２５】
第６の発明によれば、例えば、ラケット等の打撃オブジェクトをキャラクタオブジェクトが投げて被打撃オブジェクトをショットする、といった、演出効果の高い打撃動作を表現することが可能である。
【００２６】
第７の発明によれば、第２打撃動作を行うための所定の操作の操作タイミングに幅を持たせることによって、プレイヤは、シビアなタイミングで所定の操作を行わなくてもよい。したがって、簡単に打撃動作を行うことができるので十分に初心者のプレイヤでもゲームを楽しむことができる。また、上級者のプレイヤにとっては、ショットの種類や軌道等、操作タイミング以外の要素に注力してゲームをプレイすることができるので、初級者とは違った楽しみ方でゲームをプレイすることができる。
【００２７】
第８の発明によれば、第１打撃動作および第２打撃動作の操作を同じ操作で行うことができるので、ゲーム操作を簡単にすることができる。
【００２８】
第９の発明によれば、打撃動作が比較的簡単な第１モードと、比較的難しい第２モードという２つのモードが用意されるので、打撃操作の難易度を変更することができる。
【００２９】
第１０または第１１の発明によれば、プレイヤは、判定領域の異なる２種類の打撃動作を１種類の操作で行うことができる。さらに、いずれか一方の打撃動作が不可能な場合でも、可能である場合にはもう一方の打撃動作が行われるので、プレイヤにとっては２種類の打撃動作をより操作しやすくなる。
【発明を実施するための最良の形態】
【００３０】
図１は本発明の一実施形態に係るゲームシステムの構成を示す外観図であり、図２はそのブロック図である。図１および図２に示すように、ゲームシステムは、ゲーム装置１４、光ディスク１６、メモリカード１８、コントローラ２０、テレビ１２（図２に示すスピーカ５０を含む）を備える。光ディスク１６およびメモリカード１８は、ゲーム装置１４に着脱自在に装着される。コントローラ２０は、ゲーム装置１４に設けられる複数（図１では、４つ）のコントローラポート用コネクタのいずれかに接続される。コントローラ２０は複数の操作部を有し、具体的には、ジョイスティック２０ａ、Ａボタン２０ｂ、Ｒボタン２０ｃ、Ｂボタン２０ｅ、図示しないＺボタン等を含む。なお、他の実施形態においては、ゲーム装置１４とコントローラ２０との通信は、通信ケーブルを用いずに無線通信によって行われてもよい。また、テレビ１２およびスピーカ５０は、ＡＶケーブル等によってゲーム装置１４に接続される。なお、本発明は図１に示すような据え置き型のゲーム装置に限らず、携帯型のゲーム装置であってもよいし、業務用のゲーム装置であってもよいし、携帯電話やパソコン等のゲームを実行できる装置であってもよいことはもちろんである。以下、図２を参照しながら、本発明に係るゲームシステムにおける各部を詳細に説明するとともに、ゲームシステムにおける一般的な動作を説明する。
【００３１】
外部記憶媒体の一例である光ディスク１６は、例えばＤＶＤ−ＲＯＭであり、ゲームプログラムやキャラクタデータ等のゲームに関するデータを固定的に記憶している。プレイヤがゲームを行う場合、光ディスク１６はゲーム装置１４に装着される。なお、ゲームプログラム等を記憶する手段は、ＤＶＤ−ＲＯＭに限らず、例えばＣＤ−ＲＯＭ、ＭＯ、メモリカード、ＲＯＭカートリッジ等の記憶媒体であってもよく、また、ゲーム装置本体内のメモリやハードディスク等の記憶手段に記憶されるようにしてもよく、この場合、通信によりゲームプログラムをダウンロードするようにしてもよい。メモリカード１８は、例えばフラッシュメモリ等の書き換え可能な記憶媒体によって構成され、例えばゲームにおけるセーブデータ等のデータを記憶する。
【００３２】
ゲーム装置１４は、光ディスク１６に記録されているゲームプログラムを読み出し、ゲーム処理を行う。コントローラ２０は、プレイヤがゲーム操作に関する入力を行うための入力装置であり、前述の通りジョイスティックや複数の操作スイッチを有する。コントローラ２０は、プレイヤによるジョイスティックの操作や操作スイッチの押圧等に応じて操作データをゲーム装置１４に出力する。テレビ１２は、ゲーム装置１４から出力された画像データを画面に表示する。また、スピーカ５０は、典型的にはテレビ１２に内蔵されており、ゲーム装置１４から出力されたゲームの音声を出力する。複数のプレイヤによってゲームを行う場合、コントローラ２０はプレイヤの数だけ設けられる。
【００３３】
次に、ゲーム装置１４の構成について説明する。図２において、ゲーム装置１４内には、ＣＰＵ２２およびそれに接続されるメモリコントローラ４０が設けられる。さらに、ゲーム装置１４内において、メモリコントローラ４０は、グラフィックスプロセッシングユニット（ＧＰＵ）２４と、メインメモリ３４と、デジタル信号処理回路（ＤＳＰ）３６と、各種インターフェース（Ｉ／Ｆ）４２〜５２とに接続される。また、ＤＳＰ３６を介してサブメモリ３８と接続される。メモリコントローラ４０は、これら各構成要素間のデータ転送を制御する。
【００３４】
ゲーム開始の際、まず、ディスクドライブ５４は、ゲーム装置１４に装着された光ディスク１６を駆動する。光ディスク１６に記憶されているゲームプログラムは、ディスクＩ／Ｆ５２およびメモリコントローラ４０を介して、メインメモリ３４に読み込まれる。メインメモリ３４上のプログラムをＣＰＵ２２が実行することによって、ゲームが開始される。ゲーム開始後、プレイヤは、ジョイスティックや操作スイッチを用いてコントローラ２０に対してゲーム操作等の入力を行う。プレイヤによる入力に従い、コントローラ２０は、操作データをゲーム装置１４に出力する。コントローラ２０から出力される操作データは、コントローラＩ／Ｆ４２およびメモリコントローラ４０を介してＣＰＵ２２に入力される。ＣＰＵ２２は、入力された操作データに応じてゲーム処理を行う。ゲーム処理における画像データ生成等に際して、ＧＰＵ２４やＤＳＰ３６が用いられる。また、サブメモリ３８は、ＤＳＰ３６が所定の処理を行う際に用いられる。
【００３５】
ＧＰＵ２４は、ジオメトリユニット２６およびレンダリングユニット２８を含み、画像処理専用のメモリに接続されている。この画像処理専用メモリは、例えばカラーバッファ３０およびＺバッファ３２として利用される。ジオメトリユニット２６は、仮想３次元空間であるゲーム空間に置かれた物体や図形に関する立体モデル（例えばポリゴンで構成されるオブジェクト）の座標についての演算処理を行うものであり、例えば立体モデルの回転・拡大縮小・変形や、ワールド座標系の座標から視点座標系やスクリーン座標系の座標への変換を行うものである。レンダリングユニット２８は、所定のテクスチャに基づいて、スクリーン座標に投影された立体モデルについてピクセルごとのカラーデータ（ＲＧＢデータ）をカラーバッファ３０に書き込むことによって、ゲーム画像を生成する。また、カラーバッファ３０は、レンダリングユニット２８によって生成されたゲーム画像データ（ＲＧＢデータ）を保持するために確保されたメモリ領域である。Ｚバッファ３２は、３次元の視点座標から２次元のスクリーン座標に変換する際に視点からの奥行情報を保持するために確保されたメモリ領域である。ＧＰＵ２４は、これらを用いてテレビ１２に表示すべき画像データを生成し、適宜メモリコントローラ４０およびビデオＩ／Ｆ４４を介してテレビ１２に出力する。なお、ゲームプログラム実行時にＣＰＵ２２において生成される音声データは、メモリコントローラ４０からオーディオＩ／Ｆ４８を介して、スピーカ５０に出力される。なお、本実施形態では、画像処理専用のメモリを別途設けたハードウェア構成としたが、これに限らず例えばメインメモリ３４の一部を画像処理用のメモリとして利用する方式（ＵＭＡ：Ｕｎｉｆｉｅｄ  Ｍｅｍｏｒｙ  Ａｒｃｈｉｔｅｃｔｕｒｅ）を使うようにしてもよい。ゲーム装置１４は、ゲームプログラムを実行することにより生成したゲームデータをメモリコントローラ４０およびメモリＩ／Ｆ４６を介してメモリカード１８に転送する。また、ゲーム装置１４は、ゲーム開始に先立って、メモリカード１８に記憶されたゲームデータを、メモリコントローラ４０およびメモリＩ／Ｆ４６を介してメインメモリ３４に読み込む。
【００３６】
次に、本実施形態のゲームの概要を図３〜１３を参照して説明する。本実施形態のゲームは、仮想的なテニスをプレイさせるテニスゲームである。図３は、本実施形態のテニスゲームにおける仮想空間を表現したゲーム画像の一例を示す図である。
【００３７】
図３を参照して、仮想空間には、キャラクタオブジェクト１００ａおよび１００ｂ（キャラクタオブジェクト１００ａにはラケットオブジェクト１０１ａが含まれ、キャラクタオブジェクト１００ｂにはラケットオブジェクト１０１ｂが含まれる。）ボールオブジェクト１０２、テニスコートオブジェクト１０３が存在し、これらが仮想カメラで撮影されることにより、ゲーム画像としてテレビ１２に表示される。以下、キャラクタオブジェクトをキャラクタと呼び、ラケットオブジェクトをラケットと呼び、ボールオブジェクトをボールと呼び、テニスコートオブジェクトをテニスコートと呼ぶ。また、区別の必要がない場合は、キャラクタ１００ａと１００ｂをキャラクタ１００と呼び、ラケット１０１ａとラケット１０１ｂをラケット１０１と呼ぶ。
【００３８】
プレイヤはコントローラ２０を操作することによって、キャラクタ１００ａまたは１００ｂの動作を制御する。具体的には、コントローラ２０のジョイスティック２０ａを操作することにより、キャラクタ１００ａまたは１００ｂを仮想空間内で移動させ、Ａボタン２０ｂを操作することにより、ボール１０２をショットして相手側のコートに打ち返す。Ａボタン２０ｂの操作とあわせてジョイスティック２０ａを操作することにより、ショット後のボールの移動方向を変化させるようにしてもよい。また、Ａボタン２０ｂを複数回操作したり、Ａボタン２０ｂの操作の後に他の操作ボタンを連続的に操作することによりショットの種類（トップスピン，スライススピン，ロブ，ドロップショット，スマッシュ）を変更するようにしてもよい。また、キャラクタの特性によってショット後のボールの移動速度や軌道に変化を与えるようにしてもよい。このような操作によりキャラクタ１００がショット動作をし、このショット動作時の操作内容や操作タイミングによってボール１０２の移動のパラメータが決定する。
【００３９】
ゲームの進行は、実際のテニスの試合と同様に進行する。すなわち、まず、サーブ権を持つ側がサーブ動作を行った後、ボールを交互にショット動作をする。どちらかのポイントになったときには、得点処理が行われ、ゲームが終了するまで繰り返される。
【００４０】
なお、本実施形態においては、ゲーム装置１４にコントローラ２０を２つ接続し、２人のプレイヤがそれぞれのコントローラ２０を操作することによって、キャラクタ１００ａまたは１００ｂの動作をそれぞれ操作するとして説明するが、キャラクタ１００ａまたは１００ｂの一方をコンピュータによって制御するようにしてもよい。
【００４１】
また、本実施形態では、２つのキャラクタ１００によってテニスゲームを行ういわゆるシングルスのテニスゲームを例にして説明するが、本発明は、いわゆるダブルスのテニスゲームにも適用することができる。この場合、４つのキャラクタによってテニスゲームを行うが、このうち少なくとも１つのキャラクタ１００をプレイヤによって操作するようにすればよく、残りのキャラクタ１００はコンピュータによって制御してもよい。
【００４２】
本実施形態のテニスゲームでは、キャラクタ１００は、通常ショットとスペシャルショットとを行うことができる。スペシャルショットは、キャラクタごとに設定される特別なショットであり、通常ショットと比べて特別な効果のあるショットである。
【００４３】
図４は、キャラクタ１００が通常ショット動作を行う場合のゲーム画面例を示す図である。仮想空間内にはキャラクタ１００ａの位置を基準として判定領域１０４ａが設定される（判定領域１０４ａは、キャラクタ１００ａが右構えの場合にはキャラクタ１００ａの右側に所定距離だけ離れた位置に設定され、左構えの場合にはキャラクタ１００ａの左側に所定距離だけ離れた位置に設定される）。なお、判定領域１０４ａは内部処理的に設定される領域であってゲーム画像には表示されない。これは、後述の判定領域１０４ｂ〜ｄについても同様である。
【００４４】
キャラクタ１００ｂによってショット動作されたボール１０２が、判定領域１０４ａ内に来たときに、キャラクタ１００ａは通常ショットの動作を行う。なお、キャラクタ１００ａを操作するプレイヤは、ボール１０２が判定領域１０４ａ内に来たときに、Ａボタン２０ｂを操作してもよいが、キャラクタ１００ｂがショットした後（すなわち、次に自分がショットする順番になっている状態）であれば、ボール１０２が判定領域１０４ａ内に存在しないときにＡボタン２０ｂを操作してもよい。この場合、Ａボタン２０ｂを操作した時にはキャラクタ１００ａはショット動作を行わないが、その後、ボール１０２が判定領域１０４ａ内に来たときには、プレイヤがＡボタンを操作しなくてもキャラクタ１００ａはショット動作を行う。なお、Ａボタン２０ｂを操作したときにボール１０２がすでに判定領域内に存在する場合には、ショット動作はＡボタン２０ｂの操作時にすぐに行われる。これによって、プレイヤがＡボタン２０ｂを操作するタイミングに幅を持たせ、厳密なタイミングで操作しなくてもショットが成功することになる。したがって、初心者でもショットを簡単に成功させることができる。また、上級者は操作タイミングではなく他の要素（ショットの種類や軌道等）に注力してプレイできるので、テニスの駆け引きを楽しむことができる。
【００４５】
図５〜図１２は、スペシャルショットを説明するための図である。スペシャルショットとは、前述の通り、通常ショットとは異なるショットであり、キャラクタ１００ごとに設けられた必殺技的な要素を持つショットである。
【００４６】
スペシャルショットには、攻撃系のスペシャルショットと守備系のスペシャルショットがある。前者には、例えば、通常ショットでは打てないような高速ショット（高速でボールが移動する）や変化球ショット（軌道が変化するショット）等がある。また、後者は、判定領域が広く設定されているショットである。後者には、例えば、自キャラクタ１００がネットの近くにいる状態で相手キャラクタ１００が打ったロビングボールがベースライン近くに落ちる場合や、自キャラクタ１００がコートの左隅にいる状態で相手キャラクタ１００が打ったボール１０２がコートの右隅に落ちる場合等、キャラクタ１００の位置とボール１０２の位置が離れているために通常では追いつかずに失点となってしまうようなボール１０２に対して追いついて返球するようなショットがある。各キャラクタ１００には、２種類のスペシャルショット、すなわち、攻撃系のスペシャルショットおよび守備系のスペシャルショットが１つずつ設定される。
【００４７】
通常ショットはＡボタン２０ｂの操作によって行われ、攻撃系のスペシャルショットはＲボタン２０ｃを操作しながらＡボタン２０ｂを操作することによって行われる。つまり、Ｒボタン２０ｃを押下しつつＡボタン２０ｂを押下することによって、攻撃系のスペシャルショットを行うことができる。一方、守備系のスペシャルショットはＲボタン２０ｃを操作しながらＢボタン２０ｅを操作することによって行われる。
【００４８】
なお、Ｒボタン２０ｃを操作する度に通常ショットとスペシャルショットとの選択が切り替わるようにし、通常ショットが選択されている状態でＡボタン２０ｂが操作されたときには通常ショットが行われ、スペシャルショットが選択されている状態でＡボタン２０ｂが操作されたときにはスペシャルショット（攻撃系または守備系）が行われるようにしてもよい。
【００４９】
図５〜図７はキャラクタ１００ａに割り当てられた攻撃系のスペシャルショットの１つであるＳＳ１を説明するための図である。図５を参照して、仮想空間にはキャラクタ１００ａを基準として判定領域１０４ｂが設定される。この状態において、プレイヤがＲボタン２０ｃを操作しながらＡボタン２０ｂを操作すると、キャラクタ１００ｂによってショット動作されたボール１０２が判定領域１０４ｂ内に来た時点で、キャラクタ１００ａはＳＳ１の動作を開始する。
【００５０】
なお、スペシャルショットについても通常ショットと同様の入力処理が行われる。すなわち、キャラクタ１００ａを操作するプレイヤは、ボール１０２が判定領域１０４ｂ内に来たときに、（Ｒボタン２０ｃを操作した状態で、以下の説明では省略）Ａボタン２０ｂを操作してもよい。Ａボタン２０ｂを操作した時点でボール１０２がすでに判定領域１０４ｂ内に存在する場合には、スペシャルショットはＡボタン２０ｂの操作時にすぐに行われる。また、キャラクタ１００ｂがショット動作をした後であれば、ボール１０２が判定領域１０４ｂ内に存在しないときでもＡボタン２０ｂを操作してもよい。この場合、Ａボタン２０ｂを操作した時点ではキャラクタ１００ａはスペシャルショットを行わないが、その後、ボール１０２が判定領域１０４ｂ内に来た時点で、プレイヤがＡボタン２０ｂを再度操作しなくてもキャラクタ１００ａはスペシャルショットを行う。以上の入力処理はすべてのスペシャルショットについて同様である。なお、Ｒボタン２０ｃを操作するタイミングはショット入力に影響せず、ショット入力はＡボタン２０ｂを操作したときに入力される。このため、以下におけるスペシャルショットの説明において、「Ｒボタン２０ｃを操作しながらＡボタン２０ｂを操作」を「Ａボタン２０ｂを操作」と省略したり、「Ｒボタン２０ｃを操作しながらＢボタン２０ｅを操作」を「Ｂボタン２０ｅを操作」と省略することがある。
【００５１】
なお、判定領域１０４ｂは通常ショットの判定領域（１０４ａ）に含まれない領域を含む領域である。また、スペシャルショットの種類によっても判定領域は異なる。これについては後述する。
【００５２】
上述のように、Ａボタン２０ｂ（またはＢボタン２０ｅ）が操作され、ボール１０２が判定領域に存在することになったとき、キャラクタ１００ａはスペシャルショット動作を行う。一方、キャラクタ１００ａがスペシャルショット動作をしている間、スペシャルショットをするキャラクタであるキャラクタ１００ａ以外のオブジェクト、すなわち、キャラクタ１００ｂやボール１０２や図示しないその他のオブジェクト（観客キャラクタや審判キャラクタやその他非生命オブジェクト等）は動作を停止する。なお、スペシャルショット動作をしている間、ボール１０２は、通常の動作を停止するが、スペシャルショットの種類によっては、スペシャルショット時の特有の動作を行う場合がある。具体的には、後述のＳＳ１，ＳＳ２，ＳＳ３，ＳＳ５では、ボール１０２はスペシャルショット動作中停止しているが、ＳＳ４では、ボール１０２は通常の動作（キャラクタ１００のショット動作によって与えられた移動パラメータに基づく動作）は停止するが、ＳＳ４中の特有の動作（キャラクタ１００ａに近づく動作）を行う。これについては、図１５を参照して後述する。また、動作を停止したキャラクタ１００ｂやその他のオブジェクトは、スペシャルショット動作終了後に、停止前の動作パラメータ（移動パラメータやモーションパラメータ等）を使って動作を再開する。
【００５３】
図６は、ＳＳ１をするときのキャラクタ１００ａの動作を説明するための図である。ＳＳ１では、まず、キャラクタ１００ａがラケット１０１ａをハンマー１０１ａ’に持ちかえる動作がされ（図６（ａ））、ハンマー１０１ａ’を大きく振りかぶって打ち下ろす動作がされる（図６（ｂ）、図６（ｃ））。そして、図６（ｄ）に示すように、ハンマー１０１ａ’でボール１０２をショットする動作が行われる。なお、この一連の動作の間、キャラクタ１００ｂおよびボール１０２やその他のオブジェクトの動作は停止している。このため、キャラクタ１００ａがハンマー１０１ａ’に持ち替えたり大きく振りかぶって打ち下ろす動作に時間的な制約がないので、ゲーム制作者は、プレイヤを楽しませるような演出動作を自由に設定することが可能である。あるキャラクタがスペシャルショット動作をしている間、他のキャラクタやボールやその他のオブジェクトの動作が停止することは、すべてのスペシャルショットに共通している。なお、他の実施形態においては、あるキャラクタがスペシャルショット動作中であっても、ボール１０２以外のオブジェクトの動作を停止しないようにしてもよい。
【００５４】
図５のような通常状態において、仮想カメラはキャラクタ１００ａおよび１００ｂの両方が画面内に入るように俯瞰視点（上空から捉えた視点）または後方視点（キャラクタの後方から捉えた視点）に設定される。しかし、キャラクタ１００ａがスペシャルショット動作を開始した時点で、仮想カメラは、キャラクタ１００ａがアップになるように（キャラクタ１００ａが大きく表示されるように）設定される。具体的には、視線方向がキャラクタ１００ａの方向であり、ズーム率がアップになるように設定される。そして、図６（ｃ）の状態になったときに、通常状態と同様の俯瞰視点または後方視点の設定に戻る。これによって、スペシャルショット動作中のキャラクタの動作がプレイヤにアップで示され楽しさを感じさせるとともに、ラケットでボールを打つ瞬間には俯瞰視点または後方視点の設定に戻っており、キャラクタ１００ａおよび１００ｂの両方が画面内に入っているので、スペシャルショット動作によるショット後のプレイに支障がないようにすることができる。
【００５５】
図７は、ＳＳ１のスペシャルショット動作がされた後のボールの動作を説明するための図である。ＳＳ１でショットされたボール１０２は、１０５ａで示すように高速で相手コートに移動する。なお、攻撃系のスペシャルショットの別の種類であるＳＳ２は、ＳＳ１と同じ判定領域１０４ｂを設定し、図６において、キャラクタ１００ａにハンマー１０１ａ’の代わりにバット（図示せず）を持たせてスペシャルショット動作をさせる。ＳＳ２の動作がされた後のボールの動作は、図７の１０５ｂで示すように大きく変化しつつ相手コートに移動してもよいし、１０５ｃで示すように高く打ちあがった後、急降下して相手コートに落ちるように移動してもよい。
【００５６】
図８および図９は、守備系のスペシャルショットの１つであるＳＳ３を説明するための図である。図８を参照して、キャラクタ１００ａにＳＳ３が割り当てられている場合には、仮想空間にはキャラクタ１００ａを基準として判定領域１０４ｃが設定される。この状態において、プレイヤがＲボタン２０ｃを操作しながらＢボタン２０ｅを操作すると、キャラクタ１００ｂによってショット動作されたボール１０２が判定領域１０４ｃ内に存在するときに、キャラクタ１００ａはＳＳ３の動作を開始する。
【００５７】
図８を参照して、現在、キャラクタ１００ａはテニスコートの左側の領域に位置しており、相手キャラクタ１００ｂによってショットされたボール１０２はテニスコートの右側に逃げるような軌道で移動している。このため、通常であれば、キャラクタ１００ａはボール１０２に追いつくことができず失点となってしまう。しかしながら、守備系のスペシャルショットであるＳＳ３をキャラクタ１００ａに動作させることにより失点を防ぐことができる。具体的には、Ｒボタン２０ｃを操作しながらＢボタン２０ｅが操作されることによって、ボール１０２が判定領域１０４ｃ内に存在するときに、キャラクタ１００ａは図９に示すようなスペシャルショット動作を行う。まず、キャラクタ１００ａはその場で回転する動作をする（図９（ａ））、その後、回転動作を継続しながら、徐々にボール１０２の存在する方向に移動する（図９（ｂ）および（ｃ））。そして、キャラクタ１００ａがボール１０２をショットできる位置まで近づいたときに、回転しながらショットする動作を行う（図９（ｄ））。なお、図９では、キャラクタ１００ａが回転している様子を分かりやすくする目的で、キャラクタ１００ａを、帽子をかぶったキャラクタとして示している。
【００５８】
なお、ＳＳ３では、上述の通り、キャラクタ１００ａがボール１０２の位置に向かってショットできる位置まで近づいてボール１０２を打ち返すスペシャルショット動作を行う。スペシャルショット動作の開始が判断された時点においてキャラクタ１００ａとボール１０２の間の距離が近い場合、キャラクタ１００ａがショットできる位置にすぐに移動できるので、スペシャルショット動作（回転動作しながら移動してショットする動作）の動作時間が短くなって、プレイヤが当該動作を見る時間が短くなってしまい、プレイヤを演出で楽しませることができない。このため、スペシャルショット動作の開始が判断された時点において、キャラクタ１００ａとボール１０２との間が所定距離以下の場合には、キャラクタ１００ａおよび／またはボール１０２の位置を他方から遠ざけるように変更することにより、キャラクタ１００ａとボール１０２との間の距離を長くして、スペシャルショット動作の動作時間が長くなるようにしてもよい。
【００５９】
守備系のスペシャルショットの別の種類であるＳＳ４は、ＳＳ３と同じ判定領域１０４ｃを設定し、図１０に示すようなスペシャルショット動作を行う。すなわち、Ｒボタン２０ｃを操作しながらＢボタン２０ｅが操作され、ボール１０２が判定領域１０４ｃ内に存在するときに、図１０（ａ）に示すように、キャラクタ１００ａは決めポーズをとる動作を行う。図１０（ａ）の決めポーズをとる動作の間、ボール１０２は動作を停止している。キャラクタ１００ａがポーズをとる動作が終了した後、図１０（ｂ）および図１０（ｃ）に示すように、ボール１０２はキャラクタ１００ａの存在する方向に近づく動作を行う。そして、キャラクタ１００ａがショットできる位置までボール１０２が近づいたときに、ショット動作を行う（図１０（ｄ））。
【００６０】
図１１は、他の守備系のスペシャルショットであるＳＳ５を説明するための図である。図１１を参照して、キャラクタ１００ａにＳＳ５が割り当てられている場合には、仮想空間にはキャラクタ１００ａの位置を基準として判定領域１０４ｄが設定される。この状態において、プレイヤがＲボタン２０ｃを操作しながらＢボタン２０ｅを操作すると、キャラクタ１００ｂによってショット動作されたボール１０２が判定領域１０４ｄ内に存在するときに、キャラクタ１００ａはＳＳ５の動作を開始する。
【００６１】
図１１を参照して、キャラクタ１００ａは現在テニスコートのネットの近くに位置しており、相手キャラクタ１００ｂによってショットされたボール１０２はロビングボールとなり、キャラクタ１００ｂの頭を超えて後方に落ちるような軌道で移動している。このため、通常であれば、キャラクタ１００ａはボール１０２に追いつくことができず失点となってしまう。しかしながら、守備系のスペシャルショットであるＳＳ５を動作させることにより失点を防ぐことができる。具体的には、Ｒボタン２０ｃを操作しながらＢボタン２０ｅが操作されることによって、ボール１０２が判定領域１０４ｄ内に存在するときに、キャラクタ１００ａは図１２に示すようなスペシャルショット動作を行う。まず、キャラクタ１００ａはその場で亀１００ａ’に変身する（図１２（ａ））、その後、大きく迂回する軌道を描きながら、徐々にボール１０２の存在する位置に向かって移動する（図１２（ｂ））。そして、キャラクタ１００ａがボール１０２をショットできる位置まで近づいたときに、通常のキャラクタ１００に戻って、ショット動作を行う（図１２（ｃ））。なお、ＳＳ５では、スペシャルショット動作（亀になってボール１０２に近づいた後ショットする動作）の動作時間が短くなりすぎないように、スペシャルショットの開始が判断された時点におけるキャラクタ１００ａとボール１０２の間の距離に応じて、ボール１０２に近づく軌道が決定される。すなわち、当該距離が短い場合には、半径が大きい円弧軌道でボール１０２に近づく軌道となり、長い場合には、半径が小さい円弧軌道でボール１０２に近づく軌道となる。なお、当該距離が長い場合に直線的にボール１０２に近づくようにしてもよい。
【００６２】
上述のように、守備系のスペシャルショットであるＳＳ３およびＳＳ５では、ボール１０２の動作を停止し、その間に、キャラクタ１００ａがボール１０２の方へ移動することによって、キャラクタ１００ａがボール１０２をショットできる位置関係に調整してショット動作を行うようにしている。また、ＳＳ４では、ボール１０２の動作を停止して、その間に、キャラクタ１００ａが決めポーズ動作をし、その後、ボール１０２を通常の動作を停止したまま強制的にキャラクタ１００ａの方へ移動することによって、キャラクタ１００ａがボール１０２をショットできる位置関係に調整してショット動作を行うようにしている。これによって、通常ショットでは届かないようなボールに対してショットを行うことができ、ゲームプレイの連続性を保ちつつ、意外性に富んだテニスゲームを提供することができる。なお、キャラクタ１００ａおよびボール１０２の両方を互いに近づけるように移動させてもよい。
【００６３】
また、他の実施形態においては、キャラクタ１００の全体を移動させる代わりに、その一部、すなわち、ラケット１０１を移動させるようにしてもよい。すなわち、スペシャルショット動作において、ラケット１０１をボール１０２に接触する位置に移動させるようにしてもよい。この場合、ラケット１０１がボール１０２に接触したこと応じて、他のショットと同様にボールが打ち返されるようにする。また、ラケット１０１を移動させる前に、キャラクタ１００にラケットを投げる動作をさせるようにしてもよい。
【００６４】
なお、スペシャルショットを出すためにはパワー（以下、「ＳＳパワー」と呼ぶ）をためる必要がある。キャラクタ１００はジョイスティックの操作によってテニスコート上を移動することができるが、キャラクタ１００が移動したときに、移動量に応じてＳＳパワーが蓄積される。そして、ＳＳパワーが最大のときでなければスペシャルショットを出すことができない。すなわち、ＳＳパワーが最大でなければ、Ａボタン２０ｂやＢボタン２０ｅを操作しても、キャラクタ１００はスペシャルショット動作を行わない。また、キャラクタ１００がスペシャルショット動作を行った後はＳＳパワーは０になる。これにより、スペシャルショットを頻繁に出すことが制限されゲームバランスがこわれるのを防いでいる。なお、他の要因によってＳＳパワーを増減させてもよい。なお、スペシャルショット動作を行なった後にＳＳパワーを０にせず、所定の法則に従って減少させてもよい。
【００６５】
図１３は、ＳＳパワーの蓄積量をプレイヤに示す方法を説明するための図である。具体的に言うと、図３〜図１２では省略したが、ラケット１０１の縁部には、発光するオブジェクト１０６が配置される。この発光オブジェクト１０６は、ＳＳパワーが０のときには、１０６ａのように点形状のオブジェクトであり、この点形状のオブジェクトをラケットの縁部を周回させる（図１３（ａ）と（ｂ）の間の変化を繰り返す）。ＳＳパワーが蓄積すると、発光オブジェクト１０６は、１０６ｂのようにラケットの縁に沿って伸びる形状になる。この状態においても発光オブジェクト１０６はラケットの縁部を周回する（図１３（ｃ）（ｄ））。そして、ＳＳパワーの蓄積量が多くなるにつれて、縁に沿って伸びる長さが長くなり、ついにＳＳパワーが最大になったときには、発光オブジェクト１０６はラケットの縁全体に伸びる形状になる（図１３（ｅ））。プレイヤは、この発光オブジェクト１０６の形状を見て現在蓄積しているＳＳパワーの量を知ることができる。
【００６６】
なお、発光オブジェクト１０６はラケット１０１ごと（すなわちキャラクタ１００ごと）に配置され、キャラクタごとのＳＳパワー値に応じた形状となる。すなわち、テニスゲームにおいて、キャラクタごとのパワー値を計算し、各キャラクタは自分の当該パワー値が所定条件を満たすときに特定ショットを出すことができ、各キャラクタのラケット画像を自分の当該パワー値に応じて変化させるのである。
【００６７】
パワーを表すゲージは、通常、仮想空間を表現した画像とは別に蓄積量に応じて伸びるバーのような画像で表現されるが、本実施形態のテニスゲームでは、仮想空間内に発光オブジェクトを配置し、その形状を変化させることによって、現在蓄積しているパワー量をプレイヤに提示している。このため、バーのような画像を表示する領域が不要になるため、仮想空間を表現する画像を広く確保することができるし、バーのような画像を仮想空間を表現する画像に重ねて表示する場のように仮想空間の画像の邪魔になることがない。また、各キャラクタが持つラケットの縁部に配置されるから、パワーの蓄積量とキャラクタとの対応関係がすぐにわかるという利点がある。
【００６８】
なお、本実施形態では、発行するオブジェクト１０６をラケット１０１の縁部に配置するようにしたが、ラケット１０１の画像（テクスチャ）を変更することによりラケットの縁部が発光し、その発光形状が変化するようにしてもよい。
【００６９】
次に、図１４〜図２４を参照して、本実施形態のテニスゲームを実行するために必要な各種テーブルについて説明する。このテーブルは光ディスク１６に記憶され、ゲームプログラム実行時にはメインメモリ３４に転送されて記憶される。なお、これらのテーブルデータは、実際にテーブルデータの形式で記憶されている必要はなく、ゲームプログラムにおいて、このテーブルに相当する内容の処理が記述されていればよい。
【００７０】
図１４は、キャラクタテーブルを表した図である。本実施形態のテニスゲームでは、それぞれ特徴のある複数のキャラクタが予め用意されており、プレイヤは。ゲーム開始前に、自分が操作するキャラクタをこれらのキャラクタから１つ選択する。キャラクタテーブルは、予め用意されたキャラクタごとに、キャラクタ名、能力値（足の速さ、ショットしたボールの速さ、スピンのうまさ、スタミナ値等）が設定されており、さらに、攻撃系スペシャルショット名および守備系スペシャルショット名（実際にはスペシャルショットを識別する番号）が定義されている。図１４に示すように、キャラクタ１には攻撃系ＳＳ１および守備系ＳＳ３が割り当てられ、キャラクタ２には攻撃系ＳＳ２および守備系ＳＳ４が割り当てられている（キャラクタ３以降も同様）。すなわち、キャラクタ１を選択したプレイヤは、Ｒボタン２０ｃを操作しながらＡボタン２０ｂを操作したときには自分が操作するキャラクタにＳＳ１動作をさせることができ、Ｒボタン２０ｃを操作しながらＢボタン２０ｅを操作したときには自分が操作するキャラクタにＳＳ３動作をさせることができる。
【００７１】
図１５は、スペシャルショットテーブル（以下、ＳＳテーブルと呼ぶ）を表した図である。ＳＳテーブルには、判定領域の種類と、スペシャルショット時のキャラクタの動作内容と、スペシャルショット時のキャラクタおよびボールの動作内容が定義される。
【００７２】
判定領域の種類は、スペシャルショット動作を開始する条件となる判定領域（スペシャルショット領域（以下、「ＳＳ領域」と呼ぶ））の種類を定義したものである。すなわち、ＳＳ１については、ＳＳ領域Ａに基づいて仮想空間に設定される判定領域内にボール１０２が存在することが開始条件となる。なお、開始条件としてはＡボタン２０ｂの操作が前提であることは前述の通りである（守備系のスペシャルショットについてはＢボタン２０ｅの操作が前提である）。すなわち、より具体的には、相手キャラクタ１００がボールをショットした後、Ｒボタン２０ｃを操作しながらＡボタン２０ｂの操作がされ、その操作の時点またはそれ以降に、ボール１０２がＳＳ領域Ａに基づく判定領域内に存在することとなったときに、ＳＳ１の動作が開始する。ＳＳ領域Ａおよびそれに基づく判定領域の設定の仕方については後述する。
【００７３】
ＳＳ２についてもＳＳ領域Ａに基づく判定領域によって前述と同様に開始判定がされる。ＳＳ３はＳＳ領域Ｂに基づく判定領域による。ＳＳ４以降も同様に１つの領域が定義される。なお、ＳＳ７については、「全領域」が定義されている。すなわち、ＳＳ７については、Ｒボタン２０ｃを操作しながらＡボタン２０ｂを操作すれば、ボール１０２が自コート側のどこに存在しようと、その時点でショット前動作が開始されることになる。ただし、後述のようにボール１０２が相手コートに存在する場合にはショット前動作は開始されない。
【００７４】
図１５において、スペシャルショット時のキャラクタの動作内容としては、スペシャルショット動作をすると判定されたキャラクタが仮想空間内で行う動作が定義される。例えば、ＳＳ１ではハンマーを出して構えて大きく振り下ろす動作がされ（図６（ａ）〜（ｃ））、その後、ショット動作がされる（図６（ｄ））。ＳＳ３では、その場で回転し（図９（ａ））、回転しながらボールの方向へ移動し（図９（ｂ）（ｃ））、その後、ショット動作がされる（図９（ｄ））。
【００７５】
図１５において、スペシャルショット時のボールの動作内容は、キャラクタ１００によるスペシャルショット動作の間における、ボールの仮想空間内における動作内容を定義したものである。このボールの動作はキャラクタ１００のショットによってボール１０２に与えられる移動パラメータとは無関係である。すなわち、スペシャルショット動作時の間、ボール１０２はキャラクタ１００のショットによってボール１０２に与えられる移動パラメータを無視して動作する。なお、ボールの移動パラメータとしては、例えばボールの初速度、初期方向およびスピンを示すパラメータが考えられる。例えば、ＳＳ１については、スペシャルショット動作の間、ボール１０２は停止することが定義されている。また、ＳＳ４については、ボールはスペシャルショット動作の当初は停止し、キャラクタ１００のポーズをとる動作が終了した後、当該キャラクタ１００の位置の方向へ移動することが定義されている。なお、停止が定義されている場合、後述の通り、ボール１０２は特別な動作をすることはない。
【００７６】
図１６は、領域テーブルを表した図である。領域テーブルは前述の各ＳＳ領域および通常ショット領域を定義したものである。このテーブルにより仮想空間に対する相対的な領域が定義され、キャラクタ１００の現在位置を基準にしてこれらの領域が仮想空間内に設定されることによって、前述の判定領域１０４ａ〜ｄが設定される。各領域の具体的な説明は図１７〜図２１を参照して説明する。
【００７７】
各領域について説明する前に、図１７を参照して、ゲーム空間座標を定義する。ゲーム空間座標は、テニスコート１０３のベースライン方向にＸ軸をとり（右方向が正方向）、サイドライン方向にＺ軸をとる（奥行き方向が正方向）。そして、仮想空間の高さ方向にＹ軸をとる（高さ方向が正方向）。
【００７８】
通常ショット領域は、図１８のように定義される。すなわち、通常ショット領域は、キャラクタの仮想空間における位置１０７を含むようなＸＹ平面（Ｚ＝一定の平面）上に設定される領域である。そして、この平面上において、位置１０７からＸ方向（右構え時は正方向、左構え時は負方向）にＸ１、Ｙ方向（正方向）にＹ１だけ離れた位置を中心とする長径がＲ１、短径がＲ２の楕円領域が通常ショット領域に設定される。このように設定される通常ショット領域は、図４の判定領域１０４ａとなり、前述の通り、通常ショット動作の開始の判定に利用される。
【００７９】
ＳＳ領域Ａは、図１９のように定義される。すなわち、ＳＳ領域Ａは、キャラクタの仮想空間における位置１０７を含むようなＸＹ平面（Ｚ＝一定の平面）上に設定される領域である。そして、この平面上において、位置１０７からＸ方向（右構え時は正方向、左構え時は負方向）にＸ２、Ｙ方向（正方向）にＹ１だけ離れた位置を中心とする長径がＲ３、短径がＲ４の楕円領域がＳＳ領域Ａに設定される。Ｒ３はＲ１より大きく、Ｒ４はＲ２より大きいため、ＳＳ領域Ａは通常ショット領域には含まれない領域を含む領域になる。このように、ＳＳ領域は通常ショット領域よりも領域内の面積または体積が大きくなるように設定され、面積または体積が大きくない場合であっても、少なくとも、通常ショット領域には含まれない領域を含むように設定される。また、ＳＳ領域は、通常ショット領域内の地点のうちのキャラクタオブジェクトからみて最も遠い地点とキャラクタオブジェクトとの間の距離よりも、キャラクタオブジェクトからの距離が遠い地点を含むように設定される。このように設定されるＳＳ領域Ａは、図５の判定領域１０４ｂとなり、前述の通り、ＳＳ１動作およびＳＳ２動作の開始の判定に利用される。なお、本実施形態においては、通常ショット領域およびＳＳ領域Ａを平面領域としたが、Ｚ方向に幅を持たせて立体的な領域にしてもよい。
【００８０】
ＳＳ領域Ｂは、図２０のように定義される。すなわち、ＳＳ領域Ｂは、キャラクタの仮想空間における位置１０７を中心とし、底面の半径がＲ５，高さがＨ１の円柱（０＜Ｙ＜Ｈ１）のうち、右構え時はＸ＞０かつＺ＞０、左構え時はＸ＜０かつＺ＞０の１／４円柱領域がＳＳ領域Ｂに設定される。なお、説明の便宜上、ここでは空間座標の原点を位置１０７の位置においている。Ｒ５はＸ１＋Ｒ１よりも大きく設定され、ＳＳ領域Ｂは通常ショット領域には含まれない領域を含む領域になる。このように設定されるＳＳ領域Ｂは、図８の判定領域１０４ｃとなり、前述の通り、ＳＳ３動作およびＳＳ４動作の開始の判定に利用される。
【００８１】
ＳＳ領域Ｃは、図２１のように定義される。すなわち、ＳＳ領域Ｃは、キャラクタの仮想空間における位置１０７を中心とし、底面の半径がＲ６，高さがＨ２の円柱（０＜Ｙ＜Ｈ２）の円柱領域がＳＳ領域Ｃに設定される。なお、説明の便宜上、ここでは空間座標の原点を位置１０７の位置においている。Ｒ６はＸ１＋Ｒ１よりも大きく設定され、ＳＳ領域Ｂは通常ショット領域には含まれない領域を含む領域になる。このように設定されるＳＳ領域Ｃは、図１１の判定領域１０４ｄとなり、前述の通り、ＳＳ５動作の開始の判定に利用される。
【００８２】
なお、ＳＳ領域Ｄについては図示しないが、高さが０＜Ｙ＜Ｈ３の領域内がＳＳ領域Ｄに設定される（ＳＳ領域Ｄはキャラクタの仮想空間における位置１０７は関係ない）。
【００８３】
以上のように本実施形態においては、通常ショット、攻撃系のスペシャルショット、および守備系のスペシャルショットについて、それぞれ異なった判定領域が設定される。これらの判定領域は、それぞれ、他の判定領域には含まれない領域を含むように設定されている。つまり、通常ショット、攻撃系のスペシャルショット、および守備系のスペシャルショットの各ショットには、それぞれ、そのショットでしかボールをショットできない領域がある。なお、他の実施形態においては、あるショットの判定領域の全領域が他のショットの判定領域に含まれるように設定されてもよい。
【００８４】
なお、上述の説明では省略したが、図１６の領域テーブルで定義される通常ショット領域および各ＳＳ領域に基づいて仮想空間に設定される領域のうち、相手コート内に位置する領域は判定領域から除かれる。これにより、相手コート内に存在するボールに対してショット動作を行うことを回避することができる。
【００８５】
図２２は、仮想カメラ制御テーブルを表した図である。前述の通り、通常の状態（どのキャラクタ１００もスペシャルショット動作を行っていない状態）において、仮想カメラは、俯瞰視点または後方視点に設定される。なお、俯瞰視点とは、具体的には、テニスコートの上空にカメラ位置を設定し、そこから地面への方向を視線方向とし、キャラクタ１００ａおよびキャラクタ１００ｂの両方を捉える画角に設定される視点である。後方視点とは、キャラクタ１００のいずれか一方の後方にカメラ位置を設定し、そこから他方への方向を視線方向とし、キャラクタ１００ａおよびキャラクタ１００ｂの両方を捉える画角に設定される視点である。このように、通常の状態においては、キャラクタ１００ａおよびキャラクタ１００ｂの両方が含まれるような画面が表示されるように仮想カメラを設定する。ここで、あるキャラクタがスペシャルショット動作を開始するときには、以下のようなカメラ制御がされる。すなわち、スペシャルショット動作が開始されたとき、スペシャルショット動作を行うキャラクタをアップにするように仮想カメラが設定される。これによって、スペシャルショット動作が強調され、スペシャルショット動作の演出効果が高くなる。そして、スペシャルショット動作中のあるタイミング（少なくともキャラクタ１００がショット動作によりボール１０２を打撃する前のタイミング）において、通常状態の仮想カメラに戻る。すなわち、ショット動作によりボール１０２を打撃する際には、通常状態の仮想カメラになっているため、キャラクタ１００ａおよび１００ｂの両方がゲーム画面に含まれており、その後のプレイに支障をきたすことがない。
【００８６】
なお、図２２において「俯瞰視点」とは、図２３（ａ）に示すような、ゲーム空間を俯瞰した視点によるカメラ制御のことを指す。また、「アップ」とは、図２３（ｂ）に示すような、スペシャルショット動作をするキャラクタ１００をアップにするカメラ制御のことを指す。また、「後方視点」とは、図２３（ｃ）に示すような、キャラクタ１００の後方から自キャラクタおよび相手キャラクタ（対戦キャラクタ）の両方を撮影するようなカメラ制御のことを指す。
【００８７】
図２４は、スペシャルショット効果テーブル（ＳＳ効果テーブル）を表した図である。ＳＳ効果テーブルにおいては、スペシャルショットごとに、ショット動作後のボール１０２の移動パラメータが定義されている。具体的には、初速度と初期方向とスピンのパラメータが移動パラメータとして定義され、ショット動作後のボール１０２の各移動パラメータは、このＳＳ効果テーブルを参照して決定される。なお、ＳＳ効果テーブルで通常ショットと異なるパラメータが定義されるのは、攻撃系のスペシャルショットのみである。守備系のスペシャルショットについては、相手キャラクタ１００がショットした通常では打ち返せないようなボールを打ち返すことに意味があるため、打ち返した後のボールの移動パラメータは特別ではない。しかしながら、守備系のスペシャルショットについても通常ショットと異なるパラメータを定義してもよい。
【００８８】
図２５〜図２９は、ＣＰＵ２２およびＧＰＵ２４によるゲーム処理の流れを示すフローチャートである。ゲーム装置１４の電源が投入されると、ＣＰＵ２２は、図示しないブートＲＯＭに記憶されている起動プログラムを実行し、メインメモリ３４等の各ユニットが初期化される。そして、光ディスク４に格納されたテニスゲームプログラムが光ディスクドライブ５４を介してメインメモリ３４に読み込まれ、テニスゲームプログラムの実行が開始される。
【００８９】
図２５を参照して、まず、ゲーム開始に先立って、ステップＳ１において、モード設定処理が行われる。本実施形態においては、プレイヤが３つのモードを選択することができるが、他の実施形態においては、ゲーム装置によって自動的にモードが選択されてもよい。ここで、３つのモードとは、「簡単モード」「ノーマルモード」「テクニカルモード」の各モードである。「簡単モード」「ノーマルモード」「テクニカルモード」の順にゲーム操作の難易度が高くなる。図３〜図１２を参照して前述したゲーム操作は「テクニカルモード」におけるゲーム操作である。これに対して「ノーマルモード」では、攻撃系のスペシャルショットと守備系のスペシャルショットの選択をプログラムで自動的に行う。すなわち、「テクニカルモード」においては、攻撃系のスペシャルショット動作をさせるときにはＡボタン２０ｂとＲボタン２０ｃを同時押し操作し、守備系のスペシャルショット動作をさせるときにはＢボタン２０ｅとＲボタン２０ｃを同時押し操作する必要があったが、「ノーマルモード」が選択された場合には、Ａボタン２０ｂとＲボタン２０ｃを同時押し操作したときに、攻撃系のスペシャルショットと守備系のスペシャルショットのうちの１つがプログラムで自動的に選択される。具体的には、「ノーマルモード」の場合、Ａボタン２０ｂとＲボタン２０ｃを同時押し操作があったときに、まず、攻撃系のスペシャルショットの判定領域内にボール１０２が存在するか否かが判定され、当該領域内にボール１０２が存在する場合には、攻撃系のスペシャルショットの動作がされる。攻撃系のスペシャルショットの判定領域内にボール１０２が存在しない場合には、守備系のスペシャルショットの判定領域内にボール１０２が存在するか否かが判定され、当該領域内にボール１０２が存在する場合には、守備系のスペシャルショットの動作がされる。守備系のスペシャルショットの判定領域内にボール１０２が存在しない場合には、何らショット動作が行われないか、または、ショット動作が失敗するような動作が行われる（なお、前述の通り、この判定はボタンを操作したときのみでなくその後も継続して行われる）。このように、「ノーマルモード」では、プレイヤは攻撃系のスペシャルショットと守備系のスペシャルショットの選択操作をする必要がないため、ゲーム操作が簡単になる。
【００９０】
さらに、「簡単モード」では、Ａボタン２０ｂを操作したときに（Ｒボタン２０ｃを同時操作する必要はない）、スペシャルショット動作を行う条件が満たされているか否か（例えば、スペシャルショットゲージ（ＳＳゲージ）が満タンである等）が判断され、満たされている場合には、「ノーマルモード」でＡボタン２０ｂとＲボタン２０ｃが同時押し操作されたときと同じように、攻撃系のスペシャルショットと守備系のスペシャルショットのうちの１つがプログラムで自動的に選択される。Ａボタン２０ｂを操作したときに、スペシャルショットを発動する条件が満たされていない場合には、通常ショットの動作がされる。このように、「簡単モード」では、プレイヤは、攻撃系のスペシャルショットと守備系のスペシャルショットの選択操作をする必要がないことに加えて、通常ショットとスペシャルショットの選択操作をする必要がないため、よりいっそうゲーム操作が簡単になる。
【００９１】
上述のようなモードの選択がメニュー画面等により行われた後、ステップ３において、ＳＳゲージ、ショットフラグ、スペシャルショットフラグ（ＳＳフラグ）、停止フラグ、および、仮想カメラの設定を初期化する処理がされる。
【００９２】
ここで、本実施形態のテニスゲームでは、前述の通り、２人のプレイヤ（プレイヤ１およびプレイヤ２）によってそれぞれのキャラクタ（キャラクタ１００ａ、キャラクタ１００ｂ）が操作される。なお、以下の説明において、キャラクタ１００ａをキャラクタ１と呼び、キャラクタ１００ｂをキャラクタ２と呼ぶ。また、キャラクタ１とキャラクタ２を区別する必要がないときは単にキャラクタと呼ぶ。ステップＳ３で初期化される各変数はキャラクタ１とキャラクタ２のそれぞれについて設けられ、すべてが初期化される。また、停止フラグは、キャラクタ１とキャラクタ２の他に、ボールおよびその他のオブジェクトについても設けられる。
【００９３】
ＳＳゲージは前述のＳＳパワー値を表す変数である。ステップＳ３においては、キャラクタ１のＳＳゲージの値およびキャラクタ２のＳＳゲージの値は、それぞれ０に設定される。
【００９４】
ショットフラグは、キャラクタがショット動作を行っていることを示すフラグである。すなわち、ショットフラグは、プレイヤがショット操作をしたときに（Ａボタン２０ｂを操作したとき、Ｒボタン２０ｃを操作しながらＡボタン２０ｂを操作したとき、または、Ｂボタン２０ｅを操作したときに）オンになるフラグであり、一度オンになると、ショット動作（通常ショット動作またはスペシャルショット動作）を終了するかＺボタンを操作するかまたはポイントが入るまでオン状態を継続する。ステップＳ３においては、キャラクタ１のショットフラグおよびキャラクタ２のショットフラグは、それぞれ“オフ”に設定される。
【００９５】
ＳＳフラグは、キャラクタがスペシャルショット動作を行っていることを示すフラグである。すなわち、ＳＳフラグは、スペシャルショット動作を行うことが判定されたときにオンになるフラグであり、スペシャルショット動作が終了するまでオン状態を継続する。ステップＳ３においては、キャラクタ１のＳＳフラグおよびキャラクタ２のＳＳフラグは、それぞれ“オフ”に設定される。
【００９６】
停止フラグは、オブジェクトが動作不可能であることを示すフラグである。つまり、停止フラグがオンの間、オブジェクトの動作が停止する。停止フラグは、あるキャラクタがスペシャルショット動作中にオンになるフラグである。ステップＳ３においては、キャラクタ１の停止フラグおよびキャラクタ２の停止フラグは、それぞれ“オフ”に設定される。つまり、停止フラグが“オン”のとき、キャラクタは動作を停止し、停止フラグが“オン”であるキャラクタに対するプレイヤの入力操作は受け付けられない。また、ステップＳ３においては、ボールの停止フラグやその他のオブジェクトの停止フラグについても“オフ”に設定される。
【００９７】
また、ステップＳ３において、仮想カメラは俯瞰視点または後方視点のいずれかに設定される。つまり、仮想カメラは、キャラクタ１および２が画面に表示されるように設定される。俯瞰視点および後方視点のいずれに設定されるかはプレイヤがメニュー画面等で選択する。また、ステップＳ３では、この他にも各種変数の初期化が行われる。
【００９８】
ステップＳ３の後、ステップＳ５において、キャラクタ１の停止フラグがオンか否かが判断され、Ｎｏの場合（すなわち、キャラクタ１の動作が停止状態でない場合）、ステップＳ７において、図２６を参照して後述するキャラクタ処理がキャラクタ１について実行される。ステップＳ５でＹＥＳまたはＳ７の後、ステップＳ９において、キャラクタ２の停止フラグがオンか否かが判断され、Ｎｏの場合（すなわち、キャラクタ２の動作が停止状態でない場合）、ステップＳ１１において、図２６を参照して後述するキャラクタ処理がキャラクタ２について実行される。ステップＳ９でＹＥＳまたはＳ１１の後、ステップＳ１３において、ボールの停止フラグがオンか否かが判断され、Ｎｏの場合（すなわち、ボール通常動作が停止状態でない場合）、ステップＳ１５において、ボール１０２を仮想空間内で移動させる処理が行われる。具体的にはキャラクタのサーブ動作やショット動作（通常ショットとスペシャルショットの両方を含む）により設定されるボール１０２の移動パラメータに基づいて、ボール１０２の移動処理がされる。ステップＳ１３でＹＥＳまたはＳ１５の後、ステップＳ１７において、その他のオブジェクト（観客キャラクタや審判キャラクタやその他動作する非生命オブジェクト等）の停止フラグがオンか否かが判断され、Ｎｏの場合（すなわち、その他のオブジェクトの動作が停止状態でない場合）、ステップＳ１９において、その他のオブジェクトの動作処理が行われる。ステップＳ１７でＹＥＳまたはＳ１９の後、ステップＳ２１において、その他の処理が行われる。具体的には、ＳＳゲージ値に基づいて発光オブジェクト１０６の形状を決定しラケット１０１の縁部に配置する処理や、ポイントが入ったか否かを判定する処理（一方のキャラクタのサーブまたはショット動作によるボール１０２を他方のキャラクタが打ち返すことができなかったか否かや、サーブまたはショット動作したボール１０２がアウトになったか否か等を判断し、ポイントを加算する処理）がされる。
【００９９】
ステップＳ２１の後、ステップＳ２３において、表示処理が行われる。すなわち、仮想カメラで仮想空間を撮影した画像をゲーム画像としてテレビ１２に表示する処理がされる。ステップＳ２３の後、ステップＳ２５において、ゲーム終了か否かが判断され、ＹＥＳの場合、ゲーム処理を終了し、ＮＯの場合、ステップＳ５に戻って、ゲーム処理を繰り返す。なお、図２５のフローチャートでは省略したが、各セットの開始時にはサーブ処理がされ、また、セットが終了したときには、所定の変数の初期化処理がされる。
【０１００】
図２６および図２７は、図２５におけるステップＳ７およびＳ１１で実行されるキャラクタ処理の詳細フローである。このキャラクタ処理では、プレイヤ１またはプレイヤ２からのそれぞれの操作入力に基づいて、キャラクタ１またはキャラクタ２の移動や動作の処理がされる。
【０１０１】
キャラクタ処理においては、まず、ステップＳ３１において、現在処理対象になっているキャラクタのＳＳフラグがオンか否かが判断される。ＳＳフラグがオンの場合は、ステップＳ３３において、図２９を参照して後述するスペシャルショット処理（ＳＳ処理）が実行された後、キャラクタ処理を終了して図２５の処理に戻る。
【０１０２】
なお、前述の通り、キャラクタ処理は、ステップＳ７におけるキャラクタ１についてのキャラクタ処理と、ステップＳ１１におけるキャラクタ２についてのキャラクタ処理とが同じ処理内容で行われる。ここで、現在処理対象になっているキャラクタとは、ステップＳ７におけるキャラクタ処理においてはキャラクタ１のことであり、ステップＳ１１におけるキャラクタ処理においてはキャラクタ２のことである。なお、以下のキャラクタ処理の説明において、現在処理対象になっているキャラクタのことを「対象キャラクタ」と呼ぶ。
【０１０３】
ＳＳフラグがオフの場合は、ステップＳ３５において、現在の対象キャラクタを操作するプレイヤの操作手段２０の操作入力が検出される（操作手段２０はプレイヤごとに設けられる）。次にステップＳ３７において、ジョイスティック２０ａの入力があったか否かが判断される。ＹＥＳの場合はステップＳ３９に進み、ジョイスティック入力に基づいて、対象キャラクタの移動制御が行われる。具体的にはジョイスティックを上方に倒したときには、仮想空間座標のＺ軸正方向に、下方に倒したときにはＺ軸負方向に、右方向に倒したときにはＸ軸正方向に、左方向に倒したときにはＸ軸負方向に移動する。なお、ステップＳ３９において、ショットフラグがオンの場合は、移動処理が行われないようにしてもよい。また、移動処理はされるがショットフラグがオンのときよりも移動量が少ないように制御してもよい。ステップＳ３９の後、ステップＳ４１において対象キャラクタのＳＳゲージの値を所定量だけ増加させる処理がされる。すなわち、キャラクタは移動したときにＳＳゲージ値が増加する。なお、ＳＳゲージ値は最大値以上は増加しない。
【０１０４】
ステップＳ３７でＮＯまたはＳ４１の後、ステップＳ４５において、現在のボール１０２は相手キャラクタがショット（またはサーブ）したボールか否かが判断される。すなわち、テニスゲームにおいては、キャラクタが交互にショット動作を行うが、ステップＳ４５では、次にショット動作をするのが対象キャラクタであるか否かが判断される。ＹＥＳの場合は、ステップＳ４７〜ステップＳ９９のショットに関する処理がされる。ＮＯの場合は、これらのショットに関する処理はされずに、キャラクタ処理を終了して図２５の処理に戻る。
【０１０５】
ステップＳ４５でＹＥＳの場合、ステップＳ４７において、Ａボタン２０ｂの入力があったか否かが判断される。ＹＥＳの場合、ステップＳ４９において、ＳＳゲージが満タンか否かが判断される。簡単モードの場合、このステップＳ４９によって、対象キャラクタが通常ショットを行うかそれともスペシャルショットを行うかが決定されることになる。ＳＳゲージが満タンでない場合は、ステップＳ５１において、第１候補として通常ショットを設定し、第２候補および第３候補を設定なしとする処理がされる。この第１候補〜第３候補の設定は、後述のステップＳ７９〜Ｓ９９の処理で利用される。
【０１０６】
一方、ＳＳゲージが満タンの場合、ステップＳ５３において、ステップＳ１において設定されたモードが簡単モードか否かが判断される。簡単モードの場合には、ステップＳ５５において、第１候補として対象キャラクタの攻撃系スペシャルショットを設定し、第２候補として対象キャラクタの守備系スペシャルショットを設定し、第３候補として通常ショットを設定する処理がされる。一方、簡単モードでない場合には、ステップＳ５７において、Ｒボタン入力があったか否かが判断される。ノーマルモードの場合、このステップＳ５７によって、対象キャラクタが通常ショットを行うかそれともスペシャルショットを行うかが決定されることになる。ステップＳ５７でＮＯの場合には、ステップＳ５１に進み、ＹＥＳの場合には、ステップＳ５９において、ノーマルモードか否かが判断される。ノーマルモードの場合には、ステップＳ５５に進み、ノーマルモードでない場合（テクニカルモードの場合）には、ステップＳ６１において、第１候補として対象キャラクタの攻撃系スペシャルショット（図面ではスペシャルショットを「ＳＳ」と略す。）を設定し、第２候補および第３候補を設定なしとする処理がされる。
【０１０７】
ステップＳ５１、ステップＳ５５、および、ステップＳ６１の後、ステップＳ６３において、対象キャラクタのショットフラグをオンにする処理がされる。ステップＳ４７でＮＯの場合およびステップＳ６３の後、図２７のステップＳ６５に進む。
【０１０８】
ステップＳ６５において、Ｒボタン２０ｃとＢボタン２０ｅの同時押し操作がされたか否かが判断される。当該操作がされた場合、ステップＳ６７に進み、対象キャラクタのＳＳゲージが満タンか否かが判断される。満タンの場合、ステップＳ６９において、第１候補として対象キャラクタの守備系スペシャルショットを設定し、第２候補および第３候補を設定なしとする処理がされる。ステップＳ６９の後、ステップＳ７１に進み、ショットフラグをオンにする処理がされる。
【０１０９】
ステップＳ６５でＮＯの場合、Ｓ６７でＮＯの場合、または、ステップＳ７１の後、ステップＳ７３に進み、Ｚボタン入力があったか否かが判断される。Ｚボタン入力があった場合、ステップＳ７５において、ショットフラグをオフにする処理がされる。これは、一度ショット操作をした後キャンセル入力を許容するための処理である。
【０１１０】
ステップＳ７３でＮＯの場合、または、ステップＳ７５の後、ステップＳ７７において、対象キャラクタのショットフラグがオンか否かが判断される。ショットフラグがオフの場合、キャラクタ処理を終了し図２５の処理に戻る。ショットフラグがオンの場合、ステップＳ７９において、ループ処理のための変数ｘを１にする処理がされる。ステップＳ７９の後、ステップＳ８１において、Ｓ５１，Ｓ５５，Ｓ６１またはＳ６９の設定により第ｘ候補になんらかのショット（通常ショット、攻撃系のスペシャルショット、または守備系のスペシャルショット）が設定がされているか否かが判断される。設定がされていない場合は、キャラクタ処理を終了し図２５の処理に戻る。
【０１１１】
第ｘ候補になんらかのショットが設定されている場合は、ステップＳ８３において、図１５のＳＳテーブルを参照し、キャラクタの現在位置に基づいて、第ｘ候補に設定されているショットの種類に応じた判定領域をゲーム空間内に設定する処理がされる（図１８〜図２１参照）。ステップＳ８３の後、ステップＳ８５において、判定領域内にボール１０２が存在するか否かが判断される。判定領域内にボール１０２が存在する場合は、ステップＳ８７において、第ｘ候補に設定されているショットが攻撃系のスペシャルショットまたは守備系のスペシャルショットか否かが判断される。いずれかのスペシャルショットである場合は、ステップＳ８９において、ＳＳフラグをオンにし、ショットフラグをオフにする処理がされる。なお、ＳＳフラグがオンにされた場合は、次回のステップＳ３１においてＹＥＳと判定されて、ステップＳ３３で対象キャラクタがスペシャルショットの動作をする処理がされる。ステップＳ８９の後、ステップＳ９１において、他のキャラクタ（対象キャラクタではない他方のキャラクタ）、ボール１０２、および、その他のオブジェクトの停止フラグをオンにする処理がされる。これによって、他のキャラクタ、ボール、その他のオブジェクトは、図２５を参照して前述したように、動作処理が行われないことになる。すなわち、これらのオブジェクトの動作が停止される。なお、前述の通り、ボールは特定の動作をすることがある。
【０１１２】
ステップＳ９１の後、ステップＳ９３において、対象キャラクタがアップになるように仮想カメラを設定する処理がされる。具体的には、仮想カメラの視線方向を対象キャラクタが存在する方向とし、ズームアップするように仮想カメラを設定する。また、仮想カメラを対象キャラクタに近づける方向にカメラ位置を変更してもよい。ステップＳ９３の後、キャラクタ処理を終了し図２５の処理に戻る。
【０１１３】
一方、ステップＳ８７において、第ｘ候補に設定されているショットがスペシャルショットでないと判定された場合、すなわち、通常ショットであると判定された場合は、ステップＳ９５において、図２８を参照して後述する通常ショット処理がされて、対象キャラクタが通常ショットの動作をする処理がされる。ステップＳ９５の後、キャラクタ処理を終了し図２５の処理に戻る。
【０１１４】
前述のステップＳ８５において、判定領域内にボール１０２が存在しないと判定された場合、ステップＳ９７に進み、変数ｘに１を加算する処理がされる。その後、ステップＳ９９において、変数ｘが３より大きくなったか否かが判断され、大きくなった場合には、キャラクタ処理を終了し図２５の処理に戻る。変数ｘが３以下の場合には、ステップＳ８１に戻り、前述の処理を繰り返す。
【０１１５】
このように、ステップＳ７９〜Ｓ９９の処理によって、まず、第１候補のショットの種類に応じた判定領域内にボールがあるか否かが判定される。当該判定領域内にボールがある場合は、対象キャラクタが当該第１候補のショットの動作をする処理がされる。一方、当該判定領域内にボールがない場合は、次に、第２候補のショットの種類に応じた判定領域内にボールがあるか否かが判定される。当該判定領域内にボールがある場合は、対象キャラクタが当該第２候補のショットの動作をする処理がされる。さらに、当該判定領域内にボールがない場合は、第３候補のショットの種類に応じた判定領域内にボールがあるか否かが判定され、当該判定領域内にボールがある場合は、対象キャラクタが当該第３候補のショットの動作をする処理がされる。当該判定領域内にボールがない場合は、対象キャラクタはショット動作をしない。なお、第２候補、第３候補にショットの種類が設定されていない場合（「設定なし」の場合）は、第２候補、第３候補についての判定は行われない。
【０１１６】
以上のように、本実施形態では、簡単モードでＳＳゲージが満タンである場合、または、ノーマルモードでＳＳショットを行う操作がなされた場合には、第１〜第３候補までの３つのショットについて、判定領域内にボールが存在するか否かを判定することによって、それぞれのショット動作が可能であるか否かが判定される。したがって、第１候補のショットが不可能であっても、第２候補のショットが可能であれば当該第２候補のショットが行われる。さらに、第２候補のショットが不可能であっても、第３候補のショットが可能であれば当該第３候補のショットが行われる。ここで、上述したように、各ショットの判定領域は異なっており、判定領域は画面上は表示されないものである。したがって、プレイヤが各ショットの判定領域を正確に把握することは難しく、相手から打ち返される種々のボールに対してどのショットが可能であるかをその都度判断してショット操作を行うことは非常に難しいと考えられる。例えば、テクニカルモードでは、プレイヤが攻撃系のスペシャルショットを行うことを意図してショット操作を行っても、攻撃系のスペシャルショットの判定領域内にボールが存在せず、ショットが失敗してしまうことがある。このような、プレイヤが意図しないミスは、ゲームの興趣性を高めることはないばかりか、かえってプレイヤに不快感を与えるおそれがある。しかし、本実施形態によれば、簡単モードまたはノーマルモードでは、プレイヤが意図したショットが不可能であっても他のショットが可能であれば当該他のショットが行われるので、ユーザが意図しないミスを少なくすることができ、操作性を向上することができる。
【０１１７】
図２８は、図２７のステップＳ９５における通常ショット処理の詳細フローである。この通常ショット処理では、対象キャラクタ（キャラクタ１またはキャラクタ２）に通常ショットの動作をさせる処理が行われる。
【０１１８】
まず、ステップＳ１０１において、対象キャラクタに通常ショットの動作をさせる処理が行われる。次に、ステップＳ１０３において、ステップＳ１０１で行われたショット動作に応じて、ボールの移動パラメータを設定する処理が行われる。具体的には、ボールの初速度、方向、およびスピンの各値を設定する処理がされる。ステップＳ１０３の後、ステップＳ１０５において、ショットフラグをオフにする処理がされて、通常ショット処理を終了し図２７の処理に戻る。
【０１１９】
図２９は、図２６のステップＳ３３におけるＳＳ処理の詳細フローである。このＳＳ処理では、スペシャルショット動作をさせる処理が行われる。まず、ステップＳ１０７において、図１５を用いて前述したＳＳテーブルを参照して、キャラクタに１フレーム分のＳＳ時動作をさせる。ＳＳ時動作とは、他のオブジェクトの動作が停止している間に行われる動作である。対象キャラクタについてのＳＳ時動作とは、スペシャルショット動作を行うための１フレーム分の動作である。具体的には、対象キャラクタについては、ＳＳ時動作として、ボールとの位置を調整する動作（図９や図１１を参照）が行われる。また、位置を調整することによってキャラクタとボールとが所定の位置関係になった場合には、ボールをラケットで打撃する動作が行われる。なお、所定の位置関係とは、キャラクタがラケットをスイングした場合にラケットがボールに接触するような位置関係である。
【０１２０】
次に、ステップＳ１０９において、ＳＳテーブルを参照して、ボールに１フレーム分のＳＳ時動作をさせる。具体的には、ボールについては、ＳＳ時動作として、キャラクタとの位置を調整する動作（図１０）が行われる。なお、ボールについてのＳＳ時動作は、ボールとキャラクタとの位置関係が上記所定の位置関係になるまで行われる。なお、ＳＳテーブルにおいて、ボールが停止することが定義されている場合は、ステップＳ１０９では何ら処理が行われない。ステップＳ１０９の後、ステップＳ１１１において、図２２を用いて前述した仮想カメラ制御テーブルを参照して、カメラ切替タイミングか否かが判断される。カメラ切替タイミングであると判断された場合は、ステップＳ１１３において、仮想カメラは、図２５のステップＳ３における仮想カメラの設定と同様、俯瞰視点または後方視点のいずれかに設定される。なお、カメラ切替タイミングは、ラケットとボールが接触するタイミングより前であることが好ましい。すなわち、ゲーム装置は、ラケットとボールが接触するタイミングより前に、仮想カメラの設定を通常状態の設定に戻す。このようにすれば、ショット動作がおこなわれて、ボールが打撃動作に応じた移動を開始する際には、仮想カメラがショット動作前の設定に戻るので、ショット動作後のゲーム操作に影響を与えることが少ない。
【０１２１】
なお、本実施形態では、上記ステップＳ１０７およびＳ１０９において、キャラクタおよびボールについて位置を調整する処理がおこなわれる。この処理は、プレイヤによってコントローラに入力される移動指示入力には基づかない処理である。また、本実施形態では、キャラクタおよびボールについて位置を調整する処理がおこなわれる間、プレイヤによってコントローラに入力される移動指示入力は無視される。つまり、ゲーム装置は、位置調整がおこなわれている間（ステップＳ１０７およびＳ１０９の間）、コントローラからの移動指示入力による移動処理はおこなわない。ただし、他の実施形態においては、位置調整が行われている間、コントローラからの移動指示入力を受け付け、当該移動指示入力を反映させて位置調整を行うようにしてもよい。すなわち、位置調整処理において、キャラクタ（またはボール）が移動した後の位置が移動指示入力の内容に応じて変化するようにしてもよい。
【０１２２】
なお、他の実施形態においては、キャラクタのＳＳ時動作が行われる際に（具体的には、ステップＳ１０７の後やステップＳ１０９の後に）、特殊効果を表現するためのエフェクト表示を行うようにしてもよい。例えば、ラケットでボールを打つ位置の周囲を光らせたり、星や花びらのオブジェクトを生成して表示するようにしてもよい。これによって、スペシャルショット動作の演出効果をより高めることができる。さらに、ステップＳ１０９におけるボールの位置の調整は、エフェクト表示が行われている間に行われるようにしてもよい。すなわち、エフェクト表示によってボールを隠して、ボールが画面に表示されないようにしておき（または見えにくくなるようにしておき）、その間にボールを移動させるのである。ゲームの設定上、「移動パラメータを無視してボールが移動する」という演出が不自然であると感じられる場合には、上記のようなエフェクト表示を用いることによって、自然にボールを移動させることができる。
【０１２３】
ステップＳ１１１でＮＯの場合、または、Ｓ１１３の後、ステップＳ１１５において、キャラクタがボールを打撃したか否かが判断される。すなわち、キャラクタのスペシャルショット動作によって、ラケットとボールが接触したか否かが判断される。キャラクタがボールを打撃していないと判断された場合は、ＳＳ処理を終了して図２６の処理に戻る。
【０１２４】
キャラクタがボールをショットしたと判断された場合は、ステップＳ１１７において、図２４を用いて前述したＳＳ効果テーブルを参照して、ボールの移動のパラメータを設定する処理がされる。ステップＳ１１７の後、ステップＳ１１９において、対象キャラクタのＳＳゲージを０にし、ステップＳ１２１でＳＳフラグをオフにし、ステップＳ１２３で、他のキャラクタ、ボール、および、その他のオブジェクトの停止フラグをオフにする処理がされた後、ＳＳ処理を終了して、図２６の処理に戻る。
【０１２５】
なお、ステップＳ１１５において対象キャラクタがボールを打撃したと判定されるまで、ＳＳフラグはオン状態を継続するため、対象キャラクタはスペシャルショット動作を継続し、ボールは停止またはＳＳ時動作をし、他のキャラクタおよびその他のオブジェクトは停止状態を継続する。
【０１２６】
なお、ステップＳ９３，Ｓ１１３における仮想カメラ制御の切り替え時にはカメラ位置、視線方向、画角を徐々に変更するような処理をしてもよい。また、図２８の通常ショットの処理は、説明を簡略化したが、１フレームごとに１フレーム分の動作処理が行われることは言うまでもない。
【０１２７】
また、本実施形態では、あるキャラクタがスペシャルショット動作中の全期間について、他のキャラクタ、ボール、その他のオブジェクトの動作が停止するようにしたが、当該期間の一部の期間のみ、他のキャラクタ、ボール、その他のオブジェクトの動作が停止するようにしてもよい。例えば、仮想カメラが対象キャラクタがアップになるように切り替えられている間のみ、他のキャラクタ、ボール、その他のオブジェクトの動作が停止するようにしてもよいし、スペシャルショット動作の開始から所定時間が経過するまで、または、スペシャルショット動作の開始から対象キャラクタが所定の動作（例えば、ラケットの振り上げ動作等）が終了するまで等の間のみ、他のキャラクタ、ボール、その他のオブジェクトの動作が停止するようにしてもよい。また、他のキャラクタ、ボール、その他のオブジェクトの動作の停止がどのタイミングまで続くかについてスペシャルショットごとに定義してもよい。また、必ずしもスペシャルショット動作中において他のオブジェクトの動作を停止する必要はない。
【０１２８】
また、本実施形態では、テニスゲームを例に説明したが、本発明は、キャラクタオブジェクトによってボール等の被打撃オブジェクトを打撃（キャラクタオブジェクトの手，足，またはその他の部位による打撃、または道具を使っての打撃等）する動作が行われるゲームに適用することができる。例えば、サッカーゲームにおいて、キャラクタが可能なシュート動作として、判定領域が互いに異なる通常のシュートおよびスペシャルシュートを設定しておき、スペシャルシュートの際にキャラクタまたはボールについて位置を調整するようにしてもよい。
【図面の簡単な説明】
【０１２９】
【図１】本発明の一実施形態に係るゲームシステムの構成を示す外観図
【図２】図１に示すゲームシステムのブロック図
【図３】本実施形態のテニスゲームにおけるゲーム画像の一例を示す図
【図４】キャラクタ１００が通常ショット動作を行う場合のゲーム画面例を示す図
【図５】攻撃系のスペシャルショットの１つであるＳＳ１を説明するための図
【図６】攻撃系のスペシャルショットの１つであるＳＳ１を説明するための図
【図７】攻撃系のスペシャルショットの１つであるＳＳ１を説明するための図
【図８】守備系のスペシャルショットの１つであるＳＳ３を説明するための図
【図９】守備系のスペシャルショットの１つであるＳＳ３を説明するための図
【図１０】守備系のスペシャルショットの１つであるＳＳ４を説明するための図
【図１１】他の守備系のスペシャルショットであるＳＳ５を説明するための図
【図１２】他の守備系のスペシャルショットであるＳＳ５を説明するための図
【図１３】ＳＳパワーの蓄積量を示す方法を説明するための図
【図１４】キャラクタテーブルを表した図
【図１５】ショット前動作テーブルを表した図
【図１６】領域テーブルを表した図
【図１７】ゲーム空間座標の定義を説明するための図
【図１８】通常ショット領域を説明するための図
【図１９】ＳＳ領域Ａを説明するための図
【図２０】ＳＳ領域Ｂを説明するための図
【図２１】ＳＳ領域Ｃを説明するための図
【図２２】仮想カメラ制御テーブルを表した図
【図２３】各カメラ制御の画面例を示した図
【図２４】ＳＳ効果テーブルを表した図
【図２５】ゲーム処理のフローチャート
【図２６】キャラクタ処理の詳細フローチャート
【図２７】キャラクタ処理の詳細フローチャートの続き
【図２８】通常ショット処理の詳細フローチャート
【図２９】ＳＳ処理の詳細フローチャート
【符号の説明】
【０１３０】
１２  テレビ
１４  ゲーム装置
１６  光ディスク
１８  メモリカード
２０  コントローラ
２２  ＣＰＵ
２４  ＧＰＵ
３４  メインメモリ
１００  キャラクタ
１０２  ボール
１０４  判定領域
【図１】
0004619087.tif 000002
【図２】
0004619087.tif 000003
【図３】
0004619087.tif 000004
【図４】
0004619087.tif 000005
【図５】
0004619087.tif 000006
【図６】
0004619087.tif 000007
【図７】
0004619087.tif 000008
【図８】
0004619087.tif 000009
【図９】
0004619087.tif 000010
【図１０】
0004619087.tif 000011
【図１１】
0004619087.tif 000012
【図１２】
0004619087.tif 000013
【図１３】
0004619087.tif 000014
【図１４】
0004619087.tif 000015
【図１５】
0004619087.tif 000016
【図１６】
0004619087.tif 000017
【図１７】
0004619087.tif 000018
【図１８】
0004619087.tif 000019
【図１９】
0004619087.tif 000020
【図２０】
0004619087.tif 000021
【図２１】
0004619087.tif 000022
【図２２】
0004619087.tif 000023
【図２３】
0004619087.tif 000024
【図２４】
0004619087.tif 000025
【図２５】
0004619087.tif 000026
【図２６】
0004619087.tif 000027
【図２７】
0004619087.tif 000028
【図２８】
0004619087.tif 000029
【図２９】
0004619087.tif 000030