ゲーム装置およびゲームプログラム
【構成】 ゲーム装置(10)は、表示器(14)、およびその上に設けられたタッチパネル(22)を含み、CPUコア(42)は表示器に、ゲーム画面を表示する。ユーザは、タッチパネルをスティック等(24)で連続的にタッチすることによって、タッチパネル上に円弧軌跡70Cまたは70CCを描く。右利きモードで時計回りの円弧軌跡70Cを描くような連続入力があったときと、左利きモードで反時計回りの円弧軌跡70CCを描くように連続入力が合ったときとでは、同じ入力操作が行われたとして、右利きモードの場合には角度Θに比例して右方向にユーザキャラクタを移動し、左利きモードの場合には角度Θに比例してユーザキャラクタを左方向へ移動させる。
【効果】 右利きまたは左利きに応じてタッチパネルでの軌跡の方向を変更できるので、右利きや左利きの違いによる有利、不利を解消することができる。
【効果】 右利きまたは左利きに応じてタッチパネルでの軌跡の方向を変更できるので、右利きや左利きの違いによる有利、不利を解消することができる。
【発明の詳細な説明】
【技術分野】
【0001】
この発明はゲーム装置およびゲームプログラムに関し、特にたとえばタッチパネルやマウスなどのポインティングデバイスを用いてゲーム画面内の異なる位置を連続的に指定して軌跡を形成することによってキャラクタを操作する、ゲーム装置およびそれのためのゲームプログラムに関する。
【背景技術】
【0002】
タッチパネル画面を備えた情報処理装置の一例が特許文献1に開示されている。特許文献1の従来技術では、ユーザがタッチパネル画面上で最初に指示した指示位置が右寄りの場合は、次の入力エリアを画面の右寄りに表示し、左寄りの場合は次の入力エリアを画面の左寄りに表示する。したがって、ユーザの利腕に応じて操作し易い操作画面を表示することができる。
【0003】
また、ゲーム画面にタッチパネルを設け、ゲーム画面に直接作用することができる電子ゲームの一例が、特許文献2に開示されている。特許文献2の従来技術では、たとえば連続して入力されたタッチ軌跡に応じて所定の処理が実行される。
【特許文献1】特開平6−208671号[G07D 9/00 G06F 3/14 15/30]
【特許文献2】特開2002−939号[A63F 13/00 G06F 3/033]
【発明の開示】
【発明が解決しようとする課題】
【0004】
特許文献1では、画面の左寄りまたは右寄りに入力選択エリアを表示するだけであるので、簡単な操作で処理が実行できるたとえば現金自動取引装置などでは利用可能であるが、特許文献2のような電子ゲームに利用するには問題がある。
【0005】
すなわち、特許文献2では、軌跡がたとえば直線になるように連続したタッチ入力があるときクラブをスイングしたとしてゴルフゲームを進行させるが、このようにタッチ入力の軌跡に応じて処理を実行する場合には、特許文献1のように単に入力領域を左右どちらかに配置するだけでは、必ずしも入力し易くなる訳ではない。
【0006】
たとえば、右回り(時計方向)に円や弧を描くように連続的にタッチ入力したときゲーム処理が実行されるとすれば、右利きのユーザには何の問題もなくゲームを進行させることができるが、左利きのユーザにとっては、その方向で円や弧を描くように連続的にタッチ入力することは、かなり難しい。したがって、ゲームのような複雑な入力操作が必要な場合に、特許文献1のような単なる左右の配置の変更だけでは、ユーザの利腕の違いによる入力のし易さを必ずしも確保することはできない。
【0007】
したがって、ゲームの種類によっては、たとえば右利きや左利きの違いによる有利、不利ができるのを避けられなかった。
【0008】
それゆえに、この発明の主たる目的は、新規な、ゲーム装置およびゲームプログラムを提供することである。
【0009】
この発明の他の目的は、ポインティングデバイスの連続入力操作に応じて軌跡を描かせるゲームを実行する場合に、ユーザの利腕によって入力操作をし易いように変更できる、ゲーム装置およびゲームプログラムを提供することである。
【課題を解決するための手段】
【0010】
請求項1の発明は、ゲーム画面を表示するための表示器を備え、ゲーム画面内の異なる位置を連続的に指示することによって軌跡を描くのにポインティングデバイスを用いるゲーム装置であって、第1の入力モードまたは第2の入力モードを選択させるための選択画面を表示器に表示させる選択画面表示手段、第1の入力モードが選択されたときポインティングデバイスによって第1の方向へ延びる軌跡が描かれたことを判定する第1判定手段、第2の入力モードが選択されたときポインティングデバイスによって第1の方向とは異なる第2の方向へ延びる軌跡が描かれたことを判定する第2判定手段、および第1判定手段の判定結果および第2判定手段の判定結果に応じて共通のゲーム処理を実行するゲーム処理手段を備える、ゲーム装置である。
【0011】
請求項1の発明では、ゲーム装置(10:実施例で相当する要素を示す参照符号。以下同様。)は、表示器(14)を含み、ポインティングデバイスとして、たとえばその表示器の上に設けられるタッチパネル(22)を含む。ゲームプロセサすなわちCPUコア(42)およびそれが実行するステップS1が選択画面表示手段として機能し、この選択画面表示手段(42,S1)では、その表示器に、第1の入力モードまたは第2の入力モードをユーザに選択させるためのモード選択画面を表示する。
【0012】
CPUコア(42)およびそれが実行するステップS49が第1判定手段を構成し、CPUコア(42)およびそれが実行するステップS51が第2判定手段を構成する。第1判定手段では、ユーザが第1の入力モードを選択しているときに、ポインティングデバイスによって第1の方向へ延びる軌跡が描かれたことを判定する。第2判定手段は、ユーザが第2の入力モードを選択しているときに、ポインティングデバイスによって第1の方向とは異なる第2の方向へ延びる軌跡が描かれたことを判定する。
【0013】
ゲーム処理手段は、たとえばCPUコア(42)とそれが実行するステップS53およびS55であり、第1判定手段による判定結果が得られても、第2判定手段による判定結果が得られても、共通のゲーム処理を実行する。
【0014】
したがって、請求項1の発明によれば、第1の入力モードが選択されても、第2の入力モードが選択されても、同じまたは共通のゲーム処理が実行される。したがって、入力をし易すくするために入力モードを変更しても、同じゲームがプレイできる。
【0015】
請求項2の発明は、第1の入力モードが選択されたとき第1のゲーム画面を表示器に表示し、第2の入力モードが選択されたとき第2のゲーム画面を表示器に表示するゲーム画面表示手段をさらに備える、請求項1記載のゲーム装置である。
【0016】
請求項2の発明では、たとえば、CPUコア(42)が、ステップS19を実行することによって、第1のゲーム画面を表示器(12,14)に表示し、ステップS17およびS19を実行することによって、第2のゲーム画面を表示する。したがって、第1の入力モードまたは第2の入力モードに応じて、最適のゲーム画面が表示できる。
【0017】
請求項3の発明は、第1の入力モードは右利き入力モードであり、第2の入力モードは左利き入力モードである、請求項1または2記載のゲーム装置である。
【0018】
請求項3の発明では、選択画面表示手段によってユーザに右利き入力モードまたは左利き入力モードを選択させる。したがって、同じゲームで、右利きのユーザに対しても左利きのユーザに対しても入力操作がし易い入力モードを設定できる。
【0019】
請求項4の発明は、第1の方向へ延びる軌跡は右回りの円弧軌跡であり、第2の方向へ延びる軌跡は左回りの円弧軌跡である、請求項3記載のゲーム装置である。
【0020】
請求項4の発明によれば、右利きのユーザは右回りの円弧軌跡を描けばよいし、左利きのユーザは左回りの円弧軌跡を描けばよいので、円弧軌跡を描かせる場合でも、利腕に左右されず、同等の難易度をユーザに与えることができる。
【0021】
請求項5の発明は、ポインティングデバイスは表示器に設けられたタッチパネルを含む、請求項1ないし4のいずれかに記載のゲーム装置である。
【0022】
請求項5の発明では、ユーザはたとえばスティック(24)を用いてタッチパネル(22)にタッチ入力することによって、連続的な位置指定が行える。
【0023】
請求項6の発明は、ゲーム画面を表示するための表示器を備え、ゲーム画面内の異なる位置を連続的に指示することによって軌跡を描くのにポインティングデバイスを用いるゲーム装置のゲプログラムであってゲームプロセサに、第1の入力モードまたは第2の入力モードを選択させるための選択画面を表示器に表示させる選択画面表示ステップ、第1の入力モードが選択されたときポインティングデバイスによって第1の方向へ延びる軌跡が描かれたことを判定する第1判定ステップ、第2の入力モードが選択されたときポインティングデバイスによって第1の方向とは異なる第2の方向へ延びる軌跡が描かれたことを判定する第2判定ステップ、および第1判定ステップの判定結果および第2判定ステップの判定結果に応じて共通のゲーム処理ステップを実行させる、ゲームプログラムである。
【0024】
請求項6の発明は、請求項1の発明と同様である。
【0025】
請求項7の発明は、第1の入力モードが選択されたとき第1のゲーム画面を表示器に表示し、第2の入力モードが選択されたとき第2のゲーム画面を表示器に表示するゲーム画面表示ステップをさらにゲームプロセサに実行させる、請求項6記載のゲームプログラムである。
【0026】
請求項7の発明は請求項2の発明と同様である。
【0027】
請求項8の発明は、第1の入力モードは右利き入力モードであり、第2の入力モードは左利き入力モードである、請求項6または7記載のゲームプログラムである。
【0028】
請求項8の発明は請求項3の発明と同様である。
【0029】
請求項9の発明は、第1の方向へ延びる軌跡は右回りの円弧軌跡であり、第2の方向へ延びる軌跡は左回りの円弧軌跡である、請求項8記載のゲームプログラムである。
【0030】
請求項9の発明は請求項4の発明と同様である。
【発明の効果】
【0031】
この発明によれば、ユーザが入力し易い入力モードを選択したとき、ポインティングデバイスでの軌跡入力条件も変更されるため、比較的複雑な連続的な位置指定操作が必要なゲーム装置においても、たとえば右利きや左利きの違いによる有利、不利を解消することができる。
【0032】
この発明の上述の目的,その他の目的,特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【発明を実施するための最良の形態】
【0033】
図1を参照して、この発明の実施例であるゲーム装置10は、第1の液晶表示器(LCD)12および第2のLCD14を含む。このLCD12およびLCD14は、所定の配置位置となるようにハウジング16に収納される。この実施例では、ハウジング16は、上側ハウジング16aと下側ハウジング16bとによって構成され、LCD12は上側ハウジング16aに収納され、LCD14は下側ハウジング16bに収納される。したがって、LCD12とLCD14とは縦(上下)に並ぶように近接して配置される。
【0034】
なお、この実施例では、表示器としてLCDを用いるようにしてあるが、LCDに代えて、EL(Electronic Luminescence)ディスプレイやプラズマディスプレイを用いるようにしてもよい。
【0035】
図1からも分かるように、上側ハウジング16aは、LCD12の平面形状よりも少し大きな平面形状を有し、一方主面からLCD12の表示面を露出するように開口部が形成される。一方、下側ハウジング16bは、その平面形状が上側ハウジング16aよりも横長に選ばれ、横方向の略中央部にLCD14の表示面を露出するように開口部が形成される。また、下側ハウジング16bには、音抜き孔18が形成されるとともに、操作スイッチ20(20a,20b,20c,20d,20e,20Lおよび20R)が設けられる。
【0036】
また、上側ハウジング16aと下側ハウジング16bとは、上側ハウジング16aの下辺(下端)と下側ハウジング16bの上辺(上端)の一部とが回動可能に連結されている。したがって、たとえば、ゲームをプレイしない場合には、LCD12の表示面とLCD14の表示面とが対面するように、上側ハウジング16aを回動させて折り畳んでおけば、LCD12の表示面およびLCD14の表示面に傷がつくなどの破損を防止することができる。ただし、上側ハウジング16aと下側ハウジング16bとは、回動可能に連結せずに、それらを一体的(固定的)に設けたハウジング16を形成するようにしてもよい。
【0037】
操作スイッチ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との連結部以外に当該連結部を挟むように、左右に配置される。
【0038】
方向指示スイッチ20aは、ディジタルジョイスティックとして機能し、4つの押圧部の1つを操作することによって、ユーザによって操作可能なユーザキャラクタ(またはユーザオブジェクト)の移動方向を指示したり、カーソルの移動方向を指示したりする等に用いられる。スタートスイッチ20bは、プッシュボタンで構成され、ゲームを開始(再開)したり、一時停止(Pause)したりする等に用いられる。セレクトスイッチ20cは、プッシュボタンで構成され、ゲームモードの選択等に用いられる。
【0039】
動作スイッチ20dすなわちAボタンは、プッシュボタンで構成され、方向指示以外の動作、すなわち、ユーザキャラクタに打つ(パンチ)、投げる、つかむ(取得)、乗る、ジャンプするなどの任意のアクションをさせることができる。たとえば、アクションゲームにおいては、ジャンプ、パンチ、武器を動かす等を指示することができる。また、ロールプレイングゲーム(RPG)やシミュレーションRPGにおいては、アイテムの取得、武器やコマンドの選択および決定等を指示することができる。動作スイッチ20eすなわちBボタンは、プッシュボタンで構成され、セレクトスイッチ20cで選択したゲームモードの変更やAボタン20dで決定したアクションの取り消し等のために用いられる。
【0040】
動作スイッチ20L(左押しボタン)および動作スイッチ20R(右押しボタン)は、プッシュボタンで構成され、左押しボタン(Lボタン)20Lおよび右押しボタン(Rボタン)20Rは、Aボタン20dおよびBボタン20eと同様の操作に用いることができ、また、Aボタン20dおよびBボタン20eの補助的な操作に用いることができる。
【0041】
また、LCD14の上面には、タッチパネル22が装着される。タッチパネル22としては、たとえば、抵抗膜方式、光学式(赤外線方式)および静電容量結合式のいずれかの種類のものを用いることができる。また、タッチパネル22は、その上面をスティック24ないしはペン(スタイラスペン)或いは指(以下、これらを「スティック24等」という場合がある。)で、押圧したり、撫でたり、触れたり(以下、単に「押圧する」という。)することにより操作すると、スティック24等の操作位置の座標を検出して、検出した座標(検出座標)に対応する座標データを出力する。なお、ユーザがスティック24等でタッチパネル22にタッチすることを「タッチオン」と呼び、そのスティック24等をタッチパネル22からの離すことを「タッチオフ」と呼ぶ。
【0042】
なお、この実施例では、LCD14(LCD12も同じ、または略同じ。)の表示面の解像度は256dot×192ドットであり、タッチパネル22の検出精度も表示画面に対応して256dot×192ドットとしてあるが、タッチパネル22の検出精度は表示画面の解像度よりも低くてもよく、高くてもよい。
【0043】
ゲームをプレイする場合には、LCD12およびLCD14には異なるゲーム画面が表示される。たとえば、競争ゲームでは一方のLCDたとえば12に全体画面を表示し、他方のLCDたとえば14にユーザが操作可能なキャラクタ(ユーザキャラクタ)を表示する。
【0044】
そして、ユーザはスティック24等でタッチパネル22を操作することにより、LCD14の画面に表示されるユーザキャラクタ、敵キャラクタ、アイテムキャラクタ、図形情報、アイコン等のキャラクタ画像を指示したり、コマンドを選択したりすることができる。また、3次元ゲーム空間に設けられる仮想カメラ(視点)の方向を変化させたり、ゲーム画面(マップ)のスクロール(徐々に移動表示)方向を指示したりすることもできる。
【0045】
なお、ゲームの種類によっては、その他各種の入力指示、たとえばLCD14に表示されたアイコンの選択または操作、座標入力指示等に用いることもできる。
【0046】
このように、ゲーム装置10は、2画面分の表示部となるLCD12およびLCD14を有し、いずれか一方(この実施例では、LCD14)の上面にタッチパネル22が設けられるので、2画面(12,14)と2系統の操作部(20,22)とを有する構成になっている。
【0047】
また、この実施例では、スティック24は、たとえば上側ハウジング16aの側面(右側面)近傍に設けられる収納部(収納穴)26に収納することができ、必要に応じて取り出される。ただし、スティック24を設けない場合には、収納部26を設ける必要もない。
【0048】
さらに、ゲーム装置10はメモリカード(またはカートリッジ)28を含み、このメモリカード28は着脱自在であり、下側ハウジング16bの裏面ないしは下端(底面)に設けられる挿入口30から挿入される。図1では省略するが、挿入口30の奥部には、メモリカード28の挿入方向先端部に設けられるコネクタ(図示せず)と接合するためのコネクタ46(図2参照)が設けられており、したがって、メモリカード28が挿入口30に挿入されると、コネクタ同士が接合され、ゲーム装置10のCPUコア42(図2参照)がメモリカード28にアクセス可能となる。
【0049】
なお、図1では表現できないが、下側ハウジング16bの音抜き孔18と対応する位置であり、この下側ハウジング16bの内部にはスピーカ32(図2参照)が設けられる。
【0050】
また、図1では省略するが、たとえば、下側ハウジング16bの裏面側には、電池収容ボックスが設けられ、また、下側ハウジング16bの底面側には、電源スイッチ、音量スイッチ、外部拡張コネクタおよびイヤフォンジャックなどが設けられる。
【0051】
図2はゲーム装置10の電気的な構成を示すブロック図である。図2を参照して、ゲーム装置10は電子回路基板40を含み、この電子回路基板40にはCPUコア42等の回路コンポーネントが実装される。CPUコア42は、ゲームプロセサに相当し、バス44を介してコネクタ46に接続されるととともに、RAM48、第1のグラフィック処理ユニット(GPU)50、第2のGPU52、入出カインターフエース回路(以下、「I/F回路」という。)54およびLCDコントローラ60が接続される。
【0052】
コネコタ46には、上述したように、メモリカード28が着脱自在に接続される。メモリカード28は、ROM28aおよびRAM28bを含み、図示は省略するが、ROM28aおよびRAM28bは、互いにバスで接続され、さらに、コネクタ46と接合されるコネクタ(図示せず)に接続される。したがって、上述したように、CPUコア42は、ROM28aおよびRAM28bにアクセスすることができるのである。
【0053】
ROM28aは、ゲーム装置10で実行すべきゲーム(仮想ゲーム)のためのゲームプログラム、画像(キャラクタ画像、背景画像、アイテム画像、アイコン(ボタン)画像、メッセージ画像など)データおよびゲームに必要な音(音楽)のデータ(音データ)等を予め記憶する。RAM(バックアップRAM)28bは、そのゲームの途中データやゲームの結果データを記憶(セーブ)する。
【0054】
ただし、ゲーム装置10では、メモリカード28によって決まる内容のゲームをプレイすることができるが、さらには、ゲーム以外の用途での利用も可能である。たとえば、第2のLCD14にキーボードまたはキー図柄を表示し、その上のタッチパネル22にタッチ(操作)してキー図柄を特定することによって、そのキーボードまたはキー図柄によって指定される文字、数字、記号等(まとめて、「文字」ということがある。)を入力する情報処理装置として機能し得る。その場合には、ゲームプログラムに代えて、情報処理用のプログラムがROM28aに格納される。
【0055】
RAM48は、バッファメモリないしはワーキングメモリとして使用される。つまり、CPUコア42は、メモリカード28のROM28aに記憶されたゲームプログラム、画像データおよび音データ等をRAM48にロードし、ロードしたゲームプログラムを実行する。また、CPUコア42は、ゲームの進行に応じて一時的に発生するデータ(ゲームデータやフラグデータ)をRAM48に記憶しつつゲーム処理を実行する。このCPUコア42がゲームプロセサとして機能するものであるが、後述のGPU50,52もプロセサの一部を形成することがある。
【0056】
なお、ゲームプログラム、画像データおよび音データ等は、ROM28aから一度に全部、または部分的かつ順次的に読み出され、RAM48に記憶(ロード)される。
【0057】
ただし、メモリカード28のROM28aには、ゲーム以外の他のアプリケーションについてのプログラムおよび当該アプリケーションの実行に必要な画像データが記憶される。また、必要に応じて、音(音楽)データが記憶されてもよい。かかる場合には、ゲーム装置10では、当該アプリケーションが実行される。
【0058】
GPU50およびGPU52は、それぞれ、描画手段の一部を形成し、たとえばシングルチップASICで構成され、CPUコア42からのグラフィックスコマンド(graphics command :作画命令)を受け、そのグラフィックスコマンドに従って画像データを生成する。ただし、CPUコア42は、グラフィックスコマンドに加えて、画像データの生成に必要な画像生成プログラム(ゲームプログラムに含まれる。)をGPU50およびGPU52のそれぞれに与える。
【0059】
また、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にアクセスして描画のための画像データを作成する。
【0060】
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に出力する。
【0061】
なお、LCDコントローラ60は、VRAM56およびVRAM58から直接画像データを読み出したり、GPU50およびGPU52を介してVRAM56およびVRAM58から画像データを読み出したりする。
【0062】
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から出力する。
【0063】
図3には図2のRAM48のメモリマップが図解される。RAM48には、ROM28aからダウンロードされるプログラムを記憶しておくためのプログラム記憶領域64と、同じくROM28aからダウンロードされるデータを記憶しておくためデータ記憶領域66とが形成される。
【0064】
プログラム記憶領域64には、メイン処理プログラムを記憶しておくメイン処理プログラム記憶領域64a、ゲーム画像やモード選択画面のための画像データを生成するための画像生成プログラムを記憶しておく画像生成プログラム記憶領域64b、上述の画像データに従ってゲーム画像等をLCD12および14で表示させるための画像表示プログラムを記憶しておく画像表示プログラム記憶領域64c、そのゲーム画像等を変化させるための画像変化プログラムを記憶する画像変化プログラム記憶領域64d、タッチパネル22へのタッチオンまたはタッチオフを検出するためのタッチ検出プログラムを記憶しておくタッチ検出プログラム記憶領域64e、タッチ位置検出プログラムを記憶しておくタッチ位置検出プログラム記憶領域64f、および入力処理プログラムを記憶しておく入力処理プログラム記憶領域64gを含む。
【0065】
メイン処理プログラムは、後に図10を参照して詳しく説明するメイン処理動作を制御するためのプログラムである。画像生成プログラムは、図4に示すようなモード選択画面を第2のLCD14上に表示したり、図5や図7に示すゲーム画面を上下のLCD12および14に表示するための画像データを生成するためのプログラムである。画像表示プログラムは、そのような画像データによってモード選択画面やゲーム画面をLCD12および14に表示するためのプログラムである。画像変化プログラムは、ユーザによる入力操作、たとえばスティック24等によるタッチ入力、あるいは操作スイッチ20(20a−20e、20L、20R)による入力操作に応じてゲーム画面に表示されているゲームキャラクタ(オブジェクト)に変化を生ぜしめるためのプログラムである。タッチ検出プログラムは、スティック24等がタッチパネル22にタッチしているかどうか(タッチオン/タッチオフ)を検出するためのプログラムである。タッチ位置検出プログラムは、スティック24等がタッチしたタッチパネル22上の、すなわち第2LCD14上の位置(座標位置)を検出するプログラムである。さらには、入力処理プログラムは、後に図10および図11を参照して説明するスティック24等による入力操作に応じた処理を行うプログラムである。
【0066】
データ記憶領域66の画像データ記憶領域66aには、上述のゲーム画面に表示すべき背景画像やオブジェクト(キャラクタ)画像、さらにはモード選択画面に表示すべき選択ボタンの画像などの画像データを記憶しておく。座標データ記憶領域66bは、スティック24等によってタッチパネル22にタッチした座標位置、つまりポインティングデバイスで指示した座標位置の座標データを一時的に記憶する。距離/角度データ領域66cは、後述の入力処理によって計算した距離(R)や角度(Θ)のデータを一時的に記憶する。右利きフラグ66dは、図4のモード選択画面で右利きが選択されたときセットされる(「1」に設定される)フラグである。入力中フラグ66eは、スティック24等での連続的なタッチ入力中かどうか、つまりポインティングデバイスによる連続的な位置入力中かどうかを示すフラグであり、連続入力中であるときセットされる。
【0067】
ここで、図4を参照して、モード選択画面について説明する。このモード選択画面は、第1のLCD12にではなく、第2のLCD14に表示される。このモード選択画面68では、右利き選択ボタン68aおよび左利き選択ボタン68bを表示し、そのどちらかをタッチパネル22およびスティック24等を用いてユーザに選択させる。つまり、モード選択画面68は、この実施例では右利きモードまたは左利きモードの選択のための画面である。しかしながら、このような利腕による入力モードだけでなく、他の任意の異なる入力モードをユーザに選択させることが考えられ得る。
【0068】
図4のモード選択画面でモード選択を行うためには、ユーザは、スティック24等を、タッチパネル22の、右利きボタン68aまたは左利きボタン68bの位置にタッチさせる。
【0069】
次に、図5−図8を参照して、ゲームの概略を説明する。
【0070】
図5には上述のモード選択画面で右利きモードを選択したときに表示されるゲーム画面の一例が示されている。この実施例で説明するゲームは、レースゲームの一種で、ユーザ操作キャラクタまたはオブジェクト(ユーザが操作可能なキャラクタまたはオブジェクトであって、ユーザキャラクタまたはユーザオブジェクトと呼ばれる。)を含む複数のキャラクタが水泳で競争するゲームを想定している。ただし、具体的なゲームの内容はここで説明する水泳ゲームに限られるものではない。
【0071】
ユーザキャラクタ、図5では「1P」で示されるキャラクタ、を含む6人のゲームキャラクタと、それらのキャラクタが競技をするプール(プールの中の水、コースロープ、スタート台などを含む)を表示する背景画像とを含むゲーム画面の全体が上のLCD12に表示され、ユーザキャラクタ1Pが下のLCD14に表示される。図5は右利きモードが選択されたときのゲーム画面であるので、そのゲーム画面中では、各キャラクタは右方向へ移動する。
【0072】
そして、図6には、タッチパネル22にスティック24等をタッチさせることによりユーザキャラクタ1Pを操作する画面が図解される。下のLCD14に1人だけ表示されているユーザキャラクタ1Pの手1PAの位置でタッチパネル22にスティック24等でタッチし、点線で示す円弧軌跡70Cを描くように右回り(時計方向)にそのスティック24等を移動させることによって時計方向の回転入力を与えると、その回転入力に追随して手1PAが回転するようにユーザキャラクタの画像が変化して表示される。それと同時に、上のLCD12の全体ゲーム画面中のユーザキャラクタ1Pが右側に移動するように変化表示される。スティック24等による回転入力が速ければ速いほど、ユーザキャラクタ1Pの移動速度は速くなり、全体ゲーム画面の右側のゴールに速く到達することになる。つまり、この実施例のゲームは、タッチパネル22へのスティック24等の連続的なタッチでユーザキャラクタの腕または手をできるだけ速く回転させることによって、ユーザキャラクタの移動速度を上げ、他のキャラクタと競争するゲームである。
【0073】
図4のモード選択画面で左利きモードを選択した場合、図7に示すゲーム画面が2つのLCD12および14に表示される。ユーザキャラクタ、図7では「1P’」で示されるキャラクタ、を含む6人のゲームキャラクタと、それらのキャラクタが競技をするプールを表示する背景画像とを含むゲーム画面の全体が上のLCD12に表示され、ユーザキャラクタ1P’が下のLCD14に表示される。左利きモードのゲーム画面であるので、図7のゲーム画面中では、各キャラクタは左方向へ移動する。
【0074】
左利きモードの場合にも、LCD14に1人だけ表示されているユーザキャラクタ1P’の腕1P’Aの位置でタッチパネル22にスティック24等でタッチし、点線で示す円弧軌跡70CCを描くように左回り(反時計方向)にそのスティック24等を移動させることによって時計方向の回転入力を与えると、その回転入力に追随して手1P’Aが回転し、LCD12の全体ゲーム画面中のユーザキャラクタ1P’が左側に移動する。スティック24等による回転入力が速ければ速いほど、ユーザキャラクタ1P’の移動速度は速くなり、LCD12に表示されている全体ゲーム画面の左側のゴールに速く到達することになる。
【0075】
図9−図12を参照して、この実施例のゲーム装置の詳細な動作または操作を説明する。図9に示すメイン処理プログラムは図3のメイン処理プログラム記憶領域64aにロードされているもので、一定周期、たとえばLCD12および14の表示フレーム周期で実行される。
【0076】
詳しく説明すると、まず、図5の最初のステップS1では、CPUコア42は、第2GPU52に命令して、第2LCD14に図4に示すモード選択画面68の画像を表示させる。このとき、GPU52は、図3に示すRAM48のプログラム記憶領域64の画像生成プログラム64bおよび画像表示プログラム64cに従って動作し、データ記憶領域66に記憶されている画像データ66a(右利きボタン68aや左利きボタン68bの画像データ)を用いてモード選択画面68(図4)を表示する。
【0077】
続くステップS3で、CPUコア42は、タッチ検出プログラム64e(図3)を利用して、スティック24等がタッチパネル22にタッチしたかどうか、つまり、タッチオフの状態からタッチオンの状態に変化したかどうか判断する。なお、このメイン処理ルーチンは上述のように一定時間毎に繰り返し実行されるものであり、したがって、このステップS3は、後述のステップS33と同様に、一定時間毎にタッチパネル22へのタッチの有無を検出するタッチ検出手段として機能する。
【0078】
そして、このステップS3でタッチオフからタッチオンへの状態変化を検出したら、次のステップS5において、CPUコア42は、図3のタッチ位置検出プログラム64fに従って、そのときのスティック24等のタッチ位置が、モード選択画面68(図4)の右利きボタン68aの図形または画像の範囲内の位置かどうか判断する。つまり、右利きボタン68aが操作されたかどうか判断する。もし、“YES”であれば、CPUコア42は、続くステップS7において、図3に示す右利きフラグ66dをセットする。
【0079】
続いて、ステップS9で、CPUコア42は、先に説明したように、画像生成プログラム64bや画像表示プログラム64c、画像変化プログラム64dに従って、図5に示すゲーム画面(背景画像とすべてのキャラクタまたはオブジェクト)を表示する。
【0080】
ただし、ステップS5で“NO”を判断したとき、つまり、ステップS6で、モード選択画面68で左利きボタン68bを選択したかどうか判断し、“YES”が判断されれば、次のステップS8で、右利きフラグ66dをリセットする。そして、次のステップS11では、画像生成プログラム64bや画像表示プログラム64c、画像変化プログラム64dに従って、かつ左右反転して、図7に示すゲーム画面を表示する。
【0081】
ステップS9またはS11の後、ステップS13において、CPUコア42は、入力処理ステップを実行する。この入力処理ステップは、詳しくは、図10および図11に示される。
【0082】
図10の最初のステップS31では、CPUコア42は、上画面、すなわち、上のLCD12に表示したゲーム画面内の、ユーザキャラクタ1Pまたは1P’(図5または図7)を除くその他のキャラクタの移動量を各キャラクタ毎にランダムに決定する。
【0083】
そして、続くステップS33で、ステップS3(図9)と同様に、スティック24等のタッチ入力を検出する。そして、ステップS35において、タッチ入力があるかどうか判断する。
【0084】
ステップS35でタッチ入力があると判断したとき、ステップS37で、CPUコア42は、図3の入力中フラグ66eが既にセットされているかどうか、つまり、連続入力中かどうか判断する。
【0085】
ステップS35およびS37でともに“YES”が判断されたときには、続くステップS39で、CPUコア42は、タッチ位置検出プログラムに従ってそのときのタッチ位置の座標を検出し、その入力位置座標を図3の座標/角度データ記憶領域66cに一時記憶する。
【0086】
ステップS39−S55(図11)は、スティック24等による連続タッチ入力が右回り(時計方向)の円弧軌跡70C(図6)を描いているのか、反時計方向の円弧軌跡70CC(図8)を描いているのかを判断するための工程である。つまり、これらのステップS39−S55を実行することによって、CPUコア42は、連続タッチ入力が第1の方向(右回りまたは時計方向)の軌跡を描いたか、その第1の方向とは異なる第2の方向(左回りまたは反時計方向)の軌跡を描いたかを判断する。
【0087】
図12を参照して、図12(A)は第1方向の軌跡を描くように連続入力があったかどうか判断する場合の図解図であり、図12(B)は第2方向の軌跡を描くように連続入力があったかどうか判断する場合の図解図である。
【0088】
図12(A)において、点P1→点P2→点P3→点P4→点P5→点P6の順にタッチ入力があったかどうか判断する。中心Cは腕1PA(図6)の中心位置である。簡単に言うと、P1→P2へタッチ入力した場合、点P2と中心Cとの間の距離Rが規定の範囲に収まっているかを判定する。距離Rが規定範囲内であれば、現時点の入力点P2と中心点Cと前時点の入力P1との成す角度Θを計算する。角度Θが正(右回り)であれば、回転すなわち右回りの円弧軌跡70Cが正しく入力されたと判定する。
【0089】
ただし、角度Θが負(左回り)であれば、図12(B)の左回りの円弧軌跡70CCが正しく入力されたと判定する。
【0090】
図10に戻って、第1方向の軌跡を描くように連続入力があったかのか、第2方向の軌跡を描くように連続入力があったのかを判断するために、先のステップS39で入力座標を座標データ記憶領域66bに保存した後、次のステップS41で、CPUコア42は、その入力座標位置と中心C(図12)との間の距離Rを計算する。コンテンツの距離Rのデータは、図3に示す距離/角度データ記憶領域66cに一旦保持される。そして、ステップS43で、CPUコア42は、計算した距離Rが規定値の範囲にあるかどうか、つまり、規定値から大きく外れていないかどうかを判断する。そして、ステップS43で“YES”が判断されると、次のステップS45において、CPUコア42は、現在の入力位置と中心点Cと前回の入力位置との成す角度Θ(図12)を計算する。現在の入力位置をP2とし、前回の入力位置をP1とするとき、角度Θは、P1−C−P2が作る角度である。ステップS45で角度Θを計算したとき、CPUコア42は、その角度データを図3の座標/角度データ記憶領域66cに一時的に保持される。
【0091】
その後、図11のステップS47に進み、CPUコア42は、右利きフラグ66dがオンかどうか、つまり、先のモード選択画面で右利きボタン68aが選択されたのかどうか判断する。このステップS47で“YES”が判断されると、つまり、右利きモードが選択されていると、次のステップS49において、CPUコア42は、先に計算し領域66cに格納している角度Θの値が正(プラス)であるかどうか判断する。右利きモードが選択されていて、角度データ値が正でないときは、間違った操作であるので、このステップS49で“NO”が判断されたときには、プロセスはそのまま、図9のステップS15にリターンする。
【0092】
ただし、第1の判定手段を構成するステップS47およびS49でともに“YES”が判断されたときには、スティック24等によって正しいタッチ入力操作が行われたことを意味し、この場合には、次のステップS53に進む。
【0093】
なお、ステップS47で“NO”が判断されたときには、つまり、左利きモードが選択されているので、次のステップS51で、角度Θの値が負(マイナス)であるかどうか判断する。左利きモードが選択されていて、角度データ値が負でないときは、間違った操作であるので、このステップS51“NO”が判断されたときには、プロセスはそのまま、図9のステップS15にリターンする。
【0094】
ただし、ステップS47で“NO”が判断されステップS51で“YES”が判断されたときには、スティック24等によって正しいタッチ入力操作が行われたことを意味し、この場合には、次のステップS53に進む。つまり、ステップS47およびS51が第2の判定手段を構成する。
【0095】
ステップS53では、CPUコア42は、下画面、すなわち、LCD14に表示されているゲーム画面において、ユーザキャラクタ1Pまたは1P’(図6または図8)の手ないし腕1PAまたは1P’Aを表示するための座標(手座標)を、ステップS39で保存した現在のタッチパネル入力位置に変更する。これは、手1PAまたは1P’Aを今回の入力位置(図12:P2)に表示させるためである。
【0096】
そして、次のステップS55において、CPUコア42は、上画面、すなわち、LCD12に表示しているゲーム画面(全体ゲーム画面)におけるユーザ操作キャラクタ1Pまたは1P’の移動量を決定する。この移動量は、基本的には、角度Θの関数として決定される。つまり、上で述べたように、タッチパネル22のタッチ位置検出(ステップS33)は一定周期で実行されるのであり、検出した角度Θの値が大きいということは、その一定周期毎のタッチ入力位置の差(たとえば、図12のP2とP1との差)が大きいということであり、そのことは、一定時間内でのスティック24等の移動量(変位量)が大きいということである。換言すれば、円弧軌跡70Cまたは70CCを描くために、スティック24等をタッチパネル22上で素早く回転させたということである。したがって、実施例では、スティック24等のタッチパネル22上での回転速度に比例してユーザキャラクタ1Pまたは1P’の移動量を決定するようにしている。つまり、スティック24等の回転速度を速くすれればするほどユーザキャラクタの移動量(一定周期毎の)を大きくするように設定している。
【0097】
なお、右利きモードのときも左利きモードのときも、ステップS53での手の位置の決め方、およびステップS55でのユーザキャラクタの移動速度の決め方は同じである。したがって、第1モード(右利きモード)で第1方向(時計回り)の軌跡入力があったときでも、第2モード(左利きモード)で第2方向(反時計回り)の軌跡入力があったときも同じステップS53およびS55を実行する。つまり、これらのステップS53およびS55が、第1判定手段の判定結果および第2判定手段の判定結果に拘わらず共通のゲーム処理を実行するゲーム処理手段として機能する。
【0098】
図10のステップS35で“NO”が判断された後には、タッチ入力がないので、入力中フラグ66eをクリアまたはリセットして、図9のステップS15にリターンする。
【0099】
また、図10のステップS37で“NO”が判断されたとき、すなわち、タッチ入力はあったが、そのときには入力中フラグ66eが未だセットされていなかったときには、ステップS59で、CPUコア42は、そのときのタッチ位置が、下画面、すなわち、下のLCD14で表示しているゲーム画面内の、ユーザキャラクタ1Pまたは1P’(図6または図8)の手ないし腕1PAまたは1P’Aの位置かどうか判断する。このステップS59で“YES”が判断されるということは、そのときのスティック24等によるタッチ入力が手1PAまたは1P’Aを回転させるための入力操作であるということであり、その場合には、それ以後の入力操作を連続入力として取り扱うために、次のステップS61で、入力中フラグ66eをセットするとともに、先のステップS39と同様に、そのときの入力座標位置のデータを、座標データ記憶領域66b(図3)に保存する。ただし、このステップS61を通ったということは、そのときの入力操作は連続入力操作の最初の入力操作であるので、ステップS61の後にはそのままステップS15(図9)にリターンする。
【0100】
図9のステップS15では、CPUコア42は、そのとき右利きモードが選択されているのか、左利きモードが選択されているのかを判断するために、右利きフラグ66d(図3)がセットされているかどうか判断する。このステップS15で“NO”ということは、左利きモードが選択されているので、次のステップS17で、CPUコア42は、上画面(LCD12が表示するゲーム画面)におけるすべてのキャラクタの移動量を反転(逆符号化)する。そして、ステップS17で移動量を左右反転した後、またはステップS15で“YES”が判断されたとき、つまり、右利きモードが選択されているときはそのまま、次のステップS19に進む。
【0101】
ステップS19は、ゲーム画面処理手段に相当する。つまり、ステップS15の“YES”の判断に応じて実行されるステップS19は右利きモードのときのゲーム画面表示手段となり、ステップS17を経て実行されるステップS19は左利きモードのときのゲーム画面表示手段となる。
【0102】
そして、ステップS19では、CPUコア42は、ステップS17で反転した移動量またはステップS55で決定した移動量に従って上画面(LCD12の全体ゲーム画面)での全てのキャラクタを移動させるとともに、下画面(LCD14の個別ゲーム画面)において、ユーザキャラクタ1Pまたは1P’の手ないし腕1PAまたは1P’Aを、ステップS53で変更した手座標の位置に表示する。こうして、実施例の水泳競争ゲームでは、スティック24等がタッチパネル22上で連続するたとえば円弧軌跡を描くようにスティック24等を操作することによって、その円運動の速度に比例した移動速度で自分のユーザキャラクタが移動する。
【0103】
そして、最後のステップS21で、LCD12のゲーム画面中のどれかのキャラクタがゴール(右利きモードのときには右、左利きモードのときは左にある。)に到達したかどうか判断する。どれかのキャラクタがゴールインしたのであればゲームオーバであるので、メイン処理は終了するが、そうでなければ、ゴールインするまで、さらに、ステップS13、すなわち図10および図11に示す入力処理ステップ以降を繰り返し実行する。
【0104】
上の実施例では、連続的な位置入力による軌跡を円弧軌跡とし、スティック24等でその円弧軌跡70Cまたは70CCが描けたかどうかを判断し、その結果に応じてゲームを進行させるようにした。しかしながら、このような連続位置入力による軌跡としては、円弧または円以外に、さらに、図13のような斜線なども考えられる。
【0105】
図13(A)の例では、たとえば、前回入力位置P1から今回入力位置P2へのX軸方向およびY軸方向の各軸増分値を計算し、それらが所定の誤差範囲に入っていれば、右上がりの斜線72RUが描けたものと判断する。これに対して、図13(B)の例では、X増分値が負(−)になる点以外は図13(A)の例と同じようにして、前回入力位置P1から今回入力位置P2へのX軸方向およびY軸方向の各軸増分値を計算し、それらが所定の誤差範囲に入っていれば、左上がりの斜線72LUが描けたものと判断する。
【0106】
さらに、図示しないが、連続位置入力による軌跡の形状は任意に変更可能である。
【0107】
なお、上述の実施例ではポインティングデバイスの一例として表示器に設けたタツッチパネルを利用した。しかしながら、マウスのようなポインティングデバイスを用いても連続的に入力操作ができるので、この発明はこのような場合にも適用できる。
【図面の簡単な説明】
【0108】
【図1】図1はこの発明のゲーム装置の一例を示す図解図である。
【図2】図2は図1に示すゲーム装置の電気的な構成を示すブロック図である。
【図3】図3は図2に示すゲーム装置に設けられるRAMのメモリマップの一例を示す図解図である。
【図4】図4は図1に示すゲーム装置の第2のLCDに表示されるモード選択画面の一例を示す図解図である。
【図5】図5は右利きモードでの2つのLCDによるゲーム画面の表示例を示す図解図である。
【図6】図6は右利きモードのときのユーザキャラクタの手と、連続タッチ入力の円弧軌跡との関係を示す図解図である。
【図7】図7は左利きモードでの2つのLCDによるゲーム画面の表示例を示す図解図である。
【図8】図8は左利きモードのときのユーザキャラクタの手と、連続タッチ入力の円弧軌跡との関係を示す図解図である。
【図9】図9は図2に示すCPUコアによるメイン処理動作を示すフロー図である。
【図10】図10は入力処理ステップを詳細に示すフロー図である。
【図11】図11は入力処理ステップの図10に後続する部分を示すフロー図である。
【図12】図12は連続入力による円弧軌跡の判別方法を示す図解図である。
【図13】図13は連続入力による斜線軌跡の例を示す図解図である。
【符号の説明】
【0109】
10 …ゲーム装置
12,14 …LCD
22 …タッチパネル
24 …スティック
42 …CPUコア
48 …RAM
68 …モード選択画面
68a …右利きモード選択ボタン
68b …左利きモード選択ボタン
1P,1P’ …ユーザキャラクタ
【技術分野】
【0001】
この発明はゲーム装置およびゲームプログラムに関し、特にたとえばタッチパネルやマウスなどのポインティングデバイスを用いてゲーム画面内の異なる位置を連続的に指定して軌跡を形成することによってキャラクタを操作する、ゲーム装置およびそれのためのゲームプログラムに関する。
【背景技術】
【0002】
タッチパネル画面を備えた情報処理装置の一例が特許文献1に開示されている。特許文献1の従来技術では、ユーザがタッチパネル画面上で最初に指示した指示位置が右寄りの場合は、次の入力エリアを画面の右寄りに表示し、左寄りの場合は次の入力エリアを画面の左寄りに表示する。したがって、ユーザの利腕に応じて操作し易い操作画面を表示することができる。
【0003】
また、ゲーム画面にタッチパネルを設け、ゲーム画面に直接作用することができる電子ゲームの一例が、特許文献2に開示されている。特許文献2の従来技術では、たとえば連続して入力されたタッチ軌跡に応じて所定の処理が実行される。
【特許文献1】特開平6−208671号[G07D 9/00 G06F 3/14 15/30]
【特許文献2】特開2002−939号[A63F 13/00 G06F 3/033]
【発明の開示】
【発明が解決しようとする課題】
【0004】
特許文献1では、画面の左寄りまたは右寄りに入力選択エリアを表示するだけであるので、簡単な操作で処理が実行できるたとえば現金自動取引装置などでは利用可能であるが、特許文献2のような電子ゲームに利用するには問題がある。
【0005】
すなわち、特許文献2では、軌跡がたとえば直線になるように連続したタッチ入力があるときクラブをスイングしたとしてゴルフゲームを進行させるが、このようにタッチ入力の軌跡に応じて処理を実行する場合には、特許文献1のように単に入力領域を左右どちらかに配置するだけでは、必ずしも入力し易くなる訳ではない。
【0006】
たとえば、右回り(時計方向)に円や弧を描くように連続的にタッチ入力したときゲーム処理が実行されるとすれば、右利きのユーザには何の問題もなくゲームを進行させることができるが、左利きのユーザにとっては、その方向で円や弧を描くように連続的にタッチ入力することは、かなり難しい。したがって、ゲームのような複雑な入力操作が必要な場合に、特許文献1のような単なる左右の配置の変更だけでは、ユーザの利腕の違いによる入力のし易さを必ずしも確保することはできない。
【0007】
したがって、ゲームの種類によっては、たとえば右利きや左利きの違いによる有利、不利ができるのを避けられなかった。
【0008】
それゆえに、この発明の主たる目的は、新規な、ゲーム装置およびゲームプログラムを提供することである。
【0009】
この発明の他の目的は、ポインティングデバイスの連続入力操作に応じて軌跡を描かせるゲームを実行する場合に、ユーザの利腕によって入力操作をし易いように変更できる、ゲーム装置およびゲームプログラムを提供することである。
【課題を解決するための手段】
【0010】
請求項1の発明は、ゲーム画面を表示するための表示器を備え、ゲーム画面内の異なる位置を連続的に指示することによって軌跡を描くのにポインティングデバイスを用いるゲーム装置であって、第1の入力モードまたは第2の入力モードを選択させるための選択画面を表示器に表示させる選択画面表示手段、第1の入力モードが選択されたときポインティングデバイスによって第1の方向へ延びる軌跡が描かれたことを判定する第1判定手段、第2の入力モードが選択されたときポインティングデバイスによって第1の方向とは異なる第2の方向へ延びる軌跡が描かれたことを判定する第2判定手段、および第1判定手段の判定結果および第2判定手段の判定結果に応じて共通のゲーム処理を実行するゲーム処理手段を備える、ゲーム装置である。
【0011】
請求項1の発明では、ゲーム装置(10:実施例で相当する要素を示す参照符号。以下同様。)は、表示器(14)を含み、ポインティングデバイスとして、たとえばその表示器の上に設けられるタッチパネル(22)を含む。ゲームプロセサすなわちCPUコア(42)およびそれが実行するステップS1が選択画面表示手段として機能し、この選択画面表示手段(42,S1)では、その表示器に、第1の入力モードまたは第2の入力モードをユーザに選択させるためのモード選択画面を表示する。
【0012】
CPUコア(42)およびそれが実行するステップS49が第1判定手段を構成し、CPUコア(42)およびそれが実行するステップS51が第2判定手段を構成する。第1判定手段では、ユーザが第1の入力モードを選択しているときに、ポインティングデバイスによって第1の方向へ延びる軌跡が描かれたことを判定する。第2判定手段は、ユーザが第2の入力モードを選択しているときに、ポインティングデバイスによって第1の方向とは異なる第2の方向へ延びる軌跡が描かれたことを判定する。
【0013】
ゲーム処理手段は、たとえばCPUコア(42)とそれが実行するステップS53およびS55であり、第1判定手段による判定結果が得られても、第2判定手段による判定結果が得られても、共通のゲーム処理を実行する。
【0014】
したがって、請求項1の発明によれば、第1の入力モードが選択されても、第2の入力モードが選択されても、同じまたは共通のゲーム処理が実行される。したがって、入力をし易すくするために入力モードを変更しても、同じゲームがプレイできる。
【0015】
請求項2の発明は、第1の入力モードが選択されたとき第1のゲーム画面を表示器に表示し、第2の入力モードが選択されたとき第2のゲーム画面を表示器に表示するゲーム画面表示手段をさらに備える、請求項1記載のゲーム装置である。
【0016】
請求項2の発明では、たとえば、CPUコア(42)が、ステップS19を実行することによって、第1のゲーム画面を表示器(12,14)に表示し、ステップS17およびS19を実行することによって、第2のゲーム画面を表示する。したがって、第1の入力モードまたは第2の入力モードに応じて、最適のゲーム画面が表示できる。
【0017】
請求項3の発明は、第1の入力モードは右利き入力モードであり、第2の入力モードは左利き入力モードである、請求項1または2記載のゲーム装置である。
【0018】
請求項3の発明では、選択画面表示手段によってユーザに右利き入力モードまたは左利き入力モードを選択させる。したがって、同じゲームで、右利きのユーザに対しても左利きのユーザに対しても入力操作がし易い入力モードを設定できる。
【0019】
請求項4の発明は、第1の方向へ延びる軌跡は右回りの円弧軌跡であり、第2の方向へ延びる軌跡は左回りの円弧軌跡である、請求項3記載のゲーム装置である。
【0020】
請求項4の発明によれば、右利きのユーザは右回りの円弧軌跡を描けばよいし、左利きのユーザは左回りの円弧軌跡を描けばよいので、円弧軌跡を描かせる場合でも、利腕に左右されず、同等の難易度をユーザに与えることができる。
【0021】
請求項5の発明は、ポインティングデバイスは表示器に設けられたタッチパネルを含む、請求項1ないし4のいずれかに記載のゲーム装置である。
【0022】
請求項5の発明では、ユーザはたとえばスティック(24)を用いてタッチパネル(22)にタッチ入力することによって、連続的な位置指定が行える。
【0023】
請求項6の発明は、ゲーム画面を表示するための表示器を備え、ゲーム画面内の異なる位置を連続的に指示することによって軌跡を描くのにポインティングデバイスを用いるゲーム装置のゲプログラムであってゲームプロセサに、第1の入力モードまたは第2の入力モードを選択させるための選択画面を表示器に表示させる選択画面表示ステップ、第1の入力モードが選択されたときポインティングデバイスによって第1の方向へ延びる軌跡が描かれたことを判定する第1判定ステップ、第2の入力モードが選択されたときポインティングデバイスによって第1の方向とは異なる第2の方向へ延びる軌跡が描かれたことを判定する第2判定ステップ、および第1判定ステップの判定結果および第2判定ステップの判定結果に応じて共通のゲーム処理ステップを実行させる、ゲームプログラムである。
【0024】
請求項6の発明は、請求項1の発明と同様である。
【0025】
請求項7の発明は、第1の入力モードが選択されたとき第1のゲーム画面を表示器に表示し、第2の入力モードが選択されたとき第2のゲーム画面を表示器に表示するゲーム画面表示ステップをさらにゲームプロセサに実行させる、請求項6記載のゲームプログラムである。
【0026】
請求項7の発明は請求項2の発明と同様である。
【0027】
請求項8の発明は、第1の入力モードは右利き入力モードであり、第2の入力モードは左利き入力モードである、請求項6または7記載のゲームプログラムである。
【0028】
請求項8の発明は請求項3の発明と同様である。
【0029】
請求項9の発明は、第1の方向へ延びる軌跡は右回りの円弧軌跡であり、第2の方向へ延びる軌跡は左回りの円弧軌跡である、請求項8記載のゲームプログラムである。
【0030】
請求項9の発明は請求項4の発明と同様である。
【発明の効果】
【0031】
この発明によれば、ユーザが入力し易い入力モードを選択したとき、ポインティングデバイスでの軌跡入力条件も変更されるため、比較的複雑な連続的な位置指定操作が必要なゲーム装置においても、たとえば右利きや左利きの違いによる有利、不利を解消することができる。
【0032】
この発明の上述の目的,その他の目的,特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【発明を実施するための最良の形態】
【0033】
図1を参照して、この発明の実施例であるゲーム装置10は、第1の液晶表示器(LCD)12および第2のLCD14を含む。このLCD12およびLCD14は、所定の配置位置となるようにハウジング16に収納される。この実施例では、ハウジング16は、上側ハウジング16aと下側ハウジング16bとによって構成され、LCD12は上側ハウジング16aに収納され、LCD14は下側ハウジング16bに収納される。したがって、LCD12とLCD14とは縦(上下)に並ぶように近接して配置される。
【0034】
なお、この実施例では、表示器としてLCDを用いるようにしてあるが、LCDに代えて、EL(Electronic Luminescence)ディスプレイやプラズマディスプレイを用いるようにしてもよい。
【0035】
図1からも分かるように、上側ハウジング16aは、LCD12の平面形状よりも少し大きな平面形状を有し、一方主面からLCD12の表示面を露出するように開口部が形成される。一方、下側ハウジング16bは、その平面形状が上側ハウジング16aよりも横長に選ばれ、横方向の略中央部にLCD14の表示面を露出するように開口部が形成される。また、下側ハウジング16bには、音抜き孔18が形成されるとともに、操作スイッチ20(20a,20b,20c,20d,20e,20Lおよび20R)が設けられる。
【0036】
また、上側ハウジング16aと下側ハウジング16bとは、上側ハウジング16aの下辺(下端)と下側ハウジング16bの上辺(上端)の一部とが回動可能に連結されている。したがって、たとえば、ゲームをプレイしない場合には、LCD12の表示面とLCD14の表示面とが対面するように、上側ハウジング16aを回動させて折り畳んでおけば、LCD12の表示面およびLCD14の表示面に傷がつくなどの破損を防止することができる。ただし、上側ハウジング16aと下側ハウジング16bとは、回動可能に連結せずに、それらを一体的(固定的)に設けたハウジング16を形成するようにしてもよい。
【0037】
操作スイッチ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との連結部以外に当該連結部を挟むように、左右に配置される。
【0038】
方向指示スイッチ20aは、ディジタルジョイスティックとして機能し、4つの押圧部の1つを操作することによって、ユーザによって操作可能なユーザキャラクタ(またはユーザオブジェクト)の移動方向を指示したり、カーソルの移動方向を指示したりする等に用いられる。スタートスイッチ20bは、プッシュボタンで構成され、ゲームを開始(再開)したり、一時停止(Pause)したりする等に用いられる。セレクトスイッチ20cは、プッシュボタンで構成され、ゲームモードの選択等に用いられる。
【0039】
動作スイッチ20dすなわちAボタンは、プッシュボタンで構成され、方向指示以外の動作、すなわち、ユーザキャラクタに打つ(パンチ)、投げる、つかむ(取得)、乗る、ジャンプするなどの任意のアクションをさせることができる。たとえば、アクションゲームにおいては、ジャンプ、パンチ、武器を動かす等を指示することができる。また、ロールプレイングゲーム(RPG)やシミュレーションRPGにおいては、アイテムの取得、武器やコマンドの選択および決定等を指示することができる。動作スイッチ20eすなわちBボタンは、プッシュボタンで構成され、セレクトスイッチ20cで選択したゲームモードの変更やAボタン20dで決定したアクションの取り消し等のために用いられる。
【0040】
動作スイッチ20L(左押しボタン)および動作スイッチ20R(右押しボタン)は、プッシュボタンで構成され、左押しボタン(Lボタン)20Lおよび右押しボタン(Rボタン)20Rは、Aボタン20dおよびBボタン20eと同様の操作に用いることができ、また、Aボタン20dおよびBボタン20eの補助的な操作に用いることができる。
【0041】
また、LCD14の上面には、タッチパネル22が装着される。タッチパネル22としては、たとえば、抵抗膜方式、光学式(赤外線方式)および静電容量結合式のいずれかの種類のものを用いることができる。また、タッチパネル22は、その上面をスティック24ないしはペン(スタイラスペン)或いは指(以下、これらを「スティック24等」という場合がある。)で、押圧したり、撫でたり、触れたり(以下、単に「押圧する」という。)することにより操作すると、スティック24等の操作位置の座標を検出して、検出した座標(検出座標)に対応する座標データを出力する。なお、ユーザがスティック24等でタッチパネル22にタッチすることを「タッチオン」と呼び、そのスティック24等をタッチパネル22からの離すことを「タッチオフ」と呼ぶ。
【0042】
なお、この実施例では、LCD14(LCD12も同じ、または略同じ。)の表示面の解像度は256dot×192ドットであり、タッチパネル22の検出精度も表示画面に対応して256dot×192ドットとしてあるが、タッチパネル22の検出精度は表示画面の解像度よりも低くてもよく、高くてもよい。
【0043】
ゲームをプレイする場合には、LCD12およびLCD14には異なるゲーム画面が表示される。たとえば、競争ゲームでは一方のLCDたとえば12に全体画面を表示し、他方のLCDたとえば14にユーザが操作可能なキャラクタ(ユーザキャラクタ)を表示する。
【0044】
そして、ユーザはスティック24等でタッチパネル22を操作することにより、LCD14の画面に表示されるユーザキャラクタ、敵キャラクタ、アイテムキャラクタ、図形情報、アイコン等のキャラクタ画像を指示したり、コマンドを選択したりすることができる。また、3次元ゲーム空間に設けられる仮想カメラ(視点)の方向を変化させたり、ゲーム画面(マップ)のスクロール(徐々に移動表示)方向を指示したりすることもできる。
【0045】
なお、ゲームの種類によっては、その他各種の入力指示、たとえばLCD14に表示されたアイコンの選択または操作、座標入力指示等に用いることもできる。
【0046】
このように、ゲーム装置10は、2画面分の表示部となるLCD12およびLCD14を有し、いずれか一方(この実施例では、LCD14)の上面にタッチパネル22が設けられるので、2画面(12,14)と2系統の操作部(20,22)とを有する構成になっている。
【0047】
また、この実施例では、スティック24は、たとえば上側ハウジング16aの側面(右側面)近傍に設けられる収納部(収納穴)26に収納することができ、必要に応じて取り出される。ただし、スティック24を設けない場合には、収納部26を設ける必要もない。
【0048】
さらに、ゲーム装置10はメモリカード(またはカートリッジ)28を含み、このメモリカード28は着脱自在であり、下側ハウジング16bの裏面ないしは下端(底面)に設けられる挿入口30から挿入される。図1では省略するが、挿入口30の奥部には、メモリカード28の挿入方向先端部に設けられるコネクタ(図示せず)と接合するためのコネクタ46(図2参照)が設けられており、したがって、メモリカード28が挿入口30に挿入されると、コネクタ同士が接合され、ゲーム装置10のCPUコア42(図2参照)がメモリカード28にアクセス可能となる。
【0049】
なお、図1では表現できないが、下側ハウジング16bの音抜き孔18と対応する位置であり、この下側ハウジング16bの内部にはスピーカ32(図2参照)が設けられる。
【0050】
また、図1では省略するが、たとえば、下側ハウジング16bの裏面側には、電池収容ボックスが設けられ、また、下側ハウジング16bの底面側には、電源スイッチ、音量スイッチ、外部拡張コネクタおよびイヤフォンジャックなどが設けられる。
【0051】
図2はゲーム装置10の電気的な構成を示すブロック図である。図2を参照して、ゲーム装置10は電子回路基板40を含み、この電子回路基板40にはCPUコア42等の回路コンポーネントが実装される。CPUコア42は、ゲームプロセサに相当し、バス44を介してコネクタ46に接続されるととともに、RAM48、第1のグラフィック処理ユニット(GPU)50、第2のGPU52、入出カインターフエース回路(以下、「I/F回路」という。)54およびLCDコントローラ60が接続される。
【0052】
コネコタ46には、上述したように、メモリカード28が着脱自在に接続される。メモリカード28は、ROM28aおよびRAM28bを含み、図示は省略するが、ROM28aおよびRAM28bは、互いにバスで接続され、さらに、コネクタ46と接合されるコネクタ(図示せず)に接続される。したがって、上述したように、CPUコア42は、ROM28aおよびRAM28bにアクセスすることができるのである。
【0053】
ROM28aは、ゲーム装置10で実行すべきゲーム(仮想ゲーム)のためのゲームプログラム、画像(キャラクタ画像、背景画像、アイテム画像、アイコン(ボタン)画像、メッセージ画像など)データおよびゲームに必要な音(音楽)のデータ(音データ)等を予め記憶する。RAM(バックアップRAM)28bは、そのゲームの途中データやゲームの結果データを記憶(セーブ)する。
【0054】
ただし、ゲーム装置10では、メモリカード28によって決まる内容のゲームをプレイすることができるが、さらには、ゲーム以外の用途での利用も可能である。たとえば、第2のLCD14にキーボードまたはキー図柄を表示し、その上のタッチパネル22にタッチ(操作)してキー図柄を特定することによって、そのキーボードまたはキー図柄によって指定される文字、数字、記号等(まとめて、「文字」ということがある。)を入力する情報処理装置として機能し得る。その場合には、ゲームプログラムに代えて、情報処理用のプログラムがROM28aに格納される。
【0055】
RAM48は、バッファメモリないしはワーキングメモリとして使用される。つまり、CPUコア42は、メモリカード28のROM28aに記憶されたゲームプログラム、画像データおよび音データ等をRAM48にロードし、ロードしたゲームプログラムを実行する。また、CPUコア42は、ゲームの進行に応じて一時的に発生するデータ(ゲームデータやフラグデータ)をRAM48に記憶しつつゲーム処理を実行する。このCPUコア42がゲームプロセサとして機能するものであるが、後述のGPU50,52もプロセサの一部を形成することがある。
【0056】
なお、ゲームプログラム、画像データおよび音データ等は、ROM28aから一度に全部、または部分的かつ順次的に読み出され、RAM48に記憶(ロード)される。
【0057】
ただし、メモリカード28のROM28aには、ゲーム以外の他のアプリケーションについてのプログラムおよび当該アプリケーションの実行に必要な画像データが記憶される。また、必要に応じて、音(音楽)データが記憶されてもよい。かかる場合には、ゲーム装置10では、当該アプリケーションが実行される。
【0058】
GPU50およびGPU52は、それぞれ、描画手段の一部を形成し、たとえばシングルチップASICで構成され、CPUコア42からのグラフィックスコマンド(graphics command :作画命令)を受け、そのグラフィックスコマンドに従って画像データを生成する。ただし、CPUコア42は、グラフィックスコマンドに加えて、画像データの生成に必要な画像生成プログラム(ゲームプログラムに含まれる。)をGPU50およびGPU52のそれぞれに与える。
【0059】
また、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にアクセスして描画のための画像データを作成する。
【0060】
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に出力する。
【0061】
なお、LCDコントローラ60は、VRAM56およびVRAM58から直接画像データを読み出したり、GPU50およびGPU52を介してVRAM56およびVRAM58から画像データを読み出したりする。
【0062】
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から出力する。
【0063】
図3には図2のRAM48のメモリマップが図解される。RAM48には、ROM28aからダウンロードされるプログラムを記憶しておくためのプログラム記憶領域64と、同じくROM28aからダウンロードされるデータを記憶しておくためデータ記憶領域66とが形成される。
【0064】
プログラム記憶領域64には、メイン処理プログラムを記憶しておくメイン処理プログラム記憶領域64a、ゲーム画像やモード選択画面のための画像データを生成するための画像生成プログラムを記憶しておく画像生成プログラム記憶領域64b、上述の画像データに従ってゲーム画像等をLCD12および14で表示させるための画像表示プログラムを記憶しておく画像表示プログラム記憶領域64c、そのゲーム画像等を変化させるための画像変化プログラムを記憶する画像変化プログラム記憶領域64d、タッチパネル22へのタッチオンまたはタッチオフを検出するためのタッチ検出プログラムを記憶しておくタッチ検出プログラム記憶領域64e、タッチ位置検出プログラムを記憶しておくタッチ位置検出プログラム記憶領域64f、および入力処理プログラムを記憶しておく入力処理プログラム記憶領域64gを含む。
【0065】
メイン処理プログラムは、後に図10を参照して詳しく説明するメイン処理動作を制御するためのプログラムである。画像生成プログラムは、図4に示すようなモード選択画面を第2のLCD14上に表示したり、図5や図7に示すゲーム画面を上下のLCD12および14に表示するための画像データを生成するためのプログラムである。画像表示プログラムは、そのような画像データによってモード選択画面やゲーム画面をLCD12および14に表示するためのプログラムである。画像変化プログラムは、ユーザによる入力操作、たとえばスティック24等によるタッチ入力、あるいは操作スイッチ20(20a−20e、20L、20R)による入力操作に応じてゲーム画面に表示されているゲームキャラクタ(オブジェクト)に変化を生ぜしめるためのプログラムである。タッチ検出プログラムは、スティック24等がタッチパネル22にタッチしているかどうか(タッチオン/タッチオフ)を検出するためのプログラムである。タッチ位置検出プログラムは、スティック24等がタッチしたタッチパネル22上の、すなわち第2LCD14上の位置(座標位置)を検出するプログラムである。さらには、入力処理プログラムは、後に図10および図11を参照して説明するスティック24等による入力操作に応じた処理を行うプログラムである。
【0066】
データ記憶領域66の画像データ記憶領域66aには、上述のゲーム画面に表示すべき背景画像やオブジェクト(キャラクタ)画像、さらにはモード選択画面に表示すべき選択ボタンの画像などの画像データを記憶しておく。座標データ記憶領域66bは、スティック24等によってタッチパネル22にタッチした座標位置、つまりポインティングデバイスで指示した座標位置の座標データを一時的に記憶する。距離/角度データ領域66cは、後述の入力処理によって計算した距離(R)や角度(Θ)のデータを一時的に記憶する。右利きフラグ66dは、図4のモード選択画面で右利きが選択されたときセットされる(「1」に設定される)フラグである。入力中フラグ66eは、スティック24等での連続的なタッチ入力中かどうか、つまりポインティングデバイスによる連続的な位置入力中かどうかを示すフラグであり、連続入力中であるときセットされる。
【0067】
ここで、図4を参照して、モード選択画面について説明する。このモード選択画面は、第1のLCD12にではなく、第2のLCD14に表示される。このモード選択画面68では、右利き選択ボタン68aおよび左利き選択ボタン68bを表示し、そのどちらかをタッチパネル22およびスティック24等を用いてユーザに選択させる。つまり、モード選択画面68は、この実施例では右利きモードまたは左利きモードの選択のための画面である。しかしながら、このような利腕による入力モードだけでなく、他の任意の異なる入力モードをユーザに選択させることが考えられ得る。
【0068】
図4のモード選択画面でモード選択を行うためには、ユーザは、スティック24等を、タッチパネル22の、右利きボタン68aまたは左利きボタン68bの位置にタッチさせる。
【0069】
次に、図5−図8を参照して、ゲームの概略を説明する。
【0070】
図5には上述のモード選択画面で右利きモードを選択したときに表示されるゲーム画面の一例が示されている。この実施例で説明するゲームは、レースゲームの一種で、ユーザ操作キャラクタまたはオブジェクト(ユーザが操作可能なキャラクタまたはオブジェクトであって、ユーザキャラクタまたはユーザオブジェクトと呼ばれる。)を含む複数のキャラクタが水泳で競争するゲームを想定している。ただし、具体的なゲームの内容はここで説明する水泳ゲームに限られるものではない。
【0071】
ユーザキャラクタ、図5では「1P」で示されるキャラクタ、を含む6人のゲームキャラクタと、それらのキャラクタが競技をするプール(プールの中の水、コースロープ、スタート台などを含む)を表示する背景画像とを含むゲーム画面の全体が上のLCD12に表示され、ユーザキャラクタ1Pが下のLCD14に表示される。図5は右利きモードが選択されたときのゲーム画面であるので、そのゲーム画面中では、各キャラクタは右方向へ移動する。
【0072】
そして、図6には、タッチパネル22にスティック24等をタッチさせることによりユーザキャラクタ1Pを操作する画面が図解される。下のLCD14に1人だけ表示されているユーザキャラクタ1Pの手1PAの位置でタッチパネル22にスティック24等でタッチし、点線で示す円弧軌跡70Cを描くように右回り(時計方向)にそのスティック24等を移動させることによって時計方向の回転入力を与えると、その回転入力に追随して手1PAが回転するようにユーザキャラクタの画像が変化して表示される。それと同時に、上のLCD12の全体ゲーム画面中のユーザキャラクタ1Pが右側に移動するように変化表示される。スティック24等による回転入力が速ければ速いほど、ユーザキャラクタ1Pの移動速度は速くなり、全体ゲーム画面の右側のゴールに速く到達することになる。つまり、この実施例のゲームは、タッチパネル22へのスティック24等の連続的なタッチでユーザキャラクタの腕または手をできるだけ速く回転させることによって、ユーザキャラクタの移動速度を上げ、他のキャラクタと競争するゲームである。
【0073】
図4のモード選択画面で左利きモードを選択した場合、図7に示すゲーム画面が2つのLCD12および14に表示される。ユーザキャラクタ、図7では「1P’」で示されるキャラクタ、を含む6人のゲームキャラクタと、それらのキャラクタが競技をするプールを表示する背景画像とを含むゲーム画面の全体が上のLCD12に表示され、ユーザキャラクタ1P’が下のLCD14に表示される。左利きモードのゲーム画面であるので、図7のゲーム画面中では、各キャラクタは左方向へ移動する。
【0074】
左利きモードの場合にも、LCD14に1人だけ表示されているユーザキャラクタ1P’の腕1P’Aの位置でタッチパネル22にスティック24等でタッチし、点線で示す円弧軌跡70CCを描くように左回り(反時計方向)にそのスティック24等を移動させることによって時計方向の回転入力を与えると、その回転入力に追随して手1P’Aが回転し、LCD12の全体ゲーム画面中のユーザキャラクタ1P’が左側に移動する。スティック24等による回転入力が速ければ速いほど、ユーザキャラクタ1P’の移動速度は速くなり、LCD12に表示されている全体ゲーム画面の左側のゴールに速く到達することになる。
【0075】
図9−図12を参照して、この実施例のゲーム装置の詳細な動作または操作を説明する。図9に示すメイン処理プログラムは図3のメイン処理プログラム記憶領域64aにロードされているもので、一定周期、たとえばLCD12および14の表示フレーム周期で実行される。
【0076】
詳しく説明すると、まず、図5の最初のステップS1では、CPUコア42は、第2GPU52に命令して、第2LCD14に図4に示すモード選択画面68の画像を表示させる。このとき、GPU52は、図3に示すRAM48のプログラム記憶領域64の画像生成プログラム64bおよび画像表示プログラム64cに従って動作し、データ記憶領域66に記憶されている画像データ66a(右利きボタン68aや左利きボタン68bの画像データ)を用いてモード選択画面68(図4)を表示する。
【0077】
続くステップS3で、CPUコア42は、タッチ検出プログラム64e(図3)を利用して、スティック24等がタッチパネル22にタッチしたかどうか、つまり、タッチオフの状態からタッチオンの状態に変化したかどうか判断する。なお、このメイン処理ルーチンは上述のように一定時間毎に繰り返し実行されるものであり、したがって、このステップS3は、後述のステップS33と同様に、一定時間毎にタッチパネル22へのタッチの有無を検出するタッチ検出手段として機能する。
【0078】
そして、このステップS3でタッチオフからタッチオンへの状態変化を検出したら、次のステップS5において、CPUコア42は、図3のタッチ位置検出プログラム64fに従って、そのときのスティック24等のタッチ位置が、モード選択画面68(図4)の右利きボタン68aの図形または画像の範囲内の位置かどうか判断する。つまり、右利きボタン68aが操作されたかどうか判断する。もし、“YES”であれば、CPUコア42は、続くステップS7において、図3に示す右利きフラグ66dをセットする。
【0079】
続いて、ステップS9で、CPUコア42は、先に説明したように、画像生成プログラム64bや画像表示プログラム64c、画像変化プログラム64dに従って、図5に示すゲーム画面(背景画像とすべてのキャラクタまたはオブジェクト)を表示する。
【0080】
ただし、ステップS5で“NO”を判断したとき、つまり、ステップS6で、モード選択画面68で左利きボタン68bを選択したかどうか判断し、“YES”が判断されれば、次のステップS8で、右利きフラグ66dをリセットする。そして、次のステップS11では、画像生成プログラム64bや画像表示プログラム64c、画像変化プログラム64dに従って、かつ左右反転して、図7に示すゲーム画面を表示する。
【0081】
ステップS9またはS11の後、ステップS13において、CPUコア42は、入力処理ステップを実行する。この入力処理ステップは、詳しくは、図10および図11に示される。
【0082】
図10の最初のステップS31では、CPUコア42は、上画面、すなわち、上のLCD12に表示したゲーム画面内の、ユーザキャラクタ1Pまたは1P’(図5または図7)を除くその他のキャラクタの移動量を各キャラクタ毎にランダムに決定する。
【0083】
そして、続くステップS33で、ステップS3(図9)と同様に、スティック24等のタッチ入力を検出する。そして、ステップS35において、タッチ入力があるかどうか判断する。
【0084】
ステップS35でタッチ入力があると判断したとき、ステップS37で、CPUコア42は、図3の入力中フラグ66eが既にセットされているかどうか、つまり、連続入力中かどうか判断する。
【0085】
ステップS35およびS37でともに“YES”が判断されたときには、続くステップS39で、CPUコア42は、タッチ位置検出プログラムに従ってそのときのタッチ位置の座標を検出し、その入力位置座標を図3の座標/角度データ記憶領域66cに一時記憶する。
【0086】
ステップS39−S55(図11)は、スティック24等による連続タッチ入力が右回り(時計方向)の円弧軌跡70C(図6)を描いているのか、反時計方向の円弧軌跡70CC(図8)を描いているのかを判断するための工程である。つまり、これらのステップS39−S55を実行することによって、CPUコア42は、連続タッチ入力が第1の方向(右回りまたは時計方向)の軌跡を描いたか、その第1の方向とは異なる第2の方向(左回りまたは反時計方向)の軌跡を描いたかを判断する。
【0087】
図12を参照して、図12(A)は第1方向の軌跡を描くように連続入力があったかどうか判断する場合の図解図であり、図12(B)は第2方向の軌跡を描くように連続入力があったかどうか判断する場合の図解図である。
【0088】
図12(A)において、点P1→点P2→点P3→点P4→点P5→点P6の順にタッチ入力があったかどうか判断する。中心Cは腕1PA(図6)の中心位置である。簡単に言うと、P1→P2へタッチ入力した場合、点P2と中心Cとの間の距離Rが規定の範囲に収まっているかを判定する。距離Rが規定範囲内であれば、現時点の入力点P2と中心点Cと前時点の入力P1との成す角度Θを計算する。角度Θが正(右回り)であれば、回転すなわち右回りの円弧軌跡70Cが正しく入力されたと判定する。
【0089】
ただし、角度Θが負(左回り)であれば、図12(B)の左回りの円弧軌跡70CCが正しく入力されたと判定する。
【0090】
図10に戻って、第1方向の軌跡を描くように連続入力があったかのか、第2方向の軌跡を描くように連続入力があったのかを判断するために、先のステップS39で入力座標を座標データ記憶領域66bに保存した後、次のステップS41で、CPUコア42は、その入力座標位置と中心C(図12)との間の距離Rを計算する。コンテンツの距離Rのデータは、図3に示す距離/角度データ記憶領域66cに一旦保持される。そして、ステップS43で、CPUコア42は、計算した距離Rが規定値の範囲にあるかどうか、つまり、規定値から大きく外れていないかどうかを判断する。そして、ステップS43で“YES”が判断されると、次のステップS45において、CPUコア42は、現在の入力位置と中心点Cと前回の入力位置との成す角度Θ(図12)を計算する。現在の入力位置をP2とし、前回の入力位置をP1とするとき、角度Θは、P1−C−P2が作る角度である。ステップS45で角度Θを計算したとき、CPUコア42は、その角度データを図3の座標/角度データ記憶領域66cに一時的に保持される。
【0091】
その後、図11のステップS47に進み、CPUコア42は、右利きフラグ66dがオンかどうか、つまり、先のモード選択画面で右利きボタン68aが選択されたのかどうか判断する。このステップS47で“YES”が判断されると、つまり、右利きモードが選択されていると、次のステップS49において、CPUコア42は、先に計算し領域66cに格納している角度Θの値が正(プラス)であるかどうか判断する。右利きモードが選択されていて、角度データ値が正でないときは、間違った操作であるので、このステップS49で“NO”が判断されたときには、プロセスはそのまま、図9のステップS15にリターンする。
【0092】
ただし、第1の判定手段を構成するステップS47およびS49でともに“YES”が判断されたときには、スティック24等によって正しいタッチ入力操作が行われたことを意味し、この場合には、次のステップS53に進む。
【0093】
なお、ステップS47で“NO”が判断されたときには、つまり、左利きモードが選択されているので、次のステップS51で、角度Θの値が負(マイナス)であるかどうか判断する。左利きモードが選択されていて、角度データ値が負でないときは、間違った操作であるので、このステップS51“NO”が判断されたときには、プロセスはそのまま、図9のステップS15にリターンする。
【0094】
ただし、ステップS47で“NO”が判断されステップS51で“YES”が判断されたときには、スティック24等によって正しいタッチ入力操作が行われたことを意味し、この場合には、次のステップS53に進む。つまり、ステップS47およびS51が第2の判定手段を構成する。
【0095】
ステップS53では、CPUコア42は、下画面、すなわち、LCD14に表示されているゲーム画面において、ユーザキャラクタ1Pまたは1P’(図6または図8)の手ないし腕1PAまたは1P’Aを表示するための座標(手座標)を、ステップS39で保存した現在のタッチパネル入力位置に変更する。これは、手1PAまたは1P’Aを今回の入力位置(図12:P2)に表示させるためである。
【0096】
そして、次のステップS55において、CPUコア42は、上画面、すなわち、LCD12に表示しているゲーム画面(全体ゲーム画面)におけるユーザ操作キャラクタ1Pまたは1P’の移動量を決定する。この移動量は、基本的には、角度Θの関数として決定される。つまり、上で述べたように、タッチパネル22のタッチ位置検出(ステップS33)は一定周期で実行されるのであり、検出した角度Θの値が大きいということは、その一定周期毎のタッチ入力位置の差(たとえば、図12のP2とP1との差)が大きいということであり、そのことは、一定時間内でのスティック24等の移動量(変位量)が大きいということである。換言すれば、円弧軌跡70Cまたは70CCを描くために、スティック24等をタッチパネル22上で素早く回転させたということである。したがって、実施例では、スティック24等のタッチパネル22上での回転速度に比例してユーザキャラクタ1Pまたは1P’の移動量を決定するようにしている。つまり、スティック24等の回転速度を速くすれればするほどユーザキャラクタの移動量(一定周期毎の)を大きくするように設定している。
【0097】
なお、右利きモードのときも左利きモードのときも、ステップS53での手の位置の決め方、およびステップS55でのユーザキャラクタの移動速度の決め方は同じである。したがって、第1モード(右利きモード)で第1方向(時計回り)の軌跡入力があったときでも、第2モード(左利きモード)で第2方向(反時計回り)の軌跡入力があったときも同じステップS53およびS55を実行する。つまり、これらのステップS53およびS55が、第1判定手段の判定結果および第2判定手段の判定結果に拘わらず共通のゲーム処理を実行するゲーム処理手段として機能する。
【0098】
図10のステップS35で“NO”が判断された後には、タッチ入力がないので、入力中フラグ66eをクリアまたはリセットして、図9のステップS15にリターンする。
【0099】
また、図10のステップS37で“NO”が判断されたとき、すなわち、タッチ入力はあったが、そのときには入力中フラグ66eが未だセットされていなかったときには、ステップS59で、CPUコア42は、そのときのタッチ位置が、下画面、すなわち、下のLCD14で表示しているゲーム画面内の、ユーザキャラクタ1Pまたは1P’(図6または図8)の手ないし腕1PAまたは1P’Aの位置かどうか判断する。このステップS59で“YES”が判断されるということは、そのときのスティック24等によるタッチ入力が手1PAまたは1P’Aを回転させるための入力操作であるということであり、その場合には、それ以後の入力操作を連続入力として取り扱うために、次のステップS61で、入力中フラグ66eをセットするとともに、先のステップS39と同様に、そのときの入力座標位置のデータを、座標データ記憶領域66b(図3)に保存する。ただし、このステップS61を通ったということは、そのときの入力操作は連続入力操作の最初の入力操作であるので、ステップS61の後にはそのままステップS15(図9)にリターンする。
【0100】
図9のステップS15では、CPUコア42は、そのとき右利きモードが選択されているのか、左利きモードが選択されているのかを判断するために、右利きフラグ66d(図3)がセットされているかどうか判断する。このステップS15で“NO”ということは、左利きモードが選択されているので、次のステップS17で、CPUコア42は、上画面(LCD12が表示するゲーム画面)におけるすべてのキャラクタの移動量を反転(逆符号化)する。そして、ステップS17で移動量を左右反転した後、またはステップS15で“YES”が判断されたとき、つまり、右利きモードが選択されているときはそのまま、次のステップS19に進む。
【0101】
ステップS19は、ゲーム画面処理手段に相当する。つまり、ステップS15の“YES”の判断に応じて実行されるステップS19は右利きモードのときのゲーム画面表示手段となり、ステップS17を経て実行されるステップS19は左利きモードのときのゲーム画面表示手段となる。
【0102】
そして、ステップS19では、CPUコア42は、ステップS17で反転した移動量またはステップS55で決定した移動量に従って上画面(LCD12の全体ゲーム画面)での全てのキャラクタを移動させるとともに、下画面(LCD14の個別ゲーム画面)において、ユーザキャラクタ1Pまたは1P’の手ないし腕1PAまたは1P’Aを、ステップS53で変更した手座標の位置に表示する。こうして、実施例の水泳競争ゲームでは、スティック24等がタッチパネル22上で連続するたとえば円弧軌跡を描くようにスティック24等を操作することによって、その円運動の速度に比例した移動速度で自分のユーザキャラクタが移動する。
【0103】
そして、最後のステップS21で、LCD12のゲーム画面中のどれかのキャラクタがゴール(右利きモードのときには右、左利きモードのときは左にある。)に到達したかどうか判断する。どれかのキャラクタがゴールインしたのであればゲームオーバであるので、メイン処理は終了するが、そうでなければ、ゴールインするまで、さらに、ステップS13、すなわち図10および図11に示す入力処理ステップ以降を繰り返し実行する。
【0104】
上の実施例では、連続的な位置入力による軌跡を円弧軌跡とし、スティック24等でその円弧軌跡70Cまたは70CCが描けたかどうかを判断し、その結果に応じてゲームを進行させるようにした。しかしながら、このような連続位置入力による軌跡としては、円弧または円以外に、さらに、図13のような斜線なども考えられる。
【0105】
図13(A)の例では、たとえば、前回入力位置P1から今回入力位置P2へのX軸方向およびY軸方向の各軸増分値を計算し、それらが所定の誤差範囲に入っていれば、右上がりの斜線72RUが描けたものと判断する。これに対して、図13(B)の例では、X増分値が負(−)になる点以外は図13(A)の例と同じようにして、前回入力位置P1から今回入力位置P2へのX軸方向およびY軸方向の各軸増分値を計算し、それらが所定の誤差範囲に入っていれば、左上がりの斜線72LUが描けたものと判断する。
【0106】
さらに、図示しないが、連続位置入力による軌跡の形状は任意に変更可能である。
【0107】
なお、上述の実施例ではポインティングデバイスの一例として表示器に設けたタツッチパネルを利用した。しかしながら、マウスのようなポインティングデバイスを用いても連続的に入力操作ができるので、この発明はこのような場合にも適用できる。
【図面の簡単な説明】
【0108】
【図1】図1はこの発明のゲーム装置の一例を示す図解図である。
【図2】図2は図1に示すゲーム装置の電気的な構成を示すブロック図である。
【図3】図3は図2に示すゲーム装置に設けられるRAMのメモリマップの一例を示す図解図である。
【図4】図4は図1に示すゲーム装置の第2のLCDに表示されるモード選択画面の一例を示す図解図である。
【図5】図5は右利きモードでの2つのLCDによるゲーム画面の表示例を示す図解図である。
【図6】図6は右利きモードのときのユーザキャラクタの手と、連続タッチ入力の円弧軌跡との関係を示す図解図である。
【図7】図7は左利きモードでの2つのLCDによるゲーム画面の表示例を示す図解図である。
【図8】図8は左利きモードのときのユーザキャラクタの手と、連続タッチ入力の円弧軌跡との関係を示す図解図である。
【図9】図9は図2に示すCPUコアによるメイン処理動作を示すフロー図である。
【図10】図10は入力処理ステップを詳細に示すフロー図である。
【図11】図11は入力処理ステップの図10に後続する部分を示すフロー図である。
【図12】図12は連続入力による円弧軌跡の判別方法を示す図解図である。
【図13】図13は連続入力による斜線軌跡の例を示す図解図である。
【符号の説明】
【0109】
10 …ゲーム装置
12,14 …LCD
22 …タッチパネル
24 …スティック
42 …CPUコア
48 …RAM
68 …モード選択画面
68a …右利きモード選択ボタン
68b …左利きモード選択ボタン
1P,1P’ …ユーザキャラクタ
【特許請求の範囲】
【請求項1】
ゲーム画面を表示するための表示器を備え、前記ゲーム画面内の異なる位置を連続的に指示することによって軌跡を描くのにポインティングデバイスを用いるゲーム装置であって、
第1の入力モードまたは第2の入力モードを選択させるための選択画面を前記表示器に表示させる選択画面表示手段、
前記第1の入力モードが選択されたとき前記ポインティングデバイスによって第1の方向へ延びる軌跡が描かれたことを判定する第1判定手段、
前記第2の入力モードが選択されたとき前記ポインティングデバイスによって前記第1の方向とは異なる第2の方向へ延びる軌跡が描かれたことを判定する第2判定手段、および
前記第1判定手段の判定結果および前記第2判定手段の判定結果に応じて共通のゲーム処理を実行するゲーム処理手段を備える、ゲーム装置。
【請求項2】
前記第1の入力モードが選択されたとき第1のゲーム画面を表示器に表示し、前記第2の入力モードが選択されたとき第2のゲーム画面を表示器に表示するゲーム画面表示手段をさらに備える、請求項1記載のゲーム装置。
【請求項3】
前記第1の入力モードは右利き入力モードであり、前記第2の入力モードは左利き入力モードである、請求項1または2記載のゲーム装置。
【請求項4】
前記第1の方向へ延びる軌跡は右回りの円弧軌跡であり、前記第2の方向へ延びる軌跡は左回りの円弧軌跡である、請求項3記載のゲーム装置。
【請求項5】
前記ポインティングデバイスは前記表示器に設けられたタッチパネルを含む、請求項1ないし4のいずれかに記載のゲーム装置。
【請求項6】
ゲーム画面を表示するための表示器を備え、前記ゲーム画面内の異なる位置を連続的に指示することによって軌跡を描くのにポインティングデバイスを用いるゲーム装置のゲプログラムであって
ゲームプロセサに、
第1の入力モードまたは第2の入力モードを選択させるための選択画面を前記表示器に表示させる選択画面表示ステップ、
前記第1の入力モードが選択されたとき前記ポインティングデバイスによって第1の方向へ延びる軌跡が描かれたことを判定する第1判定ステップ、
前記第2の入力モードが選択されたとき前記ポインティングデバイスによって前記第1の方向とは異なる第2の方向へ延びる軌跡が描かれたことを判定する第2判定ステップ、および
前記第1判定ステップの判定結果および前記第2判定ステップの判定結果に応じて共通のゲーム処理ステップを実行させる、ゲームプログラム。
【請求項7】
前記第1の入力モードが選択されたとき第1のゲーム画面を表示器に表示し、前記第2の入力モードが選択されたとき第2のゲーム画面を表示器に表示するゲーム画面表示ステップをさらに前記ゲームプロセサに実行させる、請求項6記載のゲームプログラム。
【請求項8】
前記第1の入力モードは右利き入力モードであり、前記第2の入力モードは左利き入力モードである、請求項6または7記載のゲームプログラム。
【請求項9】
前記第1の方向へ延びる軌跡は右回りの円弧軌跡であり、前記第2の方向へ延びる軌跡は左回りの円弧軌跡である、請求項8記載のゲームプログラム。
【請求項1】
ゲーム画面を表示するための表示器を備え、前記ゲーム画面内の異なる位置を連続的に指示することによって軌跡を描くのにポインティングデバイスを用いるゲーム装置であって、
第1の入力モードまたは第2の入力モードを選択させるための選択画面を前記表示器に表示させる選択画面表示手段、
前記第1の入力モードが選択されたとき前記ポインティングデバイスによって第1の方向へ延びる軌跡が描かれたことを判定する第1判定手段、
前記第2の入力モードが選択されたとき前記ポインティングデバイスによって前記第1の方向とは異なる第2の方向へ延びる軌跡が描かれたことを判定する第2判定手段、および
前記第1判定手段の判定結果および前記第2判定手段の判定結果に応じて共通のゲーム処理を実行するゲーム処理手段を備える、ゲーム装置。
【請求項2】
前記第1の入力モードが選択されたとき第1のゲーム画面を表示器に表示し、前記第2の入力モードが選択されたとき第2のゲーム画面を表示器に表示するゲーム画面表示手段をさらに備える、請求項1記載のゲーム装置。
【請求項3】
前記第1の入力モードは右利き入力モードであり、前記第2の入力モードは左利き入力モードである、請求項1または2記載のゲーム装置。
【請求項4】
前記第1の方向へ延びる軌跡は右回りの円弧軌跡であり、前記第2の方向へ延びる軌跡は左回りの円弧軌跡である、請求項3記載のゲーム装置。
【請求項5】
前記ポインティングデバイスは前記表示器に設けられたタッチパネルを含む、請求項1ないし4のいずれかに記載のゲーム装置。
【請求項6】
ゲーム画面を表示するための表示器を備え、前記ゲーム画面内の異なる位置を連続的に指示することによって軌跡を描くのにポインティングデバイスを用いるゲーム装置のゲプログラムであって
ゲームプロセサに、
第1の入力モードまたは第2の入力モードを選択させるための選択画面を前記表示器に表示させる選択画面表示ステップ、
前記第1の入力モードが選択されたとき前記ポインティングデバイスによって第1の方向へ延びる軌跡が描かれたことを判定する第1判定ステップ、
前記第2の入力モードが選択されたとき前記ポインティングデバイスによって前記第1の方向とは異なる第2の方向へ延びる軌跡が描かれたことを判定する第2判定ステップ、および
前記第1判定ステップの判定結果および前記第2判定ステップの判定結果に応じて共通のゲーム処理ステップを実行させる、ゲームプログラム。
【請求項7】
前記第1の入力モードが選択されたとき第1のゲーム画面を表示器に表示し、前記第2の入力モードが選択されたとき第2のゲーム画面を表示器に表示するゲーム画面表示ステップをさらに前記ゲームプロセサに実行させる、請求項6記載のゲームプログラム。
【請求項8】
前記第1の入力モードは右利き入力モードであり、前記第2の入力モードは左利き入力モードである、請求項6または7記載のゲームプログラム。
【請求項9】
前記第1の方向へ延びる軌跡は右回りの円弧軌跡であり、前記第2の方向へ延びる軌跡は左回りの円弧軌跡である、請求項8記載のゲームプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【公開番号】特開2006−149927(P2006−149927A)
【公開日】平成18年6月15日(2006.6.15)
【国際特許分類】
【出願番号】特願2004−348249(P2004−348249)
【出願日】平成16年12月1日(2004.12.1)
【出願人】(000233778)任天堂株式会社 (1,115)
【Fターム(参考)】
【公開日】平成18年6月15日(2006.6.15)
【国際特許分類】
【出願日】平成16年12月1日(2004.12.1)
【出願人】(000233778)任天堂株式会社 (1,115)
【Fターム(参考)】
[ Back to top ]