以下,図面を用いて本発明を実施するための形態について説明する。本発明は,以下に説明する形態に限定されるものではなく,以下の形態から当業者が自明な範囲で適宜修正したものも含む。
(1.情報処理装置及び情報処理方法)
まず,本発明に係る情報処理装置の基本構成について説明する。本発明の情報処理装置は,表示画面上の所定領域を指定することができ,指定した所定領域について種々の情報処理を行うことが可能である。例えば,本発明の情報処理装置は,指定した表示画面上の所定領域に含まれる一又は複数のオブジェクトを選択し,選択したオブジェクトの位置を移動させたりする等,選択したオブジェクトについて任意の命令を行うことができる。また,例えば,本発明の情報処理装置は,表示画面上の所定領域に含まれる画像を指定し,領域内の画像を拡大して表示したり,領域内の画像の切り取りを行う等の編集処理を行うこともできる。ただし,本発明により指定された所定領域の用途は,これらのものに限定されない。
以下では,本発明の情報処理装置ついて,指定した表示画面上の所定領域に含まれる一又は複数のオブジェクトを選択する実施形態を例に説明を行う。
図1は,本発明の情報処理装置の基本的な機能構成を示したブロック図である。図1に示されるように,本発明の情報処理装置は,タッチパネルディスプレイ10と,制御部20と,記憶部30とを有している。
タッチパネルディスプレイ10は,各種画像データをユーザが視認できる画像として表示し,かつユーザによって表示画面がタッチされた座標を検出可能な構成を有している。具体的に説明すると,タッチパネルディスプレイ10は,画像を表示できる表示部1の前面に,透明材料で形成された座標入力部2を配設して形成されている。表示部1は,例えばLCD(Liquid Crystal Display;液晶ディスプレイ)やOELD(Organic Electro LuminescenceDisplay;有機ELディスプレイ)のような表示装置である。表示部1は,制御部20からの入力信号に応じて,ユーザが情報処理装置を使用するにあたって必要とされる各種情報を静止画や動画として出力表示する。また,座標入力部2は,公知の静電容量方式,電磁誘導方式,赤外線走査方式,抵抗膜方式又は超音波表面弾性波方式などにより,ユーザの手指が接触したことを検知し,その座標情報を得ることができる。表示部1と座標入力部2の位置関係は互いにリンクしており,座標入力部2は,表示部1に表示された表示画面上におけるタッチ位置の座標情報を取得できる。これにより,座標入力部2は,ユーザの指が接触したことを検知し,ユーザの指が接触した表示部1の画面上の座標情報を得ることができる。例えば,座標入力部2は,ユーザが複数点をタッチした場合に,それらの複数点における座標情報を取得可能な,いわゆるマルチタッチに対応している。
本発明による操作手法によれば,ユーザは,表示画面上の広い範囲の領域を片手で容易に指定することができる。このため,本発明の情報処理装置は,比較的大型のタッチパネルディスプレイ10を搭載できる。例えば,タッチパネルディスプレイ10は,10インチ〜75インチ,16インチ〜40インチ,又は20インチ〜38インチのディスプレイであることが好ましい。
ただし,本発明において,表示部1と座標入力部2は,両者が一体に構成されたタッチパネルディスプレイとして機能するものに限定されない。例えば,表示部1と座標入力部2は,それぞれ別々のハードウェアとして機能するものであってもよい。この場合,表示部1としては,例えばLCDやOELDのような通常の表示装置を用いればよい。また,座標入力部2は,マウスやタッチタブレットのような表示部1とは別途設けられるポインティングデバイスであってもよい。
制御部20は,記憶部30に記憶されている制御プログラムを読み出して実行することにより,情報処理装置全体の動作を制御する。制御部20は,例えば,CPU(Central Processing Unit)やGPU(Graphics Processing Unit)により,その機能が達成される。制御部20は,記憶部30からオブジェクトの画像データを含む情報を読み出して,オブジェクトの画像を生成し,タッチパネルディスプレイ10に表示させる。また,制御部20は,タッチパネルディスプレイ10により検出されたタッチ位置の座標情報を記憶部30に記憶させる。制御部20は,タッチパネルディスプレイ10に入力された座標情報に基づいて,表示画面上における所定領域を指定する演算を行うことができる。また,制御部20は,タッチパネルディスプレイ10に表示されているオブジェクトの位置情報及びタッチパネルディスプレイ10入力された座標情報を解析することで,オブジェクトが選択されたか否かを判断できる。
図1に示されるように,制御部20は,その機能的な観点から領域指定部3とオブジェクト選択部4を有する。領域指定部3は,記憶部30に記憶されている制御プログラムに従って,タッチパネルディスプレイ10の表示画面上における選択領域を指定する機能を持つ。また,オブジェクト選択部4は,タッチパネルディスプレイ10により検出されたタッチ位置がオブジェクトと重なっている場合や,領域指定部3により指定された選択領域にオブジェクトが含まれている場合に,それらのオブジェクトを選択する機能を持つ。詳しい説明は後述する。
記憶部30は,本発明の情報処理装置による処理に必要とされる制御プログラムを含む種々の情報を記憶する。記憶部30は,ROM(Read Only Memory)やRAM(Random Access Memory)などの記憶装置により実現できる。RAMとしては,例えばVRAM(Video RAM),DRAM(Dynamic RAM)又はSRAM(Static RAM)等を例に挙げることができる。記憶部30は,その機能的な観点からオブジェクト記憶部5と座標記憶部6を有する。オブジェクト記憶部5は,タッチパネルディスプレイ10に表示されるオブジェクトについて,その画像データ(オブジェクトの頂点座標,頂点テクスチャ座標,又は輝度データ等)を含む情報を記憶している。座標記憶部6は,タッチパネルディスプレイ10の座標入力部2により取得された座標情報を記憶する。座標記憶部6は,制御部20によって座標情報の読み書きがなされるものであり,例えばRAMの作業領域により実現される。
続いて,図2を参照して,本発明の情報処理装置により実行される情報処理のフローについて説明する。すなわち,情報処理装置の制御部20は,記憶部30に記憶されている制御プログラムを読み出し,読み出した制御プログラムに従って,図2に示された処理を実行する。ここでは,制御部20が,タッチパネルディスプレイ10に表示されたオブジェクトのうち,一又は複数のオブジェクトを選択するまでの処理を具体的に示している。また,図3は,情報処理装置により実行されるオブジェクト選択の処理を示した模式図である。
ステップS1は,タッチパネルディスプレイ10の座標入力部2によりタッチ入力が検出されていないタッチ入力待機状態である。図3に示されるように,この段階において,タッチパネルディスプレイ10の表示部1には,オブジェクト記憶部5から読み出された複数のオブジェクトO(O1〜O5)が表示されている。当然,複数のオブジェクトO(O1〜O5)は,制御部20により制御されて表示部1の画面上を移動しているものであってもよいし,静止しているものであってもよい。また,表示部1の画面上には,オブジェクトOの他に背景画像等が表示されていてもよい。
ステップS2において,タッチパネルディスプレイ10の座標入力部2により,第1点目のタッチ入力が検出される。図3に示されるように,第1点目のタッチ点P1は,例えばユーザの人差し指が座標入力部2に接触した点である。座標入力部2により第1点目のタッチ点P1の入力が検出されると,制御部20は第1点目のタッチ点P1の座標情報を取得し,取得した座標情報を座標記憶部6に一時的に記憶する。
ステップS3において,制御部20は,座標入力部2により検出された情報に基づいて,第1点目のタッチ入力が継続しているか否かを判断する。第1点目のタッチ入力が継続していると判断した場合にはステップS4へと進み,第1点目のタッチ入力が継続していないと判断した場合にはステップS17へと進む。
ステップS4において,制御部20は,座標入力部2により検出された情報に基づいて,第1点目のタッチ入力が継続している間に第2点目のタッチ入力が行われたか否かを判断する。図3に示されるように,第2点目のタッチ点P2は,例えばユーザの親指が座標入力部2に接触した点である。座標入力部2により第2点目のタッチ点P2の入力が検出されると,制御部20は第2点目のタッチ点P2の座標情報を取得し,取得した座標情報を座標記憶部6に一時的に記憶する。第1点目のタッチ入力が継続している間に第2点目のタッチ入力が行われたと判断した場合にはステップS5へと進み,第2点目のタッチ入力が行われなかったと判断した場合にはステップS17へと進む。なお,タッチ入力待機状態(ステップS1)において,第1点目のタッチ入力と第2点目のタッチ入力が同時に検出された場合には,ステップS2〜ステップS4までの処理を同時に行なってステップS5へと進むこともできる。
ステップS5において,制御部20は,第1点目のタッチ点P1と第2点目のタッチ点P2の座標情報を座標記憶部6から読み出し,これらの座標情報に基づいて第1中間点M1の座標を算出する。図3に示された例において,第1中間点M1は,第1点目のタッチ点P1と第2点目のタッチ点P2の丁度中間の位置に設定されている。すなわち,第1中間点M1は,第1点目のタッチ点P1と第2点目のタッチ点P2を結ぶ線分上において,第1点目のタッチ点P1と第2点目のタッチ点P2との距離が等しくなる位置に設定されている。ただし,第1中間点M1を設定する位置は,上記のものに限定されず,第1点目のタッチ点P1と第2点目のタッチ点P2の座標情報に基づいて設定可能な位置であればどのような位置であってもよい。例えば,第1中間点M1は,第1点目のタッチ点P1と第2点目のタッチ点P2を結ぶ線分上において,第1点目のタッチ点P1と第2点目のタッチ点P2との距離が,6:4となるような位置に設定されても良い。なお,第1点目のタッチ点P1と第2点目のタッチ点P2との距離の比率は任意に設定できる。その他,種々の条件に応じて,第1点目のタッチ点P1と第2点目のタッチ点P2の座標情報に基づいて第1中間点の座標を設定できる。
また,図4には,別の条件により設定された第1中間点M1の例が示されている。図4の例において,第1中間点M1は,第1点目のタッチ点P1と第2点目のタッチ点P2が底角に位置する二等辺三角形の頂角の位置に設けられている。すなわち,図4に示されるように,第1中間点M1は,第1点目のタッチ点P1と第2点目のタッチ点P2を結ぶ線分から,二等辺三角形の高さhの分だけ離れた位置に設定される。このように,第1中間点M1を,第1点目のタッチ点P1と第2点目のタッチ点P2を結ぶ線分から所定距離hだけ離れた位置に設定することで,ユーザが,タッチパネルディスプレイ10に表示される第1中間点M1の位置を目視し易くなるという利点がある。つまり,第1点目のタッチ点P1と第2点目のタッチ点P2を結ぶ線分上に第1中間点M1を設定すると,第1中間点M1は,視る角度によってはユーザの手に隠れてしまい目視しにくくなるという問題がある。この点,図4に示される位置に第1中間点M1を設定することで,第1中間点M1がユーザの手に隠れることを防止でき,ユーザは第1中間点M1の位置を把握し易くなる。
ステップS5において算出された第1中間点M1の座標は,座標記憶部6に一時的に記憶される。第1中間点M1の座標の算出が完了すると,ステップS6へ進む。
ステップS6において,制御部20は,座標入力部2により検出された情報に基づいて,第1点目のタッチ入力と第2点目のタッチ入力が継続しているか否かを判断する。第1点目及び第2点目のタッチ入力が継続していると判断した場合にはステップS7へと進み,第1点目及び第2点目のタッチ入力の両方又はいずれか一方が継続していないと判断した場合にはステップS17へと進む。
ステップS7において,制御部20は,第1点目及び第2点目のタッチ入力が継続した状態で,2点のタッチ入力がスライドしたか否かを判断する。タッチ入力のスライドとは,タッチ入力の検出された座標が連続的に変位することを意味する。要するに,ステップS7では,ユーザの二本の指(例えば人差し指と親指)がタッチパネルディスプレイ10の座標入力部2に接した状態のまま,画面上のなぞるように移動したか否かを判断する。制御部20は,座標入力部2により連続的に検出される座標情報に基づいて,2点のタッチ入力がスライドしたことを判断できる。2点のタッチ入力がスライドすることにより連続的に検出される座標情報は,座標情報記憶部6に随時記憶される。2点のタッチ入力がスライドしたと判断した場合にはステップS8へと進み,第1点目及び第2点目のタッチ入力の両方又はいずれか一方がスライドしていないと判断した場合にはステップS17へと進む。
ステップS8において,制御部20は,2点のタッチ入力がスライドすることにより連続的に検出された座標情報を座標情報記憶部6から読み出し,2点のタッチ点の座標情報に基づいて第2中間点候補の座標を随時算出する。
「第2中間点」とは,2点の座標が同時に入力されなくなる直前に検出された最後の2点の座標に基づき,当該最後の2点の座標から求められる点である。「第2中間点候補」とは,上記第2中間点となり得る点である。
図3において,符号P3は,第1点目のタッチ点P1から継続したスライド入力がリリースされる直前に,座標入力部6により検出された第3点目のタッチ点(人差し指のリリース点)を示し,符号P4は,第2点目のタッチ点P2から継続したスライド入力がリリースされる直前に,座標入力部6により検出された第4点目のタッチ点(親指のリリース点)を示している。「第2中間点M2」の座標は,第3点目のタッチ点の座標と,第4点目のタッチ点の座標から求めることができる。第2中間点M2の座標を算出するための条件は,第1中間点M1の座標を算出するための条件と同じものとすればよい。
他方,図3において,符号P3´は,第1点目のタッチ点P1からのスライド入力が継続している途中の点を示し,符号P4´は,第2点目のタッチ点P2からのスライド入力が継続している途中の点を示している。これらの途中の点(P3´,P4´)は複数存在し,スライド入力が継続することで,途中の点(P3´,P4´)の座標は連続的に座標情報記憶部6に記憶されている。この途中の点(P3´,P4´)に基づいて,「第2中間点候補M2´」の座標が連続的に算出される。第2中間点候補M2´の座標を算出するための条件は,第2中間点M2の座標を算出するための条件と同じものである。算出された第2中間点候補M2´の座標は,座標記憶部6に随時記憶される。第2中間点候補M2´の座標が算出されると,ステップS9へと進む。
ステップS9において,制御部20の領域指定部3は,上説した第1中間点M1の座標と,第2中間点候補M2´の座標に基づいて,選択領域候補A´を算出する。選択領域候補A´は,後述する選択領域Aとなり得る領域である。選択領域候補R´は,例えば第1中間点M1と第2中間点候補M2´を繋ぐ線分を対角線とする矩形の領域である。選択領域候補R´は,2点のタッチ入力がスライドし,第2中間点候補M2´の座標が変化するに伴って,その形状及び面積が変化する。このため,選択領域候補R´は,第2中間点候補M2´の座標の変化に応じて,連続的に算出される。選択領域候補R´が算出されると,ステップS10へと進む。
ステップS10において,制御部20は,ステップS9において算出した選択領域候補R´をタッチパネルディスプレイ10に表示する。上述の通り,選択領域候補R´は連続的に算出されるものであるため,選択領域候補R´が算出された都度タッチパネルディスプレイ10に表示していく。これにより,ユーザは,タッチパネルディスプレイ10の表示によって選択領域候補R´を確認できるため,選択領域候補R´内に選択を希望するオブジェクトが含まれるようにタッチ位置を調節することができる。選択領域候補R´が表示されると,ステップS11へと進む。
ステップS11において,制御部20は,第1点目のタッチ点P1及び第2点目のタッチ点P2から継続したスライド入力が,リリースされたか否かを判断する。すなわち,制御部20は,座標入力部2により,第1点目のタッチ点P1及び第2点目のタッチ点P2から継続していたタッチ入力が検出されなくなったときに,スライド入力がリリースされたと判断すればよい。スライド入力がリリースされたと判断された場合,ステップS12へと進む。他方,スライド入力がリリースされずに継続していると判断した場合には,スライド入力のリリースが検知されるまで,ステップS8〜ステップS10の処理を繰り返し行う。
ステップS12において,制御部20は,第2中間点M2の座標を確定する。すなわち,まず,制御部20は,図3に示されるように,ステップS11においてスライド入力がリリースされる直前に座標入力部2により検知された点を,第3点目のタッチ点P3及び第4点目のタッチ点P4と認定する。なお,第3点目のタッチ点P3は,第1点目のタッチ点P1から継続したスライド入力がリリースされる直前に座標入力部6により検出されたタッチ点である。また,第4点目のタッチ点P4は,第2点目のタッチ点P2から継続したスライド入力がリリースされる直前に,座標入力部6により検出されたタッチ点である。そして,制御部20は,第3点目のタッチ点P3の座標及び第4点目のタッチ点P4の座標に基づいて,第2中間点M2の座標を算出する。第2中間点M2の座標を算出するための条件は,第1中間点M1の座標を算出するための条件と同じものとすればよい。第2中間点M2の座標は,座標記憶部6に記憶される。第2中間点M2の座標が求まると,ステップS13へ進む。
ステップS13において,制御部20の領域指定部3は,上説した第1中間点M1の座標と第2中間点M2の座標に基づいて,タッチパネルディスプレイ10の表示画面上の選択領域Rを確定する。図3に示された例おいて,選択領域Rは,第1中間点M1の座標と第2中間点M2を繋ぐ線分Dを対角線とし,かつ,表示画面のY軸に平行な二辺とX軸に平行な二辺により周囲を画定される矩形(四角形)の領域となっている。選択領域Rが指定されると,選択領域Rをなす形状の各頂点の座標が記憶部30に記憶される。
ただし,選択領域Rの形状は,上記のものに限定されず,第1中間点M1と第2中間点M2の2点の座標に基づいて決定できる形状であればよい。図5には,第1中間点M1と第2中間点M2の2点の座標に基づいて決定可能な選択領域Rの形状の例が示されている。
図5(a)に示された例では,選択領域Rが,第1中間点M1の座標と第2中間点M2を繋ぐ線分Dを対角線とする多角形の領域となっている。具体的に説明すると,図5(a)の例では,選択領域Aが,第1中間点M1の座標と第2中間点M2を繋ぐ線分Dを対角線とし,かつ,第1中間点M1からX軸方向に延びる辺と,第2中間点M2からX軸方向に延びる辺が,平行である六角形となっている。
また,図5(b)に示された例では,選択領域Rが,第1中間点M1の座標と第2中間点M2を繋ぐ線分Dを直径とする正円形の領域となっている。
さらに,図5(c)に示された例では,選択領域Rが,第1中間点M1の座標と第2中間点M2を繋ぐ線分Dを長径とする楕円形の領域となっている。この場合,楕円形の領域の短径の長さは,一定の値としてもよいし,長径と比例する値としてもよい。また,図示は省略するが,選択領域Rが,第1中間点M1の座標と第2中間点M2を繋ぐ線分Dを短径とする楕円形の領域であってもよい。
このように,選択領域Rの形状は,その用途に応じて適宜設定することができる。
ステップS14において,制御部20は確定された選択領域Rを,タッチパネルディスプレイ10に表示する。これにより,ユーザは,タッチパネルディスプレイ10の表示によって選択領域Rを確認できる。
ステップS15において,制御部20のオブジェクト選択部4は,表示画面上の選択領域R内にオブジェクトが存在するか否かを判断する。画面上に表示されている複数のオブジェクトOが存在する位置は制御部20によって把握されている。このため,表示画面上の選択領域Rをなす形状の各頂点座標と,オブジェクトOが存在する座標を参照することにより,選択領域R内にオブジェクトOが含まれるか否かを判断できる。図3に示された例において,タッチパネルディスプレイ10の画面上には,オブジェクトO1〜O5が表示されている。このうち,オブジェクO1〜03は,その全体又は一部が選択領域R内に含まれる。他方,オブジェクO4,05は,その全体が選択領域R外に位置している。このため,制御部20のオブジェクト選択部4は,複数のオブジェクトO1〜O5のうち,オブジェクO1〜03が選択領域R内に含まれると判断する。表示画面上の選択領域R内にオブジェクトが存在する場合には,ステップS16へ進む。
一方,選択領域R内にいずれのオブジェクトも含まれない場合には,ステップS1へ戻り,再びタッチ入力待機状態となる。
ステップS16において,制御部20のオブジェクト選択部4は,選択領域R内に含まれると判断した一又は複数のオブジェクトを選択する。選択されたオブジェクトに関する情報(各オブジェクトの識別番号等)は,記憶部30の作業領域に一時記憶される。
また,図2に示されるように,第1点目のタッチ入力が継続している間に,第2点目のタッチ入力がされなかったか,若しくは第2点目のタッチ入力がされたものの2点同時のスライド入力がされなかった場合に,ステップS17へと進む。この場合,ステップS17では,従来通り,第1点目のタッチ点P1に,表示画面上のオブジェクトが位置しているか否かを判断する。ここでは,第1点目のタッチ点P1の座標と,表示画面上にオブジェクトが存在する座標を参照し,両座標が一致した場合に,ステップS16へと進む。
ステップS16において,制御部20のオブジェクト選択部4は,第1点目のタッチ点P1と座標が一致した一のオブジェクトを選択する。選択されたオブジェクトに関する情報は,記憶部30の作業領域に一時記憶される。
上記のようにして,制御部20は,タッチパネルディスプレイ10に表示されたオブジェクトのうち,一又は複数のオブジェクトを選択する処理を行う。制御部20によりオブジェクトが選択された場合,例えば,オブジェクトが選択された状態でドラッグ操作を行うことで,オブジェクトの表示画面上における位置を移動させる等,公知となっている種々の情報処理を行うことができる。
(2.ゲーム装置)
続いて,本発明の実施形態に係るゲーム装置について説明する。本発明のゲーム装置は,基本的に,タッチパネルディスプレイを備える。そして,ゲーム装置は,タッチパネルディスプレイに表示される一又は複数のオブジェクトを,上述した方法によって選択し,選択したオブジェクトに対し種々の命令を付与することで,ゲームを進めることが可能である。
[ゲーム装置の構成例]
図6は,ゲーム装置の構成例を示すブロック図である。このブロック図で表される実施形態は,特にアーケード型のゲーム装置として好適に利用することができる。図7は,ゲーム装置の筐体の外観例を示す斜視図である。
図6に示されるように,ゲーム装置は,タッチパネルディスプレイ100と,カードリーダ200と,ゲーム本体部300を含む。タッチパネルディスプレイ100は,各種画像データをユーザが視認できる画像として表示でき,かつユーザによって表示画面がタッチされた座標を検出可能な構成を有している。また,カードリーダ200は,所定の識別コードが印刷されたカードが載置されたときに,そのカードに記録されている識別コードを読み取って,カード固有のカード情報を取得可能な構成を有している。また,ゲーム本体部300は,ゲーム装置全体の機能を制御するものである。特に,ゲーム本体部300は,カードリーダ200により読み取られた情報に基づいてタッチパネルディスプレイ100にオブジェクトを表示し,カードリーダ200に対するカード操作,及びタッチパネルディスプレイ100に対するタッチ操作に基づいて,ゲームを進行することができる。
図6に示されるように,タッチパネルディスプレイ100は,ディスプレイ110と,タッチスクリーン120を備える。タッチパネルディスプレイ100は,画像を表示できるディスプレイ100の前面に,透明材料で形成されたタッチスクリーン120を配設して形成されている。ディスプレイ110は,例えばLCD(Liquid Crystal Display;液晶ディスプレイ)やOELD(Organic Electro LuminescenceDisplay;有機ELディスプレイ)のような表示装置である。ディスプレイ110は,ゲーム本体部300からの入力信号に応じて,ユーザが情報処理装置を使用するにあたって必要とされる各種情報を静止画や動画として出力表示する。また,タッチスクリーン120は,公知の静電容量方式,電磁誘導方式,赤外線走査方式,抵抗膜方式又は超音波表面弾性波方式などにより,ユーザの手指が接触したことを検知し,そのタッチ位置の座標情報を得ることができる。ディスプレイ110とタッチスクリーン120の位置関係は互いにリンクしており,タッチスクリーン120は,ディスプレイ110に表示された表示画面上におけるタッチ位置の座標情報を取得できる。これにより,タッチスクリーン120は,ユーザの指が接触したことを検知し,ユーザの指が接触したディスプレイ110の画面上の座標情報を得ることができる。タッチスクリーン120により取得された座標情報は,ゲーム本体部300の一時記憶部370に記憶される。また,タッチスクリーン120は,ユーザが複数点をタッチした場合に,それらの複数点における座標情報を取得可能な,いわゆるマルチタッチに対応している。また,本発明のゲーム装置は,比較的大型のタッチパネルディスプレイ100を搭載することが好ましい。例えば,タッチパネルディスプレイ100は,10インチ〜75インチ,16インチ〜40インチ,又は20インチ〜38インチのディスプレイであることが好ましい。
図6に示されるように,カードリーダ200は,カードCに記録された識別コードを撮像することができる装置であり,パネル210と,光源220と,イメージセンサ230を備える。カードCは,その表面には,例えばゲームで使用されるオブジェクトのイラストが印刷され,その裏面には,表面に印刷されたオブジェクトを識別するための識別コードが記録されている。また,カードCの裏面には,例えば可視光では視認できないインクにより識別コードが印刷されており,特定の不可視光を照射すると白と黒で印刷されたパターンが表出する。識別コードは,赤外線などの不可視光を吸収する特殊なインクで印刷されており,カードCの裏面に赤外線を照射すると,識別コードの黒部分を除く部分に照射された不可視光が反射するようになっている。例えば,カードCの識別コードには,少なくともカードに描かれたオブジェクトの識別番号や,カードの向き等に関する情報が記録されている。
カードリーダ200上面にはパネル210が設けられ,パネル210上には複数枚のカードCを載置できる。また,ゲーム装置の筐体内部には,例えば,パネル210に載置されたカードCの裏面に対して赤外線(不可視光)を照射する光源220と,パネル210上に載置されたカードCの裏面を反射した赤外線を取得してカードCに記録されたカードデータのパターンを撮像するイメージセンサ230が設けられている。光源220の例は,赤外線や紫外線等の肉眼で見えない不可視光を発光する発光ダイオード(LED)である。イメージセンサ230の例は,カードCの裏面を反射してカードリーダ200内に入射した赤外線により識別コードを撮像する撮像素子である。そして,カードリーダ200は,この識別コードを解析することにより,カードC固有のカード情報を取得できる。カードリーダ200により取得されたカード情報は,ゲーム本体部300の処理部310に伝達されて,一時記憶部270に記憶される。
カードCの識別コードには,少なくともカードに描かれたオブジェクトの識別番号や,カードの向き等に関する情報が記録されている。このため,ゲーム本体部300の処理部310は,カードリーダ200から得たカード情報に基づいて,ゲーム情報記憶部380又は一時記憶部270に記憶されているオブジェクトテーブルを参照することで,カードCに記録されたオブジェクトのステータスや,種類,名前,属性,さらにはカードCの向きや位置に応じたオブジェクトの特性を把握することができる。オブジェクトの例は,ゲームキャラクタである。また,ゲーム本体部300の処理部310は,カードリーダ200のイメージセンサ230により赤外線光がカードCの裏面により反射された位置を検出することで,カードCがパネル210上に載置されている位置を座標情報として求めることができる。また,イメージセンサ230により赤外線光の反射位置を連続的に検出することで,パネル210上に載置されたカードCが,ある位置から他の位置まで移動したという情報を得ることもできる。
さらに,カードリーダ200は,図8に示されるように,パネル210上が複数のエリアに区分されていることが好ましい。パネル210上の区分の数は,例えば2〜10とすることができる。図8に示された例において,カードリーダ200のパネル210は,オフェンシブエリアA1(第1エリア)とディフェンシブエリアA2(第2エリア)に二分割されている。このエリアは,パネルの座標に応じて区分されたものであり,各カードCは,オフェンシブエリアA1とディフェンシブエリアA2をスライド移動することができる。ゲーム本体部300の処理部310は,各カードCのパネル210上における位置を座標情報として取得することにより,各カードCが,オフェンシブエリアA1とディフェンシブエリアA2のいずれに属する位置にあるのかを判定することができる。
また,図8に示されるように,カードリーダ200のパネル210上には,長方形のカードCを縦向き又は横向きにして載置することが可能であり,ゲーム本体部300の処理部310は,カードリーダ200からの検出情報に基づいて,載置されたカードCが縦向きであるか横向きであるかを判別することが可能である。例えば,カードCの裏面には,識別コードが印刷されている。この識別コードには,カードの向きに関する情報が含まれる。このため,ゲーム本体部300の処理部310は,カードリーダ200によって識別コードを読み取り,読み取った識別コードに基づいてカードCの向きを解析することで,カードCが縦向きであるか横向きであるかを判別できる。
ゲーム本体部300は,処理部310を備え,ゲームプログラムを読み出して実行し,ゲームプログラムに従ってゲーム装置全体の動作を制御する。図6に示されるように,ゲーム本体部300は,以下の構成を備えている。
処理部310は,システム全体の制御,システム内の各ブロックへの命令の指示,ゲーム処理,画像処理,音処理などの各種の処理を行うものである。処理部310の機能は,各種プロセッサ(CPU,DSP等),又はASIC(ゲートアレイ等)などのハードウェアや,所与のプログラム(ゲームプログラム)により実現できる。
処理部310は,ゲーム処理部320,画像処理部330,及び音処理部350を含むものがあげられる。具体的には,メインプロセッサ,コプロセッサ,ジオメトリプロセッサ,描画プロセッサ,データ処理プロセッサ,四則演算回路又は汎用演算回路などがあげられる。これらは適宜バスなどにより連結され,信号の授受が可能とされる。また,圧縮された情報を伸張するためのデータ伸張プロセッサを備えても良い。
ここでゲーム処理部320は,カードリーダ200により取得されたカード情報に基づいてディスプレイ110にオブジェクトを表示させる処理,ディスプレイ110における視点の位置(仮想カメラの位置)や視線角度(仮想カメラの回転角度)をスクロールさせる処理,マップオブジェクトなどのオブジェクトをオブジェクト空間へ配置する処理,オブジェクトを選択する処理,オブジェクトを動作させる処理(モーション処理),オブジェクトの位置や回転角度(X,Y又はZ軸回り回転角度)を求める処理,コイン(代価)を受け付ける処理,各種モードの設定処理,ゲームの進行処理,選択画面の設定処理,ヒットチェック処理,ゲーム結果(成果,成績)を演算する処理,複数のプレーヤが共通のゲーム空間でプレイするための処理,又はゲームオーバー処理などの種々のゲーム処理を,タッチスクリーン120や,カードリーダ200,操作部360からの入力データ,携帯型情報記憶装置392からの個人データ,保存データ,及びゲームプログラムなどに基づいて行う。
画像処理部330は,ゲーム処理部320からの指示等に従って,各種の画像処理を行うものである。ゲーム処理部320は,視点の位置や視線角度の情報に基づいて,ゲーム情報記憶部380からオブジェクトやゲーム空間の画像情報を読み出し,読み出した画像情報を一時記憶部370に書き込む。ゲーム処理部320は,視点移動をさせるためのスクロールデータを画像処理部330に供給する。画像処理部330は,与えられたスクロールデータに基づいて,一時記憶部370から1フレーム毎に画像情報を読み出し,読み出した画像情報に応じてディスプレイ110に,オブジェクトやゲーム空間の画像を表示させる。これにより,ディスプレイ110には,視点に基づいてオブジェクトやゲーム空間が表示される。また,画像処理部330は,タッチスクリーン120に対する入力座標に応じてゲーム空間における視点を移動させる。そして,画像処理部330は移動する視点情報に基づいて,一時記憶部370からフレームを読み出して,読み出した画像をディスプレイ110に表示させる。このようにして,ゲーム空間の視点をスクロールさせることにより,表示画面が遷移する。
また,画像処理部330は,一時記憶部370からカードリーダ200により取得されたカード情報を読み出し,そのカード情報に基づいて,ゲーム情報記憶部380に記憶されているオブジェクトテーブルを参照する。そして,オブジェクトテーブルに記憶されているリンク情報に基づいて,カード情報と関連付けられているオブジェクトの画像データを,一時記憶部370又はゲーム情報記憶部380から読み出す。そして,画像処理部330は,読み出したオブジェクトの画像データに応じてゲーム空間内にオブジェクトを発生させ,ディスプレイ110に表示させる。
ゲーム処理部320は,タッチスクリーン120に入力された座標情報や,カードリーダ200に載置されたカードの向きや位置,その他の操作部260(レバー,ボタン,又はコントローラ)からの操作情報に基づいて,ゲーム空間に登場させたオブジェクトの行動を制御する。例えば,ゲーム処理部320は,ディスプレイ110に表示されたオブジェクトの座標情報と,ディスプレイ110に入力された座標情報とを参照し,当該オブジェクトが,ユーザによりタッチされた否かを判定する。すなわち,ゲーム処理部320は,タッチスクリーン120に入力された位置情報と,オブジェクトの位置情報が一致している場合には,当該オブジェクトがタッチ選択されたと判定する。そして,選択されたオブジェクトに対し操作や指令が付与された場合,その操作や指令に応じて,ゲームプログラムに従った処理を行う。
また,ゲーム処理部320は,タッチパネルディスプレイ100のディスプレイ110表示されたオブジェクトを選択する際には,上記した本発明特有の選択処理を行うことが好ましい。すなわち,ゲーム処理部320は,タッチパネルディスプレイ100のタッチスクリーン120に同時に入力されている最初の2点の座標に基づき,当該最初の2点の座標から求められる第1中間点の座標を決定する。また,ゲーム処理部320は,2点の座標が同時に入力されなくなる直前に検出された最後の2点の座標に基づき,当該最後の2点の座標から求められる第2中間点の座標を決定する。そして,ゲーム処理部320は,第1中間点の座標と第2中間点の座標に基づいて,ディスプレイ110の表示画面上における領域を指定し,指定された領域に,少なくとも一部が含まれるように画像が表示されている一又は複数のオブジェクトを選択する。また,ゲーム処理部320は,選択されたオブジェクトに対し操作や指令が付与された場合,その操作や指令に応じて,ゲームプログラムに従った処理を行う。例えば,ゲーム処理部320は,タッチスクリーン120に対する入力操作により,一又は複数のオブジェクトが選択された後に,再度,異なる座標情報がタッチスクリーン120に入力された場合,選択された一又は複数のオブジェクトを,再度入力された座標情報に移動させる制御を行う。このように,ゲーム処理部320は,カードリーダ120により取得されたカード情報と,タッチスクリーン110に入力された座標情報をリンクさせて,ゲームを進行することが好ましい。
音処理部250は,ゲーム処理部220からの指示等にしたがって,各種の音声を放音する。
ゲーム処理部320,画像処理部330,音処理部350の機能は,その全てをハードウェアにより実現してもよいし,その全てをプログラムにより実現してもよい。又は,ハードウェアとプログラムの両方により実現してもよい。
図6に示されるように,例えば,画像処理部330は,ジオメトリ処理部332(3次元座標演算部),描画部340(レンダリング部)を含むものがあげられる。
ジオメトリ処理部332は,座標変換,クリッピング処理,透視変換,又は光源計算などの種々のジオメトリ演算(3次元座標演算)を行う。そして,ジオメトリ処理後(透視変換後)のオブジェクトデータ(オブジェクトの頂点座標,頂点テクスチャ座標,又は輝度データ等)は,例えば,一時記憶部370のメインメモリ372に格納されて,保存される。
描画部340は,ジオメトリ演算後(透視変換後)のオブジェクトデータと,テクスチャ記憶部376に記憶されるテクスチャなどに基づいて,オブジェクトをフレームバッファ374に描画する。描画部340は,例えば,テクスチャマッピング部342,シェーディング処理部344を含むものがあげられる。具体的には,描画プロセッサにより実装できる。描画プロセッサは,テクスチャ記憶部,各種テーブル,フレームバッファ,VRAMなどとバスなどを介して接続され,更にディスプレイと接続される。
テクスチャマッピング部242は,環境テクスチャをテクスチャ記憶部276から読み出し,読み出された環境テクスチャを,オブジェクトに対してマッピングする。
シェーディング処理部344は,オブジェクトに対するシェーディング処理を行う。例えば,ジオメトリ処理部332が光源計算を行い,シェーディング処理用の光源の情報や,照明モデルや,オブジェクトの各頂点の法線ベクトルなどに基づいて,オブジェクトの各頂点の輝度(RGB)を求める。シェーディング処理部344は,この各頂点の輝度に基づいて,プリミティブ面(ポリゴン,曲面)の各ドットの輝度を例えば,ホンシェーディングや,グーローシェーディングなどにより求める。
ジオメトリ処理部332は,法線ベクトル処理部334を含むものがあげられる。法線ベクトル処理部334は,オブジェクトの各頂点の法線ベクトル(広義にはオブジェクトの面の法線ベクトル)を,ローカル座標系からワールド座標系への回転マトリクスで回転させる処理を行ってもよい。
操作部360は,プレーヤが操作データを入力するためのものである。操作部360は,の機能は,例えば,レバー,ボタン,及びハードウェアを備えたコントローラにより実現できる。操作部360からの処理情報は,シリアルインターフェース(I/F)やバスを介してメインプロセッサなどに伝えられる。
ゲーム情報記憶部380は,ゲームプログラムや,ディスプレイ110に表示されるオブジェクト,ゲーム空間の画像データに関する情報を格納している。ゲーム情報記憶部380は,例えばROMであり,光ディスク(CD,DVD),光磁気ディスク(MO),磁気ディスク,ハードディスク,又は磁気テープなどの不揮発性のメモリにより実現できる。処理部310は,このゲーム情報記憶部380に格納される情報に基づいて種々の処理を行う。ゲーム情報記憶部380には,本発明(本実施形態)の手段(特に処理部310に含まれるブロック)を実行するための情報(プログラム又はプログラム及びデータ)が格納される。ゲーム情報記憶部380に格納される情報の一部又は全部は,例えば,システムへの電源投入時等に一時記憶部370に書き出されることとしてもよい。
ゲーム情報記憶部380に記憶される情報として,所定の処理を行うためのプログラムコード,画像データ,音データ,表示物の形状データ,テーブルデータ,リストデータ,本発明の処理を指示するための情報,その指示に従って処理を行うための情報等の少なくとも2つを含むものがあげられる。例えば,テーブルデータには,オブジェクトの識別番号と関連付けて,オブジェクトのステータスや,種類,名前,属性,カードの向きや位置に応じたオブジェクトの特性を記憶したオブジェクトテーブルのデータが含まれる。
オブジェクトのステータスとは,移動速度,ヒットポイント,攻撃力,及び防御力等が数値として記憶される情報である。ゲーム処理部320は,オブジェクトテーブルに記憶されたステータスを参照することで,各オブジェクトについて,移動速度,ヒットポイント,攻撃力等の優劣を判断できる。また,ゲーム処理部320は,このステータスに関する数値に基づいて,ゲームを進行するための種々の演算を行うことができる。例えば,各オブジェクトの移動速度の数値は比較可能であり,オブジェクトテーブルを参照すれば,あるオブジェクトと他のオブジェクトはどちらの方が速い移動速度を有しているかということを把握できる。また,各オブジェクトの移動速度の数値に基づいて所定の演算処理を行うことで,オブジェクトが,ゲーム空間上のある地点から他の地点まで移動するのに必要とする時間を算出することもできる。
また,カードの向きに応じたオブジェクトの特性とは,カードリーダ200のパネル210に載置された向きに応じて変化するデータである。例えば,オブジェクトテーブルには,あるカードに関連したオブジェクトについて,カードが縦向きである場合と横向きで場合とで異なる情報が記憶されている。例えば,カードが縦向きである場合と横向きで場合とで,オブジェクトのステータスが変化することとしてもよい。
また,カードの位置に応じたオブジェクトの特性とは,カードリーダ200のパネル210に載置された位置に応じて変化するデータである。例えば,オブジェクトテーブルには,あるカードに関連したオブジェクトについて,カードがオフェンシブエリアA1(第1エリア)に位置する場合とディフェンシブエリアA2(第2エリア)に位置する場合とで異なる情報が記憶されている。例えば,カードがオフェンシブエリアA1に位置する場合とディフェンシブエリアA2に位置する場合とで,オブジェクトのステータスが変化することとしてもよい。
また,ゲーム情報記憶部380は,ゲーム空間に関するデータが記憶されている。ゲーム空間は,ワールドともよばれる,本発明のゲーム装置におけるゲームの世界を意味する。ゲーム空間に関するデータは,表示される対象物の位置情報,表示される対象物の種類に関する情報,表示される対象物の画像データを含む。表示される対象物の例は,背景,建物,風景,植物,及びゲームに登場するオブジェクトである。この画像データは,ポリゴンデータとして記憶されることが好ましい。ポリゴンデータは,たとえば,頂点座標データ,色データ,テクスチャデータ,及び透明度データを含む。ゲーム情報記憶部380は,たとえば,プレイヤキャラクタの視点の向きや,位置,エリアなどに応じて,表示される対象物を分類して記憶する
音出力部390は,音を出力するものである。音出力部390の機能は,スピーカなどのハードウェアにより実現できる。音出力は,例えばバスを介してメインプロセッサなどと接続されたサウンドプロセッサにより,音処理が施され,スピーカなどの音出力部から出力される。
携帯型情報記憶装置392は,プレーヤの個人データやセーブデータなどが記憶されるものである。この携帯型情報記憶装置392としては,メモリカードや携帯型ゲーム装置などがあげられる。携帯型情報記憶装置392の機能は,メモリカード,フラッシュメモリ,ハードディスク,USBメモリなど公知の記憶手段により達成できる。ただし,携帯型情報記憶装置392は,必ずしも必要な構成ではなく,プレーヤの個人を識別する必要のある場合に,実装すればよい。
通信部394は,外部(例えばホストサーバや他のゲーム装置)との間で通信を行うための各種の制御を行う任意のものである。通信部394を介して,ゲーム装置をネットワーク上のホストサーバや他のゲーム装置と接続することにより,ゲーム対戦プレイや協力プレイを行うことができる。通信部394の機能は,各種プロセッサ,又は通信用ASICなどのハードウェアや,プログラムなどにより実現できる。また,ゲーム装置を実行するためのプログラム又はデータは,ホスト装置(サーバー)が有する情報記憶媒体からネットワーク及び通信部394を介してゲーム情報記憶部380に配信するようにしてもよい。
[ゲーム装置の動作例]
続いて,図9〜図11を参照して,上記した構成を有するゲーム装置の動作例について説明する。ここでは,上記ゲーム装置により実行されるゲームのシステムについて,一例を挙げて説明する。例えば,本発明のゲーム装置では,インターネット等の通信を利用した対戦ゲームを行うことができる。この対戦ゲームでは,各ゲームユーザが,一のゲーム空間に複数のオブジェクト(ゲームキャラクタ)を登場させて対戦を行う。ここで説明するゲームの例において,ユーザは,タッチパネルディスプレイ100やカードリーダ200等を介して,各オブジェクトの登場や,移動,攻撃,防御など指令操作を行い,例えば,敵オブジェクト(Enemy)の撃破や,塔(Tower)の制圧,石(Stone)の破壊などを目指す。
図9は,本発明に係るゲーム装置を用いて,実際にゲームを行う際のタッチパネルディスプレイ100とカードリーダ200の状態を概念的に示している。ユーザは,所望のカードC1〜C7を,カードリーダ200上に載置する。各カードC1〜C7の裏面には,識別コードが印刷されている。カードリーダ200は,各カードC1〜C7の識別コードを読み取ると,識別コードに基づいてカード情報を解析し,カード情報はゲーム装置の処理部310へと伝達する。また,カードリーダ200は,各カードC1〜C7が向きや位置を把握することができる。図9に示された例では,カードリーダ200上において,カードC1,C2,C5,C6が縦向きとなり,カードC3,C4,C7が横向きとなっている。また,図9に示された例では,カードリーダ200上において,カードC1,C4,C6がオフェンシブエリアA1に位置し,カードC2,C3,C5,C7がディフェンシブエリアA2に位置している。カードリーダ200によって検出された情報は,処理部310へと伝達され,処理部310は,カード情報,カードの向き,カードの位置等の情報に基づいて,ゲーム情報記憶部380(又は一時記憶部370)に記憶されているオブジェクトテーブルを参照し,カード情報に関連付けられたオブジェクトの情報(画像データ,ステータス等)を読み出す。処理部310は,読み出した画像データに基づいて,タッチパネルディスプレイ100に画像を表示させる。例えば,タッチパネルディスプレイ100には,その下側の領域にカードの画像が表示されている。タッチパネルディスプレイ100に表示されたカードの画像は,カードリーダ200に載置されている各カードC1〜C7の並び順,及び各カード各カードC1〜C7の向きに対応している。このように,タッチパネルディスプレイ100の一部に,カードリーダ200に載置されている各カードC1〜C7の画像を表示することで,ユーザは,カードリーダ200を目視しなくても,タッチパネルディスプレイ100を視るだけで,各カードC1〜C7の配置や向きを把握することができるようになっている。なお,タッチパネルディスプレイ100には,カードリーダ200に載置された各カードC1〜C7の位置(例えばオフェンシブエリアA1とディフェンシブエリアA2のどちらに位置しているのか)の情報も表示可能である。
図9に示された例において,タッチパネルディスプレイ100の表示画面上には,各カードC1〜C6に対応したオブジェクト(ゲームキャラクタ)O1〜O6が表示されている。各オブジェクトは,それぞれ特有のステータスや,種類,名前,属性,カードの向きや位置に応じたオブジェクトの特性を有している。オブジェクトのステータスとは,移動速度,ヒットポイント,攻撃力,及び防御力等が数値として記憶される情報である。これらの情報は,各オブジェクトの識別情報に関連付けてオブジェクトテーブルに記憶されている。例えば,カードが縦向きに配置されているオブジェクトは通常の攻撃を行う一方,カードが横向きに配置されているオブジェクトは特殊な攻撃を行う等の設定とすることができる。また,カードがオフェンシブエリアA1に位置しているオブジェクトは攻撃力の数値が向上する一方,カードがディフェンシブエリアA2に位置しているオブジェクトは防御力の数値が向上する等の設定とすることができる。また,図9に示された例において,カードC7に対応したオブジェクト(O7)は,タッチパネルディスプレイ100上に表示されていない。オブジェクト(O7)をゲーム空間に登場させるためには,タッチパネルディスプレイ100上に表示されたカードC7の画像をタッチし,カードC7の画像を召喚ゲート(Gate)が表示されている位置までドラッグする。カードC7の画像が,召喚ゲート(Gate)の表示されている位置でドロップされると,ガードC7に対応したオブジェクト(O7)がゲーム空間に登場し,タッチパネルディスプレイ100に表示されるようになっている。なお,召喚ゲート(Gate)は,ゲーム空間における位置座標がゲーム情報記憶部380や一次記憶部370に記憶されており,ゲーム処理部320によってその位置が把握されている。
図10は,タッチパネルディスプレイ100に表示されたオブジェクトの移動操作の例を示している。タッチパネルディスプレイ100は,ユーザによりタッチされると,そのタッチ位置の座標を得る。処理部310は,タッチ位置の座標とオブジェクトが表示されている座標を参照し,タッチ位置の座標が,オブジェクトが表示されている座標と一致するかを判定する。タッチ位置とオブジェクトの位置が一致した場合,処理部310は,そのオブジェクトが選択されたことを把握する。図10(a)の例では,オブジェクトO4が選択されている。また,オブジェクトO4が選択された状態で,ユーザがタッチパネルディスプレイ100の表示画面をタッチすると,処理部310は,そのタッチ位置の座標を一時的記憶部に記憶する。特に,オブジェクトO4が選択された状態で,ユーザにより複数のポイントがタッチされた場合,処理部310は,タッチされた順番の情報と共に,タッチ位置の座標を一時的記憶部に記憶する。そして,処理部310は,ユーザによりタッチ選択されたオブジェクトO4を,次にタッチされたポイントに移動させる処理を行う。移動速度は,各オブジェクトそれぞれによって異なる。そこで,処理部310は,オブジェクトテーブルから,オブジェクトO4に関する移動速度の数値を読み出す。そして,読み出した移動速度の数値に基づいて,オブジェクトO4を最初のポイントから移動先のポイントまで移動させる。また,複数点がタッチされている場合には,選択されたオブジェクトO4を,タッチされた順番に従って,順次各ポイントへと移動させる。なお,移動しているオブジェクトO4が,移動中に敵オブジェクト(Enemy)に遭遇した場合や,塔(Tower)に到達した場合には,公知のゲームシステムと同様に,敵オブジェクトとの対戦処理,塔を制圧するため処理を行えば良い。
ただし,図10に示された方法に従い,オブジェクトを1つずつタッチ選択して移動させる操作は,ユーザが,複数のオブジェクトを同時に移動させることを希望する場合に,すべてのオブジェクトを1つずつタッチ選択する必要が生じ,煩雑となる。また,上述の通り,移動速度は各オブジェクトそれぞれによって異なる。このため,ユーザが,複数のオブジェクトを同じポイントに移動させることを希望する場合であっても,それぞれのオブジェクトが指定されたポイントに到着するタイミングは,オブジェクトの移動速度に応じて異なってしまう。
そこで,図11に示されるように,本ゲームのシステムでは,表示画面上の複数のオブジェクトを一括して選択することができ,選択したオブジェクトについて編隊(Party)を形成することが可能になっている。図11(a)では,複数のオブジェクトO1〜O7を一括して選択する操作の例が示されている。なお,図11(a)に示された操作は,基本的に図3に示された操作と同様である。処理部310は,ユーザによりタッチパネルディスプレイ100が同時に入力されている最初の2点P1,P2の座標に基づき,当該最初の2点P1,P2の座標から求められる第1中間点M1の座標を決定する。また,処理部310は,ユーザによりドラッグされて,2点の座標が同時に入力されなくなる直前に検出された最後の2点P3,P4の座標に基づき,当該最後の2点P3,P4の座標から求められる第2中間点の座標M2を決定する。そして,処理部310は,第1中間点M1の座標と第2中間点の座標M2に基づいて,タッチパネルディスプレイ100の表示画面上における矩形の領域を指定する。そして,指定された矩形の領域に,少なくとも一部が含まれるように表示されている複数のオブジェクトO1〜O7を選択する。選択されたオブジェクトO1〜O7は,編隊を形成するオブジェクトとして,一時記憶部に関連付けて記憶される。
図11(b)は,選択された複数のオブジェクトO1〜O7が編隊(Party)を形成した例を示している。図11(b)に示されるように,一括して選択された複数のオブジェクトO1〜O7は,一箇所に集まり編隊を形成する。また,処理部310は,ユーザの操作により形成された編隊を,次にタッチされたポイントに移動させる処理を行う。すなわち,各オブジェクトO1〜O7は編隊を形成することにより,集合状態のまま移動する。このとき,編隊を形成する各オブジェクトの移動速度は,それぞれによって異なるものである。そこで,処理部310は,オブジェクトテーブルから,編隊を形成する各オブジェクトの移動速度の数値を読み出し,読み出した各オブジェクトの移動速度の数値に基づいて編隊の移動速度を求める。例えば,処理部310は,編隊を形成する各オブジェクトの移動速度のうち,最も遅いもの(最も数値が低いもの)を,編隊全体の移動速度として求めればよい。また,処理部310は,編隊を形成する複数のオブジェクトの移動速度の平均値を,編隊全体の移動速度としてもよい。また,処理部310は,編隊を形成する各オブジェクトの移動速度のうち,最も速いもの(最も数値が高いもの)を,編隊全体の移動速度とすることもできる。オブジェクトの編隊は,処理部310により算出された移動速度の値に従った移動速度で,指定されたポイントへと移動する。複数のポイントが指定されている場合には,処理部310は,オブジェクトの編隊を,指定された順番に従って,順次各ポイントへと移動させる。移動しているオブジェクトの編隊が,移動中に敵オブジェクト(Enemy)に遭遇した場合や,塔(Tower)に到達した場合には,公知のゲームシステムと同様に,敵オブジェクトとの対戦処理,塔を制圧するため処理を行えば良い。
以上,本発明のゲーム装置により実行されるゲームについて,特徴的なシステムを主として説明した。その他のゲーム処理については,カードリーダを備える公知のゲーム装置や,タッチパネルディスプレイを備える公知のゲーム装置のものを適宜採用できる。