説明

ゲームプログラムおよびゲーム装置

【構成】 ゲーム装置10はLCD14を含み、LCD14にはゲーム画面が表示される。また、このLCD14上にタッチパネル22が設けられる。ゲーム画面には、音楽演奏に合わせてマーカ画像がその位置を可変的に表示されるとともに、当該マーカ画像のタッチタイミングを示すタイマサークル画像が表示される。プレイヤは、音楽演奏を聞き、また、タイマサークル画像を見て、タイミングを計り、タッチすべきマーカ画像をタッチする。タッチのタイミングとタッチの位置とに基づいてタッチを評価し、タッチの評価が失敗である場合には、ゲーム画面をぶれさせる。
【効果】 タッチのタイミングとタッチの位置との両方に基づいてタッチを評価するので、新しい操作感を得て、ゲームを楽しむことができる。

【発明の詳細な説明】
【技術分野】
【0001】
この発明はゲームプログラムおよびゲーム装置に関し、特にたとえば、タッチ操作によりゲームをプレイする、ゲームプログラムおよびゲーム装置に関する。
【背景技術】
【0002】
この種のゲーム装置の一例が特許文献1に開示される。この特許文献1の音楽演出ゲーム機によれば、複数の演出操作部材が設けられ、音楽に合わせて演出操作をプレイヤに視覚的に指示し、プレイヤの演出操作に応じた演出効果をスピーカから出力する。
【0003】
また、この種のゲーム装置の他の例が特許文献2に開示される。この特許文献2によれば、画面の上部に基準矢印マークが表示され、音楽に合わせて、画面の下部から上部に移動する複数のタイミング案内マークが表示される。プレイヤは、タイミング案内マークが基準矢印マークに重なるタイミングを計って、操作すべきボタン入力領域の上を踏む。タイミング案内マークの表示時刻と、プレイヤの操作タイミングとの一致度が高い程、高得点となり、対戦プレイにおいては、他方のプレイヤの画面上のタイミング案内マークを増加させて、当該他方のプレイヤのゲームプレイの難易度を高くするようにしてある。
【0004】
さらに、この種のゲーム装置のその他の例が特許文献3に開示される。この特許文献3によれば、対戦ゲームをプレイする各々のプレイヤは、タッチパネルを用いて、入力制限時間内で、自分のキャラクタが攻撃に用いる行動(技)とその行動ターゲットとを選択する。そして、入力制限時間が経過すると、選択した技による攻撃が、選択した行動ターゲットに対して発動される。
【特許文献1】特開平11−151380号
【特許文献2】特許第3566195号
【特許文献3】特開2004−73682号
【発明の開示】
【発明が解決しようとする課題】
【0005】
しかし、特許文献1および特許文献2の技術では、プレイヤはタイミングを計って操作するだけであり、また、操作する演出操作部材やボタン入力領域は固定的に配置されるため、操作が単調となり、プレイヤは一定以上のレベルに達すると、ゲームに飽きてしまう。
【0006】
また、特許文献2では、対戦プレイの場合には、他方のプレイヤの画面に表示されるタイミング案内矢印マークを増加させるようにしてあるが、操作回数が増えるだけであり、操作が単調である点に変わりない。
【0007】
さらに、特許文献3では、タッチパネルの操作により、行動ターゲットや行動を制限時間内に指定するようにしてあるが、操作タイミングは何ら考慮されておらず、また、指定する行動ターゲットはプレイヤの戦略等によるため、正しい行動ターゲットを指定したか否かが判断される訳ではない。つまり、操作スイッチの操作に変えてタッチ操作が可能なだけであり、タッチパネル特有の操作を活かしたゲームが提供されている訳ではない。
【0008】
それゆえに、この発明の主たる目的は、新規な、ゲームプログラムおよびゲーム装置を提供することである。
【0009】
この発明の他の目的は、新しい操作感を得ることができる、ゲームプログラムおよびゲ
ーム装置を提供することである。
【課題を解決するための手段】
【0010】
請求項1の発明は、表示手段と、当該表示装置に関連して設けられるタッチパネルとを備えたゲーム装置のゲームプログラムであって、ゲーム装置のプロセサに、タッチ入力検出ステップ、タッチタイミング制御ステップ、タッチ画像表示ステップ、タッチタイミング検出ステップ、タッチタイミング一致度検出ステップ、タッチ位置検出ステップ、およびタッチ評価ステップを実行させる。タッチ入力検出ステップは、タッチ入力を検出する。タッチタイミング制御ステップは、タッチ入力が行われるべき第1タイミングを処理する。タッチ画像表示ステップは、プレイヤがタッチすべきタッチ画像を生成して表示手段に表示する。タッチタイミング検出ステップは、タッチ入力検出ステップによって検出されたタッチ入力の第2タイミングを検出する。タイミング一致度検出ステップは、第1タイミングと第2タイミングとの一致度を検出する。タッチ位置検出ステップは、タッチ入力が示すタッチ位置がタッチすべき位置を指示するか否かを検出する。そして、タッチ評価ステップは、タイミング一致度検出ステップの検出結果とタッチ位置検出ステップの検出結果とに応じてタッチ入力の評価を行う。
【0011】
請求項1の発明では、ゲーム装置(10;実施例で相当する参照符号。以下、同じ。)は、表示手段(14)とこの表示装置に関連して設けられるタッチパネル(22)とを備える。ゲームプログラムは、ゲーム装置(10)のプロセサ(42)によって実行される。タッチ入力検出ステップ(42,S23,S141)は、タッチパネル(22)へのタッチ入力を検出する。タッチタイミング制御ステップ(42,S9−S45のルーチン,S127−S173のルーチン)は、タッチ入力が行われるべき第1タイミングを処理する。タッチ画像表示ステップ(42,S43,S171)は、プレイヤがタッチすべきタッチ画像(102)を生成して、表示手段(14)に表示する。タッチタイミング検出ステップ(42)は、タッチ入力検出ステップ(42,S23,S141)によって検出されたタッチ入力の第2タイミングを検出する。タイミング一致度検出ステップ(42,S51)は、第1タイミングと第2タイミングとの一致度(実施例では、差分)を検出する。タッチ位置検出ステップ(42,S31,S149)は、タッチ入力が示すタッチ位置がタッチすべき位置を指示するか否かを検出する。タッチ評価ステップ(42,S25,S33,S143,S151)は、タイミング一致検出ステップ(42,S51)の検出結果とタッチ位置検出ステップ(42,S31,S149)の検出結果とに応じてタッチ入力の評価を行う。つまり、タッチすべき位置を、タッチすべきタイミングでタッチしたか否かの評価を行う。
【0012】
請求項1の発明によれば、タッチのタイミングのみならず、タッチの位置に応じてタッチを評価するため、今までにない操作を行うことができる。つまり、新しい操作感を得ることができる。また、単にタイミングを合わせるだけではないため、ゲームのバリエーションを豊富にすることができる。
【0013】
請求項2の発明は請求項1に従属し、タッチすべき位置は、タッチ画像に関連してタッチパネルに設定された位置を含む。
【0014】
請求項2の発明では、タッチすべき位置(106)は、タッチ画像に関連してタッチパネルに設定された位置を含む。たとえば、タッチ画像の表示領域に対応する領域のすべてをタッチすべき位置として設定することができる。
【0015】
請求項2の発明によれば、タッチすべき位置をタッチ画像に関連して設定しておくため、タッチすべき位置をタッチしたかどうかを判断することで、タッチ画像をタッチしたかどうかを容易に判定することができる。
【0016】
請求項3の発明は請求項1または2に従属し、タッチ画像表示ステップは、第1タイミングをタッチ画像に関連して可視表示する。
【0017】
請求項3の発明では、タッチ画像表示ステップ(42,S43,S171)は、第1タイミングをタッチ画像(102)に関連して可視表示する。実施例では、タッチ画像(102)を囲むリング状の画像(タイマサークル画像104)をその大きさが第1タイミングでタッチ画像(102)の外周(縁)と同じ大きさになるように、次第に小さくなるように表示する。
【0018】
請求項3の発明によれば、第1タイミングを視認できるので、簡単にタッチのタイミングを計ることができる。
【0019】
請求項4の発明は請求項1ないし3のいずれかに従属し、少なくともタッチ評価ステップの評価に応じて、タッチ画像の表示を変化させるタッチ画像表示変化ステップをさらに実行させる。
【0020】
請求項4の発明では、タッチ画像表示変化ステップ(42,S83,S85,S87)は、少なくともタッチ評価ステップ(42,S25,S33,S143,S151)の評価に応じて、たとえば、タッチに成功したか否かに応じて、タッチ画像(102)の表示を変化させる。
【0021】
請求項4の発明によれば、少なくともタッチに成功したか否かをタッチ画像の変化によって知ることができる。
【0022】
請求項5の発明は請求項4に従属し、タッチ画像表示変化ステップは、タッチ画像の表示位置を変化させる。
【0023】
請求項5の発明では、タッチ画像表示変化ステップ(42,S83,S85,S87)は、タッチ画像(102)の表示位置を変化させる。たとえば、ゲーム画面(100)全体をぶれさせることにより、タッチ画像(102)の表示位置が変化(振動)される。
【0024】
請求項5の発明によれば、タッチの評価をタッチ画像の表示位置の変化で知ることができる。
【0025】
請求項6の発明は請求項4または5に従属し、タッチ画像表示変化ステップは、タッチ画像の大きさを変化させる。
【0026】
請求項6の発明では、タッチ画像表示変化ステップ(42,S83,S85,S87)は、タッチ画像(102)の大きさを変化させる。たとえば、タッチに成功した場合に、タッチ画像(102)を大きく表示させ、逆にタッチに失敗した場合に、タッチ画像(102)を小さく表示させる。ただし、タッチに成功した場合に、タッチ画像(102)を小さく表示させ、逆にタッチに失敗した場合に、タッチ画像(102)を大きく表示させるようにしてもよい。
【0027】
請求項6の発明によれば、タッチを成功したか否かをタッチ画像の大きさで知ることができる。
【0028】
請求項7の発明は請求項1ないし6のいずれかに従属し、他のゲーム装置との間でデータ通信を実行する通信ステップをさらに実行させ、通信ステップは、他のゲーム装置のプ
レイヤとの間で対戦プレイするとき、タッチ評価ステップの評価に応じた攻撃データを当該他のゲーム装置に送信する。
【0029】
請求項7の発明では、通信ステップ(32,42,64,S165)は、他のゲーム装置(10)との間でデータ通信を実行する。この通信ステップ(32,42,64,S165)は、他のゲーム装置(10)との間で対戦プレイするとき、タッチ評価ステップ(42,S143,S151)の評価結果に応じた攻撃データを当該他のゲーム装置(10)に送信する。
【0030】
請求項7の発明によれば、タッチ評価に応じた攻撃を相手に加えることができるため、タッチ操作を上達させるべくゲームを楽しむことができる。つまり、ゲームに飽きが来るのを可及的に防止することができる。
【0031】
請求項8の発明は請求項7に従属し、タッチ画像変化ステップは、通信ステップによって他のゲーム装置から攻撃データを受信したとき、タッチ画像の表示を変化させる。
【0032】
請求項8の発明では、タッチ画像変化ステップ(42,S83,S85,S87)は、通信ステップ(32,42,64,S165)によって他のゲーム装置(10)から攻撃データを受信したとき、タッチ画像の表示を変化させる。
【0033】
請求項8の発明では、他のゲーム装置からの攻撃を受けたことをタッチ画像の表示の変化により知ることができる。
【0034】
請求項9の発明は請求項4に従属し、タッチ画像表示ステップは、3次元図形のレンダリング処理と2次元画像への視点変換処理とを含む3次元グラフィックスの手法に基づいてタッチ画像を生成し、タッチ画像表示変化ステップは、少なくともタッチ評価ステップの評価に応じて、視点変換処理における視点位置を変更する。
【0035】
請求項9の発明では、タッチ画像表示ステップ(42,S43,S171)は、3次元図形のレンダリング処理と2次元画像への視点変換処理とを含む3次元グラフィックスの手法に基づいてタッチ画像(102)を生成する。タッチ画像表示変化ステップ(42,S83,S85,S87)は、少なくともタッチ評価ステップの評価に応じて、視点変換処理における視点位置を変更する。視点位置は、たとえば、3次元仮想空間における高さ方向または水平方向に変更することができ、したがって、タッチ画像(102)を含むゲーム画面(100)を縦または横にぶれさせることができる。
【0036】
請求項9の発明によれば、3次元空間における視点位置を変更するだけで、タッチ画像の表示を変化せることができるので、処理負担が少ない。
【0037】
請求項10の発明は請求項4に従属し、タッチ画像の表示位置を変化させる期間を設定する変化期間設定ステップをさらに実行させ、タッチ画像表示変化ステップは、変化期間設定ステップによって設定された期間において、タッチ画像の表示位置を変化させる。
【0038】
請求項10の発明では、変化期間設定ステップ(42,S39,S83,S157)は、タッチ画像(102)の表示を変化させる期間を設定する。タッチ画像表示変化ステップ(42,S83,S85,S87)は、設定された期間において、タッチ画像(102)の表示を変化させる。
【0039】
請求項10の発明では、タッチ画像の表示を変化させる期間に応じて、タッチの失敗の度合いや攻撃の度合いを知ることができる。
【0040】
請求項11の発明は請求項1ないし10のいずれかに従属し、音楽を演奏する音楽演奏ステップをさらに実行させ、タッチタイミング制御ステップは、音楽演奏ステップによって演奏される音楽のリズムに同期して第1タイミングを制御する。
【0041】
請求項11の発明では、音楽演奏ステップ(42,S13,S131)は、音楽(曲)を演奏する。タッチタイミング制御ステップ(42,S9−S45のルーチン,S127−S173のルーチン)は、音楽演奏ステップ(42,S13,S131)によって演奏される音楽のリズムに同期して第1タイミングを制御する。
【0042】
請求項11の発明によれば、第1タイミングを音楽のリズムに合わせるので、音楽を聞くことにより、タッチ操作のタイミングを計ることができる。
【0043】
請求項12の発明は、表示手段と、この表示手段に関連して設けられるタッチパネルと、通信手段とを備えたゲーム装置を2台以上接続し、対戦ゲームをプレイするゲームプログラムであって、各々のゲーム装置のプロセサに、タッチ入力検出ステップ、タッチタイミング制御ステップ、タッチ画像表示ステップ、タッチタイミング検出ステップ、タイミング一致度検出ステップ、タッチ位置検出ステップ、タッチ評価ステップ、攻撃データ送信ステップ、および攻撃データ受信ステップを実行させる。タッチ入力検出ステップは、タッチ入力を検出する。タッチタイミング制御検出ステップは、タッチ入力が行われるべき第1タイミングを処理する。タッチ画像表示ステップは、プレイヤがタッチすべきタッチ画像を生成して表示手段に表示する。タッチタイミング検出ステップは、タッチ入力検出ステップによって検出されたタッチ入力の第2タイミングを検出する。タイミング一致度検出ステップは、第1タイミングと第2タイミングとの一致度を検出する。タッチ位置検出ステップは、タッチ入力が示すタッチ位置がタッチすべき位置を指示するか否かを検出する。タッチ評価ステップは、タイミング一致度検出ステップの検出結果とタッチ位置検出ステップの検出結果とに応じてタッチ入力の評価を行う。攻撃データ送信ステップは、タッチ評価ステップの評価に応じて、通信手段を介して、他のゲーム装置に攻撃データを送信する。攻撃データ受信ステップは、通信手段を介して、他のゲーム装置から攻撃データを受信する。そして、タッチ評価ステップは、攻撃データ受信ステップによって攻撃データを受信したとき、当該攻撃データを加味してタッチ入力の評価を行う。
【0044】
請求項12の発明は、ゲーム装置(10)は、表示手段(14)と、この表示装置に関連して設けられるタッチパネル(22)と、通信手段(32,64)とを備える。ゲームプログラムは、ゲーム装置(10)のプロセサ(42)によって実行される。タッチ入力検出ステップ(42,S141)は、タッチパネル(22)へのタッチ入力を検出する。タッチタイミング制御ステップ(42,S127−S173のルーチン)は、タッチ入力が行われるべき第1タイミングを処理する。タッチ画像表示ステップ(42,S171)は、プレイヤがタッチすべきタッチ画像(102)を生成して、表示手段(14)に表示する。タッチタイミング検出ステップ(42)は、タッチ入力検出ステップ(42,S141)によって検出されたタッチ入力の第2タイミングを検出する。タイミング一致度検出ステップ(42,S51)は、第1タイミングと第2タイミングとの一致度(実施例では、差分)を検出する。タッチ位置検出ステップ(42,S149)は、タッチ入力が示すタッチ位置がタッチすべき位置を指示するか否かを検出する。タッチ評価ステップ(42,S143,S151)は、タイミング一致検出ステップ(42,S51)の検出結果とタッチ位置検出ステップ(42,S149)の検出結果とに応じてタッチ入力の評価を行う。つまり、タッチすべき位置を、タッチすべきタイミングでタッチしたか否かの評価を行う。攻撃データ送信ステップ(42,S165)は、タッチ評価ステップ(42,S143,S151)の評価に応じて、通信手段(32,64)を介して、他のゲーム装置(10)に攻撃データを送信する。また、攻撃データ受信ステップ(42,S167)は
、他のゲーム装置から攻撃データを受信する。したがって、タッチ評価ステップ(42,S143,S151)は、攻撃データを加味してタッチ入力を評価する。
【0045】
請求項12の発明においても、請求項1の発明と同様に、タッチのタイミングのみならず、タッチの位置に応じてタッチを評価するため、新しい操作感を得ることができる。
【0046】
請求項21の発明は、表示手段と、当該表示装置に関連して設けられるタッチパネルとを備えたゲーム装置であって、タッチ入力検出手段、タッチタイミング制御手段、タッチ画像表示手段、タッチタイミング検出手段、タイミング一致度検出手段、タッチ位置検出手段、およびタッチ評価手段を備える。タッチ入力検出手段は、タッチ入力を検出する。タッチタイミング制御手段は、タッチ入力が行われるべき第1タイミングを処理する。タッチ画像表示手段は、プレイヤがタッチすべきタッチ画像を生成して表示手段に表示する。タッチタイミング検出手段は、タッチ入力検出手段によって検出されたタッチ入力の第2タイミングを検出する。タイミング一致度検出手段は、第1タイミングと第2タイミングとの一致度を検出する。タッチ位置検出手段は、タッチ入力が示すタッチ位置がタッチすべき位置を指示するか否かを検出する。そして、タッチ評価手段は、タイミング一致度検出手段の検出結果とタッチ位置検出手段の検出結果とに応じてタッチ入力の評価を行う。
【0047】
請求項21の発明においても、請求項1のゲームプログラムの発明と同様に、新しい操作感を得て、ゲームを楽しむことができる。
【0048】
請求項24の発明は、表示手段と、この表示手段に関連して設けられるタッチパネルと、通信手段とを備え、1または2以上の他のゲーム装置との間で対戦ゲームをプレイするゲーム装置であって、タッチ入力検出手段、タッチタイミング制御手段、タッチ画像表示手段、タッチタイミング検出手段、タイミング一致度検出手段、タッチ位置検出手段、タッチ評価手段、攻撃データ送信手段、および攻撃データ受信手段を備える。タッチ入力検出手段は、タッチ入力を検出する。タッチタイミング制御手段は、タッチ入力が行われるべき第1タイミングを処理する。タッチ画像表示手段は、プレイヤがタッチすべきタッチ画像を生成して表示手段に表示する。タッチタイミング検出手段は、タッチ入力検出手段によって検出されたタッチ入力の第2タイミングを検出する。タイミング一致度検出手段は、第1タイミングと第2タイミングとの一致度を検出する。タッチ位置検出手段は、タッチ入力が示すタッチ位置がタッチすべき位置を指示するか否かを検出する。タッチ評価手段は、タイミング一致度検出手段の検出結果とタッチ位置検出手段の検出結果とに応じてタッチ入力の評価を行う。攻撃データ送信手段は、タッチ評価手段の評価に応じて、通信手段を介して、他のゲーム装置に攻撃データを送信する。攻撃データ受信手段は、通信手段を介して、他のゲーム装置から攻撃データを受信する。そして、タッチ評価手段は、攻撃データ受信手段によって攻撃データを受信したとき、当該攻撃データを加味してタッチ入力の評価を行う。
【0049】
請求項24の発明においても、請求項12のゲームプログラムの発明と同様に、新しい操作感を得て、ゲームを楽しむことができる。
【発明の効果】
【0050】
この発明によれば、タッチのタイミングおよびタッチの位置に基づいてタッチを評価するため、新しい操作感を得ることができる。また、ゲームのバリエーションを豊富にすることができる。つまり、新しい操作感を得て、ゲームを楽しむことができる。
【0051】
この発明の上述の目的,その他の目的,特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【発明を実施するための最良の形態】
【0052】
<第1実施例>
図1を参照して、この発明の第1実施例であるゲーム装置10は、第1の液晶表示器(LCD)12および第2のLCD14を含む。このLCD12およびLCD14は、所定の配置位置となるようにハウジング16に収納される。この実施例では、ハウジング16
は、上側ハウジング16aと下側ハウジング16bとによって構成され、LCD12は上側ハウジング16aに収納され、LCD14は下側ハウジング16bに収納される。したがって、LCD12とLCD14とは縦(上下)に並ぶように近接して配置される。
【0053】
なお、この第1実施例では、表示器としてLCDを用いるようにしてあるが、LCDに代えて、EL(Electronic Luminescence)ディスプレイやプラズマディスプレイを用いる
ようにしてもよい。
【0054】
図1からも分かるように、上側ハウジング16aは、LCD12の平面形状よりも少し大きな平面形状を有し、一方主面からLCD12の表示面を露出するように開口部が形成される。一方、下側ハウジング16bは、その平面形状が上側ハウジング16aよりも横長に選ばれ、横方向の略中央部にLCD14の表示面を露出するように開口部が形成される。また、下側ハウジング16bには、音抜き孔18が形成されるとともに、操作スイッチ20(20a,20b,20c,20d,20e,20Lおよび20R)が設けられる。
【0055】
また、上側ハウジング16aと下側ハウジング16bとは、上側ハウジング16aの下辺(下端)と下側ハウジング16bの上辺(上端)の一部とが回動可能に連結されている。したがって、たとえば、ゲームをプレイしない場合には、LCD12の表示面とLCD14の表示面とが対面するように、上側ハウジング16aを回動させて折りたたんでおけば、LCD12の表示面およびLCD14の表示面に傷がつくなどの破損を防止することができる。ただし、上側ハウジング16aと下側ハウジング16bとは、回動可能に連結せずに、それらを一体的(固定的)に設けたハウジング16を形成するようにしてもよい。
【0056】
操作スイッチ20は、方向指示スイッチ(十字スイッチ)20a、スタートスイッチ20b、セレクトスイッチ20c、動作スイッチ(Aボタン)20d、動作スイッチ(Bボタン)20e、動作スイッチ(Lボタン)20Lおよび動作スイッチ(Rボタン)20Rを含む。スイッチ20a,20bおよび20cは、下側ハウジング16bの一方主面であり、LCD14の左側に配置される。また、スイッチ20dおよび20eは、下側ハウジング16bの一方主面であり、LCD14の右側に配置される。さらに、スイッチ20Lおよびスイッチ20Rは、それぞれ、下側ハウジング16bの上端(天面)の一部であり、上側ハウジング16aとの連結部以外に当該連結部を挟むように、左右に配置される。
【0057】
方向指示スイッチ20aは、ディジタルジョイスティックとして機能し、4つの押圧部の1つを操作することによって、プレイヤによって操作可能なプレイヤキャラクタ(また
はプレイヤオブジェクト)の移動方向を指示したり、カーソルの移動方向を指示したりす
る等に用いられる。スタートスイッチ20bは、プッシュボタンで構成され、ゲームを開始(再開)したり、一時停止(Pause)したりする等に用いられる。セレクトスイッチ20
cは、プッシュボタンで構成され、ゲームモードの選択等に用いられる。
【0058】
動作スイッチ20dすなわちAボタンは、プッシュボタンで構成され、方向指示以外の動作、すなわち、プレイヤキャラクタに打つ(パンチ)、投げる、つかむ(取得)、乗る、ジャンプするなどの任意のアクションをさせることができる。たとえば、アクションゲ
ームにおいては、ジャンプ、パンチ、武器を動かす等を指示することができる。また、ロールプレイングゲーム(RPG)やシミュレーションRPGにおいては、アイテムの取得、武器やコマンドの選択および決定等を指示することができる。動作スイッチ20eすなわちBボタンは、プッシュボタンで構成され、セレクトスイッチ20cで選択したゲームモードの変更やAボタン20dで決定したアクションの取り消し等のために用いられる。
【0059】
動作スイッチ(左押しボタン)20Lおよび動作スイッチ(右押しボタン)20Rは、プッシュボタンで構成され、左押しボタン(Lボタン)20Lおよび右押しボタン(Rボタン)20Rは、Aボタン20dおよびBボタン20eと同様の操作に用いることができ、また、Aボタン20dおよびBボタン20eの補助的な操作に用いることができる。
【0060】
また、LCD14の上面には、タッチパネル22が装着される。タッチパネル22としては、たとえば、抵抗膜方式、光学式(赤外線方式)および静電容量結合式のいずれかの種類のものを用いることができる。また、タッチパネル22は、その上面(検出面)をスティック24ないしはペン(スタイラスペン)或いは指(以下、これらを「スティック24等」という場合がある。)で、押圧したり、撫でたり、触れたりすることにより操作すると、スティック24等の操作位置(タッチ位置)の座標を検出して、検出した座標(以下、「タッチ座標」という。)に対応する座標データを出力する。
【0061】
この実施例では、LCD14(LCD12も同じ、または略同じ。)の表示面の解像度は256dot×192dotであり、タッチパネル22の検出面の検出精度もその解像度に対応して256dot×192dotとしてある。ただし、タッチパネル22の検出面の検出精度は、LCD14の表示面の解像度よりも低くてもよく、高くてもよい。
【0062】
LCD12およびLCD14には異なるゲーム画像(ゲーム画面)を表示することができる。たとえば、一方のLCD(たとえば、LCD12)にゲームをプレイするためのゲーム画面を表示し、他方のLCD(たとえば、LCD14)に当該ゲームを操作するための文字情報を入力したり、所定の画像(アイコンなど)を指示したりするためのゲーム画面(操作画面)を表示することができる。したがって、プレイヤはスティック24等でタッチパネル22を操作することにより、LCD14の画面上で、文字情報(コマンド)を入力したり、所定の画像(アイコンなど)を指示したりすることができる。
【0063】
このように、ゲーム装置10は、2画面分の表示部となるLCD12およびLCD14を有し、いずれか一方(この実施例では、LCD14)の上面にタッチパネル22が設けられるので、2画面(12,14)と2系統の操作部(20,22)とを有する構成になっている。
【0064】
また、この実施例では、スティック24は、たとえば上側ハウジング16aの側面(右側面)近傍に設けられる収納部(収納穴)26に収納することができ、必要に応じて取り出される。ただし、スティック24を設けない場合には、収納部26を設ける必要もない。
【0065】
さらに、ゲーム装置10はメモリカード(またはゲームカートリッジ)28を含み、このメモリカード28は着脱自在であり、下側ハウジング16bの裏面ないしは下端(底面)に設けられる挿入口30から挿入される。図1では省略するが、挿入口30の奥部には、メモリカード28の挿入方向先端部に設けられるコネクタ(図示せず)と接合するためのコネクタ46(図2参照)が設けられており、したがって、メモリカード28が挿入口30に挿入されると、コネクタ同士が接合され、ゲーム装置10のCPUコア42(図2参照)がメモリカード28にアクセス可能となる。
【0066】
さらにまた、ゲーム装置10はアンテナ32を含み、たとえば、このアンテナ32によって微弱電波を送受信することにより、他のゲーム装置10との間で無線通信が可能である。詳細な説明は省略するが、ゲーム装置10が送受信する微弱電波は、電波法による規制のかからない強度に設定されている。
【0067】
なお、図1では表現できないが、下側ハウジング16bの音抜き孔18と対応する位置であり、この下側ハウジング16bの内部にはスピーカ32(図2参照)が設けられる。
【0068】
また、図1では省略するが、たとえば、下側ハウジング16bの裏面側には、電池収容ボックスが設けられ、また、下側ハウジング16bの底面側には、電源スイッチ、音量スイッチ、外部拡張コネクタおよびイヤフォンジャックなどが設けられる。
【0069】
図2はゲーム装置10の電気的な構成を示すブロック図である。図2を参照して、ゲーム装置10は電子回路基板40を含み、この電子回路基板40にはCPUコア42等の回路コンポーネントが実装される。CPUコア42は、バス44を介してコネクタ46に接続されるととともに、RAM48、第1のグラフィック処理ユニット(GPU)50、第2のGPU52、入出カインターフエース回路(以下、「I/F回路」という。)54およびLCDコントローラ60が接続される。
【0070】
コネクタ46には、上述したように、メモリカード28が着脱自在に接続される。メモリカード28は、ROM28aおよびRAM28bを含み、図示は省略するが、ROM28aおよびRAM28bは、互いにバスで接続され、さらに、コネクタ46と接合されるコネクタ(図示せず)に接続される。したがって、上述したように、CPUコア42は、ROM28aおよびRAM28bにアクセスすることができるのである。
【0071】
ROM28aは、ゲーム装置10で実行すべきゲーム(仮想ゲーム)のためのゲームプログラム、画像(キャラクタ画像、背景画像、アイテム画像、アイコン(ボタン)画像、メッセージ画像など)データおよびゲームに必要な音(音楽)のデータ(音データ)等を予め記憶する。RAM(バックアップRAM)28bは、そのゲームの途中データやゲームの結果データを記憶(セーブ)する。
【0072】
RAM48は、バッファメモリないしはワーキングメモリとして使用される。つまり、CPUコア42は、メモリカード28のROM28aに記憶されたゲームプログラム、画像データおよび音データ等をRAM48にロードし、ロードしたゲームプログラムを実行する。また、CPUコア42は、ゲームの進行に応じて一時的に発生するデータ(ゲームデータやフラグデータ)をRAM48に記憶しつつゲーム処理を実行する。
【0073】
なお、ゲームプログラム、画像データおよび音データ等は、ROM28aから一度に全部、または部分的かつ順次的に読み出され、RAM48に記憶(ロード)される。
【0074】
GPU50およびGPU52は、それぞれ、描画手段の一部を形成し、たとえばシングルチップASICで構成され、CPUコア42からのグラフィックスコマンド(graphics
command :作画命令)を受け、そのグラフィックスコマンドに従ってゲーム画像データ
を生成する。ただし、CPUコア42は、グラフィックスコマンドに加えて、ゲーム画像データの生成に必要な画像生成プログラム(ゲームプログラムに含まれる。)をGPU50およびGPU52のそれぞれに与える。
【0075】
また、GPU50には、第1のビデオRAM(以下、「VRAM」という。)56が接続され、GPU52には、第2のVRAM58が接続される。GPU50およびGPU52が作画コマンドを実行するにあたって必要なデータ(画像データ:キャラクタデータや
テクスチャ等のデータ)は、GPU50およびGPU52が、それぞれ、第1のVRAM56および第2のVRAM58にアクセスして取得する。なお、CPUコア42は、描画に必要な画像データをGPU50およびGPU52を介して第1のVRAM56および第2のVRAM58に書き込む。GPU50はVRAM56にアクセスして描画のためのゲーム画像データを作成し、GPU52はVRAM58にアクセスして描画のためのゲーム画像データを作成する。
【0076】
VRAM56およびVRAM58は、LCDコントローラ60に接続される。LCDコントローラ60はレジスタ62を含み、レジスタ62はたとえば1ビットで構成され、CPUコア42の指示によって「0」または「1」の値(データ値)を記憶する。LCDコントローラ60は、レジスタ62のデータ値が「0」である場合には、GPU50によって作成されたゲーム画像データをLCD12に出力し、GPU52によって作成されたゲーム画像データをLCD14に出力する。また、LCDコントローラ60は、レジスタ62のデータ値が「1」である場合には、GPU50によって作成されたゲーム画像データをLCD14に出力し、GPU52によって作成されたゲーム画像データをLCD12に出力する。
【0077】
なお、LCDコントローラ60は、VRAM56およびVRAM58から直接ゲーム画像データを読み出したり、GPU50およびGPU52を介してVRAM56およびVRAM58からゲーム画像データを読み出したりする。
【0078】
I/F回路54には、操作スイッチ20,タッチパネル22およびスピーカ32が接続される。ここで、操作スイッチ20は、上述したスイッチ20a,20b,20c,20d,20e,20Lおよび20Rであり、操作スイッチ20が操作されると、対応する操作信号(操作データ)がI/F回路54を介してCPUコア42に入力される。また、タッチパネル22からの座標データがI/F回路54を介してCPUコア42に入力される。さらに、CPUコア42は、ゲーム音楽(BGM)、効果音またはゲームキャラクタ(ゲームオブジェクト)の音声(擬制音)などのゲームに必要な音データをRAM48から読み出し、I/F回路54を介してスピーカ32から出力する。
【0079】
また、図1に示したように、ゲーム装置10には、アンテナ32が接続されており、このアンテナ32は無線通信ユニット64に接続される。無線通信ユニット64は、バス44を介してCPUコア42に接続される。CPUコア42がゲームデータやコマンドを無線通信ユニット64に与えると、無線通信ユニット64はゲームデータ等をアナログ信号に変換して、微弱電波でアンテナ32から送信(発信)する。一方、無線通信ユニット64は、他のゲーム装置10から送信された微弱電波を、アンテナ32を介して受信し、受信した微弱電波からアナログ信号を分離し、ディジタル変換した後、CPUコア42に与える。このようにして、他のゲーム装置10との間で無線通信が行われる。したがって、たとえば、複数の(2台以上の)ゲーム装置10を通信可能に接続した場合には、各々のゲーム装置10で通信して同一の仮想ゲーム(通信ゲーム)をプレイすることができる。
【0080】
図3(A)および図3(B)は、LCD14に表示されるゲーム画面(操作画面)100の一例を示す図解図である。図面では表現することができないが、上述したように、LCD14上にタッチパネル22が設けられる。また、図示は省略するが、LCD12には、他のゲーム画面を表示することができる。
【0081】
図3(A)および図3(B)に示すように、ゲーム画面100には、複数のタッチ画像(以下、「マーカ画像」という。)102が表示される。図3(A)および図3(B)からも分かるように、このゲーム画面100には、4つのマーカ画像102a,102b,102c,102dが表示される。マーカ画像102は、プレイヤがタッチ入力(タッチ
操作)すべき画像ないし操作領域であり、この実施例では、円形の画像で表示される。また、マーカ画像102には、そのタッチ(操作)順序を示すための番号(数字)が付されている(表示されている)。たとえば、数字の小さい順でマーカ画像102をタッチさせるようにしてある。したがって、図3(A)および図3(B)に示すゲーム画面100では、マーカ画像102a,102b,102c,102dの順でタッチすべきことが示される。
【0082】
マーカ画像102の表示個数、表示位置(LCD14上の位置)および表示時刻(フレーム数)は、予め決定されており、また、マーカ画像102の表示は演奏される音楽のリズムに合わせて行われる。ここで、図面では表現することができないが、ゲーム中では、プレイヤによって(またはコンピュータ(CPUコア42)によって任意に)選択された音楽がスピーカ32(図1,図2参照)から出力される。つまり、音楽が演奏される。
【0083】
なお、演奏する音楽やゲームのレベル(ゲーム難易度)に応じて、マーカ画像102の表示個数や表示位置は変更するようにしてもよい。
【0084】
また、マーカ画像102の各々には、タッチすべきタイミング(以下、説明の都合上、「マーカタッチタイミング」と言うことがある。)を可視表示するためのタイミング画像(以下、「タイマサークル画像」という。)104が表示される。図3(A)および図3(B)に示すように、マーカ画像102aに対応してタイマサークル画像104aが表示され、マーカ画像102bに対応してタイマサークル画像104bが表示され、マーカ画像102cに対応してタイマサークル画像104cが表示され、マーカ画像102dに対応してタイマサークル画像104が表示される。
【0085】
図3(A)および図3(B)からよく分かるように、タイマサークル画像104は、リング状の形状であり、タッチ(操作)すべきタイミングでマーカ画像102の外周(縁)と一致する(重なる)ように、その大きさが次第に変化(小さく)される。たとえば、ゲーム画面100は、一定時間(フレーム:画面更新単位時間(1/60秒))毎に更新され、タイマサークル画像104の大きさは数〜数十フレーム毎に変化される。また、音楽のリズムに合わせてマーカタッチタイミングを指示する必要があるため、音楽の演奏時間(フレーム数)と画面更新時間(フレーム数)との同期が取られている。
【0086】
たとえば、図3(A)および図3(B)に示すゲーム画面100では、タイマサークル画像104aによって、マーカ画像102aのマーカタッチタイミングが示される。図3(A)では、マーカ画像102aのマーカタッチタイミングと同じ或いはほぼ同じタイミングで、マーカ画像102aが表示された位置に対応するタッチパネル22上の位置をスティック24で指示している状態を示す。つまり、タッチすべきマーカ画像102aを、当該マーカ画像102aのマーカタッチタイミングと同じ或いはほぼ同じタイミングでタッチし、当該マーカ画像102aのタッチに成功した状態を示す。また、図3(B)では、マーカ画像102aのマーカタッチタイミングと同じ或いはほぼ同じタイミングで、マーカ画像102aが表示された位置に対応するタッチパネル22上の位置以外の位置をスティック24で指示している状態を示す。つまり、マーカ画像102aのマーカタッチタイミングと同じ或いはほぼ同じタイミングでタッチしているが、マーカ画像102aを指示せず、マーカ画像102aのタッチに失敗した状態を示す。
【0087】
なお、図3(A)および図3(B)では、マーカ画像102とタイマサークル画像104とを分かり易く示すために、マーカ画像102aとこれに対応するタイマサークル画像104aとの大きさを少し変えて表示してある。ただし、実際には、マーカ画像102aの縁とタイマサークル画像104aとは重なったときが当該マーカ画像102aのマーカタッチタイミングである。詳細な説明は省略するが、他のマーカ画像102b,102c
,102dおよびタイマサークル画像104b,104c,104dについても同様である。
【0088】
また、図3(B)を用いて説明した場合のみならず、タッチパネル22をタッチしない場合やマーカ画像102aのマーカタッチタイミングと同じ或いはほぼ同じタイミング以外で当該マーカ画像102aをタッチした場合にも、タッチは失敗したものと評価される。
【0089】
上述したように、マーカ画像102の表示個数、表示位置および表示時刻は演奏する音楽に対応して予め決定されており、タッチすべきマーカ画像102(現在のマーカ画像102)が設定されると、これに対応するタッチパネル22上の位置(以下、「タッチ領域」という。)106が決定される。ただし、マーカ画像102は、毎回同じ位置に表示されるのではなく、ゲームのプログラムマないし開発者が設定した位置に可変的に表示される。上述したように、この実施例では、LCD14の解像度とタッチパネル22の検出精度とは同じに設定されるため、LCD14の座標系とタッチパネル22の座標系とを一致させれば、LCD14に表示されるマーカ画像102の中心座標とその半径とを用いて、タッチ領域106を設定することができる。
【0090】
したがって、たとえば、図4(A)に示すようなゲーム画面100が表示される場合には、各マーカ画像102に対応して、図4(B)に示すように、タッチ領域106が設定される。ここでは、マーカ画像102aに対応してタッチ領域106aが設定され、マーカ画像102bに対応してタッチ領域106bが設定され、マーカ画像102cに対応してタッチ領域106cが設定され、マーカ画像102dに対応してタッチ領域106dが設定される。
【0091】
なお、図4(A)では、マーカ画像102を分かり易く示すために、タイマサークル104は省略してある。
【0092】
ただし、図4(B)では、タッチ領域106が設定された場合のイメージを示してあるが、実際には、上述したように、タッチ領域106の中心座標の座標データおよびその半径の数値データ(半径データ)がRAM48に記憶される。
【0093】
また、図4(B)では、すべてのマーカ画像102に対して一度にタッチ領域106が設定されるように示してあるが、実際には、全くタッチすべきでないタイミングによるタッチ操作を無効とするために、各マーカ画像102のマーカタッチタイミングよりも一定時間(たとえば、60フレーム)前になったときに、対応するマーカ画像102のタッチ領域106を設定し、それ以降のタッチ操作を評価するようにしてある。
【0094】
したがって、マーカ画像102が表示され、プレイヤがタッチパネル22をタッチすると、タッチ位置の座標(タッチ座標)が検出され、このタッチ座標が当該マーカ画像102についてのタッチ領域106に含まれるかどうかを検出する。具体的には、中心座標とタッチ座標との距離が半径以内であるかを判断する。
【0095】
なお、この第1実施例では、マーカ画像102に対応するタッチ領域106の中心座標および半径を設定するようにしてあるが、マーカ画像102の形状が複雑な場合には、マーカ画像102に含まれる座標(dot)のすべてをタッチ領域106として設定するようにしてもよい。このようにした場合には、タッチ座標と一致する座標がタッチ領域106に存在するか否かが判断される。
【0096】
たとえば、上述したように、音楽のリズムに合わせて(表示時刻で)、予め決定された
個数のマーカ画像102の各々が予め決定された位置に表示される。プレイヤないしユーザが、タッチすべきマーカ画像102のタッチに成功すると、得点が加算される。さらに、連続してマーカ画像102のタッチに成功すると、加算される得点が上昇され、また、連続回数に応じて生命力(失敗可能回数)が最大限以内で加算される。そして、音楽の演奏が最後で終了すると、ゲームクリアとなる。一方、マーカ画像102のタッチに失敗すると、得点は加算されず、また、プレイヤの生命力が減少され、音楽の演奏の途中で、当該生命力が無くなると(失敗可能回数が0以下になると)、ゲームオーバになる。
【0097】
また、タッチの成功および失敗をゲーム画面100の演出により、表現するようにしてある。図示は省略するが、タッチに成功すると、タッチのタイミングやタッチの位置に基づいて算出された得点を示す数値がマーカ画像102に変えてテキスト表示される。つまり、タッチされたマーカ画像102がゲーム画面100から消え、当該マーカ画像102の表示位置に得点が表示される。これにより、タッチに成功したことが表現される。一方、タッチに失敗すると、ゲーム画面100が縦(上下)にぶれる(振動する)。つまり、マーカ画像102の表示位置が変化する。ただし、タッチに失敗した場合であっても、タッチすべきであったマーカ画像102はゲーム画面100から消去される。これにより、タッチすべきマーカ画像102のタッチに失敗したことが表現されるとともに、次にタッチすべきマーカ画像102のタッチをし難くされる。また、ゲーム画面100が振動するとき、マーカ画像102に対応して設定されたタッチパネル22のタッチ領域106の位置もマーカ画像102の表示位置の変化に従って変化される。
【0098】
なお、この第1実施例では、ゲーム画面100を縦に振動させるようにしてあるが、横(左右)に振動させるようにしてもよい。また、ゲーム画面100を縦に振動させるのは、後述する他のゲーム装置10との対戦プレイにおいて、他のゲーム装置10から攻撃された場合にゲーム画面100を横に振動させるようにして、タッチの失敗と対戦相手の攻撃とを区別するためである。
【0099】
ここで、この第1実施例の仮想ゲームでは、たとえば、3次元仮想空間(ゲーム空間)に背景、人物等のキャラクタおよびマーカ画像102などが配置(レンダリング)され、仮想カメラ(視点)から見た画像(2次元画像)が生成され、ゲーム画面100としてLCD14に表示される。つまり、透視投影変換のような視点変換処理により、視点から見た3次元空間についての画像が2次元の仮想スクリーンに投影され、投影された2次元の画像がゲーム画面100として表示されるのである。
【0100】
したがって、この第1実施例では、タッチの失敗により、ゲーム画面100を上下に振動させる場合には、視点の位置を仮想空間において上下に移動させるようにしてある。このとき、視点を移動させる量(以下、「ぶれオフセット値」という。)に対応する2次元画面(LCD14)上の移動距離だけ、タッチパネル22に設定されたタッチ領域106も移動される。つまり、タッチ領域106は、ゲーム画面100に同期して振動される。このように、タッチすべき位置(タッチ領域106)が変化するため、次にタッチすべきマーカ画像102を正確にタッチするのが困難である。
【0101】
ここで、ぶれオフセット値およびゲーム画面100が振動する時間(以下、「ぶれ時間」)は、タッチの失敗度合いで決定される。ここで、タッチの失敗の度合いとは、タッチタイミングのずれ(差分)やタッチ位置のずれ(差分)をいう。タッチタイミングの差分は、マーカタッチタイミングとプレイヤが実際にタッチしたタイミング(以下、「ユーザタッチタイミング」と言うことがある。)との差分(フレーム数)である。また、タッチ位置の差分は、タッチ領域106の中心とタッチ位置との距離(dot数)である。
【0102】
たとえば、タッチタイミングの差分やタッチ位置の差分の大きさに応じて、ぶれオフセ
ット値およびぶれ時間値の一方または両方を線形的にまたは段階的に変化するように、設定することができる。このようなぶれオフセット値やぶれ時間値の設定方法は、ゲームのプログラムないし開発者が任意に決定する事項である。
【0103】
なお、この第1実施例では、ゲーム画面100全体を振動させるようにしてあるが、マーカ画像102のみを振動させるようにしてもよい。かかる場合には、視点は固定で、3次元空間にレンダリングされたマーカ画像102の位置を上下に振動させるようにすればよい。
【0104】
また、この第1実施例では、ゲーム画面100全体を振動させるようにしてあるが、背景画面のみを振動させるようにして、タッチに失敗したことのみをプレイヤに報知するようにしてもよい。
【0105】
図5は図2に示したRAM48のメモリマップの一例を示す図解図である。図5を参照して、RAM48はプログラム記憶領域70およびデータ記憶領域72を含む。プログラム記憶領域70は、ゲームプログラムを含み、このゲームプログラムは、ゲームメイン処理プログラム70a、タッチ入力プログラム70b、ステージ選択プログラム70c、音楽演奏プログラム70d、タッチ領域設定プログラム70e、経過時間カウントプログラム70f、マーカ画像生成プログラム70g、キャラクタ画面生成プログラム70h、背景画面生成プログラム70i、画像表示プログラム70j、タッチ評価プログラム70k、ぶれオフセット値制御プログラム70mおよびぶれ時間値制御プログラム70nなどによって構成される。
【0106】
ゲームメイン処理プログラム70aは、仮想ゲームのメインルーチンを処理するためのプログラムである。タッチ入力プログラム70bは、タッチパネル22から入力されるタッチ座標の座標データの有無を検出し、座標データが有る場合には、RAM48のデータ記憶領域72に記憶(一時記憶)する。ステージ選択プログラム70cは、ステージを選択するためのプログラムであり、ゲーム開始時や或るステージのクリア後にゲームを続行する時に実行される。これにより、プレイヤは所望のステージ(音楽やゲームレベル)を選択することができる。
【0107】
音楽演奏プログラム70dは、ステージ選択プログラム70cに従って選択されたステージに対応して設定(記憶)されている音楽(後述する、ステージ別音楽演奏データ72i)を再生するためのプログラムである。この音楽演奏プログラム70dは、一旦音楽の演奏を開始すると、ゲームクリアまたはゲームオーバになるまで、一定時間毎に音を出力するように、その再生を継続する。タッチ領域設定プログラム70eは、ゲーム画面100に表示されたマーカ画像102のうち、タッチすべき現在のマーカ画像102に対応するタッチ領域106をタッチパネル22に対して設定する。具体的には、タッチ領域106の中心座標の座標データおよびその半径の半径データがRAM48のデータ記憶領域72に記憶される。
【0108】
経過時間カウントプログラム70fは、ゲーム開始(ステージの開始)からの経過時間(ゲーム経過時間)を一定時間(たとえば、1フレーム)毎にカウントするためのプログラムである。また、経過時間カウントプログラム70fは、ゲーム画面100のぶれ開始からの経過時間(ぶれ経過時間)を一定時間(1フレーム)毎にカウントするためのプログラムでもある。図2では省略したが、ゲーム経過時間およびぶれ経過時間の各々をカウントするタイマがゲーム装置10内部に設けられる。
【0109】
マーカ画面生成プログラム70gは、後述するマーカ表示用データ72dを用いてマーカ画像102およびタイマサークル画像104を含むマーカ画面を生成するためのプログ
ラムである。キャラクタ画面生成プログラム70hは、後述するキャラクタ表示用データ72eを用いてプレイヤキャラクタ等のキャラクタを含むキャラクタ画面を生成するためのプログラムである。背景画面生成プログラム70iは、後述する背景表示用データ72fを用いて背景画面を生成するためのプログラムである。
【0110】
画像表示プログラム70jは、プログラム70g,70hおよび70iのそれぞれに従って生成された、マーカ画面、キャラクタ画面および背景画面を合成して生成したゲーム画面100をLCD14に表示する。具体的には、背景画面を最背面とし、マーカ画面を最前面とし、キャラクタ画面は背景画面とマーカ画面との間とするように、各画面が重ねられる。タッチ評価プログラム70kは、プレイヤのタッチ操作が成功であるか、失敗であるかを評価するとともに、成功度合いまたは失敗度合いを検出する。
【0111】
具体的には、タッチ入力があったときに、ユーザタッチタイミングとマーカタッチタイミングとの差分を検出し、この差分(タッチタイミングの差分)が規定範囲(たとえば、20フレーム)以内であり、タッチ位置がタッチ領域106に含まれる場合には、タッチが「成功」であると評価する。また、このとき、タッチタイミングの差分およびタッチ領域106の中心からのタッチ位置の差分に基づいて、成功の度合いが算出される。この第1実施例では、成功の度合いは、タッチ操作に対する得点の大小に反映される。
【0112】
また、タッチしなかったり、タッチタイミングの差分が規定範囲を超えていたりする場合やタッチタイミングの差分が規定範囲内であるが、タッチ位置がタッチ領域106に含まれない場合には、タッチが「失敗」であると評価する。また、このとき、タッチタイミングの差分やタッチ位置の差分に基づいて、失敗の度合いが算出される。この第1実施例では、失敗の度合いは、ゲーム画面100のぶれオフセット値やぶれ時間値に反映される。
【0113】
ぶれオフセット値制御プログラム70mは、ゲーム画面100のぶれ幅(ぶれのオフセット値)を制御(設定)するためのプログラムである。この第1実施例では、ぶれのオフセット値(ぶれ幅)は、たとえば、時間の経過とともに小さくされる。具体的には、ぶれ開始時のぶれ幅をAとし、ぶれ時間値をTとすると、ぶれ経過時間tにおけるぶれ幅aは、数1に従って算出することができる。
【0114】
[数1]
a=A−A×t/T
ただし、ぶれ幅aの符号は、ぶれ経過時間に応じて決定するようにしてある。たとえば、ぶれ経過時間tのフレーム数が偶数の場合には符号は「+」に決定され、ぶれ経過時間tのフレーム数が奇数の場合には符号は「−」に決定される。また、これらは逆であってもよい。さらには、ぶれ経過時間が一定時間経過する毎に符号が反転するようにしてもよい。
【0115】
ぶれ時間値制御プログラム70nは、タッチの失敗度合い、すなわちタッチタイミングの差分またはタッチ位置の差分に基づいて、ぶれ時間値すなわちぶれ時間の長さを制御(設定)するためのプログラムである。
【0116】
なお、図示は省略するが、プログラム記憶領域70には、ゲーム音出力プログラムやバックアッププログラムなども記憶される。ゲーム音出力プログラムは、音楽演奏プログラムに従って演奏(再生)される音楽以外の音、すなわちゲームキャラクタの音声(擬声音)や効果音などを再生するためのプログラムである。バックアッププログラムは、所定のイベントやプレイヤの指示に従って、ゲームデータ(途中データや結果データ)をRAM28bに記憶(セーブ)するためのプログラムである。
【0117】
図6に示すように、データ記憶領域72には、タッチ座標データ72a、タッチ領域判定データ72b、タッチタイミング判定データ72c、マーカ表示用データ72d、キャラクタ表示用データ72e、背景表示用データ72f、ぶれオフセット値データ72g、ぶれ時間値データ72h、ステージ別音楽演奏データ72iおよびアニメーションデータ72jなどのデータが記憶されるとともに、タッチ失敗フラグ72kなどのフラグが記憶される。
【0118】
タッチ座標データ72aは、上述したように、タッチ入力プログラム70aに従って検出されたタッチ座標の座標データである。タッチ領域判定データ72bは、タッチすべき現在のマーカ画像102に対応するタッチ領域106についての中心座標の座標データおよび半径データである。タッチタイミング判定データ72cは、選択されたステージで演奏される音楽に従って表示されるすべてのマーカ画像102についてのマーカタッチタイミング(フレーム番号ないしフレーム数)を時系列に従って並べたデータである。このタッチタイミング判定データ72cは、演奏する音楽すなわちステージ別音楽演奏データ72iに応じて設定される。
【0119】
マーカ表示用データ72dは、マーカ描画用データ720、タイミング表示描画用データ722およびマーカ画像生成視点データ724を含む。マーカ描画用データ720は、マーカ画像102を生成および表示するための画像データ(ポリゴンデータ、テクスチャデータなどである。以下、同様である。)および当該マーカ画像102を配置するための配置位置データ(モデリングするための3次元位置の座標データである。以下、同様である。)である。タイミング表示描画用データ722は、タイマサークル画像104を生成および表示するための画像データおよび配置位置データである。マーカ画面生成視点データ724は、マーカ画面を生成するための視点(仮想カメラ)の位置(3次元位置)についての座標データである。
【0120】
キャラクタ表示用データ72eは、キャラクタ描画用データ726およびキャラクタ画面生成視点データ728を含む。キャラクタ描画用データ726は、プレイヤキャラクタ、ノンプレイヤキャラクタ、アイテムキャラクタなどのキャラクタを生成および表示するための画像データおよび配置位置データである。キャラクタ画面生成視点データ728は、キャラクタ画面を生成するための視点の3次元位置についての座標データである。
【0121】
背景表示用データ72fは、背景描画用データ730および背景画面生成視点データ732を含む。背景描画用データ730は、背景画像(背景オブジェクト)を生成および表示するための画像データおよび配置位置データである。背景画面生成視点データ732は、背景画面を生成するための視点の3次元位置についての座標データである。
【0122】
なお、マーカ画面生成視点データ724、キャラクタ画面生成視点データ728および背景画面生成視点データ732は、各画面の座標系(3次元座標系)およびスケールが同じであれば、一致させることができ、各画面の座標系やスケールが異なれば、座標系やスケールの違いに応じて適宜設定される。
【0123】
ぶれオフセット値データ72gは、上述したように、ぶれオフセット値制御プログラム70pに従って制御(設定)されたぶれオフセット値についての数値データである。ぶれ時間値データ72hは、上述したように、ぶれ時間値制御プログラム70qに従って制御(設定)されたぶれ時間値についての数値データである。ステージ別音楽演奏データ72iは、各ステージに対して予め決定された音楽(曲)についてのデータ(楽譜データ)であり、この楽譜データに従って音楽が演奏される。なお、図示は省略するが、出力する音のデータもまた、データ記録領域72に記憶される。アニメーションデータ72jは、キ
ャラクタをアニメーション(モーション)表示するためのデータである。
【0124】
タッチ失敗フラグ72kは、タッチ評価が「失敗」を示すか否か、すなわちタッチの失敗によるぶれが有効であるか否かを示すフラグであり、1ビットのレジスタで構成される。たとえば、タッチ失敗フラグ72kがオン(成立)であれば、レジスタにデータ値「1」が設定され、タッチ失敗フラグ72kがオフ(不成立)であれば、レジスタにデータ値「0」が設定される。
【0125】
なお、図示は省略するが、データ記憶領域72には、音データやゲームデータなどの他のデータが記憶され、また、タッチ失敗フラグ72kとは異なるフラグなども記憶される。
【0126】
具体的には、図2に示したCPUコア42が図7〜図9に示すようなゲーム全体処理を実行する。ただし、図7〜図9に示すゲーム全体処理は、1人プレイについての処理である。図7に示すように、CPUコア42がゲーム全体処理を開始すると、ステップS1で、ゲーム初期設定を実行する。たとえば、ゲームを最初から開始する場合には、バッファ領域やフラグを初期化する。また、たとえば、ゲームを前回の続きから開始する場合には、セーブしておいたゲームデータをロードしたり、フラグを設定したりする。
【0127】
続くステップS3では、ステージを選択する。図示は省略するが、ここでは、LCD14(または、LCD12)にステージを選択するための画面を表示し、タッチ入力またはスイッチ操作により、プレイするステージを選択させる。ただし、CPUコア42が所定のルール(ランダム、乱数など)に従ってステージを選択するようにしてもよい。次のステップS5では、ステップS3で選択したステージについてのゲーム処理をスタートする。続いて、ステップS7では、ぶれオフセット値を0に設定する。つまり、ぶれオフセット値データ72gを初期化(リセット)する。また、このとき、タッチ失敗フラグ72kはオフされる。
【0128】
次のステップS9では、経過時間カウント処理を実行する。この経過時間カウント処理は、各ステージについてのゲーム処理をスタートすると同時に、ゲーム処理スタートからの経過時間(ゲーム経過時間)をカウントするためのタイマ(図示せず)をリセットおよびスタートし、それ以降では、一定時間(1フレーム)毎に、当該タイマのカウント値をインクリメントする。続くステップS11では、音楽演奏データを読み出し、ステップS13で、音楽演奏処理を実行する。つまり、ゲーム経過時間が示すフレームについての音符を楽譜データが取得し、1フレーム分の音を出力するのである。続いて、ステップS15では、音楽演奏時間とゲーム経過時間との同期を取る。詳細な図示は省略するが、ステップS15では、ゲーム経過時間が音楽の時間よりも遅れているかどうかを判断し、遅れている場合には、音楽演奏時間から正しいフレーム(経過時間)の値を取得し、ゲーム経過時間についてのタイマのカウント値を訂正(設定)する。なお、ゲーム経過時間が音楽演奏時間から遅れていない場合には、何ら調整はされない。
【0129】
そして、ステップS17では、タッチすべきマーカ画像102のマーカタッチタイミングの一定時間(たとえば、60フレーム)前であるかどうかを判断する。ステップS17で“NO”であれば、つまりタッチすべきマーカ画像102のマーカタッチタイミングの一定時間よりも前である場合には、そのまま図9に示すステップS41に進む。しかし、ステップS17で“YES”であれば、つまりタッチすべきマーカ画像102のマーカタッチタイミングの一定時間前である場合には、ステップS19で、ゲーム経過時間に応じたタッチ領域データを読み出し、ステップS21で、タッチ領域106を設定して、ステップS23に進む。具体的には、ステップS19では、タッチすべき現在のマーカ画像102の表示領域の中心座標およびその半径を読み出し、ステップS21では、読み出した
中心座標に対応する座標データと読み出した半径に対応する半径データとをタッチ領域判定データ72bとしてRAM48のデータ記憶領域72に記憶する。
【0130】
図8に示すように、ステップS23では、タッチ入力があるかどうかを判断する。ここでは、タッチパネル22から座標データが入力されたかどうかを判断する。ステップS23で“NO”であれば、つまりタッチパネル22から座標データが入力されていなければ、タッチ入力がないと判断して、ステップS25で、現在のマーカ画像102のマーカタッチタイミングが過ぎたかどうかを判断する。ステップS25で“NO”であれば、つまり現在のマーカ画像102のマーカタッチタイミングが過ぎていなければ、そのまま図9に示すステップS43に進む。一方、ステップS25で“YES”であれば、つまり現在のマーカ画像102のマーカタッチタイミングが過ぎていれば、タッチ評価が「失敗」であると判断して、ステップS27で、タッチ位置の差分を記憶して、ステップS39に進む。ただし、ステップS23でタッチ入力が無いと判断されている場合には、タッチ位置の差分を検出することができないため、ステップS27の処理は実行されない。かかる場合には、タッチタイミングの差分およびタッチ位置の差分のいずれも得られない。
【0131】
また、ステップS23で“YES”であれば、つまりタッチパネル22から座標データが入力されれば、タッチ入力があると判断して、ステップS29で、タッチ座標にぶれオフセット値を加算する。厳密に言うと、視点を移動させるためのぶれオフセット値に対応する2次元画面(LCD14)上の移動距離がタッチ座標に加算される。ただし、ステップS23で“YES”と判断すると、CPUコア42は、検出した座標データをタッチ座標データ72aとしてRAM48のデータ記憶領域72に記憶するとともに、そのときのゲーム経過時間すなわちユーザタッチタイミングがRAM48のバッファ領域に記憶(一時記憶)される。また、図7〜図9に示すゲーム全体処理は1人プレイであるため、タッチの失敗によるぶれが発生するだけであり、ステップS29では、オフセット値は、タッチ座標のY座標(縦方向)に加算される。
【0132】
続くステップS31では、タッチ位置が現在のマーカ画像102上であるかどうかを判断する。ただし、厳密には、上述のステップS21に示したように、タッチ領域106がタッチパネル22に対応して設定されているため、タッチ位置が当該タッチ領域106に含まれるかどうかを判断する。つまり、タッチ座標とタッチ領域106の中心座標との距離が、タッチ領域106の半径以内であるかどうかを判断するのである。ステップS31で“NO”であれば、つまりタッチ位置が現在のマーカ画像102上でなければ、そのままステップS27に進む。しかし、ステップS31で“YES”であれば、つまりタッチ位置が現在のマーカ画像102上であれば、ステップS33で、後述するタッチ評価処理を実行し、ステップS35で、タッチ評価に応じた得点を計算する。
【0133】
ここでは、タッチタイミングの差分およびタッチ位置の差分に応じて得点が算出される。たとえば、タッチタイミングの差分およびタッチ位置の差分が小さい場合には高得点であり、タッチタイミングの差分およびタッチ位置の差分が大きい場合には低得点である。したがって、たとえば、タッチタイミングの差分およびタッチ位置の差分に応じて、高得点と低得点との間で線形的にまたは段階的に得点を計算することができる。ただし、タッチ評価が「失敗」を示す場合には、計算するまでもなく、得点無し(0点)が決定される。得点の計算方法は、ゲームのプログラマや開発者が任意に設定できる事項であり、また、この発明の本質的な内容ではないため、詳細な説明は省略することにする。
【0134】
続くステップS37では、タッチ評価が「失敗」であるかどうかを判断する。ステップS37で“NO”であれば、つまりタッチ評価が「成功」であれば、そのままステップS41に進む。しかし、ステップS37で“YES”であれば、つまりタッチ評価が「失敗」であれば、ステップS39で、失敗度合い(タッチタイミングの差分またはタッチ位置
の差分)に応じたぶれオフセット値(厳密には、ぶれオフセットの初期値)とぶれ時間値とを設定して、ステップS41に進む。ただし、上述したように、タッチしなかったことにより、タッチを失敗したと判断された場合には、タッチタイミングの差分およびタッチ位置の差分のいずれも得られないため、かかる場合には、ステップS39では、予め決定されてあるぶれオフセット値とぶれ時間値とを設定するようにしてある。
【0135】
ステップS41では、次にタッチすべきマーカ画像102を現在のマーカ画像102に設定する。具体的には、タッチタイミング判定データ72cに含まれる現在のマーカ画像102についてのタッチタイミングデータ(フレーム番号データ)を削除する。続いて、図9に示すステップS43では、後述する画像表示処理(図11参照)を実行し、ステップS45で、ステージ終了かどうかを判断する。つまり、音楽演奏を終了したり、ゲームオーバになったりしたかどうかを判断する。ステップS45で“NO”であれば、つまりステージ終了でなければ、図7に示したステップS9に戻る。
【0136】
なお、ステップS9〜ステップS45のスキャンタイムが1フレームであり、したがって、ゲーム経過時間は1フレーム毎にカウントされる。
【0137】
また、図示は省略したが、ステップS45からステップS9に戻るときに、タッチ失敗フラグ72kはオフされる。
【0138】
一方、ステップS45で“YES”であれば、つまりステージ終了であれば、ステップS47で、ゲーム終了かどうかを判断する。ここでは、図示は省略するが、ゲームを続行するか否かを選択するため画面を表示し、プレイヤに選択させる。ゲームを続行する場合には、ステップS47で“NO”となり、図7に示したステップS3に戻る。しかし、ゲームを続行しない場合には、ステップS47で“YES”となり、ゲーム全体処理を終了する。
【0139】
図10は、図8のステップS33に示したタッチ評価処理を示すフロー図である。この図10を参照して、CPUコア42がタッチ評価処理を開始すると、ステップS51で、マーカタッチタイミングとユーザタッチタイミングとの差分を検出する。ここで、マーカタッチタイミングはタッチタイミング判定データ72cに含まれるフレームの数と、タッチ入力があったときのゲーム経過時間が示すフレームの数との差分が算出されるのである。
【0140】
続くステップS53では、ステップS51で検出されたタッチタイミングの差分が規定範囲内(たとえば、±20フレーム以内)であるかどうかを判断する。ステップS53で“NO”であれば、つまりタッチタイミングの差分が規定範囲外であれば、ステップS55で、評価結果を「失敗」に決定し、タッチタイミングの差分についてのデータとともに、RAM48のバッファ領域に記憶(一時記憶)して、タッチ評価処理をリターンする。ただし、図示は省略するが、ステップS55では、タッチ失敗フラグ72kがオンされる。一方、ステップS53で“YES”であれば、つまりタッチタイミングの差分が規定範囲内であれば、ステップS57で、タッチ位置とマーカ画像102の中心位置との差分を検出する。ただし、上述したように、厳密には、タッチ位置とタッチパネル22に設定されたタッチ領域106の中心座標との差分(距離)を算出するのである。そして、ステップS59で、評価結果を「成功」に決定し、タッチタイミングの差分およびタッチ位置の差分のデータとともに、RAM48のバッファ領域に一時記憶して、タッチ評価処理をリターンする。
【0141】
図11は、図9に示したステップS43の画像表示処理を示すフロー図である。この図11を参照して、CPUコア42が画像表示処理を開始すると、ステップS81で、ぶれ
が有効であるかどうかを判断する。ここでは、タッチ失敗フラグ72kがオンであるかどうかを判断する。ステップS81で“NO”であれば、つまりタッチ失敗フラグ72kがオフであれば、ぶれが無効であると判断して、そのままステップS93に進む。
【0142】
一方、ステップS81で“YES”であれば、つまりタッチ失敗フラグ72kがオンであれば、ぶれが有効であると判断して、ステップS83で、ぶれ時間値とぶれ経過時間とに基づいてぶれオフセット値を決定する。つまり、数1に従ってぶれオフセット値が算出される。ただし、タッチに失敗した時点(フレーム)においては、ステップS83でぶれオフセット値を決定する必要はなく、ステップS39で決定したぶれオフセットの初期値を用いるようにしてある。なお、上述したように、タッチを失敗した場合に、ゲーム画面100のぶれを開始するが、これと同時に、タイマによってぶれ経過時間のカウントが開始される。
【0143】
続くステップS85では、ぶれ経過時間に基づいてオフセット値の符号を設定する。そして、ステップS87では、本来の各画面生成時の視点位置にオフセット値を加算する。つまり、マーカ画面生成視点データ724、キャラクタ画面生成視点データ728および背景画面生成視点データ732の各々が示す3次元座標の高さ方向(Z軸方向)に、オフセット値が示す数値が加算される。続いて、ステップS89では、ぶれ経過時間がぶれ時間値以上であるかどうかを判断する。ステップS89で“NO”であれば、つまりぶれ経過時間がぶれ時間値未満であれば、そのままステップS93に進む。一方、ステップS89で“YES”であれば、つまりぶれ経過時間がぶれ時間値以上であれば、ステップS91で、ぶれを無効にして、つまりタッチ失敗フラグ72kをオフして、ステップS93に進む。
【0144】
ステップS93では、マーカ画面生成処理を実行する。ただし、ゲーム経過時間が表示時刻でない場合には、表示すべきマーカ画像102が無い場合もある。次に、ステップS95でキャラクタ画面生成処理を実行し、ステップS97で背景画面生成処理を実行する。そして、ステップS99で、マーカ画面データ、キャラクタ画面データ、背景画面データを合成して、表示画像データを生成する。なお、合成する場合には、上述したように、背景画面を最背面とし、マーカ画面を最前面とし、マーカ画面と背景画面との間にキャラクタ画面とするように、各画面が重ねられる。その後、ステップS101で、ゲーム画面100を表示して、画像表示処理をリターンする。
【0145】
この第1実施例によれば、プレイヤのタッチ操作についてのタッチタイミングのみならず、タッチ位置も検出して、タッチが成功であるか否かを判定するので、今までに無い操作感を得ることができる。また、ゲームのバリエーションを豊富にすることができる。つまり、新しい操作感を得て、ゲームを楽しむことができる。また、単にタイミングを計るゲームに比べてゲームの難易度が高いので、ゲームに飽きが来るのを可及的防止することができる。
【0146】
なお、第1実施例では、他のゲーム装置10と通信することがないため、ゲーム装置10に、アンテナ32および無線通信ユニット64等の通信機能を設ける必要はない。
<第2実施例>
図12に示す第2実施例のゲームシステム(以下、単に「システム」という。)200は、第1実施例で示したゲーム装置10によって構成される。図12から分かるように、2台のゲーム装置10によってシステム200が構成されるように示してあるが、3台以上で構成するようにしてもよい。システム200では、ゲーム装置10の各々は、通信(この実施例では、無線通信)可能に接続されており、一方のゲーム装置10が親機として機能し、他方のゲーム装置10が子機として機能する。
【0147】
なお、上述したように、3台以上のゲーム装置10によりシステム200が構成される場合には、1のゲーム装置10が親機として機能し、他のすべてのゲーム装置10が子機として機能する。
【0148】
ここで、親機の決定の仕方は様々であるが、たとえば、無線通信を開始した後に、親機になるか否かを選択するための画面を表示し、プレイヤの選択(指示)に従って決定することができる。また、無線通信を開始した後に、一番に何らかのボタンが操作されたゲーム装置10を、親機として決定することもできる。親機が決定されると、それ以外のゲーム装置10は子機として決定される。
【0149】
このようなシステム200では、ゲーム装置10同士で通信ゲーム(対戦プレイ)をすることが可能である。また、かかる場合には、対戦相手に攻撃を加えて、当該対戦相手のゲームプレイを妨害(邪魔)したり、対戦相手からの攻撃を受けたりすることができる。つまり、第2実施例では、自身のタッチの失敗のみならず、対戦相手からの攻撃によりゲーム画面100(マーカ画像102)にぶれが生じるようにしてある。ただし、自身のタッチの失敗によるゲーム画面100のぶれと、対戦相手からの攻撃によるゲーム画面100のぶれとを区別するために、この第2実施例では、対戦相手からの攻撃によるゲーム画面100のぶれ方向を横(左右)方向にしてある。
【0150】
なお、対戦プレイでは、対戦相手に攻撃したり、対戦相手からの攻撃を受けたりする点が異なる以外は、第1実施例で示した1人プレイと同様の処理が各ゲーム装置10で実行されるため、これ以降では、重複した説明は省略することにする。
【0151】
図13は、この第2実施例におけるゲーム装置10のRAM48のメモリマップを示す図解図である。図13に示すゲームプログラムでは、第1実施例のゲームプログラム(図5)に加えて、さらに、通信制御プログラム70p、ぶれ条件検出プログラム70qおよびぶれ方向制御プログラム70rが含まれる。
【0152】
通信制御プログラム70pは、他のゲーム装置10との間でデータ通信、つまりゲーム情報をやり取りするためのプログラムである。ぶれ条件検出プログラム70qは、他のゲーム装置10との間で対戦プレイを実行する場合に、他のゲーム装置10に対して攻撃データを送信するか否かを判断するための条件を検出するためのプログラムである。ここで、攻撃データは、他のゲーム装置10のゲーム画面100(マーカ画像102)およびタッチ領域106を振動(ぶれ)させるためのデータである。たとえば、攻撃データは、ぶれオフセット値データおよびぶれ時間値データを含む。ぶれ方向制御プログラム70rは、ゲーム画面100(マーカ画像102)の振動方向を制御するためのプログラムである。第2実施例では、自身の失敗によりゲーム画面100を振動させる場合には、ぶれ方向は縦方向(上下方向)に設定される。また、対戦相手の攻撃によりゲーム画面100を振動させる場合には、ぶれ方向は横方向(左右方向)に設定される。
【0153】
また、図14は、第2実施例におけるRAM48のデータ記憶領域72を示す図解図である。データ記憶領域72には、評価履歴データ72mおよび攻撃フラグ72nがさらに記憶される以外は第1実施例で示したデータ記憶領域72(図6参照)と同じである。
【0154】
評価履歴データ72mは、対戦ゲームをプレイする場合に、記憶および更新されるタッチ評価についての履歴である。タッチ評価は、第1実施例と同様であり、評価結果として「成功」または「失敗」が決定(判断)されるとともに、さらに、成功度合いおよび失敗度合いが検出され、それらの履歴が記憶される。
【0155】
たとえば、評価履歴は、図15に示すようなテーブルで示される。この図15を参照し
て、評価履歴は、評価回数に対応して、評価、タッチタイミングの差分(フレーム数)およびタッチ位置の差分(dot数)が記憶される。評価回数は、演奏する音楽に対応して予め決定されているマーカ画像102のそれぞれに対応し、タッチすべき順番(時系列)に従って評価した回数を示してある。評価は、タッチの評価結果であり、「成功」または「失敗」が記述される。さらに、成功度合いまたは失敗度合いとして、タッチタイミングの差分およびタッチ位置の差分が記憶される。ただし、タッチタイミングの差分が規定範囲(たとえば、20フレーム)を超える場合には、タッチ位置の差分は検出されない。このことは、テーブルにおいて、横棒(バー)を表示することにより示してある。また、図示は省略するが、タッチしなかったことにより、タッチが「失敗」であると判断された場合には、タッチタイミングの差分およびタッチ位置の差分の両方に横棒が表示される。
【0156】
攻撃フラグ72nは、対戦相手からの攻撃があるか否か、すなわち対戦相手の攻撃によるぶれが有効であるか否かを示すフラグである。この攻撃フラグ72nは、1ビットのレジスタで構成され、攻撃フラグ72nがオンであれば、レジスタにデータ値「1」が設定され、攻撃フラグ72nがオフであれば、レジスタにデータ値「0」が設定される。
【0157】
具体的には、CPUコア42が図16〜図18に示すフロー図に従ってゲーム全体処理を実行する。なお、図16〜図18に示すゲーム全体処理は、対戦プレイが選択された場合の処理である。また、図16〜図18に示すゲーム全体処理では、図7〜図9に示したゲーム全体処理(1人プレイ)と同じ処理が含まれため、同じ処理については簡単に説明することにする。
【0158】
図16を参照して、CPUコア42はゲーム全体処理を開始すると、ステップS111で、ゲーム初期設定を実行する。次のステップS113では、親子判定処理を実行する。この実施例では、上述したように、親機になるか否かの選択画面を表示して、当該選択画面において親機になることを選択できるようにしてある。
【0159】
続くステップS115では、自機が親機であるかどうかを判断する。ステップS115で“YES”であれば、つまり自機が親機であれば、ステップS117で、ステージを選択し、ステップS119で、ゲーム処理スタートして、ステップS125に進む。ただし、ステップS117では、選択したステージについての情報が子機に送信され、また、ステップS119では、ゲーム処理スタートのタイミングについての情報が子機に送信される。一方、ステップS115で“NO”であれば、つまり自機が子機であれば、ステップS121で、ステージ選択指示を受信し、ステップS123で、親機のタイミングでゲーム処理スタートして、ステップS125に進む。
【0160】
ステップS125では、ぶれオフセット値を0に設定する。このとき、タッチ失敗フラグ72kおよび攻撃フラグ72nがオフされる。続くステップS127では、経過時間カウント処理を実行し、ステップS129では、音楽演奏データを読み出す。続いて、ステップS131では、音楽演奏処理を実行し、ステップS133では、音楽演奏時間とゲーム経過時間とを同期させる。そして、ステップS135で、タッチすべきマーカ画像102のマーカタッチタイミングの一定時間(たとえば、60フレーム)前であるかどうかを判断する。ステップS135で“NO”であれば、そのまま図18に示すステップS167に進む。しかし、ステップS135で“YES”であれば、図17に示すステップS137で、ゲーム経過時間に応じたタッチ領域データを読み出し、ステップS139で、タッチ領域106を設定する。
【0161】
次のステップS141では、タッチ入力があるかどうかを判断する。ステップS141で“NO”であれば、ステップS143で、現在のマーカ画像102のマーカタッチタイミングが過ぎたかどうかを判断する。ステップS143で“NO”であれば、そのまま図
18に示すステップS161に進む。しかし、ステップS143で“YES”であれば、タッチ評価が「失敗」であると判断して、ステップS145で、タッチ位置の差分を記憶して、ステップS157に進む。なお、ステップS141で“NO”と判断された場合には、タッチ入力がないため、ステップS145の処理は実行されずに、そのままステップS157に進む。したがって、かかる場合には、タッチタイミングの差分およびタッチ位置の差分の両方が検出されない。
【0162】
また、ステップS141で“YES”であれば、ステップS147で、タッチ座標にぶれオフセット値を加算する。厳密に言うと、視点を移動させるためのぶれオフセット値に対応する2次元画面(LCD14)上の移動距離がタッチ座標に加算される。ただし、対戦プレイでは、上述したように、対戦相手からの攻撃によりゲーム画面100(マーカ画像102)にぶれが生じる場合があるため、ここでは、タッチの失敗によるぶれであるか、対戦相手の攻撃によるぶれであるかを判断し、その結果に応じてぶれオフセット値を加算するようにしてある。具体的には、タッチ失敗フラグ72kおよび攻撃フラグ72nのいずれがオンであるかを判断する。そして、タッチ失敗フラグ72kがオンの場合には、上述したように、タッチ座標のY座標(縦方向)にオフセット値が加算される。一方、攻撃フラグ72nがオンである場合には、タッチ座標のX座標(横方向)にオフセット値が加算される。また、タッチ失敗フラグ72kおよび攻撃フラグ72nの両方がオンである場合には、対戦プレイの特色を生かすべく、攻撃フラグ72nを優先するようにしてある。ただし、ゲームによっては、タッチ失敗フラグ72kを優先することも可能である。
【0163】
続いて、ステップS149では、タッチ位置が現在のマーカ画像102上であるかどうかを判断する。ステップS149で“NO”であれば、ステップS143に進む。しかし、ステップS149で“YES”であれば、ステップS151で、タッチ評価処理を実行する。このタッチ評価処理は、図10のフロー図を用いて説明したとおりであるため、重複した説明は省略する。次にステップS153では、タッチ評価に応じた得点を計算する。そして、ステップS155では、タッチ評価が「失敗」であるかどうかを判断する。
【0164】
ステップS155で“NO”であれば、そのままステップS159に進むが、“YES”であれば、ステップS157で、失敗に応じたぶれオフセット値とぶれ時間値とを数1に従って算出(設定)して、ステップS159に進む。ステップS159では、次にタッチすべきマーカ画像102を現在のマーカ画像102として設定して、図18に示すステップS161に進む。
【0165】
図18に示すように、ステップS161では、評価履歴を記憶(更新)する。ここでは、タッチ評価が「成功」であるか、「失敗」であるかを記憶する。また、タッチ評価が「成功」である場合には、タッチタイミングの差分とタッチ位置の差分とが記憶される。また、タッチ評価が「失敗」である場合には、タッチタイミングの差分またはタッチ位置の差分が記憶される。ただし、タッチしなかったことにより、タッチ評価が「失敗」として決定された場合には、タッチタイミングの差分およびタッチ位置の差分の両方が記憶されない。
【0166】
続くステップS163では、評価履歴が所定条件を満たすかどうかを判断する。この実施例では、所定条件は「成功」が所定回数以上継続するか否かである。ただし、これに限定される必要はなく、評価履歴としては、タッチタイミングの差分やタッチ位置の差分も記憶するようにしてあるため、これらも加味した所定条件を設定するようにしてもよい。これは、ゲームのプログラムないし開発者が任意に設定できる事項である。
【0167】
ステップS163で“NO”であれば、つまり評価履歴が所定条件を満たしていない場合には、そのままステップS167に進む。しかし、ステップS163で“YES”であ
れば、つまり評価履歴が所定条件を満たしている場合には、ステップS165で、攻撃データを他のすべてのゲーム装置10に送信して、ステップS167に進む。
【0168】
ステップS167では、対戦相手(他のゲーム装置10)から攻撃があったかどうかを判断する。つまり、他のゲーム装置10からの攻撃データを受信したかどうかを判断するのである。ステップS167で“NO”であれば、つまり対戦相手から攻撃が無ければ、そのままステップS171に進む。しかし、ステップS167で“YES”であれば、つまり対戦相手から攻撃があれば、ステップS169で、攻撃(攻撃データ)に応じたぶれオフセット値とぶれ時間値とを設定して、ステップS171に進む。図示は省略するが、ステップS169では、攻撃フラグ72nがオンされる。
【0169】
ステップS171では、画像表示処理を実行する。この画像表示処理は、図11に示すフロー図を用いて説明したとおりであるため、重複した説明は省略する。ただし、タッチ失敗フラグ72kがオンされているか、攻撃フラグ72nがオンされているかに応じて、オフセット値の加算方法が異なる。つまり、振動(ぶれ)の方向が異なる。具体的には、攻撃フラグ72nがオンされている場合には、ステップS87で、本来の各画面生成時の視点位置のX座標にぶれオフセット値を加算するようにしてある。なお、タッチ失敗フラグ72kおよび攻撃フラグ72nの両方がオンされている場合には、攻撃フラグ72nが優先されるのは上述したとおりである。
【0170】
続くステップS173では、ステージ終了かどうかを判断する。ステップS173で“NO”であれば、図16に示したステップS127に戻る。図示は省略するが、このとき、タッチ失敗フラグ72kおよび攻撃フラグ72nがオフされる。一方、ステップS173で“YES”であれば、ステップS175で、ゲーム終了かどうかを判断する。ステップS175で“NO”であれば、図16に示したステップS115に戻る。一方、ステップS175で“YES”であれば、ゲーム全体処理を終了する。
【0171】
この第2実施例においても、プレイヤのタッチ操作についてのタッチタイミングのみならず、タッチ位置も検出して、タッチが成功であるか否かを判定するので、新しい操作感を得て、ゲームを楽しむことができる。また、単にタイミングを計るゲームに比べてゲームの難易度が高いので、ゲームに飽きが来るのを可及的防止することができる。
【0172】
なお、上述の実施例では、タッチに失敗したり、対戦相手から攻撃されたりした場合には、ゲーム画面にぶれを発生させるようにしてあるが、これに限定される必要はない。たとえば、一定時間マーカ画像に表示された数字を消去または反転したり、マーカ画像の大きさを小さくまたは大きくさせたり、マーカ画像の形状を変化させたりすることもできる。または、一定時間、再生(演奏)中の音楽をミュートしたり、タイマサークル画像を削除(消去)したりすることも可能である。これらは、上述したマーカ画像(ゲーム画面)の変化に変えて実行することができ、または、マーカ画像(ゲーム画面)の変化とともに実行するようにしてもよい。
【0173】
また、上述の実施例では、自身のタッチの失敗により、ゲーム画面をぶれさせる場合に、失敗度合い、すなわちタッチタイミングの差分およびタッチ位置の差分に基づいてぶれオフセット値およびぶれ時間値を設定するようにした。しかし、タッチを失敗した場合には、失敗度合いに拘わらず、一定のぶれオフセット値と一定のぶれ時間値を設定するようにしてもよい。このようにする場合には、タッチタイミングの差分およびタッチ位置の差分に応じて、タッチに失敗したことを検出(判断)するだけである。具体的には、図8のステップS27および図17のステップS145の処理を削除し、図10のステップS55においては、タッチタイミングの差分を記録せずに、タッチの評価結果を「失敗」に決定するだけでよい。また、一定のぶれオフセット値と一定のぶれ時間値とは、RAM48
に記憶しておけばよい。
【0174】
さらに、上述の実施例では、表示器が一体的に形成されたゲーム装置を用いてシステムを構成する場合について示したが、タッチ操作可能な構成であれば、表示器が別に設けられたゲーム装置によってシステムを構成する場合にも適用できる。
【0175】
さらにまた、上述の実施例では、対戦プレイする場合には、各ゲーム装置を無線接続するようにしたが、これに限定される必要はなく、有線接続するようにしてもよいし、インターネット網等を用いて接続するようにしてもよい。
【0176】
また、ゲーム装置の構成は、上述の実施例の構成に限定されるべきでない。たとえば、LCDは1つでもよく、タッチパネルは2つのLCDのそれぞれに設けるようにしてもよい。また、左右2つのスピーカを設けるようにしてもよい。
【図面の簡単な説明】
【0177】
【図1】図1はこの発明のゲーム装置を示す図解図である。
【図2】図1は図1実施例に示すゲーム装置の電気的な構成を示すブロック図である。
【図3】図3は図1実施例の第2のLCDに表示されるゲーム画面の例を示す図解図である。
【図4】図4は図1実施例の第2のLCDに表示されるゲーム画面(タッチ画像)を示す図解図およびタッチ画像の各々に対応してタッチパネルに設定されるタッチ領域を示す図解図である。
【図5】図5は図2に示すRAMのメモリマップを示す図解図である。
【図6】図6は図5に示すデータ記憶領域を示す図解図である。
【図7】図7は図2に示すCPUコアのゲーム全体処理(1人プレイ)の一部を示すフロー図である。
【図8】図8は図2に示すCPUコアのゲーム全体処理(1人プレイ)の他の一部であり、図7に後続するフロー図である。
【図9】図9は図2に示すCPUコアのゲーム全体処理(1人プレイ)のその他の一部であり、図7および図8に後続するフロー図である。
【図10】図10は図2に示すCPUコアのタッチ評価処理を示すフロー図である。
【図11】図11は図2に示すCPUコアの画像表示処理を示すフロー図である。
【図12】図12はこの発明のゲームシステムの一例を示す図解図である。
【図13】図13は図12に示すゲーム装置のRAMのメモリマップの例を示す図解図である。
【図14】図14は図13に示すメモリマップのデータ記憶領域の例を示す図解図である。
【図15】図15はタッチ評価の評価履歴の一例を示す図解図である。
【図16】図16は図2に示すCPUコアのゲーム全体処理(対戦プレイ)の一部を示すフロー図である。
【図17】図17は図2に示すCPUコアのゲーム全体処理(対戦プレイ)の他の一部であり、図16に後続するフロー図である。
【図18】図18は図2に示すCPUコアのゲーム全体処理(対戦プレイ)のその他の一部であり、図16および図17に後続するフロー図である。
【符号の説明】
【0178】
10 …ゲーム装置
12,14 …LCD
16,16a,16b …ハウジング
20 …操作スイッチ
22 …タッチパネル
24 …スティック
28 …メモリカード
28a …ROM
28b,48 …RAM
32 …アンテナ
40 …電子回路基板
42 …CPUコア
50,52 …GPU
54 …I/F回路
56,58 …VRAM
60 …LCDコントローラ
64 …無線通信ユニット
200 …ゲームシステム

【特許請求の範囲】
【請求項1】
表示手段と、当該表示装置に関連して設けられるタッチパネルとを備えたゲーム装置のゲームプログラムであって、
前記ゲーム装置のプロセサに、
タッチ入力を検出するタッチ入力検出ステップ、
タッチ入力が行われるべき第1タイミングを処理するタッチタイミング制御ステップ、
プレイヤがタッチすべきタッチ画像を生成して前記表示手段に表示するタッチ画像表示ステップ、
前記タッチ入力検出ステップによって検出されたタッチ入力の第2タイミングを検出するタッチタイミング検出ステップ、
前記第1タイミングと前記第2タイミングとの一致度を検出するタイミング一致度検出ステップ、
前記タッチ入力が示すタッチ位置がタッチすべき位置を指示するか否かを検出するタッチ位置検出ステップ、および
前記タイミング一致度検出ステップの検出結果と前記タッチ位置検出ステップの検出結果とに応じてタッチ入力の評価を行うタッチ評価ステップを実行させる、ゲームプログラム。
【請求項2】
前記タッチすべき位置は、前記タッチ画像に関連して前記タッチパネルに設定された位置を含む、請求項1記載のゲームプログラム。
【請求項3】
前記タッチ画像表示ステップは、前記第1タイミングを前記タッチ画像に関連して可視表示する、第1タイミング表示ステップを含む、請求項1または2記載のゲームプログラム。
【請求項4】
少なくとも前記タッチ評価ステップの評価に応じて、前記タッチ画像の表示を変化させるタッチ画像表示変化ステップをさらに実行させる、請求項1ないし3のいずれかに記載のゲームプログラム。
【請求項5】
前記タッチ画像表示変化ステップは、前記タッチ画像の表示位置を変化させる、請求項4記載のゲームプログラム。
【請求項6】
前記タッチ画像表示変化ステップは、前記タッチ画像の大きさを変化させる、請求項4または5記載のゲームプログラム。
【請求項7】
他のゲーム装置との間でデータ通信を実行する通信ステップをさらに実行させ、
前記通信ステップは、前記他のゲーム装置のプレイヤとの間で対戦プレイするとき、前記タッチ評価ステップの評価に応じた攻撃データを当該他のゲーム装置に送信する、請求項1ないし6のいずれかに記載のゲームプログラム。
【請求項8】
前記タッチ画像変化ステップは、前記通信ステップによって他のゲーム装置から前記攻撃データを受信したとき、前記タッチ画像の表示を変化させる、請求項7記載のゲームプログラム。
【請求項9】
前記タッチ画像表示ステップは、3次元図形のレンダリング処理と2次元画像への視点変換処理とを含む3次元グラフィックスの手法に基づいて前記タッチ画像を生成し、
前記タッチ画像表示変化ステップは、少なくとも前記タッチ評価ステップの評価に応じて、前記視点変換処理における視点位置を変更する、請求項4記載のゲームプログラム。
【請求項10】
前記タッチ画像の表示を変化させる期間を設定する変化期間設定ステップをさらに実行させ、
前記タッチ画像表示変化ステップは、前記変化期間設定ステップによって設定された期間において、前記タッチ画像の表示を変化させる、請求項4記載のゲームプログラム。
【請求項11】
音楽を演奏する音楽演奏ステップをさらに実行させ、
前記タッチタイミング制御ステップは、前記音楽演奏ステップによって演奏される音楽のリズムに同期して前記第1タイミングを制御する、請求項1ないし10のいずれかに記載のゲームプログラム。
【請求項12】
表示手段と、この表示手段に関連して設けられるタッチパネルと、通信手段とを備えたゲーム装置を2台以上接続し、対戦ゲームをプレイするゲームプログラムであって、
各々の前記ゲーム装置のプロセサに、
タッチ入力を検出するタッチ入力検出ステップ、
タッチ入力が行われるべき第1タイミングを処理するタッチタイミング制御ステップ、
プレイヤがタッチすべきタッチ画像を生成して前記表示手段に表示するタッチ画像表示ステップ、
前記タッチ入力検出ステップによって検出されたタッチ入力の第2タイミングを検出するタッチタイミング検出ステップ、
前記第1タイミングと前記第2タイミングとの一致度を検出するタイミング一致度検出ステップ、
前記タッチ入力が示すタッチ位置がタッチすべき位置を指示するか否かを検出するタッチ位置検出ステップ、
前記前記タイミング一致度検出ステップの検出結果と前記タッチ位置検出ステップの検出結果とに応じてタッチ入力の評価を行うタッチ評価ステップ、
前記タッチ評価ステップの評価に応じて、前記通信手段を介して、他の前記ゲーム装置に攻撃データを送信する攻撃データ送信ステップ、および
前記通信手段を介して、他の前記ゲーム装置から攻撃データを受信する攻撃データ受信ステップを実行させ、
前記タッチ評価ステップは、前記攻撃データ受信ステップによって攻撃データを受信したとき、当該攻撃データを加味してタッチ入力の評価を行う、ゲームプログラム。
【請求項13】
前記タッチすべき位置は、前記タッチ画像に関連して前記タッチパネルに設定された位置を含む、請求項12記載のゲームプログラム。
【請求項14】
前記タッチ画像表示ステップは、前記第1タイミングを前記タッチ画像に関連して可視表示する、第1タイミング表示ステップを含む、請求項12または13記載のゲームプログラム。
【請求項15】
前記攻撃データ受信ステップによって攻撃データを受信したとき、前記タッチ画像を変化させるタッチ画像表示変化ステップをさらに実行させる、請求項12ないし14記載のゲームプログラム。
【請求項16】
前記タッチ画像表示変化ステップは、前記タッチ画像の表示位置を変化させる、請求項15記載のゲームプログラム。
【請求項17】
前記タッチ画像表示変化ステップは、前記タッチ画像の大きさを変化させる、請求項15または16記載のゲームプログラム。
【請求項18】
前記タッチ画像表示ステップは、3次元図形のレンダリング処理と2次元画像への視点変換処理とを含む3次元グラフィックス処理の手法に基づいて前記タッチ画像を生成し、
前記タッチ画像表示変化ステップは、前記視点変換処理における視点位置を前記攻撃データに基づいて変化させる、請求項15記載のゲームプログラム。
【請求項19】
前記タッチ画像の表示を変化させる期間を設定する変化期間設定ステップをさらに実行させ、
前記タッチ画像表示変化ステップは、前記変化期間設定ステップによって設定された期間において、前記タッチ画像の表示を変化させる、請求項15記載のゲームプログラム。
【請求項20】
音楽を演奏する音楽演奏ステップをさらに実行させ、
前記タッチタイミング制御ステップは、前記音楽演奏ステップによって演奏される音楽のリズムに同期して前記第1タイミングを制御する、請求項12ないし19のいずれかに記載のゲームプログラム。
【請求項21】
表示手段と、当該表示装置に関連して設けられるタッチパネルとを備えたゲーム装置であって、
タッチ入力を検出するタッチ入力検出手段、
タッチ入力が行われるべき第1タイミングを処理するタッチタイミング制御手段、
プレイヤがタッチすべきタッチ画像を生成して前記表示手段に表示するタッチ画像表示手段、
前記タッチ入力検出手段によって検出されたタッチ入力の第2タイミングを検出するタッチタイミング検出手段、
前記第1タイミングと前記第2タイミングとの一致度を検出するタイミング一致度検出手段、
前記タッチ入力が示すタッチ位置がタッチすべき位置を指示するか否かを検出するタッチ位置検出手段、および
前記タイミング一致度検出手段の検出結果と前記タッチ位置検出手段の検出結果とに応じてタッチ入力の評価を行うタッチ評価手段を備える、ゲーム装置。
【請求項22】
前記タッチすべき位置は、前記タッチ画像に関連して前記タッチパネルに設定された位置を含む、請求項21記載のゲーム装置。
【請求項23】
前記タッチ画像表示手段は、前記第1タイミングを前記タッチ画像に関連して可視表示する、第1タイミング表示手段を含む、請求項21または22記載のゲーム装置。
【請求項24】
表示手段と、この表示手段に関連して設けられるタッチパネルと、通信手段とを備え、1または2以上の他のゲーム装置との間で対戦ゲームをプレイするゲーム装置であって、
タッチ入力を検出するタッチ入力検出手段、
タッチ入力が行われるべき第1タイミングを処理するタッチタイミング制御手段、
プレイヤがタッチすべきタッチ画像を生成して前記表示手段に表示するタッチ画像表示手段、
前記タッチ入力検出手段によって検出されたタッチ入力の第2タイミングを検出するタッチタイミング検出手段、
前記第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

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate


【公開番号】特開2007−111568(P2007−111568A)
【公開日】平成19年5月10日(2007.5.10)
【国際特許分類】
【出願番号】特願2007−26216(P2007−26216)
【出願日】平成19年2月6日(2007.2.6)
【分割の表示】特願2005−166391(P2005−166391)の分割
【原出願日】平成17年6月7日(2005.6.7)
【新規性喪失の例外の表示】特許法第30条第1項適用申請有り 
【出願人】(000233778)任天堂株式会社 (1,115)
【出願人】(505212304)株式会社イニス (2)
【Fターム(参考)】