以下に、本発明に好適な実施形態について図面に基づいて説明する。
図1は、本実施の形態のゲーム装置10の外観を示す斜視図である。
ゲーム装置10は、第1のLCD(液晶表示装置)11及び第2のLCD12を有する。ゲーム装置10のハウジング13は上側ハウジング13aと下側ハウジング13bとからなる。第1のLCD11は上側ハウジング13aに収納されており、第2のLCD12は下側ハウジング13bに収納されている。第1のLCD11及び第2のLCD12の解像度はいずれも256ドット×192ドットである。なお、本実施の形態においては、表示装置としてLCDを用いたが、例えば、EL(電界発光)を利用した表示装置などの表示装置を用いてもよい。また、表示装置の解像度も他の解像度にすることができる。
上側ハウジング13aには、後述する一対のスピーカ(図2の30a及び30b参照)からの音を外部に放出するための音抜き孔18a、18bが、第1のLCD11を挟んで右側と左側とに形成されている。
下側ハウジング13bには、入力装置として、十字スイッチ14a、スタートスイッチ14b、セレクトスイッチ14c、Aボタン14d、Bボタン14e、Xボタン14f、Yボタン14g、Lボタン14L及びRボタン14Rが設けられている。さらに、入力装置として、第2のLCD12の画面上には、タッチパネル15が装着されている。また、下側ハウジング13bには、電源スイッチ19や、メモリカード17やスティック16を収納するための挿入口も設けられている。
上述したタッチパネル15として、例えば、抵抗膜方式や光学式(赤外線方式)や静電容量結合式などの各種の方式のものにできる。タッチパネル15は、その表面をタッチペン16で触れると、その接触位置に対応する座標データを出力する機能を有する。なお、タッチペン16ではなく指などでタッチパネル15を操作してもよい。本実施の形態では、タッチパネル15は、第2のLCD12の解像度と同じく256ドット×192ドットの解像度(検出精度)のものを利用した。ただし、必ずしもタッチパネル15の解像度と第2のLCD12の解像度が一致している必要はない。
メモリカード17は、ゲームプログラムを記録した記録媒体であり、下側ハウジング13bに設けられた挿入口に着脱自在に装着される。
ゲーム装置10の上側ハウジング13aには、カメラ40が装着されている。カメラ40は、上側ハウジング13aにおいて第1のLCD11の反対面に設けられており、ゲーム装置10の外側に向かうように配置され、ゲーム装置10の前方にある各種の物体を撮像することができる。
図2は、本実施の形態のゲーム装置10の機能の概略を示すブロック図である。
ハウジング13に収納される電子回路基板20には、CPUコア21が実装されている。CPUコア21には、バス22を介して、コネクタ23が接続されるとともに、入出力インターフェース回路(以下、I/F回路と称する。)25、第1GPU(グラフィックス プロセッシング ユニット)26、第2GPU27、RAM24、LCDコントローラ31、ワイヤレス通信部34が接続されている。
コネクタ23には、メモリカード17が着脱自在に接続される。メモリカード17は、ゲームプログラムを記憶するROM17aと、バックアップデータを書き換え可能に記憶するRAM17bを搭載する。メモリカード17のROM17aに記憶されたゲームプログラムはRAM24にロードされ、RAM24にロードされたゲームプログラムがCPUコア21によって実行される。RAM24には、ゲームプログラムの他にも、CPUコア21がゲームプログラムを実行して得られる一時的なデータや、ゲーム画像を生成するためのデータが記憶される。
I/F回路25には、タッチパネル15、右スピーカ30a、左スピーカ30b及び図1の十字スイッチ14aやAボタン14d等から成る操作スイッチ部14が接続されている。右スピーカ30aと左スピーカ30bは、上述した音抜き孔18a、18bの内側にそれぞれ配置される。
第1GPU26には、第1VRAM(ビデオラム)28が接続され、第2GPU27には、第2VRAM29が接続される。第1GPU26は、CPUコア21からの指示に応じて、RAM24に記憶されているゲーム画像を生成するためのデータに基づいて第1のゲーム画像を生成し、第1VRAM28に描画する。第2GPU27は、同様にCPUコア21からの指示に応じて第2のゲーム画像を生成し、第2VRAM29に描画する。第1VRAM28及び第2VRAM29はLCDコントローラ31に接続されている。
LCDコントローラ31はレジスタ32を含む。レジスタ32はCPUコア21からの指示に応じて0又は1の値を記憶する。LCDコントローラ31は、レジスタ32の値が0の場合は、第1VRAM28に描画された第1のゲーム画像を第1のLCD11に出力し、第2VRAM29に描画された第2のゲーム画像を第2のLCD12に出力する。また、レジスタ32の値が1の場合は、第1VRAM28に描画された第1のゲーム画像を第2のLCD12に出力し、第2VRAM29に描画された第2のゲーム画像を第1のLCD11に出力する。
ワイヤレス通信部34は、他のゲーム装置10のワイヤレス通信部34との間で、ゲームの実行処理に用いられるデータやその他のデータを送受信する機能を有している。後述するように、対戦結果やキャラクタテーブルに記憶された数値データなどが、ワイヤレス通信部34を介して送受信される。
なお、キャラクタテーブルは、自身のものと、対戦相手のものとの双方がある。自身のキャラクタテーブルは、プレーヤ自身の操作によって設定されたキャラクタのデータを記憶するテーブルである。一方、対戦相手のキャラクタテーブルは、対戦相手の操作によって設定されたキャラクタのデータを記憶するテーブルである。対戦相手と対戦ゲームをしたときには、自身のキャラクタテーブルに記憶されたデータと対戦相手のキャラクタテーブルに記憶されたデータとを互いに送受信することによって、ゲーム環境を共通のものに更新してゲームを進めることができる。
I/F回路25には、カメラ40が接続されている。カメラ40は、ゲーム装置10の前方にある各種の物体を撮像して、撮像データを生成してI/F回路25に出力する。撮像データはRAM24に供給され、第1VRAM28や第2VRAM29を介して第1のLCD11や第2のLCD12に、カメラ40によって撮像された物体の画像が表示される。カメラ40から出力された撮像データを、単独のデータとして処理することによって、静止画データと扱うことができる。また、カメラ40から出力された撮像データを、所定のタイミング毎にRAM24に供給して、それらを連続したデータとして処理することによって動画データと扱うことができる。
CPUコア21は、RAM24に供給された動画データにフィルターなどの各種の画像処理を施すことによって、動画データに含まれた物体の輪郭を抽出したり、物体の中心の位置を算出したりすることができ、カメラ40によって撮像された物体の存在を検出したり、その物体の中心位置を取得したりできる。なお、上述した説明では、カメラ40から出力された撮像データをRAM24に供給する場合を示したが、画像データ用のRAMをRAM24とは別にバス22に接続するようにして、カメラ40から出力された撮像データのみを記憶させるようにしてもよい。このようにすることで、他の演算処理などに妨げられることなく、カメラ40による撮像を円滑に処理することができる。
なお、上記のようなゲーム装置10の構成は単なる一例に過ぎず、本発明は、タッチパネルやマウスやタッチパッド等のポインティングデバイスと少なくとも1つの表示装置とを有する任意のコンピュータシステムに適用することができる。また、本発明のゲームプログラムは、メモリカード17などの外部記憶媒体を通じてコンピュータシステムに供給されるだけでなく、有線又は無線の通信回線を通じてコンピュータシステムに供給されてもよいし、さらにはコンピュータシステム内部の不揮発性記憶装置に予め記録されていてもよい。
<<<ゲームプログラム処理>>>
以下では、ゲーム装置10で実行されるゲームプログラム処理について説明する。ゲーム装置10で実行されるゲームプログラムは、ゲーム装置10を制御するものであり、メモリカード17のROM17aに予め記憶され、CPUコア21によって所定のタイミングで、ROM17aから読み出されてRAM24に展開されて実行される。
本実施の形態では、ゲーム装置10で行われるゲームは、上述したカメラ40によって撮像された物体に基づいて行われるものである。また、本実施の形態では、図12や図18に示すように、ゲーム装置10は、上側ハウジング13aが下側ハウジング13bに対して略180度開いた状態で所定のゲーム装置保持台50に設置されて、プレーヤによってゲームが進められる。ゲーム装置保持台50は、ゲーム装置10を保持した状態を保って、テーブルや机などの上に設置できるように構成されている。ゲーム装置10がゲーム装置保持台50に保持された状態で、カメラ40は、ゲーム装置保持台50の前方のテーブルや机などの表面の所定の範囲(以下、撮像可能範囲と称する。)を撮像することができる。図13(b)に示すように、この撮像可能範囲に、後述するカード(以下、ゲームカードと称する。)をプレーヤが配置することによって、ゲーム装置10の前方に配置したゲームカードの種類を認識させて、後述するゲームを進めることができる。なお、ゲームカードは、カメラ40によって撮像されて、ゲームカードを識別することができればよく、ゲームカードをテーブルに載置させるだけなく、プレーヤがゲームカードを手で保持した状態でカメラ40により撮像するようにしてもよい。
上述した撮像可能範囲は、カメラ40の解像度や、ゲーム装置保持台50に設置されたゲーム装置10の、テーブルに対する角度やテーブルまでの距離などによって決まる。また、後述するように、ゲーム装置10によって行われるゲームは、対戦ゲームであるので、テーブルを挟んで対戦相手と向かい合う場合が多い(図18参照)。このように、対戦相手と向かい合ったときには、テーブルには、自分が配置したゲームカードと、対戦相手が配置したゲームカードとの双方が存在する。このような場合には、自分が用いるゲーム装置10は、自分が配置したゲームカードのみを認識し、対戦相手がテーブルに配置したゲームカードを認識させないようにする必要がある。
このような観点から、自分が用いるゲーム装置10の撮像可能範囲には、自分が配置したゲームカードのみを配置し、対戦相手が用いるゲーム装置10の撮像可能範囲には、対戦相手が配置したゲームカードのみを配置するようにするのが好ましい。しかしながら、撮像可能範囲をプレーヤが的確に認識することが困難な場合もある。このため、所定の大きさのカード載置用シート60を予め作成して、そのカード載置用シート60をゲーム装置保持台50に対して所定の位置に配置する(たとえば、図12など)。この所定の位置に所定の大きさのカード載置用シート60を配置したときに、カード載置用シート60が撮像可能範囲となるように、カード載置用シート60の大きさを定める。このようにすることで、自分のカード載置用シート60の範囲に含まれるように自分のゲームカードを配置すれば、対戦相手のゲームカードが互いに認識されることを防止でき、円滑にゲームを進めることができる。
さらに、カード載置用シート60の色や絵柄などのデザインを特定のものにすることによって、カード載置用シート60の上に載置されたゲームカードをカメラ40で撮像したときにゲームカードの識別を容易にすることができる。
<<ゲームカードの種類>>
本実施の形態におけるゲームで使用するゲームカードには、ステージカード、ユニットカード、パッシブカード、アクティブカード及びステータスカードの5種類がある。以下、これらのゲームカードの特徴を説明する。なお、本実施の形態では、これらのゲームカードは、いわゆるトレーディングカードからなる。したがって、紙や薄いプラスチックなどの板状の形状を有し、そのゲームカードを特徴付ける文字や絵柄などが表面に印刷されている(たとえば、図13(a)又は図15(a)参照)。プレーヤは、この表面に印刷された文字や絵柄などを視認することによって、ゲームカードを識別する。
また、本実施の形態では、上述したように、ゲームプログラムによってゲームカードの種類を認識する必要がある。このため、ゲームカードの表面には、上述した文字や絵柄が印刷されている。また、ゲームカードの表面には、バーコードやQRコードなどのコードを印刷してもよい。バーコードやQRコードなどのコードをホログラムなどでゲームカードの表面に印刷してもよい(図示せず)。
これらの文字や絵柄やバーコードやQRコードなどは、カメラ40によって撮像されて、ゲームプログラムに含まれる画像処理などによって処理されることによって、カードを識別するためのカード識別情報として扱うことができる。このカード識別情報は、製造工程や製造後にゲームカードを管理するためのシリアル番号としても機能するものが好ましい。シリアル番号は、製造したゲームカードの全ての各々に対して異なるものである。また、シリアル番号には、ゲームカードの種類や機能を示す情報も含まれており、シリアル番号からゲームカードの種類や機能のみを取得することもできる。
上述したように、ゲームカードは、いわゆるトレーディングカードからなる場合が多く、プレーヤは、各種のトレーディングカードを収集して楽しむことができる。しかしながら、プレーヤがトレーディングカードを収集することによって、同じ種類や機能のものが複数枚集まってしまう場合もある。収集したトレーディングカードをゲーム装置10によるゲームで用いる場合に、トレーディングカードの種類や機能によっては、同じ種類や機能のトレーディングカードであっても、複数枚の各々を区別して処理するのが好ましい場合もある。このような種類や機能のトレーディングカードがゲーム装置10で用いられたときには、シリアル番号によって複数枚のトレーディングカードの各々を区別して処理される。この場合には、カード識別情報であるシリアル番号によって、トレーディングカードを区別することができる。これに対して、トレーディングカードの種類や機能によっては、複数枚の同じ種類や機能のトレーディングカードを区別することなく処理してもよい場合もある。このような種類や機能のトレーディングカードがゲーム装置10で用いられた場合に、これらの複数枚のトレーディングカードを区別することなく処理することができる。この場合には、カード識別情報であるシリアル番号のうち、種類や機能を示す部分のみを用いてトレーディングカードを区別することができる。
このように、カード識別情報であるシリアル番号によって判別することにより、上述したステージカード、ユニットカード、パッシブカード、アクティブカード及びステータスカードの5種類を識別することができる。また、シリアル番号によって、同じ種類のゲームカード同士であっても、互いに異なることを識別することもできる。
<ステージカード>
ステージカードは、ゲームが進行される仮想空間を定めるためのカードである。図13(a)に示すように、ステージカードの表面には、仮想空間の外観が印刷されている。プレーヤは、所望する仮想空間を示すステージカードをカメラ40に撮像させて認識させることによって、その仮想空間でゲームを行うことができる。
<ユニットカード>
ユニットカードは、ゲームに登場させるキャラクタを設定するためのカードである。図15(a)に示すように、ユニットカードの表面には、キャラクタの外観が印刷されている。プレーヤは、所望するキャラクタを示すユニットカードをカメラ40に撮像させて認識させることによって、そのキャラクタを登場させてゲームで行うことができる。キャラクタは、キャラクタを識別するための識別情報のほかに、キャラクタの個性を決定するための各種のキャラクタデータの値によって特徴付けられる。キャラクタは、後述するパッシブカードやアクティブカードやステータスカードによって個性を定めることができ、パッシブカードやアクティブカードやステータスカードが示す種類や内容に応じて、各種のキャラクタデータの値が定められ、後述するキャラクタテーブルに記憶される。
原則として、ユニットカードは、1枚のユニットカードで1人のキャラクタを仮想空間に出現させるためのものである。しかし、1枚のユニットカードで複数人のキャラクタを仮想空間に出現させるようにしてよい。この場合には、所定の順序で1人ずつ、1人の敵のキャラクタと戦うようにしても、複数人の敵のキャラクタと同時に複数人で戦うようにしてもよい。
また、原則として、ユニットカードには、キャラクタを仮想空間に出現させるためのものであり、ユニットカードには、キャラクタの種類を示す情報のみがカード識別情報に含まれていればよい。ユニットカードをこのように構成した場合には、キャラクタの個性を定めるためのデータの初期値をメモリカード17に予め記憶させておく必要がある。ユニットカードによってキャラクタの種類が決定されたときには、キャラクタの個性を定めるための各種のデータをメモリカード17から読み出して初期化することになる。
これに対して、キャラクタの種類とキャラクタの個性(キャラクタの強弱、動作、外観や属性)との双方を定めるためのデータの初期値が含まれたカード識別情報をユニットカードに印刷するようにしてもよい。このようにすることで、ユニットカードのみでキャラクタの種類を決定することができるとともに、キャラクタの個性を定めることができる。またユニットカードのみで、キャラクタに関するデータを初期化することができる。このように、キャラクタの個性を定めるデータもユニットカードのカード識別情報に含めるようにすることで、新規なユニットカードを作った場合でも、新規なユニットカードのデータを記憶させたメモリカード17を準備することなく、ユニットカードのみでキャラクタの種類とその個性とを決定することができ、ユニットカードの種類や数を容易に増やすことができる。
<パッシブカード>
パッシブカードは、登場させたキャラクタの強弱を定めるためのカードである。図21(a−1)に示すように、パッシブカードの表面には、強弱の種類を決定する内容を示す絵柄が印刷されている。たとえば、キャラクタの体力を増強するためのパッシブカードの表面には、肉の塊の絵柄が印刷されている。強弱の種類は、キャラクタの攻撃力や防御力などの体力関係のものや魔法や各種の才能などの能力関係のものなどのキャラクタの個性を定めるものである。キャラクタの強弱の種類には、たとえば、いわゆるヒットポイント(HP)やマジックポイント(MP)なども含まれる。ヒットポイントは、攻撃によって相手に与えることができるダメージ量を数値データとして表現したものである。また、マジックポイントは、魔法などの能力を使うために必要になる能力の量を数値データとして表現したものである。パッシブカードをカメラ40に撮像させて認識させることによって、キャラクタを特徴付けるためのキャラクタデータのうちの強弱に関するデータを定めることができる。パッシブカードによって定められるキャラクタの強弱のデータは、キャラクタデータの一部として、その値はキャラクタテーブルに記憶される。
上述したようにキャラクタの個性を定める強弱の内容は複数の種類があり、強弱を定めるためのパッシブカードも複数種類ある。たとえば、攻撃力や防御力などの体力関係を定めるためのパッシブカードや、魔法などの能力を定めるためのパッシブカードなどもある。また、キャラクタの種類に応じて使用できるパッシブカードと使用できないパッシブカードとが定められている。さらに、キャラクタの成長の度合いや能力の度合いによって、使用できるパッシブカードと使用できないパッシブカードとが定められている。
プレーヤは、まず、タッチパネルを操作することによってパッシブカードを使うキャラクタを選択する。次いで、所望するパッシブカードをカメラ40に撮像させて認識させることによって、そのパッシブカードが示す内容に応じて、選択したキャラクタの強弱を設定することができる。なお、ある特定のキャラクタに対してのみ使用できるパッシブカードを含めてもよい。このようなパッシブカードについては、タッチパネルを操作してキャラクタを選択することなく、パッシブカードを認識させるだけで、その特定のキャラクタのキャラクタデータのうち、そのパッシブカードに関するデータを直ちに定めることができ、操作を容易にすることができる。
また、パッシブカードは、登場させたキャラクタの強弱を定めるためのものであり、パッシブカードには、キャラクタの強弱の種類を示す情報のみがカード識別情報に含まれていればよい。パッシブカードをこのように構成した場合には、キャラクタの強弱を定めるためのデータの値を強弱の種類に応じてメモリカード17に予め記憶させておく必要がある。パッシブカードによってキャラクタの強弱の種類が決定されたときには、キャラクタの強弱を定めるための各種のデータをメモリカード17から読み出して初期化することになる。
これに対して、キャラクタの強弱の種類とキャラクタの強弱との双方を定めるためのデータの値が含まれたカード識別情報をパッシブカードに印刷するようにしてもよい。このようにすることで、キャラクタの強弱を定めるためのデータの値をメモリカード17に予め記憶させておくことなく、パッシブカードのみでキャラクタの強弱を決定することができる。このように、キャラクタの強弱を定めるデータもカード識別情報に含めるようにすることで、新規なパッシブカードを作った場合でも、新規なパッシブカードのデータを記憶させたメモリカード17を準備することなく、パッシブカードのみでキャラクタの強弱を決定することができ、パッシブカードの種類や数を容易に増やすことができる。
<アクティブカード>
アクティブカードは、登場させたキャラクタの動作を定めるためのカードである。図25(a−1)及び(a−3)や、図28(a−1)及び(b−3)や、図28(b−1)及び(b−3)に示すように、アクティブカードの表面には、キャラクタの動作を示す絵柄が印刷されている。動作には、パンチやキックなどの攻撃に関する動作のほか、防御に関する動作もある。アクティブカードは、攻撃や防御に関する各種の動作をキャラクタにさせるためのものである。したがって、アクティブカードも複数種類あり、たとえば、パンチさせるためのアクティブカードやキックさせるためのアクティブカードなどがある。アクティブカードをカメラ40に撮像させて認識させることによって、アクティブカードが示す動作を数値データにし、キャラクタを特徴付けるためのキャラクタデータのうちの動作に関するデータを定めることができる。アクティブカードによって定められるキャラクタの動作に関するデータは、キャラクタデータの一部として、その値はキャラクタテーブルに記憶される。
また、キャラクタの種類に応じて使用できるアクティブカードと使用できないアクティブカードとが定められている。さらに、キャラクタの成長の度合いや能力の度合いによって、使用できるアクティブカードと使用できないアクティブカードとが定められている。原則として、プレーヤは、まず、タッチパネルを操作することによってアクティブカードを使うキャラクタを選択する。次いで、そのキャラクタにさせたい動作のアクティブカードをカメラ40に撮像させて認識させることによって、選択したキャラクタにさせる動作を定めることができる。また、ある特定のキャラクタに対してのみ使用できるアクティブカードを含めてもよい。このようなアクティブカードについては、タッチパネルを操作してキャラクタを選択することなく、アクティブカードを認識させるだけで、その特定のキャラクタのキャラクタデータのうち、そのアクティブカードに関するデータを直ちに定めることができ、操作を容易にすることができる。
さらに、キャラクタに複数の動作を連続して行わせたい場合もある。キックさせた後にパンチをさせ、さらにまたキックをさせるようにしたい場合もある。このような場合には、それらの複数の動作に対応したアクティブカードを、順次、カメラ40に撮像させて認識させ、アクティブカードが示す動作の数値データを、キャラクタデータのうちの動作に関するデータに順に記憶させるようにすればよい。
さらにまた、道具を使うものでもよい。たとえば、弓や銃やバズーカなどの各種の道具を用いるものでもよい。特に、弓には矢が必要であり、銃やバズーカなどには弾が必要である。このような消耗品が必要となる道具が好ましい。たとえば、弓を使うときには、プレーヤがタッチパネルに矢の画像を描き、その描かれた矢を使って相手を攻撃する。銃やバズーカなどに使う弾も同様に、プレーヤがタッチパネルに描いた弾を使って相手を攻撃する。このようにすることで、アクティブカードを単に認識させるだけでなく、アクティブカードを用いてプレーヤを積極的に攻撃に参加させることができる。
<ステータスカード>
ステータスカードは、登場させたキャラクタの外観や属性を定めるためのカードである。たとえば、ロボットやトラックなどのキャラクタの外観や属性を定めてキャラクタを変身させることができる。属性は、キャラクタの主な特徴を意味する。図26(a−1)及び(a−3)に示すように、ステータスカードの表面には、仮想空間やキャラクタの外観や属性を示す絵柄が印刷されている。ステータスカードをカメラ40に撮像させて認識させることによって、ステータスカードが示す外観や属性を数値データにし、キャラクタを特徴付けるためのキャラクタデータのうちの外観や属性に関するデータを定めることができる。ステータスカードは、登場させたキャラクタの外観や属性を定めるものであるので、所定のステータスカードが使えるキャラクタは一定に定まっている場合が多い。このため、原則として、タッチパネルを操作してキャラクタを選択することなく、ステータスカードを認識させるだけで、その特定のキャラクタのキャラクタデータのうち、そのステータスカードに関するデータを直ちに定めることができ、操作を容易にすることができる。ステータスカードによって定められるキャラクタの外観や属性に関するデータは、キャラクタデータの一部として、その値はキャラクタテーブルに記憶される。
さらに、ステータスカードは、キャラクタの外観や属性を定めるだけでなく、キャラクタが存在する仮想空間の環境を定めるものでもよい。たとえば、仮想空間に地震を起こしたり罠を仕掛けたりするためのステータスカードを含めてもよい。タッチパネルを操作してキャラクタを選択する必要がないので、ステータスカードを認識させるだけで、直ちに仮想空間の環境を定めることができる。
さらにまた、時間制限や回数制限があるようにしてもよい。たとえば、ステータスカードによってキャラクタを変身させることができるが、所定の時間が経過したり、所定の対戦回数を超えたりしたときには、元のキャラクタに戻すようにしてもよい。キャラクタを変身したときにタイマーを起動して所定の時間経過した場合には、元のキャラクタに戻す。また、攻撃ターンと防御ターンとを交互に繰り返して対戦する場合には、キャラクタを変身したときに対戦回数の計数を開始し、対戦回数が所定の回数以上になったときに、元のキャラクタに戻す。また、判断をするための所定の時間や所定の回数は、自分のキャラクタの強弱や敵キャラクタの強弱や、対戦ゲームの対戦結果などの進行状況に応じて定めてもよい。
また、原則として、ステータスカードは、登場させたキャラクタの外観や属性を定めるためのものであり、ステータスカードには、キャラクタの外観や属性を示す情報のみがカード識別情報に含まれていればよい。ステータスカードをこのように構成した場合には、キャラクタの外観や属性を定めるためのデータの値をメモリカード17に予め記憶させておく必要がある。ステータスカードによってキャラクタの外観や属性が決定されたときには、キャラクタの外観や属性を定めるための各種のデータをメモリカード17から読み出して初期化することになる。
これに対して、ステータスカードに、キャラクタの外観や属性とキャラクタの強弱との双方を定めるためのデータの初期値が含まれたカード識別情報をステータスカードに印刷するようにしてもよい。キャラクタの外観や属性に応じて、キャラクタの強弱も決定されることが多い。このようにすることで、ステータスカードのみでキャラクタの外観や属性を決定することができるとともに、キャラクタの強弱を定めることができる。このように、キャラクタの強弱を定めるデータもステータスカードのカード識別情報に含めるようにすることで、新規なステータスカードを作った場合でも、新規なステータスカードのデータを記憶させたメモリカード17を準備することなく、ステータスカードのみでキャラクタの外観や属性とその強弱とを決定することができ、ステータスカードの種類や数を容易に増やすことができる。
<<ゲームの進行手順>>
本実施の形態におけるゲームには、主に、設定モードと対戦モードとがある。設定モードは、ステージカードとユニットカードとを用いて、ゲーム環境を設定するモードである(図13〜図19参照)。ステージカードによって仮想空間を設定し、ユニットカードによって仮想空間に登場させるキャラクタを設定する。対戦モードは、設定モードで設定した仮想空間内で、設定モードで設定したキャラクタが、敵のキャラクタ(対戦相手が設定したキャラクタ)と戦うモードである(図20〜図29参照)。この対戦モードでは、自分が設定したキャラクタを育てたり変化させたり動作の指令を与えたりして、敵のキャラクタと戦う。
<設定モード>
設定モードでは、上述したステージカードとユニットカードとは、カメラ40によって撮像された撮像画像がそのまま、第2のLCD12に表示される。
プレーヤがステージカードをカメラ40の前方に配置して、ステージカードがカメラ40によって撮像されて、撮像されたステージカードが所定のステージカードであることが認識されたときには(図13(b)、図14(a)参照)、所定のステージカードに対応する仮想空間が設定される。仮想空間が設定されたときには、プレーヤの操作に応じて、第1のLCD11に仮想空間を示すアニメーション画像が表示される(図14(b)参照)。
また、プレーヤがユニットカードをカメラ40の前方に配置して、ユニットカードがカメラ40によって撮像されて、撮像されたユニットカードが所定のユニットカードであることが認識されたときには(図15(b)参照)、所定のユニットカードに対応するキャラクタを出現させてゲームの進行で用いるために設定する。キャラクタが設定されることによって、第2のLCD12では、カメラ40によって撮像されたユニットカードの撮像画像に重畳するように、ユニットカードに対応するキャラクタのアニメーション画像が表示される(図16(a)参照)。また、キャラクタが設定されることによって、第1のLCD11において、仮想空間のアニメーション画像に重畳するようにキャラクタのアニメーション画像が表示される(図16(b)参照)。
なお、アニメーション画像は、仮想空間やキャラクタを表示するために予め生成されたものであり、メモリカード17のROM17aに記憶されている。メモリカード17のROM17aから画像データを読み出すことによって、第1のLCD11や第2のLCD12に表示される。
したがって、ステージカードがカメラ40によって撮像されて、所定のステージカードであることが認識されたときには、所定のステージのアニメーション画像のデータがメモリカード17のROM17aから読み出され、第1のLCD11に仮想空間を示すアニメーション画像が表示される。
また、ユニットカードがカメラ40によって撮像されて、所定のユニットカードであることが認識されたときには、所定のユニットカードに対応するキャラクタのアニメーション画像のデータがメモリカード17のROM17aから読み出され、第1のLCD11では、仮想空間を示すアニメーション画像に重畳するように、キャラクタのアニメーション画像が表示される(図16(b)参照)。また、同時に、第2のLCD12では、カメラ40によって撮像されたユニットカードの撮像画像に重畳するように、キャラクタのアニメーション画像が表示される(図14(a)参照)。
このように、アニメーション画像は、予め生成されたデータを使って表示するものであり、カメラ40によって撮像された撮像の画像(撮像画像)とは異なる。第1のLCD11においては、アニメーション画像が常に表示され、第2のLCD12には、撮像画像のみが表示されるとき、撮像画像とアニメーション画像との双方が表示されるとき、アニメーション画像のみが表示されるときがある。第1のLCD11においても第2のLCD12においても、キャラクタのアニメーション画像は、たとえば、スプライトにより表示することで、キャラクタが所定の動作をする態様の映像や移動する態様の映像を表示することができる。
上述したステージカードによって仮想空間が設定され、ユニットカードによってキャラクタが設定されたときには、ゲームを開始するための準備が整う。この段階までは、第2のLCD12には、カメラ40によって撮像された撮像画像が表示されていた。ゲームを開始するための準備が整ったことを契機にして、第2のLCD12では、キャラクタのアニメーション画像だけなく、ユニットカードもアニメーション画像によって表示される。後述するように、ユニットカードはプレーヤによって移動される場合がある。この場合には、プレーヤの動作をカメラ40によって撮像し、撮像した撮像画像からプレーヤの主な動作を抽出し、抽出した動作に応じたアニメーション画像を表示する。
また、この時点で、カメラ40によって撮像されたユニットカードの位置が、ユニットカードの基準位置として記憶される。たとえば、カメラ40によって撮像された撮像画像に対して画像処理を施すことにより、ユニットカードの輪郭を抽出し、抽出した輪郭からユニットカードの中心位置(重心位置)を算出して、この中心位置をユニットカードの基準位置とすればよい。後述するように、仮想空間上でキャラクタを移動させるときには、カメラ40によって撮像されているユニットカードをプレーヤが移動させる。ここで、ユニットカードの基準位置は、カメラ40によって撮像された撮像画像における位置であればよく、たとえば、ピクセルなどの単位を用いてユニットカードの基準位置を特定することができる。
このようにして算出されたユニットカードの基準位置は、ゲーム装置10のRAM24のキャラクタテーブルに、撮像されているユニットカードの種類に対応付けられて記憶される。
上述したように、ユニットカードをカメラ40の前方に配置することによってキャラクタを、第1のLCD11に表示されている仮想空間に出現させることができる。ユニットカードがカメラ40の前方に配置されてユニットカードの存在が認識されているときに限って、そのユニットカードに対応したキャラクタを出現させてゲームに登場させることができる。したがって、所定のキャラクタを出現させるためには、そのキャラクタに対応するユニットカードの存在を認識させ続ける必要がある。しかしながら、プレーヤがゲーム中に興奮して、カメラ40の前方の所定の認識可能な範囲からユニットカードを外してしまう場合もあり、所定のキャラクタを、一旦、仮想空間に出現させたときには、認識可能な範囲からユニットカードが外れたような場合であっても、ゲームが終了するまでは、出現させ続けるのが好ましい。
なお、ゲームの進行上、キャラクタを次々に交代させたい場合も想定される。このような場合には、キャラクタを消失させたいときや交換したいときにユニットカードを所定の認識可能な範囲から外すことで、ユニットカードの存在が認識されないようにすればよい。
<対戦モード>
対戦モードでは、自分が設定したキャラクタを育てたり変化させたり、キャラクタに動作の指令を与えたりして、敵のキャラクタと戦う。この対戦モードでは、主に、上述したパッシブカード、アクティブカード及びステータスカードを用いる。
ゲームが対戦モードのときには、カメラ40によって、これらのゲームカードを撮像すると、これらのゲームカードのアニメーション画像が第2のLCD12に表示される(図20(a−3)、図20(b−3)、図21(a−3)、図21(b−3)、図22(a−3)、図22(b−3)、図23(a−3)、図23(b−3)、図24(a−3)、図24(b−3)、図25(a−3)、図25(b−3)、図26(a−3)、図26(b−3)、図27(a−3)、図27(b−3)、図28(a−3)、図28(b−3)、図29(a−3)参照)。このように、撮像したゲームカードの撮像画像を表示するのではなく、アニメーション画像を表示することにより、プレーヤがゲームカードを不用意に移動させて撮像できなくなったような場合であっても、そのゲームカードが存在するとして処理することができ、処理を円滑に進めることができる。また、アニメーション画像のデータを用いて第2のLCD12に表示すればよいので、表示のための処理も軽くすることができる。他の演算処理などを妨げる可能性を低くすることができる。
さらに、ゲームが対戦モードのときには、カメラ40によって、ゲームカードが撮像されて識別されたときには、そのゲームカードの内容を示すアニメーション画像が、ゲームカードのアニメーション画像に重畳する態様で第2のLCD12に表示される(図20(a−3)、図20(b−3)、図21(a−3)、図21(b−3)、図22(a−3)、図22(b−3)、図23(a−3)、図23(b−3)、図24(a−3)、図24(b−3)、図25(a−3)、図25(b−3)、図26(a−3)、図26(b−3)、図27(a−3)、図27(b−3)、図28(a−3)、図28(b−3)、図29(a−3)参照)。
パッシブカードには、パッシブカードの内容を示す絵柄が印刷されている。たとえば、キャラクタの体力を増強するためのパッシブカードの表面には、肉の塊の絵柄が印刷されている(図21(a−1)及び(a−3))。このパッシブカードをカメラ40の撮像によって識別されたときには、パッシブカードそのものを示すアニメーション画像のデータをメモリカード17のROM17aから読み出し、パッシブカードそのものを示すアニメーション画像が第2のLCD12に表示される。さらに、パッシブカードの内容を示す肉の塊のアニメーション画像のデータをメモリカード17のROM17aから読み出し、パッシブカードの内容を示す肉の塊のアニメーション画像が、パッシブカードそのものを示すアニメーション画像に重畳するように第2のLCD12に表示される(図21(a−3))。
また、キャラクタの動作を定めるためのアクティブカードには、その動作を示す絵柄が印刷されている。具体的には、キャラクタが相手に対してパンチをするためのアクティブカードの表面には、キャラクタがパンチをする態様の絵柄が印刷されている(図25(a−1)及び(a−3))。このアクティブカードをカメラ40の撮像によって識別されたときには、アクティブカードそのものを示すアニメーション画像のデータをメモリカード17のROM17aから読み出し、アクティブカードそのものを示すアニメーション画像が第2のLCD12に表示される。さらに、アクティブカードの内容を示すキャラクタがパンチをする態様のアニメーション画像のデータをメモリカード17のROM17aから読み出し、キャラクタがパンチをする態様のアニメーション画像が、アクティブカードそのものを示すアニメーション画像に重畳するように第2のLCD12に表示される(図25(a−3)、図28(a−3))。
さらに、キャラクタの外観や属性を定めるためのステータスカードには、その外観や属性を示す絵柄が印刷されている。たとえば、ロボットであるキャラクタがトラックに変身するためのステータスカードの表面には、トラックの絵柄が印刷されている(図26(a−1)及び(a−3))。このステータスカードをカメラ40の撮像によって識別されたときには、ステータスカードそのものを示すアニメーション画像のデータをメモリカード17のROM17aから読み出し、ステータスカードそのものを示すアニメーション画像が第2のLCD12に表示される。さらに、ロボットがトラックに変身するアニメーション画像のデータをメモリカード17のROM17aから読み出し、ロボットがトラックに変身する過程のアニメーション画像が、ステータスカードそのものを示すアニメーション画像に重畳するように第2のLCD12に表示される(図26(b−3))。
上述したように、第1のLCD11では、仮想空間を示すアニメーション画像に重畳するように、キャラクタのアニメーション画像が表示される。したがって、ステータスカードが識別されたときには、ロボットがトラックに変身するアニメーション画像のデータをメモリカード17のROM17aから読み出し、第1のLCD11では、ロボットがトラックに変身する過程のアニメーション画像が、仮想空間を示すアニメーション画像に重畳するように表示される(図26(b−2))。
また、対戦モードでは、自分が仮想空間に出現させたキャラクタを、敵キャラクタに近づくように、その仮想空間内を移動させる場合もある。キャラクタが近づくことによって対戦を始めることができる。仮想空間内でキャラクタを移動させるには、プレーヤは、そのキャラクタに対応した現実のゲームカードをテーブル上でプレーヤの手によって移動させる(図21(b−1)、図22(b−1)、図23(a−1)、図23(b−1)、図27(a−1))。プレーヤが現実のゲームカードを移動させた方向に応じた方向に、仮想空間内でキャラクタを移動させる(図22(a−2)、図23(a−2)、図24(a−2)、図27(b−2))。したがって、現実のゲームカードを移動させている状態でも、その現実のゲームカードをカメラ40によって撮像されて識別されている必要がある。したがって、プレーヤは、上述した撮像可能範囲でゲームカードをテーブル上で移動させる必要がある。
後述するように、ゲームカードの基準位置と、ゲームカードの移動後の位置との差から、ゲームカードの方向を算出して、その方向に応じて自分が仮想空間に出現させたキャラクタを仮想空間内で移動させる。
なお、上述したカード載置用シート60を使用するか否かにかかわらず、撮像可能範囲を超えた位置にゲームカードが移動されたときには、仮想空間内での移動を中断し、静止させるようにするのが好ましい。プレーヤがゲームカードを移動させて、撮像可能範囲内にゲームカードが再び存在するようになったときには、プレーヤがゲームカードを操作することによって改めて方向が定められるまで、仮想空間内におけるキャラクタの移動を中断して静止した状態を保つのが好ましい。
<<カード検出処理>>
図3は、ゲーム装置10の前方に置かれたカードを検出するための処理である。
最初に、フラグF_diffの値が1であるか否かを判断する(ステップS311)。フラグF_diffは0番目の画像データと1番目の画像データとが相違するか否かを示すフラグであり、フラグF_diffの値が1であるときには相違することを意味し、フラグF_diffの値は0であるときには相違することを意味する。ここで、0番目の画像データとは、カメラ40から出力されRAM24に記憶された撮像データであって、先の時刻に撮像された撮像データである。また、1番目の画像データとは、カメラ40から出力されRAM24に記憶された撮像データであって、0番目の画像データよりも後の時刻に撮像された撮像データである。なお、0番目の画像データを撮像した時刻と、1番目の画像データを撮像した時刻との差は、撮像する対象物、たとえば、ゲームを進めるためのカード(以下、ゲームカードと称する。)を認識することができる程度であればよい。
ステップS311の判断処理で、フラグF_diffの値が1でないと判別したとき(NO)には、すなわち、フラグF_diffの値が0であると判別したときには、直ちに本サブルーチンを終了する。一方、フラグF_diffの値が1であると判別したとき(YES)には、0番目の画像データと1番目の画像データとの差分データを生成する(ステップS313)。生成した差分データにゲームカードを示す画像データが含まれているか否かを判断する(ステップS315)。この判断は、0番目の画像データには、ゲームカードを示す画像データが含まれていないが、1番目の画像データには、ゲームカードを示す画像データが含まれているかどうかを判断するものである。すなわち、0番目の画像データの撮像時刻と1番目の画像データの撮像時刻との間の時間に、カメラ40によって撮像できる範囲に、ゲームカードがプレーヤによって配置されたか否かを判断する処理である。
ステップS315の判断処理で、生成した差分データにゲームカードを示す画像データが含まれていないと判別したとき(NO)には、直ちに本サブルーチンを終了する。一方、生成した差分データにゲームカードを示す画像データが含まれていると判別したとき(YES)には、差分データからシリアル番号をカード識別情報として抽出して、シリアル番号からゲームカードの種類及び内容を決定し、その種類及び内容をRAM24に記憶させて(ステップS317)、本サブルーチンを終了する。
シリアル番号は、ゲームカード毎に割り当てられた識別情報であり、シリアル番号によって、ゲームカードの種類や内容を取得することができる。本実施の形態では、ゲームカードの種類には、上述したように、ステージカード、ユニットカード、パッシブカード、アクティブカード及びステータスカードの5種類がある。シリアル番号によって、これらの5種類のゲームカードを識別することができる。また、ゲームカードの内容は、これらの種類のカードの各々が示す具体的な内容である。たとえば、肉の塊の絵柄が印刷されているパッシブカードは、キャラクタの体力を増強するためのゲームカードである。キャラクタがパンチをする態様の絵柄が印刷されているアクティブカードは、キャラクタにパンチの動作をさせるためのゲームカードである。シリアル番号によって、ゲームカードの各々が示す具体的な内容を識別することができる。
メモリカード17のROM17aには、このシリアル番号と、ゲームカードの種類及び内容とが対応付けられてカードデータベースとして記憶されている。上述したステップS317の処理で、シリアル番号を差分データから抽出したときには、ROM17aに記憶されているカードデータベースを、シリアル番号を用いて検索することによって、ゲームカードの種類及び内容を決定することができる。
なお、上述したステップS317の処理では、シリアル番号によって決定することができたゲームカードの種類及び内容をRAM24に記憶させるようにしたが、シリアル番号をRAM24に記憶させるようにしてもよい。このようにしても、ROM17aに記憶されているカードデータベースを、シリアル番号を用いて検索することでゲームカードの種類及び内容を決定することができる。
<<撮像処理>>
図4は、カメラ40によって撮像された撮像データの処理を実行するサブルーチンである。
最初に、カメラ40から出力された撮像信号を、I/F回路25を介して受信することによって、撮像データを取り込みRAM24に記憶させる(ステップS411)。
次に、RAM24に記憶させ撮像データに対して画像処理を施す(ステップS413)。この画像処理は、カメラ40によって撮像されているゲームカードの特徴を検出しやすくするためのものである。たとえば、フィルターによるノイズ除去の処理や、明暗を強調して輪郭を抽出する処理などがある。
次いで、変数iの値が0であるか否かを判断する(ステップS415)。変数iは、0番目の記憶領域にするか、又は1番目の記憶領域にするかを定めるための変数である。ステップS415の判断処理で、変数iの値が0であると判別したとき(YES)には、ステップS413の処理で画像処理した画像データを0番目の記憶領域に記憶させ(ステップS417)、変数iの値を1にする(ステップS419)。ステップS417の処理によって0番目の記憶領域に記憶させた画像データを、0番目の画像データと称する。
一方、変数iの値が1であると判別したとき(NO)には、ステップS413の処理で画像処理した画像データを1番目の記憶領域に記憶させ(ステップS421)、変数iの値を0にする(ステップS423)。ステップS421の処理によって1番目の記憶領域に記憶させた画像データを、1番目の画像データと称する。
上述したステップS419又はS423の処理を実行した後、0番目の画像データと1番目の画像データとの間に相違があるか否かを判断する(ステップS425)。0番目の画像データと1番目の画像データとの間に相違があると判別したとき(YES)には、フラグF_diffの値を1にし(ステップS427)、本サブルーチンを終了する。一方、0番目の画像データと1番目の画像データとの間に相違がないと判別したとき(NO)には、フラグF_diffの値を0にし(ステップS429)、本サブルーチンを終了する。ここで、フラグF_diffは、0番目の画像データと1番目の画像データとの間に相違があるか否かを示すフラグであり、相違がある場合には、フラグF_diffの値は1であり、相違がない場合には、フラグF_diffの値は0である。
このようにすることで、0番目の画像データと1番目の画像データとの相違によって、フラグF_diffの値を決定することができる。
<<検出カード対応処理>>
図5は、ゲーム装置10のモードに応じて実行をする処理を定めるサブルーチンである。
最初に、ゲーム装置10のモードが設定モードであるか否かを判断する(ステップS511)。ゲーム装置10のモードが設定モードであると判別したとき(YES)には、後述する図6の設定モード処理のサブルーチンを呼び出して実行し(ステップS513)、本サブルーチンを終了する。
一方、ゲーム装置10のモードが設定モードでないと判別したとき(NO)には、ゲーム装置10のモードが対戦モードであるか否かを判断する(ステップS515)。ゲーム装置10のモードが対戦モードであると判別したとき(YES)には、後述する図8の対戦モード処理のサブルーチンを呼び出して実行する(ステップS517)。ステップS515の判断処理でゲーム装置10のモードが対戦モードでないと判別したとき(NO)、又はステップS517の処理を実行したときには、本サブルーチンを終了する。
上述したように、設定モードは、ステージカードとユニットカードとを用いて、ゲーム環境を設定するモードである。また、設定モードで設定した仮想空間内において、設定モードで設定したキャラクタが、敵のキャラクタ(対戦相手が設定したキャラクタ)と戦うモードである。
<<設定モード処理>>
図6は、上述した図5のステップS513で呼び出されて実行される設定モード処理のサブルーチンである。
最初に、ステージカードによって仮想空間が既に設定されているか否かを判断する(ステップS611)。この判断処理は、後述するフラグF_stageの値が1であるか否かを判断するものである。フラグF_stageの値が1であるときには、仮想空間が確定されていることを示し、フラグF_stageの値が0であるときには、仮想空間が確定されていないことを示す。
ステージカードによって仮想空間が未だ設定されていないと判別したとき(NO)、すなわち、フラグF_stageの値が0であると判別したときには、ステージカードが存在するか否かを判断する(ステップS613)。本実施の形態において、ステージカードの「存在」とは、カメラ40によってゲームカードが撮像されている状態であり、かつ、それが所定のゲームカードであると識別されている状態を意味する。したがって、単にゲームカードが撮像されているだけでなく、ゲームカードのシリアル番号やゲームカードの種類及び内容が特定されている状態を意味する。
ステップS613の判断は、たとえば、図13(b)に示すように、カメラ40によって、所定の種類のステージカードが撮像されて存在するか否かを判断する処理である。
ステージカードが存在しないと判別したとき(NO)には、上述したステップS611に処理を戻す。一方、ステージカードが存在すると判別したとき(YES)には、存在するステージカードに対応する仮想空間のアニメーション画像のデータをメモリカード17のROM17aから読み出し、仮想空間のアニメーション画像を、ステージカードの撮像画像と重畳するように第2のLCD12に表示する(ステップS615)。
このステップS615においては、上述した図3のサブルーチンを実行することによって、ステップS313の処理によって差分データを生成し、ステップS317の処理によって差分データからシリアル番号を抽出する。抽出したシリアル番号から、プレーヤが所望した仮想空間を特定し、その仮想空間のアニメーション画像のデータをROM17aから読み出して表示する。
このステップS615の処理を実行することによって、図14(a)に示すように、カメラ40によって撮像された実際のステージカードの撮像画像に重畳するように、仮想空間のアニメーション画像が第2のLCD12に表示される。
上述したようにゲームカードに印刷されているシリアル番号によってカードの種類を判別することができ、そのステージカードに対応する仮想空間を決定することができる。
次に、ステージカードに対応する仮想空間が、プレーヤが所望した仮想空間であるかどうか判断する(ステップS617)。ここで、プレーヤが所望した仮想空間であるときには、プレーヤはAボタン14dを操作する。一方、プレーヤが所望した仮想空間でないときには、プレーヤはYボタン14gを操作する。上述したステップS617は、プレーヤが、Aボタン14dを操作したか、又はYボタン14gを操作したかを判断するものである。
プレーヤが所望した仮想空間でないと判別したとき(NO)には、上述したステップS611に処理を戻す。
一方、プレーヤが所望した仮想空間であると判別したとき(YES)には、その仮想空間のアニメーション画像のデータをメモリカード17のROM17aから読み出し、仮想空間のアニメーション画像を第1のLCD11に表示する(ステップS619)。このステップS619の処理を実行することによって、図14(b)に示すように、仮想空間のアニメーション画像が第1のLCD11に表示される。上述した処理によって、自分と対戦相手との間で行う対戦ゲームの仮想空間を確定することができ、第1のLCD11に表示された仮想空間において対戦ゲームが進められる。
次に、この仮想空間を定める識別情報をRAM24に記憶する(ステップS621)。なお、この識別情報は、仮想空間を識別できる情報であればよく、上述したゲームカードに印刷されているシリアル番号を用いることができる。この仮想空間を定める識別情報は、所定のタイミングで、対戦相手が操作するゲーム装置10に送信される。このようにすることによって、自分と対戦相手との仮想空間を共通にして、対戦ゲームを行うことができる。
次いで、フラグF_stageの値を1にして(ステップS623)、本サブルーチンを終了する。フラグF_stageは、対戦ゲームの仮想空間が確定されているか否かを定めるフラグであり、フラグF_stageの値が1であるときには、仮想空間が確定されていることを示し、フラグF_stageの値が0であるときには、仮想空間が確定されていないことを示す。
上述したステップS611の判断処理で、ステージカードによって仮想空間が既に設定されていると判別したとき(YES)、すなわち、フラグF_stageの値が1であると判別したときには、ユニットカードが存在するか否かを判断する(ステップS625)。このステップS625の判断は、たとえば、図15(b)に示すように、カメラ40によって、所定の種類のユニットカードが撮像されて存在するか否かを判断する処理である。
ユニットカードが存在しないと判別したとき(NO)には、上述したステップS611に処理を戻す。一方、ユニットカードが存在すると判別したとき(YES)には、存在するユニットカードに対応するキャラクタのアニメーション画像のデータをメモリカード17のROM17aから読み出し、キャラクタのアニメーション画像を、ユニットカードの撮像画像と重畳するように第2のLCD12に表示する(ステップS627)。
このステップS627においても、上述した図3のサブルーチンを実行することによって、ステップS313の処理によって差分データを生成し、ステップS317の処理によって差分データからシリアル番号を抽出する。抽出したシリアル番号から、プレーヤが所望したキャラクタを特定し、そのキャラクタのアニメーション画像のデータをROM17aから読み出して表示する。
上述したように、ゲームカードに印刷されているシリアル番号によってカードの種類を判別することができ、そのユニットカードに対応するキャラクタを決定することができる。
ユニットカードは、図15(a)に示すように、対戦ゲームに出現させるキャラクタの全身が表面に印刷されたゲームカードである。対戦ゲームに出現させたいキャラクタが印刷されたユニットカードをプレーヤがテーブルに配置することによって、図15(b)に示すように、そのユニットカードがカメラ40によって撮像される。上述したステップS627の処理を実行することによって、図16(a)に示すように、カメラ40によって撮像された実際のユニットカードの撮像画像に重畳するように、キャラクタのアニメーション画像が第2のLCD12に表示される。
次に、ステップS627の処理でメモリカード17のROM17aから読み出したキャラクタのアニメーション画像のデータを使って、キャラクタのアニメーション画像を第1のLCD11に表示する(ステップS629)。このステップS629の処理を実行することによって、図16(b)に示すように、仮想空間のアニメーション画像に重畳するように、キャラクタのアニメーション画像が第1のLCD11に表示される。上述した処理によって、第1のLCD11に表示された仮想空間において、プレーヤが所望するキャラクタを出現させることができる。
また、このステップS629の処理によって仮想空間においてキャラクタを出現させる位置は、仮想空間における初期位置である。初期位置は、予め定められた位置であり、仮想空間において手前側の位置である。初期位置をこのような位置にすることで、仮想空間にキャラクタを出現させたことをプレーヤに明確に示すことができる。
なお、後述するように、仮想空間においては、複数のキャラクタ、たとえば、3人のキャラクタを出現させる場合がある。この場合には、3枚のユニットカードを、右位置、中位置及び左位置のように、撮像可能範囲に含まれるようにテーブル上に並置する。このようにしたときには、撮像可能範囲の右位置に置かれたユニットカードに対応するキャラクタを仮想空間の右側の初期位置に出現させ、撮像可能範囲の中位置に置かれたユニットカードに対応するキャラクタを仮想空間の中側の初期位置に出現させ、撮像可能範囲の左位置に置かれたユニットカードに対応するキャラクタを仮想空間の左側の初期位置に出現させることができる。たとえば、図17に示すように、3枚のユニットカードを、右位置、中位置及び左位置のように、撮像可能範囲に含まれるようにテーブル上に並置することによって、仮想空間の3人のキャラクタを出現させることができる。
次に、このキャラクタを定める識別情報をRAM24に記憶する(ステップS631)。なお、この識別情報は、キャラクタを識別できる情報であればよく、上述したゲームカードに印刷されているシリアル番号を用いることができる。このキャラクタを定める識別情報も、所定のタイミングで、対戦相手が操作するゲーム装置10に送信される。このようにすることによって、自分が出現させたキャラクタを対戦相手に報知することができる。
次いで、対戦ゲームに必要な全てのキャラクタを設定したか否かを判断する(ステップS633)。上述したように、対戦ゲームでは、複数のキャラクタ、たとえば、3人のキャラクタを出現させることができる。ステップS633の判断処理で、必要な全てのキャラクタを設定していないと判別したとき(NO)には、上述したステップS625に処理を戻す。
一方、ステップS633の判断処理で、必要な全てのキャラクタを設定したと判別したとき(YES)には、ユニットカードの中心位置を取得する(ステップS635)。
上述したステップS627において、図3のサブルーチンを実行することによって生成された差分データを用いる。差分データからユニットカードの輪郭を抽出して、輪郭のデータからユニットカードの中心位置を算出することで、ユニットカードの中心位置を取得することができる。なお、ステップS635の処理は、撮像可能範囲に含まれるようにテーブル上に並置された複数のユニットカード、たとえば、3枚のユニットカードの各々の中心位置を取得する。以下では、一つの例として、撮像可能範囲には3枚のユニットカードが並置されているものとする。したがって、3枚のユニットカードの各々に対応した3人のキャラクタが出現する。
次に、ステップS635の処理によって取得した中心位置をユニットカードの基準位置として、ユニットカードのキャラクタの種類に対応付けてRAM24に記憶させる(ステップS637)。
次いで、取得したユニットカードの基準位置に応じて、第2のLCD12に3枚のユニットカードのアニメーション画像を表示する(ステップS639)。上述したように、ステップS627の処理によって、ユニットカードの撮像画像を第2のLCD12に表示したが、このステップS639の処理によって、ユニットカードは、撮像画像からアニメーション画像に切り替えられる。したがって、第2のLCD12では、ユニットカードのアニメーション画像に重畳するように、キャラクタのアニメーション画像が表示されることになる。たとえば、図19に示すように、第2のLCD12において、3人のキャラクタのアニメーション画像が、これらの3人のキャラクタの各々に対応した3枚のユニットカードのアニメーション画像に重畳するように表示される。
このようにしたことで、プレーヤがユニットカードをテーブル上で不用意に移動させてしまったことにより、撮像可能範囲から外れてユニットカードを撮像できなくなったような場合であっても、そのユニットカードが存在するものとして処理することができ、ゲームを進行させるための各種の処理を円滑に進めることができる。また、メモリカード17のROM17aに記憶されているアニメーション画像のデータを用いて第2のLCD12に表示すればよいので、ユニットカードを表示する処理も軽くすることができ、他の演算処理などを妨げる可能性を低くすることもできる。
次に、第2のLCD12に表示されている3人のキャラクタを選択するための指定領域を、ステップS635の処理によって取得した中心位置に基づいて生成し記憶させる(ステップS641)。これは、後述するように、プレーヤがタッチパネル15を押動することによって、第2のLCD12に表示されている3人のキャラクタを選択する操作をする処理がある。この処理をするために、ステップS641の処理によって3人のキャラクタの各々に対して指定領域を定めておき、プレーヤがタッチパネル15を押動したときに、押動した位置が指定領域に含まれるときには、その指定領域に対応するキャラクタをプレーヤが選択したとして処理をすることができる。
次いで、キャラクタテーブルを初期化する(ステップS643)。キャラクタテーブルは、RAM24の所定の領域に割り当てられたテーブルであり、対戦ゲームを進めるときに、キャラクタを特徴付けるデータが読み出されたり書き込まれたりする。
このキャラクタを特徴付けるデータは、「キャラクタの態様」であるキャラクタの個性を決定するデータである。すなわち、上述したように、キャラクタは、パッシブカードやアクティブカードやステータスカードによって個性を定めることができ、パッシブカードやアクティブカードやステータスカードが示す種類や内容に応じて、各種のキャラクタデータの値が定められ、キャラクタテーブルに記憶される。パッシブカードによって、キャラクタの強弱に関するデータを定めることができる。アクティブカードによって、キャラクタの動作に関するデータを定めることができる。ステータスカードによって、キャラクタの外観や属性に関するデータを定めることができる。これらのキャラクタの強弱、動作、外観や属性に関するデータの値がキャラクタテーブルに記憶される。
上述したように、原則として、ユニットカードは、キャラクタを仮想空間に出現させるためのものであり、ユニットカードには、キャラクタの種類を示すデータのみがカード識別情報に含まれている。したがって、ユニットカードによってキャラクタの種類が決定されたときには、キャラクタの強弱、動作、外観や属性に関するデータの初期値をメモリカード17から読み出し、読み出した初期値をキャラクタテーブルに記憶させることで、キャラクタテーブルの初期化が行われる。
また、ユニットカードには、キャラクタの種類とキャラクタの強弱、動作、外観や属性との双方を示すデータの初期値をカード識別情報に含めるようにしてもよい。このようにした場合には、ユニットカードのカード識別情報からキャラクタの強弱、動作、外観や属性のデータの初期値を抽出し、抽出した初期値をキャラクタテーブルに記憶させることで、キャラクタテーブルの初期化が行われる。
図7は、キャラクタテーブルの一例を示す表である。図7に示した例では、撮像可能範囲の右位置に置かれたユニットカードに対応するキャラクタを「位置」のセルの(右)として示し、撮像可能範囲の中位置に置かれたユニットカードに対応するキャラクタを「位置」のセルの(中)として示し、撮像可能範囲の左位置に置かれたユニットカードに対応するキャラクタを「位置」のセルの(左)として示した。このようにすることで、撮像可能範囲に並置されたユニットカードに対応するキャラクタの各々に対応付けて各種のデータを記憶させることができる。
たとえば、「設定済みフラグ」は、後述するフラグF_unitの値であり、フラグF_unitは、ユニットカードによって全てのキャラクタについて初期設定が完了したか否かを示すフラグである。また、「キャラクタ」は、ユニットカードに対応するキャラクタの種類を識別するための識別情報であり、ユニットカードに印刷されたカード識別情報(シリアル番号)から取得できる情報である。「基準位置」は、ユニットカードのアニメーション画像を第2のLCD12に表示するときに用いる位置であり、上述したステップS635によって取得されたユニットカードの中心位置である。「現在位置」は、プレーヤによってユニットカードが移動されたときのユニットカードの位置である。「指定領域」は、上述したステップS641によって生成されたものであり、タッチパネル15の領域を定めるものである。
「個性」は、キャラクタの個性を示すデータであり、たとえば、強弱や動作や外観や属性などがある。上述したように、「キャラクタの態様」が、キャラクタの個性を決定するものである。強弱は、攻撃力や防御力などの体力関係のものや魔法などの能力関係のものがある。また、動作は、パンチやキックなどの攻撃に関する動作のほか、防御に関する動作もある。さらに、外観や属性は、キャラクタの表面上の見かけや、主な特徴などに関するものがある。
「個性」のデータの初期値は、メモリカード17に予め記憶されている。ユニットカードによってキャラクタの種類が決定されたときには、キャラクタの個性を定めるための各種のデータをメモリカード17から読み出して、「個性」を定めるデータを初期化することになる。また、上述したように、ユニットカードに、キャラクタの種類とキャラクタの個性(キャラクタの強弱、動作、外観や属性)との双方を定めるためのデータの初期値をカード識別情報に含めてもよい。この場合には、ユニットカードのみで、キャラクタに関するデータを初期化することができる。
また、「個性」のデータは、パッシブカード、アクティブカード及びステータスカードなどによって変更することができる。さらに、対戦ゲームをすることによって、その結果に応じて変更される場合もある。
「動作」は、キャラクタに行わせる動きである。特に、対戦ゲームをする際においては、敵キャラクタと戦うときの動きである。たとえば。キックやパンチなどの動作をすることによって、敵キャラクタと戦う。対戦ゲームにおいては、キックやパンチなどの単一の動作のみならず、これらを連続的にキャラクタに行わせることによって、敵に与えるダメージを大きくすることできる。たとえば、キック→キック→パンチ→・・・のように複数の動作を連続してキャラクタに行わせることができる。キャラクタテーブルでは、動作のデータを記憶させる記憶領域として、複数の記憶領域が割り当てられており、キャラクタに行わせる所定の複数の動作のデータを記憶させることができる。なお、動作の複数の記憶領域に記憶された動作のデータは、敵キャラクタと対戦し終わったときにクリアされる。
「仮想空間位置」は、第1のLCD11に表示されている仮想空間における各々のキャラクタの位置である。この位置を用いることによって、キャラクタを仮想空間で移動させて、所望する位置、たとえば、敵キャラクタと向かい合う位置に位置づけることができる。
上述したステップS643の処理を実行した後、フラグF_unitの値を1にし(ステップS645)、後述する図11に示す通信処理のサブルーチンを呼び出して実行し(ステップS647)、本サブルーチンを終了する。
上述したように、フラグF_unitは、ユニットカードによって全てのキャラクタについて初期設定が完了したか否かを示すフラグである。フラグF_unitの値が1であるときには、初期設定が完了していることを示し、フラグF_unitの値が0であるときには、初期設定が完了していないことを示す。フラグF_unitの値は、キャラクタテーブルの「設定済みフラグ」のセルに記憶される。
<<対戦モード処理>>
図8は、上述した図5のステップS517で呼び出されて実行される対戦モード処理のサブルーチンである。
最初に、初期設定が完了しているか否かを判断する(ステップS811)。この判断処理は、フラグF_unitの値の値が1であるか否かを判断するものである。初期設定が完了していないと判別したとき(NO)には、本サブルーチンを終了する。
一方、初期設定が完了していると判別したとき(YES)には、ユニットカードが存在するか否かを判断する(ステップS813)。ユニットカードが存在しないと判別したとき(NO)には、ユニットカードが存在しないことを示すメッセージを第2のLCD12に表示する(ステップS815)。たとえば、プレーヤがテーブルに置いてあるユニットカードを、カメラ40の撮像範囲を超えた位置に動かしてしまったようなときには、このようなメッセージを表示することによって、元の位置にユニットカードを戻すようにプレーヤに促すことができる。
対戦モードでは、プレーヤ自身がユニットカードによって登場させたキャラクタを、対戦相手が登場させたキャラクタと戦わせて、対戦ゲームを進めていくので、ユニットカードが常に存在するようにするのが好ましい。しかしながら、プレーヤが何らかの理由で誤って、カメラ40の撮像範囲を超えた位置にユニットカード動かしてしまう場合も想定される。このような場合には、対戦ゲームを進めるようにするとともに、ユニットカードが存在しないことを示すメッセージを表示するのが好ましい。
上述したステップS813の判断処理でユニットカードが存在すると判別したとき(YES)、又はステップS815の処理を実行したときには、設定されたユニットカードのアニメーション画像と、設定されたユニットカードに対応したキャラクタのアニメーション画像とをアニメーション画像のデータをメモリカード17のROM17aから読み出し、第2のLCD12おいて、ユニットカードのアニメーション画像に重畳するように、キャラクタのアニメーション画像を表示する(ステップS817)。たとえば、図19に示すように、第2のLCD12において、3人のキャラクタのアニメーション画像が、これらの3人のキャラクタの各々に対応した3枚のユニットカードのアニメーション画像に重畳するように表示される。なお、上述したステップS817において、3人のキャラクタのアニメーション画像が、これらの3人のキャラクタの各々に対応した3枚のユニットカードの撮像画像に重畳するように、第2のLCD12に表示されるようにしてもよい。
次いで、プレーヤがタッチパネル15を押動操作したか否かを判断する(ステップS819)。この処理は、たとえば、図20(a−1)や(a−3)及び図25(b−1)や(b−3)に示すように、プレーヤがタッチパネル15を、タッチペンを使って押動操作したか否かを判断するものである。プレーヤがタッチパネル15を押動操作したと判別したとき(YES)には、押動操作された位置が、いずれかのキャラクタの指定領域に含まれるか否かを判断する(ステップS821)。この指定領域は、上述したステップS641の処理によって生成された記憶されたものである。押動操作された位置が、いずれかのキャラクタの指定領域に含まれていないと判別したとき(NO)には、ステップS813に処理を戻す。
一方、押動操作された位置が、いずれかのキャラクタの指定領域に含まれていると判別したとき(YES)には、その指定領域に対応したキャラクタを選択する(ステップS823)。このステップS823の処理によってキャラクタが選択されたときには、図20(b−3)や図24(b−3)に示すように、選択されたキャラクタの周囲を囲むアニメーション画像が表示される。
次に、フラグF_diffの値が1であるか否かを判断する(ステップS1011)。フラグF_diffは、上述したように、0番目の画像データと1番目の画像データとが相違するか否かを示すフラグである。フラグF_diffの値が1でないと判別したとき(NO)には、ステップS1011に処理を戻す。一方、フラグF_diffの値が1であると判別したとき(YES)には、図3のサブルーチンを呼び出して実行し、差分データを生成する(ステップS1013)。
生成した差分データを用いて、パッシブカードが存在するか否かを判断する(ステップS1015)。この判断は、たとえば、図21(a−1)に示すように、プレーヤによってゲーム装置10の前方にパッシブカードがかざされたことによって、そのパッシブカードがカメラ40によって撮像され存在するかを判断する処理である。また、このステップS1015の判断は、生成した差分データにパッシブカードのシリアル番号が含まれているか否かを判断する処理である。パッシブカードが存在すると判別したとき(YES)には、シリアル番号からパッシブカードの内容を取得し、キャラクタテーブルに記憶させる(ステップS1017)。
なお、パッシブカードの内容は、そのパッシブカードによって定められたキャラクタの強弱を示す数値データであり、メモリカード17のROM17aに記憶されているカードデータベースから読み出すことによって取得できる数値データである。このステップS1017の処理を実行することによって、後述するステップS1027の処理で、図21(a−3)に示すように、第2のLCD12において、選択されたキャラクタの周囲に、炎を示すアニメーション画像が表示される。
上述したように、キャラクタの種類とキャラクタの強弱との双方を定めるためのデータの値が含まれたカード識別情報をパッシブカードに印刷してもよい。このようなパッシブカードを使う場合には、カード識別情報にキャラクタの強弱のデータが含まれているので、メモリカード17からキャラクタの強弱のデータを読み出すことなくキャラクタの強弱を取得することができる。
ステップS1015の判断処理でパッシブカードが存在しないと判別したとき(NO)には、生成した差分データを用いて、アクティブカードが存在するか否かを判断する(ステップS1019)。この判断は、たとえば、図25(a−1)に示すように、プレーヤによってゲーム装置10の前方にアクティブカードがかざされたことによって、そのアクティブカードがカメラ40によって撮像され存在するかを判断する処理である。また、このステップS1019の判断は、生成した差分データにアクティブカードのシリアル番号が含まれているか否かを判断する処理である。アクティブカードが存在すると判別したとき(YES)には、シリアル番号からアクティブカードの内容を取得し、キャラクタテーブルに記憶させる(ステップS1021)。
なお、アクティブカードの内容は、そのアクティブカードによって定められたキャラクタの動作の種類を示す数値データであり、メモリカード17のROM17aに記憶されているカードデータベースから読み出すことによって取得できる数値データである。このステップS1021の処理を実行することによって、後述するステップS1027の処理で、図25(a−3)や図28(a−3)や図28(b−3)に示すように、第2のLCD12において、そのアクティブカードの内容に応じて、キャラクタが所定の動作(パンチやキック)をする態様のアニメーション画像が表示される。
さらに、このステップS1021の処理を複数回繰り返すようにし、キャラクタテーブルに複数の動作のデータを記憶させることにより、キャラクタにさせる複数の動作を設定することができる。このようにすることで、キック→キック→パンチ→・・・のように複数の動作を連続してキャラクタに行わせることができる。上述したように、キャラクタテーブルには、複数の動作のデータを記憶させるための複数の記憶領域が割り当てられている。
ステップS1019の判断処理でアクティブカードが存在しないと判別したとき(NO)には、生成した差分データを用いて、ステータスカードが存在するか否かを判断する(ステップS1023)。この判断は、たとえば、図26(a−1)に示すように、プレーヤによってゲーム装置10の前方にステータスカードがかざされたことによって、そのステータスカードがカメラ40によって撮像され存在するかを判断する処理である。また、このステップS1023の判断は、生成した差分データにステータスカードのシリアル番号が含まれているか否かを判断する処理である。ステータスカードが存在すると判別したとき(YES)には、シリアル番号からステータスカードの内容を取得し、キャラクタテーブルに記憶させる(ステップS1025)。
なお、ステータスカードの内容は、そのステータスカードによって定められたキャラクタの外観や属性を示す数値データであり、メモリカード17のROM17aに記憶されているカードデータベースから読み出すことによって取得できる数値データである。このステップS1025の処理を実行することによって、後述するステップS1027の処理で、図26(b−3)に示すように、第2のLCD12において、そのアクティブカードの内容に応じて、キャラクタがトレーラに変身する態様のアニメーション画像が表示される。また、ステータスカードが存在したときには、図26(b−2)に示すように、第1のLCD11においても、仮想空間でキャラクタがトレーラに変身する態様のアニメーション画像が表示される。
上述したように、キャラクタの外観や属性とキャラクタの強弱との双方を定めるためのデータの初期値が含まれたカード識別情報をステータスカードに印刷してもよい。このようなステータスカードを使う場合には、カード識別情報にキャラクタの強弱のデータが含まれているので、ステータスカードによってキャラクタの外観や属性を定めたときに、メモリカード17からキャラクタの強弱のデータを読み出すことなくキャラクタの強弱も取得することができる。
ステップS1023の判断処理でステータスカードが存在しないと判別したとき(NO)には、ステップS813に処理を戻す。
上述したステップS1017、ステップS1021、又はステップS1025の処理を実行した後、存在すると判別されたパッシブカードやアクティブカードやステータスカードのアニメーション画像と、存在すると判別されたこれらのゲームカードの内容を示すためのアニメーション画像とをメモリカード17のROM17aから読み出し、ゲームカードの内容を示すためのアニメーション画像をゲームカードのアニメーション画像と重畳するように第2のLCD12に表示する(ステップS1027)。
このステップS1027の処理を実行することによって、上述したように、各種のアニメーション画像が第2のLCD12に表示される。このようにすることで、選択されたキャラクタと、パッシブカードやアクティブカードやステータスカードによって変更する内容とをアニメーション画像によって明確に示すことができる。
次に、パッシブカードやアクティブカードやステータスカードが未だに存在するか否かを判断する(ステップS1029)。パッシブカードやアクティブカードやステータスカードが未だ存在すると判別したとき(YES)には、ステップS1029に処理を戻す。
一方、パッシブカードやアクティブカードやステータスカードが存在しないと判別したとき(NO)には、第2のLCD12において、ゲームカードの内容を示すためのアニメーション画像と、ゲームカードのアニメーション画像との双方の消去する(ステップS1031)。
次に、存在していたゲームカードのシリアル番号から、ROM17aに記憶されているカードデータベースを検索することによって、そのゲームカードの種類及び内容を決定し、それに応じて、キャラクタテーブルの個性の欄の数値を変更する(ステップS1033)。
上述したように、キャラクタの個性は、強弱や動作や外観や属性などがある。強弱は、パッシブカードによって変更でき、動作はアクティブカードによって変更でき、外観や属性は、ステータスカードによって変更できる。ROM17aに記憶されているカードデータベースには、ゲームカードのシリアル番号に応じて、これらの強弱や動作や外観や属性などが数値データで記憶されている。これらの数値データをカードデータベースから読み出して、キャラクタテーブルの個性の欄の数値を書き換えることによって、選択したキャラクタの個性を変更することができる。
ステップS1033の処理を実行した後、後述する図11に示す通信処理のサブルーチンを呼び出して実行し(ステップS1035)、ステップS813に処理を戻す。
上述したステップS819の判断処理で、プレーヤがタッチパネル15を押動操作していないと判別したとき(NO)には、図3のサブルーチンを呼び出して実行し、差分データを生成する(ステップS911)。
生成した差分データを用いて、所定のユニットカードが移動したか否かを判断する(ステップS913)。図21(b−1)や図22(b−1)に示すように、テーブルに載置したユニットカードをプレーヤは移動させることができる。ステップS913の判断は、プレーヤによって移動されたユニットカードがあるか否かを判断する処理である。なお、図21(b−1)や図22(b−1)に示した例は、テーブル上でユニットカードをプレーヤから離れる方向に移動させるものであるが、図23(b−1)に示すように、テーブル上でユニットカードを、プレーヤの左方向に移動させることもできる。後述するように、テーブル上でユニットカードを移動させる方向に応じた方向に、仮想空間においてもキャラクタを移動させることができる。したがって、プレーヤは、仮想空間においてキャラクタを移動させたい方向に応じて、テーブル上でユニットカードを移動させればよい。
このステップS913の判断処理は、生成した差分データに2つのユニットカードの画像が含まれているか否かなどによってユニットカードの移動を判断する処理である。所定のユニットカードが移動していないと判別したとき(NO)には、ユニットカードが基準位置に戻ったか否かを判断する(ステップS915)。ユニットカードが基準位置に戻っていないと判別したとき(NO)には、ステップS813に処理を戻す。
一方、ユニットカードが基準位置に戻ったと判別したとき(YES)には、キャラクタテーブルの現在位置の記憶領域をクリアし(ステップS917)、ステップS813に処理を戻す。
たとえば、図23(b−1)に示したように、プレーヤがテーブル上で左側に位置するユニットカードをプレーヤの左方向に移動させた後に、図24(a−1)に示すように、プレーヤがテーブル上で左側に位置するユニットカードを元の位置に戻したときには、図24(a−3)に示すように、第2のLCD12では、左側のキャラクタが静止する態様のアニメーション画像が、その左側のキャラクタに対応したユニットカードのアニメーション画像と重畳するように表示される。また、図24(a−2)に示すように、第1のLCD11では、左側のキャラクタが移動した先の位置で静止する態様のアニメーション画像が表示される。
上述したステップS913の判断処理で、所定のユニットカードが移動していると判別したとき(YES)には、移動したと判別された所定のユニットカードの中心位置を差分データから、そのユニットカードの現在位置として取得し(ステップS919)、現在位置の値をキャラクタテーブルの現在位置の記憶領域に記憶させる(ステップS921)。
次いで、ステップS919の処理によって取得した現在位置にまで、所定のユニットカードが移動する態様のアニメーション画像を第2のLCD12に表示する(ステップS923)。所定のユニットカードに対応したキャラクタが走ったり歩いたりする態様のアニメーション画像を第2のLCD12に表示する(ステップS925)。キャラクタが走ったり歩いたりする態様のアニメーション画像は、キャラクタが移動する態様ではなく、同じ一定の位置で走ったり歩いたりする態様のアニメーション画像である。なお、上述したステップS925において、3人のキャラクタのアニメーション画像が、これらの3人のキャラクタの各々に対応した3枚のユニットカードの撮像画像に重畳するように、第2のLCD12に表示されるようにしてもよい。
たとえば、図21(b−3)に示すように、第2のLCD12に、左側のキャラクタが走る態様のアニメーション画像が、その左側のキャラクタに対応したユニットカードのアニメーション画像と重畳するように表示される。また、図22(b−3)に示すように、第2のLCD12に、中側のキャラクタが走る態様のアニメーション画像が、その中側のキャラクタに対応したユニットカードのアニメーション画像と重畳するように表示される。さらに、図23(b−1)に示したように、プレーヤがテーブル上で左側に位置するユニットカードをプレーヤの左方向に移動させたときには、図23(b−3)に示すように、第2のLCD12に、左側のキャラクタが左方向に向かって走る態様のアニメーション画像が、その左側のキャラクタに対応したユニットカードのアニメーション画像と重畳するように表示される。
次に、キャラクタテーブルに記憶されている基準位置と現在位置とから、所定のユニットカードの移動方向を決定する(ステップS927)。次いで、第1のLCD11に表示されている仮想空間において、所定のユニットカードに対応したキャラクタが、決定した移動方向に移動する態様のアニメーション画像を表示する(ステップS929)。
たとえば、図21(b−2)及び図22(a−2)に示すように、第1のLCD11に、左側のキャラクタが仮想空間で走って、仮想空間の手前側から奥行き側に向かって移動する態様のアニメーション画像が表示される。また、同様に、図22(b−2)及び図23(a−2)に示すように、第1のLCD11に、中側のキャラクタが仮想空間で走って、仮想空間の手前側から奥行き側に向かって移動する態様のアニメーション画像が表示される。さらに、図23(b−2)及び図24(a−2)に示すように、第1のLCD11には、左側のキャラクタが仮想空間内を走って、仮想空間の中央から左方向に向かって移動する態様のアニメーション画像が表示される。同様に、図27(a−2)及び(b−2)に示すように、第1のLCD11には、中側のキャラクタが仮想空間内を走って、仮想空間の中央からさらに奥行き側に向かって移動する態様のアニメーション画像が表示される。
次に、仮想空間において、キャラクタが壁などの障害物まで到達したか否かを判断する(ステップS931)。キャラクタが障害物まで到達していないと判別したとき(NO)には、ステップS931に処理を戻す。
一方、キャラクタが障害物まで到達したと判別したとき(YES)には、所定のユニットカードに対応したキャラクタが静止する態様のアニメーション画像を表示する(ステップS933)。
次に、キャラクタの近くに敵のキャラクタが存在するか否かを判断する(ステップS935)。キャラクタの近くに敵のキャラクタが存在しないと判別したとき(NO)には、ステップS813に処理を戻す。一方、キャラクタの近くに敵のキャラクタが存在すると判別したとき(YES)には、そのキャラクタに対してアクティブカードによる動作の指定がされているか否かを判断する(ステップS937)。アクティブカードによる動作の指定がされていないと判別したとき(NO)には、ステップS813に処理を戻す。
一方、アクティブカードによる動作の指定がされていると判別したとき(YES)には、攻撃ターンであるか否かを判断する(ステップS939)。本実施の形態における対戦ゲームは、対戦モードにおいて、自分と対戦相手との間で攻撃ターンと防御ターンとを交代して所定の回数繰り返す。ステップS939の判断処理は、自分が攻撃ターンで、対戦相手が防御ターンであるか否かを判断する処理である。ステップS939の判断処理で、攻撃ターンであると判別したとき(YES)には、設定されている仮想空間の種類や、自分が設定したキャラクタの種類や、対戦相手が設定したキャラクタの種類や、これらのキャラクタの個性(強弱や動作や外観や属性など)と、乱数発生処理による乱数の値とに基づいて、対戦結果を決定する(ステップS941)。この処理を実行したときには、図28(b−2)に示すように、第1のLCD11においては、キャラクタは、敵キャラクタと対面してパンチやキックの動作をして戦う態様のアニメーション画像が表示される。
次に、ステップS941によって決定された対戦結果に応じて、キャラクタの個性(強弱や動作や外観や属性など)を変更し、それらを示す数値データをキャラクタテーブルに書き込む(ステップS943)。
上述したステップS939の判断処理で、攻撃ターンでないと判別したとき(NO)、又はステップS943の処理を実行したときには、後述する図11に示す通信処理のサブルーチンを呼び出して実行し(ステップS945)、ステップS941によって決定された対戦結果によって、対戦ゲームの勝敗が決まったか否かを判断する(ステップS947)。対戦ゲームの勝敗が決まっていないと判別したとき(NO)には、ステップS813に処理を戻す。一方、対戦ゲームの勝敗が決まったと判別したとき(YES)には、本サブルーチンを終了する。
<<通信処理>>
図11は、プレーヤ自身が操作しているゲーム装置10と、対戦ゲームの対戦相手が操作しているゲーム装置10との間で行われる通信の処理のサブルーチンである。
最初に、プレーヤ自身が操作しているゲーム装置10と通信可能な状態になっている他のゲーム装置10、すなわち、対戦ゲームの対戦相手が操作しているゲーム装置10が存在するか否かを判断する(ステップS1111)。プレーヤ自身が操作しているゲーム装置10と通信可能な状態になっている他のゲーム装置10が存在しないと判別したとき(NO)には、直ちに本サブルーチンを終了する。
一方、プレーヤ自身が操作しているゲーム装置10と通信可能な状態になっている他のゲーム装置10が存在すると判別したとき(YES)には、仮想空間を定める識別情報を既に送信したか否かを判断する(ステップS1113)。仮想空間を定める識別情報は、ステップS621の処理でRAM24に記憶されている情報である。
仮想空間を定める識別情報を未だ送信していないと判別したとき(NO)には、仮想空間を定める識別情報を、通信可能な状態になっている他のゲーム装置10に送信する(ステップS1115)。
ステップS1113の判断処理で仮想空間を定める識別情報を既に送信したと判別したとき(YES)、又はステップS1115の処理を実行したときには、対戦結果を送信したか否かを判断する(ステップS1117)。対戦結果は、上述したステップS941によって決定されたものである。対戦結果を未だに送信していないと判別したとき(NO)には、対戦結果を通信可能な状態になっている他のゲーム装置10に送信する(ステップS1119)。
ステップS1117の判断処理で対戦結果を既に送信したと判別したとき(YES)、又はステップS1119の処理を実行したときには、図7に示したキャラクタテーブルに記憶されている各種のデータを読み出し(ステップS1121)、通信可能な状態になっている他のゲーム装置10に送信する(ステップS1123)。
次に、通信可能な状態になっている他のゲーム装置10のキャラクタテーブルに記憶されている各種のデータを受信し(ステップS1125)、そのデータを敵キャラクタテーブルとして記憶し(ステップS1127)、本サブルーチンを終了する。
ステップS1125によって、対戦相手が設定した敵キャラクタの個性を定めるデータを受信することができ、敵キャラクタの個性を定めるデータと、プレーヤ自身が設定したキャラクタの個性を定めるデータとを用いて、上述したステップS941を実行することによって、対戦結果を決定することができる。
<<<他の態様>>>
<<プレーヤの手を撮像し手の動きに応じた処理>>
上述した実施の形態では、カメラ40でゲームカードを撮像して、存在すると判別されたゲームカードに応じて各種のアニメーション画像を表示し、対戦ゲームを行う場合を示した。このカメラ40でゲームカード以外のもの、たとえば、プレーヤの手を撮像するようにしてもよい。たとえば、このプレーヤの両手を撮像して、プレーヤの両手が存在すると判別されたときには、第2のLCD12に、プレーヤの両手の撮像画像やプレーヤの両手に相当するアニメーション画像を表示するとともに、そのプレーヤの両手によって握られた車のハンドルや飛行機の操縦桿などのアニメーション画像を表示する。このようにすることによって、レーシングゲームやフライトシミュレーションなどのゲームを行うこともできる。また、対戦ゲームなどで、プレーヤの動作によって、直接、敵キャラクタと戦うようにしてもよい。
この場合には、カメラ40で撮像したときに、プレーヤの両手が存在の判別を容易にするために、専用の手袋80(図31参照)を用意してもよい。この専用の手袋80をプレーヤがはめることによって、カメラ40で撮像したときに、プレーヤの手とその周りの物とを明確に区別して判別を容易にすることができる。専用の手袋80は、特定のマーカ82(図31参照)などを付したり特殊な色や模様にしたりすることで、判別をより容易にできる。
<レーシングゲーム処理>
図30は、CPUコア21によって呼び出されて実行されるレーシングゲーム処理のサブルーチンである。この処理は、カメラ40によってプレーヤの手を撮像し、第2のLCD12においては、プレーヤの手の動きに合せて仮想的なハンドルが回転するように表示され、第1のLCD11においては、プレーヤの手によって操作された仮想的なハンドルの操作でレーシングゲームが行われる画像が表示される(図31参照)。
最初に、プレーヤの手がカメラ40によって撮像されて存在するか否かを判断する(ステップS3011)。プレーヤの手が存在しないと判別したとき(NO)には、直ちに本サブルーチンを終了する。
プレーヤの手が存在すると判別したとき(YES)には、カメラ40によって撮像されたプレーヤの手の撮像画像に、車のハンドルを示すアニメーション画像を合成して、第2のLCD12に表示する(ステップS3013)。
次に、プレーヤの手が移動したか否かを判断する(ステップS3015)。プレーヤの手が移動したと判別したとき(YES)には、プレーヤの手の移動量を撮像データから算出する(ステップS3017)。このステップS3017の処理は、たとえば、上述したステップS313の処理で生成した差分データを用いることで、プレーヤの手の移動量を算出することができる。
次いで、ステップS3017の処理で算出したプレーヤの手の移動量に応じてハンドルが回転するように、車のハンドルを示すアニメーション画像を第2のLCD12に更新して表示する(ステップS3019)。
上述したステップS3015の判断処理で、プレーヤの手が移動していないと判別したとき(NO)、又はステップS3019の処理を実行したときには、プレーヤの手によって仮想的なハンドルが操作されて進められるレーシングゲームの画像を第1のLCD11に更新して表示する(ステップS3021)。このステップS3021では、真っ直ぐに道を進んでいるようなときには、プレーヤの手によって仮想的なハンドルは回転されないので、直線状に車体が進む画像が第1のLCD11に表示される。また、カーブを曲がったり他の車を追い越したりするときには、プレーヤの手によって仮想的なハンドルが回転されるので、曲線状に車体が進む画像が第1のLCD11に表示される。
次に、レーシングゲームを終了させるか否かを判断する(ステップS3023)。レーシングゲームを終了させないと判別したとき(NO)には、上述したステップS3013に処理を戻す。一方、レーシングゲームを終了させると判別したとき(YES)には、本サブルーチンを終了する。
<<カードを撮像して楽曲を再生する処理>>
また、特定の識別情報が印刷されたカードを仮想CDやDVDとしてカメラ40で撮像するようにしてもよい。特定のカードをカメラ40で撮像し、存在すると判別されたときには、特定のカードに予め対応付けられた楽曲データや映像データが記憶されたサーバにアクセスし、その楽曲をサーバからゲーム装置10にダウンロードしたりストリーミング配信をしたりすることができる。このようにすることで、カードを仮想的なCDやDVDとして扱うことができ、ゲーム装置10をポータブルAVプレーヤとして機能させることができる。プレーヤは、CDショップや書店などの店舗で、特定の識別情報が印刷されたカードを購入することで、サーバにアクセスすることができる。
<楽曲再生処理>
図32は、CPUコア21によって呼び出されて実行される楽曲再生処理のサブルーチンである。この処理は、カメラ40によって所定の楽曲カードを撮像し(図33(a−1))、撮像したカードの識別情報に応じて、第2のLCD12においては、再生装置によって楽曲が再生される態様の画像を表示し(図33(a−3)参照)、第1のLCD11においては、人物が踊る態様の画像が表示される(図33(a−2)参照)。また、右スピーカ30a及び左スピーカ30bからは楽曲が出力される。
なお、右スピーカ30a及び左スピーカ30bから楽曲を出力するだけでなく、映画やドラマなどを第1のLCD11や第2のLCD12に表示し、右スピーカ30a及び左スピーカ30bからその音声を出力するようにすることで、ゲーム装置10で動画を再生することができる。
最初に、楽曲カードがカメラ40によって撮像されて存在するか否かを判断する(ステップS3211)。楽曲カードが存在しないと判別したとき(NO)には、直ちに本サブルーチンを終了する。
楽曲カードが存在すると判別したとき(YES)には、カメラ40によって撮像された楽曲カードの撮像画像から識別情報を抽出する(ステップS3213)。次に、抽出した識別情報が示す楽曲の楽曲データが、RAM24に既に記憶されているか否かを判断する(ステップS3215)。
楽曲データが、RAM24に未だ記憶されていないと判別したとき(NO)には、ワイヤレス通信部34を介して、抽出した識別情報が示すサーバにアクセスし(ステップS3217)、サーバから楽曲データを受信する(ステップS3219)。
次に、楽曲カードがカメラ40によって撮像されて存在するか否かを判断する(ステップS3221)。楽曲カードが存在しないと判別したとき(NO)には、直ちに本サブルーチンを終了する。一方、楽曲カードが存在すると判別したとき(YES)には、カメラ40によって撮像された楽曲カードの撮像画像から識別情報を抽出する(ステップS3223)。
上述したステップS3215の判断処理で、楽曲データが、RAM24に既に記憶されていると判別したとき(YES)、又はステップS3223の処理を実行したときには、抽出した識別情報が示す楽曲の楽曲データをRAM24から読み出して、右スピーカ30a及び左スピーカ30bから出力して、楽曲を再生する(ステップS3225)。
次いで、ステップS3225で再生した楽曲に対応したゲームを実行して、そのゲーム画像を第1のLCD11に表示する(ステップS3227)。このステップS3227の処理で実行するゲームは、再生している楽曲のリズムやテンポに合せてプレーヤが操作するものが好ましい。なお、このステップS3227の処理は、プレーヤが希望しない場合には実行せずに後述するステップS3229に処理を移してよい。ステップS3227の処理を実行しない場合には、ゲーム装置10を楽曲再生装置として扱うことができる。
次に、楽曲再生処理を終了させるか否かを判断する(ステップS3229)。楽曲再生処理を終了させないと判別したとき(NO)には、上述したステップS3211に処理を戻す。一方、楽曲再生処理を終了させると判別したとき(YES)には、本サブルーチンを終了する。
さらに、ゲーム装置10では、サーバからゲーム装置10にダウンロードしたりストリーミング配信をしたりした楽曲を用いたリズムゲームなどを実行するようにしてもよい。このリズムゲームが始まった後には、カメラ40でカードを撮像することによって、コントローラとして機能させるようにしてもよい。
さらにまた、対戦ゲームを進める場合、カメラ40でゲームカードを撮像して、マイク入力などを利用して、声や音楽などに応じて、仮想空間やキャラクタの種類やキャラクタの個性(強弱や動作や外観や属性など)を定めるようにしてもよい。たとえば、大きい声の場合には強いキャラクタを出現させ、小さい声の場合には弱いキャラクタを出現させる。
また、声や音楽などに応じて、キャラクタを移動させてもよい。たとえば、大きい声の場合には長く移動させ、小さい声の場合には短く移動させる。また、声や音楽などに応じて、仮想空間に地震を起こしてもよい。たとえば、大きい声の場合には大きい地震を起こし、小さい声の場合には小さい地震を起こす。
<<<ゲーム装置を制御するプログラムの概要>>>
本発明の実施の形態におけるプログラムは、
カード識別情報(絵柄、バーコード、QRコード等)が付されたカード(ステージカードやユニットカードやアクティブカードやパッシブカードやステータスカード)を撮像するカメラ40と、第1の表示画面(第1のLCD11)及び第2の表示画面(第2のLCD12)からなるディスプレイ(第1のLCD11及び第2のLCD12)と、前記カード識別情報に予め関連付けられた立体画像のデータが記憶されたメモリ(メモリカード17、RAM24)と、を有し、前記カメラによって撮像されたカードのカード撮像画像と重なるように前記カード識別情報に基づく立体画像を前記第2の表示画面に表示し(ステップS627、S817、S925)、かつ、前記カード識別情報に基づいて立体画像を前記第1の表示画面に表示する(ステップS629、S929、S933)ことによりゲームが進められるゲーム装置10で実行されるプログラムであって、
(A1)前記カメラによって撮像された前記カード識別情報から所定の種類のカードが存在するか否かを判断する処理(ステップS813)と、
(A2)前記所定の種類のカードが存在するときに、前記所定の種類のカードのカード識別情報に対応する立体画像を、前記カメラによって撮像されたカードのカード撮像画像と重なるように前記第2の表示画面に表示する(ステップS627、S817、S925)とともに、前記所定の種類のカードのカード識別情報に対応する立体画像を前記第1の表示画面に表示する(ステップS629、S929、S933)処理と、
(A3)前記(A1)ないし前記(A2)の処理を繰り返し、所定の時間間隔で前記立体画像とカード撮像画像とを更新して前記第2の表示画面に表示する処理(ステップS817)と、からなることを特徴とする。
この構成によれば、所定の時間間隔で立体画像とカード撮像画像とを更新して表示でき、立体画像をカード撮像画像と重なるように第2の表示画面に表示し続けることができる。
本発明の実施の形態におけるプログラムは、
前記カードが、前記第1の表示画面及び前記第2の表示画面にゲームのキャラクタの立体動画像を表示するための第1種のカード(ユニットカード)と、キャラクタの態様を決定するための第2種のカード(アクティブカードやパッシブカードやステータスカード)とを含み、
前記カード識別情報は、前記第1種のカードであることを識別する第1の識別情報と、前記第2種のカードであることを識別する第2の識別情報と、を含み、
前記メモリは、キャラクタの種類を決定するための第1種機能データ(カードデータベース)と、キャラクタの態様を決定するための第2種機能データ(カードデータベース)とを含むカード機能データ(カードデータベース)を記憶し、
前記(A2)の処理は、
(B1)前記第1種のカードが存在するときには、前記第1種機能データによって決定された種類のキャラクタの立体動画像を前記第1の表示画面及び前記第2の表示画面に表示する処理(ステップS627、S629、S817、S925)と、
(B2)前記第2種のカードが存在するときには、前記第2種機能データによって決定された態様でキャラクタの立体動画像を前記第1の表示画面に表示する処理(ステップS929)と、からなる。
この構成によれば、所定の時間間隔で立体画像とカード撮像画像とを更新して表示でき、立体画像をカード撮像画像と重なるように第2の表示画面に表示し続けることができる。
本発明の実施の形態におけるプログラムは、
前記(B2)の処理が、
(C1)プレーヤによってカードが移動されたときには(ステップS913)、カードの移動に応じて前記立体動画像を移動させる態様で前記第1の表示画面に表示する処理(ステップS929)からなる。
この構成によれば、プレーヤがカードを移動することによって、第1の表示画面でゲームを進めることができる。
本発明の実施の形態におけるプログラムは、
前記メモリは、プレーヤによって行われるゲームのゲーム環境を定めるためのゲーム環境データ(カードデータベース、キャラクタテーブル)を記憶し、
前記(B1)の処理は、
(D1)所定の種類のカードが存在するときに、存在するカードのカード識別情報に応じて前記メモリから読み出したカード機能データを、前記ゲーム環境データとして前記メモリに記憶させる処理(ステップS1017、S1021、S1025)と、
(D2)プレーヤによってゲームが行われたときに、前記ゲーム環境データを読み出してゲームの環境を設定する処理(ステップS1033、S1127)と、からなる。
この構成によれば、プレーヤがゲームの環境を変更させたいときには、プレーヤがカードを操作することによって、ゲーム環境データを変更することができ、ゲームの環境を設定することができる。
本発明の実施の形態におけるプログラムは、
前記ゲーム装置10は、プレーヤによって操作可能に前記ディスプレイ上に装着され、かつ、プレーヤによる操作位置を含む操作情報を出力するタッチパネル15を有し、
(E1)前記タッチパネル15から出力された操作情報に基づいて、前記タッチパネル15に対するプレーヤの操作を有効にする操作有効領域に前記操作位置が含まれているか否かを判断する処理(ステップS821)と、
(E2)前記操作位置が前記操作有効領域に含まれているときに、前記操作有効領域に対応したキャラクタを選択対象とする処理(ステップS823)と、
(E3)前記第2種のカードが存在すると判別したときに、存在する第2種のカードに対応した前記第2種機能データを前記メモリ(RAM24)から読み出し、選択対象にされたキャラクタの態様を決定する処理(ステップS1015ないしS1025)と、からなる。
この構成によれば、プレーヤが所望するキャラクタを選択して、そのキャラクタの個性を変更することができる。
本発明の実施の形態におけるプログラムは、
前記第2種のカードは、キャラクタの動作を決定するための複数種類の動作決定カードを含み、
前記第2種機能データは、前記複数種類の動作決定カードの各々に予め割り当てられた機能を示すキャラクタ動作データであって、表示したキャラクタの動作を決定するためのキャラクタ動作データを含み、
前記(E3)の処理は、
(F1)前記動作決定カードが存在すると判別したときに、存在する動作決定カードに対応したキャラクタ動作データを前記メモリから読み出し、表示したキャラクタの動作を決定する処理(ステップS1019及びS1021)と、
(F2)前記(F1)の処理を複数回繰り返し、表示したキャラクタに複数の動作をさせるための複数個のキャラクタ動作データを前記メモリから読み出し、表示したキャラクタの複数の動作を決定する処理(ステップS1019及びS1021)と、からなる。
この構成によれば、キャラクタに複数の動作を連続して行わせることができ、攻撃ターンのときの処理を簡素にすることができるとともに、プレーヤが多くのカードを所有しているときには、それらのカードを有効に活用させることができるので、カードをより多く収集させようとする動機をプレーヤに与えることができる。
本発明の実施の形態におけるプログラムは、
ゲーム装置10は、自身と他のゲーム装置との間で各種のデータを送受信する通信手段(ワイヤレス通信部34)を有し、
(G1)所定のタイミングで、前記メモリから前記ゲーム環境データを自身ゲーム環境データとして読み出す処理(ステップS1121)と、
(G2)読み出した前記自身ゲーム環境データを、前記通信手段を介して他のゲーム装置に送信する処理(ステップS1123)と、
(G3)所定のタイミングで、前記通信手段を介して他のゲーム装置から送信された前記ゲーム環境情報を相手ゲーム環境データとして受信する処理(ステップS1125)と、
(G4)受信した相手ゲーム環境データを前記メモリに記憶させる処理(ステップS1127)と、からなる。
この構成によれば、対戦ゲームをするために自分の情報と対戦相手の情報とを適宜送受信することができるので、対戦ゲームの進行状態を最新のものに更新することができ、適切なゲーム環境でゲームをすることができる。
本発明の実施の形態におけるプログラムは、
前記ゲームは、自身と他のゲーム装置との間で、一方が攻撃をし他方が防御をする単位対戦を少なくとも1回行う対戦ゲームであり、
前記ゲーム装置10は、所定の範囲の乱数を発生させる乱数発生手段(CPUコア21)を有し、
(H1)前記単位対戦において、攻撃をするとき、自身ゲーム環境データと相手ゲーム環境データと乱数の値とに基づいて単位対戦の結果を決定する処理(ステップS941)と、
(H2)単位対戦の結果に基づいて、自身ゲーム環境データと相手ゲーム環境データとを変更する処理(ステップS943)と、
(H3)決定した単位対戦の結果と、変更した自身ゲーム環境データ及び相手ゲーム環境データとを前記通信手段を介して他のゲーム装置に送信する処理(ステップS945)と、からなる。
この構成によれば、攻撃する側のゲーム装置が結果を決めて相手に送信することができ、防御する側のゲーム装置とゲームの結果を共通にできるとともに、攻撃する側のゲーム装置と防御する側のゲーム装置との間で、ゲームの結果が相違しないように処理することができる。
本発明の実施の形態におけるプログラムは、
前記(A1)の処理は、
(I1)前記カメラ40によって撮像できる範囲に亘って配置できるシート(カード載置用シート60)であって、前記カメラによって基準形態データを撮像できるシート上に配置されたカードを撮像する処理からなる。
この構成によれば、シートに配置されたカードを認識しやすくしたり区別しやすくしたりできるため、誤認識を防止することができ、的確にゲームを進行させることができる。
本発明の実施の形態におけるプログラムは、
プレーヤの手を撮像するカメラ40と、第1の表示画面(第1のLCD11)及び第2の表示画面(第2のLCD12)からなるディスプレイ(第1のLCD11及び第2のLCD12)と、プレーヤによって仮想的に操作される操作体の操作体画像のデータが記憶されたメモリ(メモリカード17、RAM24)と、を有するゲーム装置10で実行されるプログラムであって、
(J1)前記カメラによって撮像された撮像データからプレーヤの手が存在するか否かを判断する処理(ステップS3011)と、
(J2)プレーヤの手が存在するときに、前記カメラによって撮像されたプレーヤの手の撮像画像と重なるように前記操作体画像を前記第2の表示画面に表示し(ステップS3013)、プレーヤによる操作体の操作に応じて進められるゲーム画面を前記第1の表示画面に表示する処理(ステップS3021)と、
(J3)前記カメラによって撮像された撮像データからプレーヤの手の動きを検出し、手の動きに基づいて、プレーヤの手の撮像画像と操作体画像とを前記第2の表示画面において更新するとともに(ステップS3019)、前記第1の表示画面においてゲーム画面を更新する(ステップS3021)処理と、からなる。
この構成によれば、仮想空間でプレーヤによって操作体が操作されることによってゲームを進めることができる。
本発明の実施の形態におけるプログラムは、
カード識別情報(絵柄、バーコード、QRコード等)が付されたカードを撮像するカメラ40と、第1の表示画面(第1のLCD11)及び第2の表示画面(第2のLCD12)からなるディスプレイ(第1のLCD11及び第2のLCD12)と、前記カード識別情報に予め関連付けられた画像のデータが記憶されたメモリ(メモリカード17、RAM24)と、各種のデータを送受信する通信手段(ワイヤレス通信部34)と、音声を発するスピーカ(右スピーカ30a、左スピーカ30b)と、を有するゲーム装置10で実行されるプログラムであって、
(K1)前記カメラによって撮像された前記カード識別情報から所定の種類のカード(楽曲カード)が存在するか否かを判断する処理(ステップS3211)と、
(K2)前記所定の種類のカードが存在するときに、前記通信手段を介して所定のサーバにアクセスして前記所定の種類のカードのカード識別情報に応じて楽曲データを受信する処理(ステップS3219)と、
(K3)受信した楽曲データにより楽曲を前記スピーカ又は前記ディスプレイから再生する処理(ステップS3225)と、からなる。
本発明の実施の形態におけるプログラムは、
前記(K2)の処理は、
(L1)前記所定の種類のカードのカード識別情報に応じて複数の楽曲のデータを受信する処理(ステップS3219)からなり、
前記(K3)の処理は、
(L2)前記所定の種類のカードのカード識別情報に応じて、前記複数の楽曲のうち少なくとも一の楽曲を選択し(ステップS3223)、選択した楽曲を前記スピーカ又は前記ディスプレイから再生する(ステップS3225)処理からなる。
この構成によれば、カードをバーチャルCDやDVDとして扱うことができる。ディジタル化した複数の楽曲データをメモリに記憶させて再生するのに好適である。また、その楽曲を再生したい場合には、カメラの前にそのバーチャルカードをかざすことで、ゲーム装置の記憶装置(メモリ/ハードディスク)に記憶された楽曲が選択されて再生することができる。
本発明の実施の形態におけるプログラムは、
前記(K3)の処理は、
(M1)楽曲の再生とともに、受信した楽曲データに応じたゲームを前記第1の表示画面において実行する処理(ステップS3227)からなる。
このようにすることで、リズムゲームのようなゲームをゲーム装置で実行することができる。