説明

ゲームプログラム及びゲーム装置

【課題】仮想ゲーム世界のキャラクタに対して複数のスイッチの連続した入力により多様な動作指示を与えることができるようなゲームプログラム及びゲーム装置を提供すること。
【解決手段】コンガ型コントローラの右叩き面または左叩き面のいずれかをプレイヤが叩く度に、右叩き面が連続して叩かれたのか、左叩き面が連続して叩かれたのか、右叩き面と左叩き面が交互に叩かれたのかを判断し、右叩き面が連続して叩かれた場合にはゲーム世界のキャラクタを右に移動させ、左叩き面が連続して叩かれた場合にはキャラクタを左に移動させ、右叩き面と左叩き面が交互に叩かれた場合にはキャラクタを加速させる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明はゲームプログラム及びゲーム装置に関し、特に、第1操作および第2操作を検出可能な入力手段を利用して(例えば、第1スイッチおよび当該第1スイッチと異なる1つ以上の他スイッチを含む入力手段を利用する。または、第1の動き入力操作と第2の動き入力操作を検出可能な入力手段を利用する)、仮想ゲーム世界のオブジェクトを動作制御するためのゲームプログラム及びゲーム装置に関する。
【背景技術】
【0002】
特許文献1には、コンガ型コントローラに設けられた右叩き面および左叩き面の2つの叩き面を操作スイッチとして利用して、画面に表示された仮想ゲーム世界のキャラクタの動作をプレイヤが制御可能なゲームシステムが開示されている。このゲームシステムでは、プレイヤが右のコンガを叩くとプレイヤキャラクタは右へ移動し、左側のコンガを叩くとプレイヤキャラクタは左へ移動する。また、左右のコンガを同時に叩くとプレイヤキャラクタはジャンプし、特定の場面では、左右のコンガを交互に連打するとプレイヤキャラクタは攻撃のアクションを行う。これによりプレイヤは、仮想ゲーム世界のキャラクタに対してスイッチの数よりも多くの種類の動作指示を与えることができる。
【特許文献1】特開2005−319040号公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
しかしながら、上記特許文献1には、単に、プレイヤが右(左)のコンガを叩くとプレイヤキャラクタが右(左)に移動し、プレイヤが左右のコンガを交互に連打するとプレイヤキャラクタが攻撃のアクションを行うことしか記載されておらず、これら2種の入力が混在した場合、すなわち、例えば、左側のコンガを連続的に叩いた後、左右のコンガを交互に連打し、さらに、右側のコンガを連続的に叩いた場合に、これら一連の操作に基いて、キャラクタをどのように動作させるかについては全く開示されていない。また、移動方向は、右か左の2つの方向しかなく、3次元的な移動を制御できなかった。
【0004】
それゆえに本発明は、上述の課題の少なくとも1つを解決することを目的とし、仮想ゲーム世界のキャラクタに対して複数種類の操作(複数のスイッチの操作または複数の動き入力操作)の連続した入力により多様な動作指示を与えることができるようなゲームプログラム及びゲーム装置を提供することを目的とする。
【課題を解決するための手段】
【0005】
上記目的を達成するために、本発明は以下の構成を採用した。なお、括弧内の参照符号は本発明の理解を助けるために図面との対応関係の一例を示したものであって、本発明の範囲を何ら限定するものではない。
【0006】
本発明のゲームプログラムは、第1スイッチ(6R)および当該第1スイッチと異なる1つ以上の他スイッチ(6L)を含む入力手段を利用して仮想ゲーム世界のオブジェクトを動作制御するためのゲームプログラムである。当該ゲームプログラムは、コンピュータ(31)を、表示制御手段(S10、S50)、入力検出手段(S12、S60、S68)、第1判断手段(S20、S22、S24、S26、S62)、および動作制御手段(S30、S32、S64、S66、S72、S74)として機能させるためのゲームプログラムである。表示制御手段は、前記オブジェクトを画面(2)に表示する表示制御手段である。入力検出手段は、前記入力手段による入力が行われたことを検出する手段である。第1判断手段は、前記入力検出手段によって前記第1スイッチによる入力が検出される毎に、前記第1スイッチによる入力が連続して行われているか、前記第1スイッチによる入力と前記他スイッチによる入力とが交互に行われているかを判断する手段である。動作制御手段は、(a)前記第1スイッチによる入力が連続して行われていると前記第1判断手段が判断したときには、前記オブジェクトに前記第1スイッチに関連付けられた第1動作を行わせ、(b)前記第1スイッチによる入力と前記他スイッチによる入力が交互に行われていると前記第1判断手段が判断したときには、前記オブジェクトに前記第1動作と異なる第2動作を行わせる手段である。
【0007】
第1判断手段は、今回の入力と前回の入力を比較することによって、第1スイッチによる入力が連続して行われているか、第1スイッチによる入力と他スイッチによる入力とが交互に行われているかを判断してもよいし、今回の入力とそれ以前の複数回の入力(例えば今回の入力と前回の入力と前々回の入力)に基いて、それらを判断してもよい。後者の場合には、例えば、第1スイッチによる入力が3回以上連続しておこなわれているときに第1スイッチによる入力が連続していると判断してもよいし、第1スイッチによる入力と他スイッチによる入力とが2回以上連続して交互に行なわれているときに交互入力がされたと判断してもよい。
【0008】
典型的には、入力検出手段によって入力手段からの入力が検出される毎に、入力検出手段によって検出された入力が第1スイッチによる入力であったか他スイッチによる入力であったかを入力履歴情報としてメモリに記憶しておき、その後、入力検出手段によって第1スイッチによる入力が検出されたときにこの入力履歴情報を参照してもよい。
【0009】
オブジェクトの動作制御に利用される他スイッチは1個であってもよいし複数であってもよい。
【0010】
他スイッチが1個(仮に第2スイッチと称す)の場合には、第1判断手段は、第1スイッチによる入力が連続して行われているか、第1スイッチによる入力と第2スイッチによる入力とが交互に行われているかを判断する。例えば、「第1スイッチによる入力→第1スイッチによる入力」の順番で入力があったときには、第1スイッチによる入力が連続して行われたと判断し、「第1スイッチによる入力→第2スイッチによる入力→第1スイッチによる入力」の順番で入力があったときには、第1スイッチによる入力と他スイッチによる入力とが交互に行われていると判断してもよい。また、今回の入力と前回の入力だけを参照する場合には、「第2スイッチによる入力→第1スイッチによる入力」の順番で入力があったときに、第1スイッチによる入力と第2スイッチによる入力とが交互に行われていると判断してもよい。
【0011】
他スイッチが複数ある場合には、第1判断手段は、第1スイッチによる入力と他スイッチの中の特定の1つのスイッチ(例えば第2スイッチ)による入力とが交互に行われているときに、第1スイッチによる入力と他スイッチによる入力とが交互に行われていると判断してもよい。この場合、第1判断手段は、第1スイッチおよび第2スイッチ以外のスイッチ(例えば第3スイッチ)による入力を無視して、第1スイッチによる入力が連続して行われているか、第1スイッチによる入力と他スイッチによる入力とが交互に行われているかを判断してもよいし、第1スイッチおよび第2スイッチ以外のスイッチ(例えば第3スイッチ)による入力を無視することなく、第1スイッチによる入力が連続して行われているか、第1スイッチによる入力と他スイッチによる入力とが交互に行われているかを判断してもよい。第1スイッチおよび第2スイッチ以外のスイッチ(例えば第3スイッチ)による入力を無視する場合には、例えば、「第1スイッチによる入力→第3スイッチによる入力→第1スイッチによる入力」の順番(入力パターンA)で入力が行われたときには第1スイッチによる入力が連続して行われたと判断し、「第1スイッチによる入力→第2スイッチによる入力→第3スイッチによる入力→第1スイッチによる入力」の順番(入力パターンB)で入力が行われたときには第1スイッチによる入力と他スイッチによる入力とが交互に行われたと判断してもよい。第1スイッチおよび第2スイッチ以外のスイッチ(例えば第3スイッチ)による入力を無視しない場合には、上記入力パターンAの入力が行われたときにも第1スイッチによる入力が連続して行われたとは判断せず、上記入力パターンBの入力が行われたときにも第1スイッチによる入力と他スイッチによる入力とが交互に行われたとは判断しない。
【0012】
また、他スイッチが複数ある場合には、第1判断手段は、第1スイッチによる入力と他スイッチの中のいずれか任意のスイッチ(第1スイッチ以外の任意のスイッチ)による入力とが交互に行われているときに、第1スイッチによる入力と他スイッチによる入力とが交互に行われていると判断してもよい。例えば、「第1スイッチによる入力→第2スイッチによる入力→第1スイッチによる入力」の順番で入力が行われた場合と、「第1スイッチによる入力→第3スイッチによる入力→第1スイッチによる入力」の順番で入力が行われた場合のいずれの場合も、第1スイッチによる入力と他スイッチによる入力とが交互に行われたと判断してもよい。
【0013】
なお、第1判断手段は、入力検出手段によって第1スイッチによる入力が検出される毎に、第1スイッチによる入力が連続して行われているか、第1スイッチによる入力と他スイッチによる入力とが交互に行われているかを判断し、第1動作または第2動作を行わせる。すなわち、例えば、(a)第1スイッチによる入力→(b)第1スイッチによる入力→(c)他スイッチによる入力→(d)第1スイッチによる入力という一連の入力があったとき、(b)の入力について連続入力の判断をして第1動作をおこなわせ、(d)の入力について交互入力の判断をして第2動作をおこなわせる。しかしながら、初回の第1スイッチのよる入力など特定の状況においてはキャラクタに第1動作や第2動作をおこなわせなくてもよい。
【0014】
なお、第1動作および第2動作は移動動作であってもよいし、他の動作(攻撃動作やジャンプ動作など)であってもよい。
【0015】
なお、前記入力手段は、前記他スイッチとして少なくとも第2スイッチを含み、前記第1判断手段は、前記入力検出手段によって前記第1スイッチによる入力が検出される毎に、前記第1スイッチによる入力が連続して行われているか、前記第1スイッチによる入力と前記第2スイッチによる入力とが交互に行われているかを判断し、前記動作制御手段は、(a)前記第1スイッチによる入力が連続して行われていると前記第1判断手段が判断したときには、前記オブジェクトに前記第1動作を行わせ、(b)前記第1スイッチによる入力と前記第2スイッチによる入力が交互に行われていると前記第1判断手段が判断したときには、前記オブジェクトに前記第2動作を行わせてもよい。
【0016】
また、前記ゲームプログラムは、前記入力検出手段によって前記第2スイッチによる入力が検出される毎に、前記第2スイッチによる入力が連続して行われているか、前記第1スイッチによる入力と前記第2スイッチによる入力とが交互に行われているかを判断する第2判断手段(S70)として前記コンピュータをさらに機能させ、前記動作制御手段は、(c)前記第2スイッチによる入力が連続して行われていると前記第2判断手段が判断したときには、前記オブジェクトに前記第2スイッチに関連付けられた第3動作を行わせ、(d)前記第1スイッチによる入力と前記第2スイッチによる入力とが交互に行われていると前記第2判断手段が判断したときには、前記オブジェクトに前記第2動作を行わせてもよい。
【0017】
なお、第1判断手段は、入力検出手段によって第1スイッチによる入力が検出される毎に、第1スイッチによる入力が連続して行われているか、第1スイッチによる入力と第2スイッチによる入力とが交互に行われているかを判断し、また、第2判断手段は、入力検出手段によって第2スイッチによる入力が検出される毎に、第2スイッチによる入力が連続して行われているか、第2スイッチによる入力と第1スイッチによる入力とが交互に行われているかを判断し、第1動作、第2動作、または、第3動作を行わせる。すなわち、例えば、(a)第1スイッチによる入力→(b)第1スイッチによる入力→(c)第2スイッチによる入力→(d)第2スイッチによる入力という一連の入力があったとき、(b)の入力について第1スイッチの連続入力の判断をして第1動作をおこなわせ、(c)の入力について交互入力の判断をして第2動作をおこなわせ、(d)の入力について第2スイッチの連続入力の判断をして第3動作をおこなわせる。
【0018】
また、前記動作制御手段は、(a)前記第1スイッチによる入力が連続して行われていると前記第1判断手段が判断したときには、前記仮想ゲーム世界において前記第1スイッチに関連付けられた第1方向に前記オブジェクトを移動又は加速させ、(b)前記第1スイッチによる入力と前記他スイッチによる入力とが交互に行われていると前記第1判断手段が判断したときには、前記仮想ゲーム空間において前記第1方向と異なる第2方向に前記オブジェクトを移動又は加速させてもよい。
【0019】
なお、オブジェクトの移動方向を決定する要因として、第1スイッチと他スイッチの入力以外の要因がある場合(例えば、重力の影響を受けて方向が変わったり、地面や障害物に接触することにより方向が変わったり、プレイヤの他の入力によっても方向が変わる場合など)、それらの要因を考慮して最終的に定まる方向が第1方向や第2方向となることは必須ではなく、第1スイッチによる入力が連続して行われていると第1判断手段が判断したことに応じて第1方向に移動または加速する要因が発生し、また、第1スイッチによる入力と他スイッチによる入力とが交互に行われていると第1判断手段が判断したことに応じて第2方向に移動又は加速する要因が発生する。
【0020】
また、前記第1判断手段は、前記入力検出手段によって前記第1スイッチによる入力が検出される毎に、過去所定時間以内に行われた入力に基づいて、前記第1スイッチによる入力が連続して行われているか、前記第1スイッチによる入力と前記他スイッチによる入力とが交互に行われているかを判断してもよい。
【0021】
また、前記第1判断手段は、所定時間以上の間隔を空けることなく継続して行われた一連の入力を参照して、前記第1スイッチによる入力が連続して行われているか、前記第1スイッチによる入力と前記他スイッチによる入力とが交互に行われているかを判断してもよい。すなわち、前回の入力のタイミングと今回の入力のタイミングの間が所定時間より長くなった場合、当該今回の入力は初回の入力として扱い、当該前回の入力との比較による動作をさせなくてもよい。
【0022】
また、前記入力検出手段は、前記第1スイッチ又は前記他スイッチがプレイヤによって押されていない状態から押されている状態に変化したこと、もしくは前記第1スイッチ又は前記他スイッチがプレイヤによって押されている状態から押されていない状態に変化したことを、前記入力手段による入力として検出してもよい。
【0023】
また、前記第1スイッチが、太鼓型コントローラに設けられた叩き面であってもよい。
【0024】
また、前記動作制御手段は、前記第1スイッチによる入力と前記第2スイッチによる入力とが交互に行われていると前記第1判断手段または前記第2判断手段が判断したときには、前記仮想ゲーム空間において前記オブジェクトの前進方向に当該オブジェクトを移動又は加速させ、前記第1スイッチによる入力が連続して行われていると前記第1判断手段が判断したときには、前記仮想ゲーム世界において前記前進方向を基準とした右方向に前記オブジェクトを移動又は加速させ、前記第2スイッチによる入力が連続して行われていると前記第2判断手段が判断したときには、前記仮想ゲーム空間において前記前進方向を基準とした左方向に前記オブジェクトを移動又は加速させてもよい。
【0025】
なお、「前進方向」はオブジェクトの前方向(オブジェクトが向いている方向)であってもよいし、オブジェクトの向きとは別に前進方向を決定してもよい。前者の場合で仮想3次元空間の場合は、オブジェクトの姿勢マトリクス(オブジェクトの前方向・右方向・上方向を示す)に基く前方向を前進方向としてもよい。後者の場合で、オブジェクトの向きと前進方向を別々に独立して制御する場合には、前進方向を示すベクトル(前進方向ベクトル)やマトリクス(前進方向マトリクス)を姿勢マトリクスとは別に持たせても良い(前進方向ベクトルの場合は前進方向のみを示し、前進方向マトリクスの場合は前進方向と、前進方向を基準とした右方向と、前進方向を基準とした上方向を示す)。また、オブジェクトの3次元空間における現在位置などの条件に応じて自動的に前進方向を決定するようにしてもよい。
【0026】
「前進方向を基準とした右方向」「前進方向を基準とした左方向」は、前進方向に対して左右対称な(すなわち、前進方向に対して同一角度を成す)右方向・左方向であるのが好ましい。例えば、前進方向に直交する右方向・左方向であってもよい。また、仮想3次元空間の場合は、「前進方向」と「前進方向を基準とした右方向」と「前進方向を基準とした左方向」は、同一仮想平面上にあるのが好ましい。ただし、同一仮想平面上にない場合であっても、水平面またはオブジェクトの現在位置における法線方向に直交する平面または前進方向マトリクスの上方向に直交する平面に、「前進方向」と「前進方向を基準とした右方向」と「前進方向を基準とした左方向」をそれぞれ投影したときに、「前進方向を基準とした右方向」を投影した方向と「前進方向を基準とした左方向」を投影した方向が、「前進方向」を投影した方向を基準として左右にあれば良く、さらに、左右対称であれば好ましい。
【0027】
また、前記ゲームプログラムは、前記コンピュータを、前記仮想ゲーム空間内の所定のルートを定義したルートデータを、前記オブジェクトの現在位置データに基いて参照することにより、前記前進方向を当該ルートに沿う方向に設定する前進方向設定手段としてさらに機能させてもよい。
【0028】
また、前記動作制御手段は、前記第1スイッチによる入力と前記第2スイッチによる入力とが交互に行われていると前記第1判断手段または前記第2判断手段が判断したときには、前記仮想ゲーム空間において前記オブジェクトの前進方向に当該オブジェクトを移動又は加速させ、前記第1スイッチによる入力が連続して行われていると前記第1判断手段が判断したときには、前記仮想ゲーム世界において前記前進方向を右方向に変更し、前記第2スイッチによる入力が連続して行われていると前記第2判断手段が判断したときには、前記仮想ゲーム空間において前記前進方向を左方向に変更してもよい。
【0029】
また、前記オブジェクトが、前記仮想ゲーム世界に設けられたレースコース上を移動する移動オブジェクトであり、前記第1動作が、前記レースコースに対して垂直な第1方向に移動又は加速する動作であり、前記第2動作が、前記レースコースの進行方向に対応する第2方向に移動又は加速する動作であり、前記第3動作が、前記第1方向とは逆の第3方向に移動又は加速する動作であってもよい。
【0030】
また、前記ゲームプログラムは、前記第1スイッチおよび前記第2スイッチの一方または両方が押し続けられているかどうかを判断する長押し判断手段(S40)として前記コンピュータをさらに機能させ、前記動作制御手段は、前記長押し判断手段の判断結果が肯定である場合に、前記オブジェクトを減速してもよい。
【0031】
また、前記動作制御手段は、前記第1スイッチおよび前記第2スイッチのいずれも押されていない場合には、前記オブジェクトの現在の移動速度を維持してもよい。
【0032】
また、前記ゲームプログラムは、前記第1スイッチまたは前記他スイッチの連打速さを検出する連打速さ検出手段として前記コンピュータをさらに機能させ、前記動作制御手段は、前記連打速さ検出手段の検出結果に応じた速度又は加速度で前記オブジェクトを移動又は加速してもよい。
【0033】
本発明の他のゲームプログラムは、第1スイッチ(6R)および当該第1スイッチと異なる第2スイッチ(6L)を含む入力手段を利用して仮想ゲーム世界のオブジェクトを動作制御するためのゲームプログラムである。当該ゲームプログラムは、コンピュータ(31)を、表示制御手段(S10、S50)、入力検出手段(S12)、前回入力判断手段(S22)、前々回入力判断手段(S26)、および動作制御手段(S30、S32)として機能させるためのゲームプログラムである。表示制御手段は、前記オブジェクトを画面に表示する手段である。入力検出手段は、前記入力手段による入力が行われたことを検出する手段である。前回入力判断手段は、前記入力検出手段によって前記第1スイッチまたは前記第2スイッチによる入力が検出されたときに、今回押されたスイッチと前回押されたスイッチが同一かどうかを判断する手段である。前々回入力判断手段は、前記前回入力判断手段の判定結果が否定である場合に、今回押されたスイッチと前々回押されたスイッチが同一かどうかを判断する手段である。動作制御手段は、(a)前記前回入力判断手段の判断結果が肯定である場合に、前記オブジェクトに、今回押されたスイッチに関連付けられた動作を行わせ、(b)前記前回入力判断手段の判断結果が否定であり、かつ前記前々回入力判断手段の判断結果が肯定である場合に、前記オブジェクトに、前記スイッチに関連付けられた動作と異なる動作を行わせる手段である。
【0034】
なお、前記動作制御手段は、(c)前記前回入力判断手段の判断結果が否定であり、かつ前記前々回入力判断手段の判断結果が否定である場合に、前記オブジェクトに、今回押されたスイッチに関連付けられた動作を行わせてもよい。
【0035】
また、前記動作制御手段は、(c)前記前回入力判断手段の判断結果が否定であり、かつ前記前々回入力判断手段の判断結果が否定である場合に、前記オブジェクトに、前記異なる動作を行わせないようにしてもよい。
【0036】
また、前記動作制御手段は、(d)前記入力検出手段によって前記第1スイッチまたは前記第2スイッチによる入力が検出されたときに、当該入力が1回目の入力である場合、前記オブジェクトに、前記異なる動作を行わせてもよい。
【0037】
本発明のさらに他のゲームプログラムは、仮想ゲーム世界に設けられたレースコースに対して垂直な第1方向に関連付けられた第1スイッチ(6R)と、前記第1方向とは逆の第3方向に関連付けられた第2スイッチ(6L)の2つのスイッチを利用して前記レースコース上を移動するオブジェクトを制御するためのゲームプログラムである。当該ゲームプログラムは、コンピュータ(31)を、表示制御手段(S10、S50)、操作検出手段(S12)、操作履歴格納手段(S16)、前回入力判断手段(S22)、前々回入力判断手段(S26)、および動作制御手段(S30、S32)として機能させるためのゲームプログラムである。表示制御手段は、前記オブジェクトを画面(2)に表示する手段である。操作検出手段は、第1スイッチおよび第2スイッチからの信号に基づいて、第1スイッチまたは第2スイッチのいずれかのスイッチが押されたかどうかを周期的に検出する手段である。操作履歴格納手段は、前記操作検出手段によって押されたことが検出されたスイッチの種類を一時的にメモリ(32)に格納する手段である。前回入力判断手段は、前記操作検出手段によっていずれかのスイッチが押されたことが検出されたときに、今回押されたスイッチと前回押されたスイッチが同一かどうかを判断する手段である。前々回入力判断手段は、前記前回入力判断手段の判定結果が否定である場合に、今回押されたスイッチと前々回押されたスイッチが同一かどうかを判断する手段である。動作制御手段は、(a)前記前回入力判断手段の判断結果が肯定である場合(S22でYES)には、今回押されたスイッチに関連付けられた方向に前記オブジェクトが移動し、(b)前記前回入力判断手段の判断結果が否定であり、かつ前記前々回入力判断手段の判断結果が肯定である場合(S26でYES)には、前記レースコースの進行方向に対応する第3方向に前記オブジェクトが加速し、(c)前記前回入力判断手段の判断結果が否定であり、かつ前記前々回入力判断手段の判断結果が否定である場合(S26でNO)には、前記第3方向に前記オブジェクトが加速しないように前記オブジェクトの動作を制御する手段である。
【0038】
なお、前記動作制御手段は、(c)前記前回入力判断手段の判断結果が否定であり、かつ前記前々回入力判断手段の判断結果が否定である場合には、今回押されたスイッチに関連付けられた方向に前記オブジェクトを移動させてもよい。
【0039】
本発明のゲーム装置は、第1スイッチ(6R)および当該第1スイッチと異なる1つ以上の他スイッチ(6L)を含む入力手段、仮想ゲーム世界のオブジェクトを画面に表示する表示制御手段(31、S10、S50)、前記入力手段による入力が行われたことを検出する入力検出手段(31、S12、S60、S68)、前記入力検出手段によって前記第1スイッチによる入力が検出される毎に、前記第1スイッチによる入力が連続して行われているか、前記第1スイッチによる入力と前記他スイッチによる入力とが交互に行われているかを判断する第1判断手段(31、S20、S22、S24、S26、S62)、および(a)前記第1スイッチによる入力が連続して行われていると前記第1判断手段が判断したときには、前記オブジェクトに前記第1スイッチに関連付けられた第1動作を行わせ、(b)前記第1スイッチによる入力と前記他スイッチによる入力が交互に行われていると前記第1判断手段が判断したときには、前記オブジェクトに前記第1動作と異なる第2動作を行わせる動作制御手段(31、S30、S32、S64、S66、S72、S74)を備えたゲーム装置である。
【0040】
本発明の他のゲーム装置は、第1スイッチ(6R)および当該第1スイッチと異なる第2スイッチ(6L)を含む入力手段、仮想ゲーム世界のオブジェクトを画面に表示する表示制御手段(31、S10、S50)、前記入力手段による入力が行われたことを検出する入力検出手段(31、S12)、前記入力検出手段によって前記第1スイッチまたは前記第2スイッチによる入力が検出されたときに、今回押されたスイッチと前回押されたスイッチが同一かどうかを判断する前回入力判断手段(31、S22)、前記前回入力判断手段の判定結果が否定である場合に、今回押されたスイッチと前々回押されたスイッチが同一かどうかを判断する前々回入力判断手段(31、S26)、および(a)前記前回入力判断手段の判断結果が肯定である場合に、前記オブジェクトに、今回押されたスイッチに関連付けられた動作を行わせ、(b)前記前回入力判断手段の判断結果が否定であり、かつ前記前々回入力判断手段の判断結果が肯定である場合に、前記オブジェクトに、前記スイッチに関連付けられた動作と異なる動作を行わせる動作制御手段(31、S30、S32)を備えたゲーム装置である。
【0041】
本発明のさらに他のゲーム装置は、仮想ゲーム世界に設けられたレースコースに対して垂直な第1方向に関連付けられた第1スイッチ(6R)、前記第1方向とは逆の第3方向に関連付けられた第2スイッチ(6L)の2つのスイッチ、前記レースコース上を移動するオブジェクトを画面に表示する表示制御手段(31、S10、S50)、第1スイッチおよび第2スイッチからの信号に基づいて、第1スイッチまたは第2スイッチのいずれかのスイッチが押されたかどうかを周期的に検出する操作検出手段(31、S12)、前記操作検出手段によって押されたことが検出されたスイッチの種類を一時的にメモリに格納する操作履歴格納手段(31、S16)、前記操作検出手段によっていずれかのスイッチが押されたことが検出されたときに、今回押されたスイッチと前回押されたスイッチが同一かどうかを判断する前回入力判断手段(31、S22)、前記前回入力判断手段の判定結果が否定である場合に、今回押されたスイッチと前々回押されたスイッチが同一かどうかを判断する前々回入力判断手段(31、S26)、および(a)前記前回入力判断手段の判断結果が肯定である場合(S22でYES)には、今回押されたスイッチに関連付けられた方向に前記オブジェクトが移動し、(b)前記前回入力判断手段の判断結果が否定であり、かつ前記前々回入力判断手段の判断結果が肯定である場合(S26でYES)には、前記レースコースの進行方向に対応する第3方向に前記オブジェクトが加速し、(c)前記前回入力判断手段の判断結果が否定であり、かつ前記前々回入力判断手段の判断結果が否定である場合(S26でNO)には、前記第3方向に前記オブジェクトが加速しないように前記オブジェクトの動作を制御する動作制御手段(31、S30、S32)を備えたゲーム装置である。
【0042】
本発明のさらに他のゲームプログラムは、プレイヤによる第1操作(6Rの押し下げ操作、7Rの押し下げ操作、または、7R´の動き入力操作)および当該第1操作と異なる第2操作(6Lの押し下げ操作、7Lの押し下げ操作、または、7L´の動き入力操作)を検出可能な入力手段を利用して仮想ゲーム世界のオブジェクトを動作制御するためのゲームプログラムである。当該ゲームプログラムは、コンピュータを、表示制御手段(S10、S50)、入力検出手段(S12、S60、S68)、第1判断手段(S20、S22、S24、S26、S62)、および動作制御手段(S30、S32、S64、S66、S72、S74)として機能させるためのゲームプログラムである。表示制御手段は、前記オブジェクトを画面(2)に表示する表示制御手段である。入力検出手段は、前記入力手段による入力が行われたことを検出する手段である。第1判断手段は、前記入力検出手段によって前記第1操作が検出される毎に、前記第1操作が連続して行われているか、前記第1操作と前記第2操作とが交互に行われているかを判断する手段である。動作制御手段は、(a)前記第1操作が連続して行われていると前記第1判断手段が判断したときには、前記オブジェクトに前記第1操作に関連付けられた第1動作を行わせ、(b)前記第1操作と前記第2操作が交互に行われていると前記第1判断手段が判断したときには、前記オブジェクトに前記第1動作と異なる第2動作を行わせる手段である。
【発明の効果】
【0043】
本発明によれば、仮想ゲーム世界のキャラクタに対して複数の操作(複数のスイッチ操作や複数の動き入力など)の連続した入力により多様な動作指示を与えることができる。
【発明を実施するための最良の形態】
【0044】
以下、図面を参照して、本発明の一実施形態に係るゲームシステムについて説明する。
【0045】
図1は、本発明の一実施形態に係るゲームシステムの構成を示す外観図である。図1に示すように、ゲームシステム1は、テレビ2、ゲーム機本体3、DVD−ROM4、メモリカード5およびコンガ型コントローラ6を備える。DVD−ROM4およびメモリカード5は、ゲーム機本体3に着脱自在に装着される。コンガ型コントローラ6は、通信ケーブルを介して、ゲーム機本体3に設けられた4つのコントローラポート用コネクタのいずれかに接続される。テレビ2は、AVケーブル等によってゲーム機本体3と接続される。なお、ゲーム機本体3とコントローラ6との通信は無線通信であってもよい。
【0046】
コンガ型コントローラ6には、スタートボタン6S、右叩き面6R、左叩き面6Lの3つのスイッチと、マイクロフォン6Mが設けられている。後述するように、プレイヤは、右叩き面6Rまたは左叩き面6Lを叩くことによって、仮想ゲーム世界におけるキャラクタの動作を制御することができる。
【0047】
なお、コンガ型コントローラ6の替わりに、図2のような一般的なコントローラ7を使用してもよい。このコントローラ7には、スタートボタン7S、Aボタン7A、Rボタン7R、Lボタン7Lなどの複数のスイッチが設けられている。プレイヤは、コンガ型コントローラ6の右叩き面6Rおよび左叩き面6Lの替わりに、例えばRボタン7RおよびLボタン7Lを利用することができる。
【0048】
DVD−ROM4は、ゲームプログラムやゲームデータ等を固定的に記憶している。プレイヤがゲームをプレイするとき、DVD−ROM4はゲーム機本体3に装着される。なお、ゲームプログラム等を記憶する手段として、DVD−ROM4の代わりに例えばCD−ROM、MO、メモリカード、ROMカートリッジ等の外部記憶媒体を用いてもよい。
【0049】
ゲーム機本体3は、DVD−ROM4に記録されているゲームプログラムを読み出し、読み出したゲームプログラムに応じた処理を行う。
【0050】
テレビ2は、ゲーム機本体3から出力された画像データを画面に表示する。
【0051】
メモリカード5は、例えばフラッシュメモリ等の書き換え可能な記憶媒体をバックアップメモリとして備えており、このバックアップメモリに例えばゲームのセーブデータ等のデータを記録する。
【0052】
図3は、ゲーム機本体3の内部構成を示すブロック図である。以下、図3を参照しながら、ゲームシステム1の各部についてより詳細に説明する。
【0053】
図3において、ゲーム機本体3は、CPU31と、ワークメモリ32と、外部メモリインターフェース(I/F)33と、コントローラインターフェース(I/F)34と、ビデオRAM(VRAM)35と、グラフィックスプロセッシングユニット(GPU)36と、光ディスクドライブ37とを備えている。
【0054】
ゲーム開始の際、まず、光ディスクドライブ37は、ゲーム機本体3に装着されたDVD−ROM4を駆動する。DVD−ROM4に記憶されているゲームプログラムはワークメモリ32にロードされる。このワークメモリ32上のプログラムをCPU31が実行することによってゲームが開始される。ゲーム開始後、プレイヤは、コンガ型コントローラ6を用いてゲームをプレイする。プレイヤの操作に従い、コンガ型コントローラ6は操作データをゲーム機本体3に出力する。コンガ型コントローラ6から出力される操作データは、コントローラI/F34を介してCPU31に供給される。CPU31は、入力された操作データに応じてゲーム処理を行う。ゲーム処理における画像データ生成等に際して、GPU36が用いられる。
【0055】
GPU36は、3次元の仮想ゲーム世界に置かれた物体や図形に関する立体モデル(例えばポリゴンで構成されるオブジェクト)の座標についての演算処理(例えば立体モデルの回転・拡大縮小・変形や、ワールド座標系の座標からカメラ座標系やスクリーン座標系の座標への変換)を行う。またGPU36は、所定のテクスチャに基づいて、スクリーン座標に投影された立体モデルについて各ピクセルのカラーデータ(RGBデータ)をVRAM35に書き込むことによって、ゲーム画像を生成する。GPU36は、こうしてテレビ2に表示すべきゲーム画像を生成し、このゲーム画像をテレビ2に適宜出力する。なお本実施形態では、画像処理専用のメモリ(VRAM35)を別途設けたハードウェア構成としたが、これに限らず例えばワークメモリ32の一部を画像処理用のメモリとして利用する方式(UMA:Unified Memory Architecture)を採用してもよい。
【0056】
ワークメモリ32には、DVD−ROM4から読み出された各種プログラムやデータが格納される。これらのデータの中には、仮想ゲーム世界に配置される3次元モデルを構成するポリゴンに関するデータや、ポリゴンに色を貼り付けるためのテクスチャ等が含まれる。
【0057】
図4は、テレビ2の画面に表示されるゲーム画像の一例である。なお、本実施形態では、本発明をレースゲームに適用した場合の例を説明するが、本発明はこれに限らず、任意のゲームに適用可能である。
【0058】
テレビ2の画面には、仮想ゲーム世界に設置されたレースコースと、プレイヤによって操作されるプレイヤキャラクタと、レースコース上に配置された障害物やコインが表示される。プレイヤはコンガ型コントローラ6を用いて、できるだけ障害物に当たらないように、かつできるだけ多くのコインを獲得できるように、かつできるだけ早くゴールに到着できるようにプレイヤキャラクタを操作する。
【0059】
プレイヤがコンガ型コントローラ6を用いて入力することのできる指示としては、例えば、加速指示、右移動指示、左移動指示、減速指示が挙げられる。
【0060】
加速指示は、コンガ型コントローラ6の右叩き面6Rと左叩き面6Lを交互に連打することによって入力することができる。加速指示が入力されると、キャラクタは前方(キャラクタの向いている方向またはキャラクタの前進方向)に加速する。
【0061】
なお、前進方向は、仮想ゲーム世界において常に一定の方向である必要はなく、仮想ゲーム世界の領域毎に前進方向が個別に設定されていてもよい。また、図5に示すように、仮想ゲーム世界に設定された基準ルートに対して常に平行となるように前進方向が随時更新されてもよい。そのような処理を実現するためには、例えば、基準ルートを定義したルートデータを用意しておき、CPU31が、このルートデータとキャラクタの現在位置に基づいて、キャラクタの前進方向を基準ルートに沿う方向に随時更新すればよい。
【0062】
右移動指示は、コンガ型コントローラ6の右叩き面6Rを連打することによって入力することができる。右移動指示が入力されると、キャラクタは右方向(キャラクタの向いている方向を基準とする右方向またはキャラクタの前進方向を基準とする右方向)に移動する。このとき、プレイヤが右叩き面6Rを素早く連打するほど、キャラクタは右方向により早く移動する。なお、右方向に移動することに代えて、キャラクタの向きや前進方向を現在の方向から右向きに変更してもよい。
【0063】
左移動指示は、コンガ型コントローラ6の左叩き面6Lを連打することによって入力することができる。左移動指示が入力されると、キャラクタは左方向(キャラクタの向いている方向を基準とする左向またはキャラクタの前進方向を基準とする左方向)に移動する。このとき、プレイヤが左叩き面6Lを素早く連打するほど、キャラクタは左方向により早く移動する。なお、左方向に移動することに代えて、キャラクタの向きや前進方向を現在の方向から左向きに変更してもよい。
【0064】
減速指示は、コンガ型コントローラ6の右叩き面6Rと左叩き面6Lの両方を一定時間以上長押しすることによって入力することができる。減速指示が入力されると、キャラクタは減速する。
【0065】
以下、本実施形態におけるゲーム機本体3の動作を詳細に説明する。
【0066】
図6は、ワークメモリ32のメモリマップである。ワークメモリ32には、ゲームプログラム40、ゲーム画像データ41、レースコースデータ42、キャラクタ制御データ43、操作データ44、入力履歴情報45、叩き間隔タイマ46、および同時押しタイマ47が格納される。
【0067】
ゲーム画像データ41は、テレビ2の画面に表示されるゲーム画像を生成するためのデータであって、キャラクタ画像と背景画像を含んでいる。
【0068】
レースコースデータ42は、仮想ゲーム世界に設定されたレースコースの形状を示すデータである。
【0069】
キャラクタ制御データ43は、仮想ゲーム世界におけるキャラクタの移動を制御するためのデータであって、現在位置情報と速度情報を含んでいる。現在位置情報はキャラクタの現在位置を示す情報(座標データ)であり、速度情報はキャラクタの移動速度を示す情報(ベクトルデータ)である。
【0070】
操作データ44は、コンガ型コントローラ6から出力されるデータであって、具体的には、プレイヤがスタートボタン6Sを押しているか否か、右叩き面6Rを押しているか否か、左叩き面6Lを押しているか否か、等を示すデータである。
【0071】
入力履歴情報45は、プレイヤによって叩かれた叩き面の種類(右叩き面6Rまたは左叩き面6L)を過去3回分について示す情報である。
【0072】
叩き間隔タイマ46は、プレイヤによる叩き操作(右叩き面6Rまたは左叩き面6Lを叩く操作)の時間間隔を計測するためのタイマである。
【0073】
同時押しタイマ47は、プレイヤによる同時押し操作(右叩き面6Rと左叩き面6Lの両方を長押しする操作)の継続時間を計測するためのタイマである。
【0074】
以下、図7および図8のフローチャートを参照して、ゲームプログラム40に基づくCPU31の処理の流れを説明する。
【0075】
図7において、ゲームプログラム40の実行が開始されると、CPU31は、まずステップS10で初期画像を表示する。このとき、キャラクタの現在位置や速度には初期値が設定される。
【0076】
ステップS12では、操作データ44を参照して、プレイヤによる叩き操作があったかどうかを判断する。ここでは、プレイヤが右叩き面6Rまたは左叩き面6Lを押している状態から押していない状態に変化したときに、プレイヤによる叩き操作があったと判断する。なお、変形例として、プレイヤが右叩き面6Rまたは左叩き面6Lを押していない状態から押している状態に変化したときに、プレイヤによる叩き操作があったと判断してもよい。プレイヤによる叩き操作があった場合には処理はステップS16に進み、プレイヤによる叩き操作がなかった場合には処理はステップS14に進む。なお、右叩き面6Rと左叩き面6Lが両方とも押されている場合には、プレイヤによる叩き操作がなかったと判断し、処理はステップS14に進む。
【0077】
ステップS14では、叩き間隔タイマ46に1を加算する。そして、処理は図8のステップS34に進む。
【0078】
ステップS16では、入力履歴情報45を更新する。具体的には、今回検出された叩き操作(すなわち直前のステップS12において検出された叩き操作)においてプレイヤによって叩かれた叩き面の種類(右叩き面6Rまたは左叩き面6L)を示す情報を、「今回叩かれた叩き面」として入力履歴情報45に追加する。ただし、入力履歴情報45の「今回叩かれた叩き面」または「前回叩かれた叩き面」にすでに叩き面を示す情報が格納されている場合には、それらの情報を「前回叩かれた叩き面」および「前々回叩かれた叩き面」へそれぞれ移動した後で、「今回叩かれた叩き面」の情報を更新する。
【0079】
ステップS18では、叩き間隔タイマ46を0にリセットする。
【0080】
ステップS20では、今回検出された叩き操作が「連打の一打目」かどうかを判断する。具体的には、入力履歴情報45を参照し、前回叩かれた叩き面に関する情報が保持されていない場合に、今回検出された叩き操作が「連打の一打目」であると判断する。なお、本実施形態では、前回の叩き操作と今回の叩き操作の時間間隔が一定時間(例えば60フレーム期間)以上空いた場合に、今回の叩き操作を「連打の一打目」とみなしている。今回検出された叩き操作が「連打の一打目」である場合には処理はステップS28に進み、今回検出された叩き操作が「連打の一打目」でない場合には処理はステップS22に進む。
【0081】
ステップS22では、入力履歴情報45を参照し、「今回叩かれた叩き面」が「前回叩かれた叩き面」と同じ叩き面かどうかを判断する。「今回叩かれた叩き面」が「前回叩かれた叩き面」と同じ叩き面である場合には処理はステップS32に進み、「今回叩かれた叩き面」が「前回叩かれた叩き面」と同じ叩き面でない場合には処理はステップS24に進む。
【0082】
ステップS24では、今回検出された叩き操作が「連打の二打目」かどうかを判断する。具体的には、入力履歴情報45を参照し、前々回叩かれた叩き面に関する情報が保持されていない場合に、今回検出された叩き操作が「連打の二打目」であると判断する。なお、本実施形態では、前々回の叩き操作と前回の叩き操作の時間間隔が一定時間(例えば60フレーム期間)以上空いており、かつ前回の叩き操作と今回の叩き操作の時間間隔が一定時間未満である場合に、今回の叩き操作を「連打の二打目」とみなしている。今回検出された叩き操作が「連打の二打目」である場合には処理はステップS28に進み、今回検出された叩き操作が「連打の二打目」でない場合には処理はステップS26に進む。
【0083】
ステップS26では、入力履歴情報45を参照し、「今回叩かれた叩き面」が「前々回叩かれた叩き面」と同じ叩き面かどうかを判断する。「今回叩かれた叩き面」が「前々回叩かれた叩き面」と同じ叩き面である場合には処理はステップS28に進み、「今回叩かれた叩き面」が「前々回叩かれた叩き面」と同じ叩き面でない場合には処理はステップS32に進む。
【0084】
ステップS28では、キャラクタ制御データ43の速度情報(速度ベクトル)を参照し、キャラクタの速度(速度ベクトルの大きさ)が予め設定された上限値にすでに達しているかどうかを判断する。そして、キャラクタの速度がすでに上限値に達している場合には処理は図8のステップS34に進み、キャラクタの速度がまだ上限値に達していない場合には処理はステップS30に進む。
【0085】
ステップS30では、キャラクタの速度(速度ベクトルの大きさ)が一定量だけ増加するように、キャラクタ制御データ43の速度情報(速度ベクトル)を更新する。なお、速度を一定量だけ増加させる替わりに、現在速度に応じて速度の増加量を変化させても良いし、コースの形状に応じて速度の増加量を変化させてもよい。ステップS30の後、処理は図8のステップS34に進む。
【0086】
ステップS32では、「今回叩かれた叩き面」に応じた方向にキャラクタが移動するように、キャラクタ制御データ43の現在位置情報を更新する。具体的には、今回叩かれた叩き面が右叩き面6Rである場合には、キャラクタが右方向に移動するように現在位置情報を更新し、今回叩かれた叩き面が左叩き面6Lである場合には、キャラクタが左方向に移動するように現在位置情報を更新する。なお、現在位置情報を更新する替わりに、「今回叩かれた叩き面」に応じて速度ベクトルの向きを変化させてもよい。
【0087】
図8のステップS34では、右叩き面6Rと左叩き面6Lの両方とも押されているかどうかを判断し、両方とも押されている場合には処理はステップS38に進み、いずれか一方のみしか押されていない場合もしくは両方とも押されていない場合には処理はステップS36に進む。
【0088】
ステップS36では、同時押しタイマ47を0にリセットする。
【0089】
ステップS38では、同時押しタイマ47に1を加算する。
【0090】
ステップS40では、同時押しタイマ47を参照し、同時押しの状態が一定時間以上続いたかどうかを判断する。例えば、同時押しタイマ47の値が10を超えているときに、同時押しの状態が一定時間以上続いたと判断する。同時押しの状態が一定時間以上続いている場合には処理はステップS42に進み、そうでない場合には処理はステップS44に進む。
【0091】
ステップS42では、キャラクタの速度(速度ベクトルの大きさ)が一定量だけ減少するように、キャラクタ制御データ43の速度情報(速度ベクトル)を更新する。なお、速度を一定量だけ減少させる替わりに、現在速度に応じて速度の減少量を変化させても良いし、コースの形状に応じて速度の減少量を変化させてもよい。
【0092】
ステップS44では、叩き間隔タイマ46を参照し、叩き操作の無い状態が一定時間以上続いているかどうかを判断する。例えば、叩き間隔タイマ46の値が60を超えているときに、叩き操作の無い状態が一定時間以上続いたと判断する。叩き操作の無い状態が一定時間以上続いている場合には処理はステップS46に進み、そうでない場合には処理はステップS48に進む。
【0093】
ステップS46では、入力履歴情報45をクリアする。
【0094】
ステップS48では、速度情報に基づいて現在位置情報を更新する。
【0095】
ステップS50では、更新された現在位置情報に基づいてゲーム画像を更新する。その後、ステップS12に戻る。
【0096】
こうして、上記のような処理(ステップS12からステップS50までの処理)が1フレーム期間(60分の1秒)の周期で繰り返される。
【0097】
図9は、プレイヤによる叩き操作の入力パターンと、キャラクタの動作との対応関係の一例を示している。
【0098】
なお、本実施形態では、「連打の一打目」の叩き操作が行われたときにキャラクタを加速(すなわち、前進方向に加速)させるようにしているが、本発明はこれに限らず、「連打の一打目」の叩き操作が行われたときに、叩かれた叩き面に応じた方向にキャラクタを移動させてもよい。また、「連打の一打目」の叩き操作が行われたときにキャラクタを加速も右移動も左移動もさせないようにしてもよい。
【0099】
本実施形態では、プレイヤによる叩き操作のパターンが「右叩き面→右叩き面→左叩き面」のときには、キャラクタを加速させずに左に移動させるようにしているが、これは、プレイヤがキャラクタを右に移動させた直後にキャラクタを加速させる状況よりも、キャラクタを右に移動させた直後にキャラクタを左に移動させる状況(例えば、S字カーブを曲がるときや、プレイヤがキャラクタを右に移動させ過ぎたためにキャラクタを少し左に戻すときなど)の方が起こりやすいためである。プレイヤによる叩き操作のパターンが「左叩き面→左叩き面→右叩き面」のときにキャラクタを加速させずに右に移動させているのも同様の理由からである。これにより、操作性を向上させることができる。なお、変形例として、プレイヤによる叩き操作のパターンが「右叩き面→右叩き面→左叩き面」のとき、もしくは「左叩き面→左叩き面→右叩き面」のときに、キャラクタを加速させるようにしてもよいし、キャラクタを右移動も左移動も加速もさせないようにしてもよい。
【0100】
また、本実施形態では、同一の叩き面が連続して2回以上叩かれたときに、叩かれた叩き面に関連づけられた方向にキャラクタが移動するが、このとき、叩き間隔タイマ46の値が小さいほど(すなわち叩き面が素早く連打されているほど)、キャラクタを大きく(または速く)移動または加速させるようにしてもよい。同様に、本実施形態では、右叩き面6Rと左叩き面6Lが交互に叩かれたときにキャラクタが加速するが、このとき、叩き間隔タイマ46の値が小さいほど(すなわち叩き面が素早く連打されているほど)、キャラクタを大きく加速(または移動)させるようにしてもよい。
【0101】
なお、図6のメモリマップや図7および図8のフローチャートは単なる一具体例に過ぎず、本実施形態と同様の処理結果を得るために図6と異なるメモリマップや図7および図8と異なるフローチャートを採用し得ることは言うまでもない。
【0102】
以上のように、本実施形態によれば、プレイヤは、仮想ゲーム世界のキャラクタに対して、2つの叩き面を叩く操作だけで、少なくとも3種類の動作指示を連続して与えることができる。
【0103】
次に、図10〜図12を参照して、本発明の他の実施形態について説明する。
【0104】
これから説明する実施形態は、第1スイッチおよび第1スイッチと異なる1つ以上の他スイッチを含む入力手段を利用して仮想ゲーム世界のオブジェクトを動作制御するためのゲームプログラムに関するものである。第1スイッチは、例えば図1の右叩き面6Rであってもよいし、図2のRボタン7Rであってもよい。他スイッチは、第1スイッチ以外の任意のスイッチである。例えば、図2の例で、Rボタン7Rを第1スイッチとすると、Lボタン7L、スタートボタン7S、Aボタン7Aはいずれも他スイッチである。
【0105】
図11は、ゲームプログラムに基づいてCPU31によって実行されるゲーム処理の一例である。以下、図11を参照して、このゲーム処理の詳細を説明する。
【0106】
CPU31はステップS60で、第1スイッチからの入力があったかどうかを判断する。第1スイッチからの入力があった場合には処理はステップS62に進み、第1スイッチからの入力がない場合には、第1スイッチからの入力があるまでステップS60の処理を繰り返す。
【0107】
ステップS60において第1スイッチからの入力があったことが検出されると、CPU31はステップS62で、第1スイッチからの入力が連続して行われたのか、第1スイッチからの入力と他スイッチからの入力が交互に行われたのかを判断する。これは、過去のプレイヤの操作内容に基づいて判断することができる。例えば、ステップS60において第1スイッチからの入力が検出される直前に第1スイッチからの入力が行われていた場合には、第1スイッチからの入力が連続して行われたと判断し、ステップS60において第1スイッチからの入力が検出される直前に他スイッチからの入力が行われていた場合には、第1スイッチからの入力と他スイッチからの入力が交互に行われたと判断してもよい。
【0108】
なお、ステップS62において、入力手段が複数の他スイッチを含んでいる場合には、第1スイッチ以外の全てのスイッチからの入力を「他スイッチからの入力」として扱ってもよいし、特定のスイッチ(第2スイッチ)からの入力だけを「他スイッチからの入力」として扱ってもよい。例えば、プレイヤの入力パターンが「第1スイッチからの入力→第3スイッチからの入力→第1スイッチからの入力」であったとすると、第1スイッチ以外の全てのスイッチからの入力を「他スイッチからの入力」として扱う場合には、第1スイッチからの入力と他スイッチからの入力が交互に行われたと判断されるが、第2スイッチからの入力だけを「他スイッチからの入力」として扱う場合には、ステップS62の判断においては第3スイッチからの入力は無視されるので、第1スイッチからの入力が連続して行われたと判断される。
【0109】
ステップS62において、第1スイッチからの入力が連続して行われたと判断された場合には処理はステップS64に進み、第1スイッチからの入力と他スイッチからの入力が交互に行われたと判断された場合には処理はステップS66に進む。
【0110】
ステップS64では、オブジェクトに第1動作を行わせ、ステップS66では、オブジェクトに第1動作とは異なる第2動作を行わせる。
【0111】
図12は、さらに他の実施形態として、第1スイッチからの入力または第2スイッチからの入力のいずれかが検出される度に、第1スイッチからの入力が連続して行われたのか、第2スイッチからの入力が連続して行われたのか、第1スイッチからの入力と第2スイッチからの入力が交互に行われたのかを判断する場合のフローチャートである。
【0112】
図12のステップS60〜ステップS66の処理は図11と同じであるので説明を省略する。
【0113】
図12のステップS68では、CPU31は、第2スイッチからの入力があったかどうかを判断する。第2スイッチからの入力があった場合には処理はステップS70に進み、第2スイッチからの入力がない場合には処理はステップS60に戻る。
【0114】
ステップS68において第2スイッチからの入力があったことが検出されると、CPU31はステップS70で、第2スイッチからの入力が連続して行われたのか、第2スイッチからの入力と第1スイッチからの入力が交互に行われたのかを判断する。第1スイッチからの入力が連続して行われたと判断された場合には処理はステップS72に進み、第1スイッチからの入力と第2スイッチからの入力が交互に行われたと判断された場合には処理はステップS74に進む。
【0115】
ステップS72では、オブジェクトに第1動作および第2動作のいずれとも異なる第3動作を行わせ、ステップS74では、オブジェクトに第2動作を行わせる。
【0116】
以上のように、本実施形態では、第1スイッチからの入力または第2スイッチからの入力のいずれかが検出される度に、第1スイッチからの入力が連続して行われたのか、第2スイッチからの入力が連続して行われたのか、第1スイッチからの入力と第2スイッチからの入力が交互に行われたのかを判断し、その判断結果に応じてオブジェクトに異なる動作を行わせることができる。
【0117】
なお、コンガ型コントローラ6の替わりに、図13に示すような、コントローラ7´を使用してもよい。コントローラ7´はコアユニット7R´およびサブユニット7L´を含む。コアユニット7R´およびサブユニット7L´はそれぞれプレイヤが左右の手それぞれで把持可能な形状およびサイズに形成されている。また、コアユニット7R´およびサブユニット7L´の内部にはそれぞれ図示しない加速度センサが設けられる。また、ゲーム装置3には、接続端子を介して受信ユニット8が接続される。さらに、コアユニット7R´およびサブユニット7L´の少なくとも一方には、その内部に通信部が備えられ、当該通信部から受信ユニット8が接続されたゲーム装置3に対して、各加速度センサの出力値が送信される。なお、コアユニット7R´およびサブユニット7L´の両方が通信部を備えるようにして、コアユニット7R´の通信部がコアユニット7R´の加速度センサの出力値を受信ユニット8に送信し、サブユニット7L´の通信部がサブユニット7L´の加速度センサの出力値を受信ユニット8に送信するようにしてもよいが、図示するように、コアユニット7R´およびサブユニット7L´を有線(または無線)で接続し、各加速度センサの出力値をまとめて1つの通信部が受信ユニット8に対して送信するようにしてもよい。ゲーム装置3は、受信ユニット8を介して受信した各加速度センサの出力値を既知の分析処理により分析して、コアユニット7R´およびサブユニット7L´が予め定める所定の動き(例えば上下に振られる動きなど)をしたかどうかをCPU31の処理により判断する。これにより、プレイヤがコアユニット7R´またはサブユニット7L´を手で把持して例えば上下に振ったかどうかが判断される。なお、この判断のためのプログラムは、典型的にはゲームプログラムとともに光ディスクに記憶され、当該プログラムがワークメモリ32にロードされてCPU31により実行される。そして、例えば、コアユニット7R´が所定の動きをしたと判断したときに、コンガ型コントローラの右叩き面6Rが叩かれたときと同じ処理を行い、サブユニット7L´が所定の動きをしたと判断したときに、コンガ型コントローラの右叩き面6Lが叩かれたときと同じ処理を行うようにすることができる。また、加速度センサ以外の動きセンサを用いてもよく、その場合は、動きセンサの特性に応じて動きを検出する処理をCPUに実行させればよい。
【図面の簡単な説明】
【0118】
【図1】本発明の一実施形態に係るゲームシステム1の外観図
【図2】一般的なコントローラを用いる場合のゲームシステム1の外観図
【図3】ゲーム機本体3の内部構成図
【図4】テレビ2の画面に表示されるゲーム画像の一例
【図5】キャラクタの前進方向の設定例
【図6】ワークメモリ32のメモリマップ
【図7】CPU31の処理の流れを示すフローチャートの一部
【図8】CPU31の処理の流れを示すフローチャートの残りの一部
【図9】叩き操作のパターンとキャラクタの動作との対応関係を示す図
【図10】本発明の他の実施形態の入力手段について説明するための図
【図11】本発明の他の実施形態に関するフローチャート
【図12】本発明のさらに他の実施形態に関するフローチャート
【図13】動きセンサを備えるコントローラを用いる場合のゲームシステム1の外観図
【符号の説明】
【0119】
1 ゲームシステム
2 テレビ
3 ゲーム機本体
4 DVD−ROM
5 メモリカード
6 コンガ型コントローラ
6L 左叩き面
6M マイクロフォン
6R 右叩き面
6S スタートボタン
7 コントローラ
7A Aボタン
7L Lボタン
7M マイクロフォン
7R Rボタン
7S スタートボタン
31 CPU
32 ワークメモリ
33 外部メモリI/F
34 コントローラI/F
35 VRAM
36 GPU
37 光ディスクドライブ
40 ゲームプログラム
41 ゲーム画像データ
42 レースコースデータ
43 キャラクタ制御データ
44 操作データ
45 入力履歴情報
46 叩き間隔タイマ
47 同時押しタイマ

【特許請求の範囲】
【請求項1】
第1スイッチおよび当該第1スイッチと異なる1つ以上の他スイッチを含む入力手段を利用して仮想ゲーム世界のオブジェクトを動作制御するためのゲームプログラムであって、コンピュータを、
前記オブジェクトを画面に表示する表示制御手段、
前記入力手段による入力が行われたことを検出する入力検出手段、
前記入力検出手段によって前記第1スイッチによる入力が検出される毎に、前記第1スイッチによる入力が連続して行われているか、前記第1スイッチによる入力と前記他スイッチによる入力とが交互に行われているかを判断する第1判断手段、および
(a)前記第1スイッチによる入力が連続して行われていると前記第1判断手段が判断したときには、前記オブジェクトに前記第1スイッチに関連付けられた第1動作を行わせ、(b)前記第1スイッチによる入力と前記他スイッチによる入力が交互に行われていると前記第1判断手段が判断したときには、前記オブジェクトに前記第1動作と異なる第2動作を行わせる動作制御手段として機能させるためのゲームプログラム。
【請求項2】
前記入力手段は、前記他スイッチとして少なくとも第2スイッチを含み、
前記第1判断手段は、前記入力検出手段によって前記第1スイッチによる入力が検出される毎に、前記第1スイッチによる入力が連続して行われているか、前記第1スイッチによる入力と前記第2スイッチによる入力とが交互に行われているかを判断し、
前記動作制御手段は、(a)前記第1スイッチによる入力が連続して行われていると前記第1判断手段が判断したときには、前記オブジェクトに前記第1動作を行わせ、(b)前記第1スイッチによる入力と前記第2スイッチによる入力が交互に行われていると前記第1判断手段が判断したときには、前記オブジェクトに前記第2動作を行わせる、請求項1に記載のゲームプログラム。
【請求項3】
前記ゲームプログラムは、前記入力検出手段によって前記第2スイッチによる入力が検出される毎に、前記第2スイッチによる入力が連続して行われているか、前記第1スイッチによる入力と前記第2スイッチによる入力とが交互に行われているかを判断する第2判断手段として前記コンピュータをさらに機能させ、
前記動作制御手段は、(c)前記第2スイッチによる入力が連続して行われていると前記第2判断手段が判断したときには、前記オブジェクトに前記第2スイッチに関連付けられた第3動作を行わせ、(d)前記第1スイッチによる入力と前記第2スイッチによる入力とが交互に行われていると前記第2判断手段が判断したときには、前記オブジェクトに前記第2動作を行わせる、請求項2に記載のゲームプログラム。
【請求項4】
前記動作制御手段は、(a)前記第1スイッチによる入力が連続して行われていると前記第1判断手段が判断したときには、前記仮想ゲーム世界において前記第1スイッチに関連付けられた第1方向に前記オブジェクトを移動又は加速させ、(b)前記第1スイッチによる入力と前記他スイッチによる入力とが交互に行われていると前記第1判断手段が判断したときには、前記仮想ゲーム空間において前記第1方向と異なる第2方向に前記オブジェクトを移動又は加速させる、請求項1に記載のゲームプログラム。
【請求項5】
前記第1判断手段は、前記入力検出手段によって前記第1スイッチによる入力が検出される毎に、過去所定時間以内に行われた入力に基づいて、前記第1スイッチによる入力が連続して行われているか、前記第1スイッチによる入力と前記他スイッチによる入力とが交互に行われているかを判断する、請求項1に記載のゲームプログラム。
【請求項6】
前記第1判断手段は、所定時間以上の間隔を空けることなく継続して行われた一連の入力を参照して、前記第1スイッチによる入力が連続して行われているか、前記第1スイッチによる入力と前記他スイッチによる入力とが交互に行われているかを判断する、請求項1に記載のゲームプログラム。
【請求項7】
前記入力検出手段は、前記第1スイッチ又は前記他スイッチがプレイヤによって押されていない状態から押されている状態に変化したこと、もしくは前記第1スイッチ又は前記他スイッチがプレイヤによって押されている状態から押されていない状態に変化したことを、前記入力手段による入力として検出する、請求項1に記載のゲームプログラム。
【請求項8】
前記第1スイッチが、太鼓型コントローラに設けられた叩き面である、請求項1に記載のゲームプログラム。
【請求項9】
前記動作制御手段は、
前記第1スイッチによる入力と前記第2スイッチによる入力とが交互に行われていると前記第1判断手段または前記第2判断手段が判断したときには、前記仮想ゲーム空間において前記オブジェクトの前進方向に当該オブジェクトを移動又は加速させ、
前記第1スイッチによる入力が連続して行われていると前記第1判断手段が判断したときには、前記仮想ゲーム世界において前記前進方向を基準とした右方向に前記オブジェクトを移動又は加速させ、
前記第2スイッチによる入力が連続して行われていると前記第2判断手段が判断したときには、前記仮想ゲーム空間において前記前進方向を基準とした左方向に前記オブジェクトを移動又は加速させる、請求項3に記載のゲームプログラム。
【請求項10】
前記コンピュータを、
前記仮想ゲーム空間内の所定のルートを定義したルートデータを、前記オブジェクトの現在位置データに基いて参照することにより、前記前進方向を当該ルートに沿う方向に設定する前進方向設定手段としてさらに機能させる、請求項9に記載のゲームプログラム。
【請求項11】
前記動作制御手段は、
前記第1スイッチによる入力と前記第2スイッチによる入力とが交互に行われていると前記第1判断手段または前記第2判断手段が判断したときには、前記仮想ゲーム空間において前記オブジェクトの前進方向に当該オブジェクトを移動又は加速させ、
前記第1スイッチによる入力が連続して行われていると前記第1判断手段が判断したときには、前記仮想ゲーム世界において前記前進方向を右方向に変更し、
前記第2スイッチによる入力が連続して行われていると前記第2判断手段が判断したときには、前記仮想ゲーム空間において前記前進方向を左方向に変更する、請求項3に記載のゲームプログラム。
【請求項12】
前記オブジェクトが、前記仮想ゲーム世界に設けられたレースコース上を移動する移動オブジェクトであり、
前記第1動作が、前記レースコースに対して垂直な第1方向に移動又は加速する動作であり、
前記第2動作が、前記レースコースの進行方向に対応する第2方向に移動又は加速する動作であり、
前記第3動作が、前記第1方向とは逆の第3方向に移動又は加速する動作である、請求項4に記載のゲームプログラム。
【請求項13】
前記ゲームプログラムは、前記第1スイッチおよび前記第2スイッチの一方または両方が押し続けられているかどうかを判断する長押し判断手段として前記コンピュータをさらに機能させ、
前記動作制御手段は、前記長押し判断手段の判断結果が肯定である場合に、前記オブジェクトを減速する、請求項12に記載のゲームプログラム。
【請求項14】
前記動作制御手段は、前記第1スイッチおよび前記第2スイッチのいずれも押されていない場合には、前記オブジェクトの現在の移動速度を維持する、請求項12に記載のゲームプログラム。
【請求項15】
前記ゲームプログラムは、前記第1スイッチまたは前記他スイッチの連打速さを検出する連打速さ検出手段として前記コンピュータをさらに機能させ、
前記動作制御手段は、前記連打速さ検出手段の検出結果に応じた速度又は加速度で前記オブジェクトを移動又は加速する、請求項4に記載のゲームプログラム。
【請求項16】
第1スイッチおよび当該第1スイッチと異なる第2スイッチを含む入力手段を利用して仮想ゲーム世界のオブジェクトを動作制御するためのゲームプログラムであって、コンピュータを、
前記オブジェクトを画面に表示する表示制御手段、
前記入力手段による入力が行われたことを検出する入力検出手段、
前記入力検出手段によって前記第1スイッチまたは前記第2スイッチによる入力が検出されたときに、今回押されたスイッチと前回押されたスイッチが同一かどうかを判断する前回入力判断手段、
前記前回入力判断手段の判定結果が否定である場合に、今回押されたスイッチと前々回押されたスイッチが同一かどうかを判断する前々回入力判断手段、および
(a)前記前回入力判断手段の判断結果が肯定である場合に、前記オブジェクトに、今回押されたスイッチに関連付けられた動作を行わせ、(b)前記前回入力判断手段の判断結果が否定であり、かつ前記前々回入力判断手段の判断結果が肯定である場合に、前記オブジェクトに、前記スイッチに関連付けられた動作と異なる動作を行わせる動作制御手段として機能させるためのゲームプログラム。
【請求項17】
前記動作制御手段は、
(c)前記前回入力判断手段の判断結果が否定であり、かつ前記前々回入力判断手段の判断結果が否定である場合に、前記オブジェクトに、今回押されたスイッチに関連付けられた動作を行わせる、請求項16に記載のゲームプログラム。
【請求項18】
前記動作制御手段は、
(c)前記前回入力判断手段の判断結果が否定であり、かつ前記前々回入力判断手段の判断結果が否定である場合に、前記オブジェクトに、前記異なる動作を行わせない、請求項16に記載のゲームプログラム。
【請求項19】
前記動作制御手段は、
(d)前記入力検出手段によって前記第1スイッチまたは前記第2スイッチによる入力が検出されたときに、当該入力が1回目の入力である場合、前記オブジェクトに、前記異なる動作を行わせる、請求項16に記載のゲームプログラム。
【請求項20】
第1スイッチおよび当該第1スイッチと異なる1つ以上の他スイッチを含む入力手段、
仮想ゲーム世界のオブジェクトを画面に表示する表示制御手段、
前記入力手段による入力が行われたことを検出する入力検出手段、
前記入力検出手段によって前記第1スイッチによる入力が検出される毎に、前記第1スイッチによる入力が連続して行われているか、前記第1スイッチによる入力と前記他スイッチによる入力とが交互に行われているかを判断する第1判断手段、および
(a)前記第1スイッチによる入力が連続して行われていると前記第1判断手段が判断したときには、前記オブジェクトに前記第1スイッチに関連付けられた第1動作を行わせ、(b)前記第1スイッチによる入力と前記他スイッチによる入力が交互に行われていると前記第1判断手段が判断したときには、前記オブジェクトに前記第1動作と異なる第2動作を行わせる動作制御手段を備えたゲーム装置。
【請求項21】
第1スイッチおよび当該第1スイッチと異なる第2スイッチを含む入力手段、
仮想ゲーム世界のオブジェクトを画面に表示する表示制御手段、
前記入力手段による入力が行われたことを検出する入力検出手段、
前記入力検出手段によって前記第1スイッチまたは前記第2スイッチによる入力が検出されたときに、今回押されたスイッチと前回押されたスイッチが同一かどうかを判断する前回入力判断手段、
前記前回入力判断手段の判定結果が否定である場合に、今回押されたスイッチと前々回押されたスイッチが同一かどうかを判断する前々回入力判断手段、および
(a)前記前回入力判断手段の判断結果が肯定である場合に、前記オブジェクトに、今回押されたスイッチに関連付けられた動作を行わせ、(b)前記前回入力判断手段の判断結果が否定であり、かつ前記前々回入力判断手段の判断結果が肯定である場合に、前記オブジェクトに、前記スイッチに関連付けられた動作と異なる動作を行わせる動作制御手段を備えたゲーム装置。
【請求項22】
プレイヤによる第1操作および当該第1操作と異なる第2操作を検出可能な入力手段を利用して仮想ゲーム世界のオブジェクトを動作制御するためのゲームプログラムであって、コンピュータを、
前記オブジェクトを画面に表示する表示制御手段、
前記入力手段による入力が行われたことを検出する入力検出手段、
前記入力検出手段によって前記第1操作が検出される毎に、前記第1操作が連続して行われているか、前記第1操作と前記第2操作とが交互に行われているかを判断する第1判断手段、および
(a)前記第1操作が連続して行われていると前記第1判断手段が判断したときには、前記オブジェクトに前記第1操作に関連付けられた第1動作を行わせ、(b)前記第1操作と前記第2操作が交互に行われていると前記第1判断手段が判断したときには、前記オブジェクトに前記第1動作と異なる第2動作を行わせる動作制御手段として機能させるためのゲームプログラム。
【請求項23】
第1操作および当該第1操作と異なる第2操作を検出可能な入力手段、
仮想ゲーム世界のオブジェクトを画面に表示する表示制御手段、
前記入力手段による入力が行われたことを検出する入力検出手段、
前記入力検出手段によって前記第1操作が検出される毎に、前記第1操作が連続して行われているか、前記第1操作と前記第2操作が交互に行われているかを判断する第1判断手段、および
(a)前記第1操作が連続して行われていると前記第1判断手段が判断したときには、前記オブジェクトに前記第1操作に関連付けられた第1動作を行わせ、(b)前記第1操作と前記第2操作が交互に行われていると前記第1判断手段が判断したときには、前記オブジェクトに前記第1動作と異なる第2動作を行わせる動作制御手段を備えたゲーム装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate


【公開番号】特開2007−325916(P2007−325916A)
【公開日】平成19年12月20日(2007.12.20)
【国際特許分類】
【出願番号】特願2007−112874(P2007−112874)
【出願日】平成19年4月23日(2007.4.23)
【新規性喪失の例外の表示】特許法第30条第1項適用申請有り 平成19年4月15日 小学館発行の「月刊コロコロコミックNo.349」に発表
【新規性喪失の例外の表示】特許法第30条第1項適用申請有り 平成19年4月21日 株式会社エンターブレイン発行の「ファミ通DS+Wii 通巻96号」に発表
【新規性喪失の例外の表示】特許法第30条第1項適用申請有り 平成19年4月21日 株式会社メディアワークス発行の「デンゲキ ニンテンドー DS 通巻98号」に発表
【新規性喪失の例外の表示】特許法第30条第1項適用申請有り 平成19年4月21日 株式会社毎日コミュニケーションズ発行の「Nintendo DREAM Vol.158」に発表
【出願人】(000233778)任天堂株式会社 (1,115)
【出願人】(501092324)株式会社パオン (6)
【Fターム(参考)】