ゲームプログラムおよびゲーム装置
【課題】 ポインティングデバイスを用いてプレイヤが望む1つのパラメータのみに対する操作や微妙な操作を実現するゲームプログラムおよびゲーム装置を提供する。
【解決手段】 ゲーム装置1は、第1モードmode1における入力レベルI≦28%および第2モードmode2における入力レベルI≦33%では移動量M=0に換算しており、プレイヤはタッチパネル13を用いて方向のみの入力が可能となる。また、ゲーム装置1は、第1モードmode1および第2モードmode2において共に低速移動区間の傾きを高速移動区間の傾きより小さく設定する。つまり、低速移動区間は、高速移動区間と比べて入力レベルIの変化に対する移動量Mの変化量が小さくなり、プレイヤはタッチパネル13を用いて移動量Mを微妙に変化させることができる。
【解決手段】 ゲーム装置1は、第1モードmode1における入力レベルI≦28%および第2モードmode2における入力レベルI≦33%では移動量M=0に換算しており、プレイヤはタッチパネル13を用いて方向のみの入力が可能となる。また、ゲーム装置1は、第1モードmode1および第2モードmode2において共に低速移動区間の傾きを高速移動区間の傾きより小さく設定する。つまり、低速移動区間は、高速移動区間と比べて入力レベルIの変化に対する移動量Mの変化量が小さくなり、プレイヤはタッチパネル13を用いて移動量Mを微妙に変化させることができる。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ゲームプログラムおよびゲーム装置に関し、より特定的には、タッチパネル等のポインティングデバイスを用いたコンピュータゲームで用いられるゲームプログラムおよびゲーム装置に関する。
【背景技術】
【0002】
従来、ポインティングデバイスによって指定された座標に基づいて、入力の大きさおよび入力方向を決定する入力方式がある。例えば、プレイヤがタッチパネルを用いて操作する入力装置が開発されている(例えば、特許文献1参照)。特許文献1で開示された入力装置では、当該特許文献1の図3に示されているように、プレイヤがタッチパネルをタッチしたタッチ座標とタッチパネルの中心との間の方向と距離により、カーソルの移動方向と移動量を決定している。
【特許文献1】特開平11−53115号公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
しかしながら、上記特許文献1で開示された入力装置では、プレイヤのタッチ操作に応じて、そのタッチ座標とタッチパネルの中心との間の方向および距離を求め、2つのパラメータ(方向および移動量)を決定している。つまり、プレイヤは、上記入力装置を用いて一方のパラメータ(例えば、方向)のみをタッチ操作で指示することができない。また、上記入力装置では、タッチ座標とタッチパネルの中心との間の距離に応じて移動量が決定されるため、プレイヤが微妙な移動量を調整することができない。
【0004】
それ故に、本発明の目的は、ポインティングデバイスを用いてプレイヤが望む1つのパラメータのみに対する操作や微妙な操作を実現するゲームプログラムおよびゲーム装置を提供することである。
【課題を解決するための手段】
【0005】
上記の目的を達成するために、本発明は以下の構成を採用した。なお、括弧内の参照符号やステップ番号(ステップをSと略称しステップ番号のみを記載する)等は、本発明の理解を助けるために後述する実施形態との対応関係を示したものであって、本発明の範囲を何ら限定するものではない。
【0006】
第1の発明は、ポインティングデバイス(13)によって操作されるゲーム装置(1)のコンピュータ(21)に実行されるゲームプログラムである。ポインティングデバイスは、プレイヤの操作に応じて所定の座標系に基づいた座標情報を出力する。ゲームプログラムは、基準座標設定ステップ(S53)、基準座標記憶ステップ(S53)、指示座標設定ステップ(S54)、算出ステップ(S55)、第1ゲームパラメータ決定ステップ(S57、S72、S73、図6〜図8に示す操作指示領域Z4)、第2ゲームパラメータ決定ステップ(S57、S72、S73、図6〜図8に示す操作指示領域Z2、Z3)、およびゲーム処理ステップ(S74、S60)をコンピュータに実行させる。基準座標設定ステップは、座標系の基準座標(基準位置)を設定する。基準座標記憶ステップは、基準座標を記憶する。指示座標設定ステップは、ポインティングデバイスから出力される座標情報に基づいて、座標系における指示座標(タッチ位置)を設定する。算出ステップは、基準座標から指示座標までの距離(入力距離D)および方向(入力方向)を算出する。第1ゲームパラメータ決定ステップは、算出ステップによって算出された距離が所定の閾値未満のとき、第1の換算関数を用いてその距離を換算した(図5、図6)ゲームパラメータ(移動量M)を決定する。第2ゲームパラメータ決定ステップは、算出ステップによって算出された距離が閾値以上のとき(図6に示すmode1の10dotまたは21dot、または、mode2の16dotまたは32dot)、第1の換算関数によってその距離を換算した値より大きな値に換算する第2の換算関数を用いてその距離を換算した(図5、図6)ゲームパラメータ(移動量M)を決定する。ゲーム処理ステップは、算出ステップによって算出された方向と、第1ゲームパラメータ決定ステップまたは第2ゲームパラメータ決定ステップによって決定されたゲームパラメータとを用いてゲーム処理を行う。なお、ポインティングデバイスは、画面上での入力位置や座標を指定する入力装置であり、例えば、タッチパネル、マウス、トラックパッド、トラックボールなどで実現される。そして、それぞれの入力装置で用いられる座標系は、タッチパネル座標系や画面座標系である。
【0007】
第2の発明は、上記第1の発明において、算出ステップによって算出された距離が所定の閾値未満のとき(図6に示すmode1の4〜10dot、mode2の4〜16dot)、第1ゲームパラメータ決定ステップは、第1の換算関数を用いて算出ステップによって算出された距離を0に換算して、ゲームパラメータを0に決定する(M=0)。
【0008】
第3の発明は、上記第2の発明において、算出ステップによって算出された距離が所定の閾値以上のとき(図6に示すmode1の10dot〜、mode2の16dot〜)、ゲーム処理ステップは、距離を換算したゲームパラメータと算出ステップによって算出された方向との両方を用いてゲーム処理を行う(操作指示領域Z3〜Z5)。算出ステップによって算出された距離が所定の閾値未満のとき、ゲーム処理ステップは、算出ステップによって算出された方向のみを用いてゲーム処理を行う(操作指示領域Z2)。
【0009】
第4の発明は、上記第1の発明において、第2の換算関数よって換算される単位距離当たりのゲームパラメータの変化率(図6に示すmode1の21〜36dotの傾き、mode2の32〜48dotの傾き)は、第1の換算関数よって換算される単位距離当たりのゲームパラメータの変化率(図6に示すmode1の10〜21dotの傾き、mode2の16〜32dotの傾き)より大きい。
【0010】
第5の発明は、上記第1の発明において、第1ゲームパラメータ決定ステップで用いる第1の換算関数は、算出ステップによって算出された距離に正の第1の値を乗算して換算する関数である。第2ゲームパラメータ決定ステップで用いる第2の換算関数は、算出ステップによって算出された距離に第1の値より大きい正の第2の値を乗算して換算する関数である。
【0011】
第6の発明は、上記第1の発明において、第1ゲームパラメータ決定ステップで用いる第1の換算関数は、算出ステップによって算出された距離に正の第1の値を乗算して換算する関数である。第2ゲームパラメータ決定ステップで用いる第2の換算関数は、閾値に第1の値を乗算した値に、算出ステップによって算出された距離から閾値を減算した値に第1の値より大きい正の第2の値を乗算した値を加算する換算する関数である。
【0012】
第7の発明は、上記第1の発明において、ゲーム処理ステップは、ゲームパラメータに応じて仮想ゲーム空間に登場するゲームオブジェクトの移動速度を決定して(S74)ゲーム処理を行う。
【0013】
第8の発明は、上記第1の発明において、ゲーム処理ステップは、算出ステップによって算出された方向に応じて仮想ゲーム空間に登場するゲームオブジェクトの向きを決定して(S82)ゲーム処理を行う。
【0014】
第9の発明は、上記第1の発明において、基準座標設定ステップは、指示座標設定ステップで最初に設定した指示座標を基準座標に設定する。
【0015】
第10の発明は、ポインティングデバイスによって操作されるゲーム装置である。ポインティングデバイスは、プレイヤの操作に応じて所定の座標系に基づいた座標情報を出力する。ゲーム装置は、基準座標設定手段、基準座標記憶手段、指示座標設定手段、算出手段、第1ゲームパラメータ決定手段、第2ゲームパラメータ決定手段、およびゲーム処理手段を備える。基準座標設定手段は、座標系の基準座標を設定する。基準座標記憶手段は、基準座標を記憶する。指示座標設定手段は、ポインティングデバイスから出力される座標情報に基づいて、座標系における指示座標を設定する。算出手段は、基準座標から指示座標までの距離および方向を算出する。第1ゲームパラメータ決定手段は、算出手段によって算出された距離が所定の閾値未満のとき、第1の換算関数を用いてその距離を換算したゲームパラメータを決定する。第2ゲームパラメータ決定手段は、算出手段によって算出された距離が閾値以上のとき、第1の換算関数によってその距離を換算した値より大きな値に換算する第2の換算関数を用いてその距離を換算したゲームパラメータを決定する。ゲーム処理手段は、算出手段によって算出された方向と、第1ゲームパラメータ決定手段または第2ゲームパラメータ決定手段によって決定されたゲームパラメータとを用いてゲーム処理を行う。
【0016】
第11の発明は、ポインティングデバイスによって操作される情報処理装置のコンピュータに実行されるプログラムである。ポインティングデバイスは、ユーザの操作に応じて所定の座標系に基づいた座標情報を出力する。プログラムは、基準座標設定ステップ、基準座標記憶ステップ、指示座標設定ステップ、算出ステップ、第1パラメータ決定ステップ、第2パラメータ決定ステップ、および操作処理ステップをコンピュータに実行させる。基準座標設定ステップは、座標系の基準座標を設定する。基準座標記憶ステップは、基準座標を記憶する。指示座標設定ステップは、ポインティングデバイスから出力される座標情報に基づいて、座標系における指示座標を設定する。算出ステップは、基準座標から指示座標までの距離および方向を算出する。第1パラメータ決定ステップは、算出ステップによって算出された距離が所定の閾値未満のとき、第1の換算関数を用いてその距離を換算したパラメータを決定する。第2パラメータ決定ステップは、算出ステップによって算出された距離が閾値以上のとき、第1の換算関数によってその距離を換算した値より大きな値に換算する第2の換算関数を用いてその距離を換算したパラメータを決定する。操作処理ステップは、算出ステップによって算出された方向と、第1パラメータ決定ステップまたは第2パラメータ設定ステップによって決定されたパラメータとを用いて操作処理を行う。
【発明の効果】
【0017】
上記第1の発明によれば、基準座標から指示座標までの距離において、当該距離に対してゲームパラメータが相対的に小さく換算される区間(第1ゲームパラメータ決定ステップ)と、当該距離に対してゲームパラメータが相対的に大きく換算される区間(第2ゲームパラメータ決定ステップ)とを設定することによって、プレイヤがポインティングデバイスを用いた操作に対する操作感覚を変化させることができる。
【0018】
上記第2の発明によれば、プレイヤは、基準座標から指示座標までの距離が所定の閾値未満となるようにポインティングデバイスを用いることによって、方向のみに応じたゲーム処理を行わせることができる。
【0019】
上記第3の発明によれば、プレイヤは、基準座標から指示座標までの距離が所定の閾値以上となるようにポインティングデバイスを用いることによって、当該距離および方向に応じたゲーム処理を行わせることができ、上記距離が所定の閾値未満となるようにポインティングデバイスを用いることによって、方向のみに応じたゲーム処理を行わせることができる。
【0020】
上記第4の発明によれば、基準座標から指示座標までの距離において、当該距離の変化量に対してゲームパラメータの変化量が相対的に小さい区間と、当該距離の変化量に対してゲームパラメータの変化量が相対的に大きい区間とを設定することによって、プレイヤがポインティングデバイスを用いた操作に対する操作感覚をそれぞれの区間に応じて変化させることができ、ゲームパラメータの変化量が相対的に小さい区間を用いて微妙な操作入力を行うことができる。
【0021】
上記第5の発明によれば、基準座標から指示座標までの距離において、当該距離の変化量にゲームパラメータの変化量が比例して相対的に小さく変化する区間と、当該距離の変化量にゲームパラメータの変化量が比例して相対的に大きく変化する区間とを設定することによって、プレイヤが各区間におけるポインティングデバイスの操作に対するゲームパラメータの変化が予想しやすくなる。また、ゲームパラメータに換算する処理が簡単になる。
【0022】
上記第6の発明によれば、上記第5の発明の効果に加えて、各区間で算出されるゲームパラメータの繋がりが連続するため、ポインティングデバイスの操作における基準座標から指示座標までの距離に応じてスムーズなゲーム処理となる。
【0023】
上記第7の発明によれば、プレイヤがポインティングデバイスを用いた操作に対して操作感覚が変化するゲームパラメータを、ゲームオブジェクトの移動速度に反映させることができる。
【0024】
上記第8の発明によれば、プレイヤがポインティングデバイスを用いて操作する方向を、ゲームオブジェクトの向きに反映させることができる。
【0025】
上記第9の発明によれば、プレイヤが操作感覚で基準座標を認識することができるため、基準座標の位置を目で確認する必要がない。また、ポインティングデバイスに対して常に固定された基準座標が設けられていないため、ポインティングデバイスの座標系における任意の位置から操作を始めることができる。
【0026】
また、本発明のゲーム装置およびプログラムによれば、上述したゲームプログラムと同様の効果を得ることができる。
【発明を実施するための最良の形態】
【0027】
図面を参照して、本発明の一実施形態に係るゲームプログラムを実行するゲーム装置について説明する。なお、図1は、本発明のゲームプログラムを実行するゲーム装置1の外観図である。ここでは、ゲーム装置1の一例として、携帯ゲーム装置を示す。
【0028】
図1において、本実施形態のゲーム装置1は、2つの液晶表示器(LCD)11および12を所定の配置位置となるように、ハウジング18に収納して構成される。具体的には、第1液晶表示器(以下、「LCD」という)11および第2LCD12を互いに上下に配置して収納する場合は、ハウジング18が下部ハウジング18aおよび上部ハウジング18bから構成され、上部ハウジング18bが下部ハウジング18aの上辺の一部で回動自在に支持される。上部ハウジング18bは、第1LCD11の平面形状よりも少し大きな平面形状を有し、一方主面から第1LCD11の表示画面を露出するように開口部が形成される。下部ハウジング18aは、その平面形状が上部ハウジング18bよりも横長に選ばれ、横方向の略中央部に第2LCD12の表示画面を露出する開口部が形成され、第2LCD12を挟む何れか一方にスピーカ15の音抜き孔が形成されるとともに、第2LCD12を挟む左右に操作スイッチ部14が装着される。
【0029】
操作スイッチ部14は、第2LCD12の右横における下部ハウジング18aの一方主面に装着される動作スイッチ(Aボタン)14aおよび動作スイッチ(Bボタン)14bと、第2LCD12の左横における下部ハウジング18aの一方主面に装着される方向指示スイッチ(十字キー)14cと、スタートスイッチ14dと、セレクトスイッチ14eと、側面スイッチ14fおよび14gとを含む。動作スイッチ14aおよび14bは、例えばサッカーゲーム等のスポーツゲームにおいてはパスやシュートを行う等の指示、アクションゲームにおいてはジャンプ、パンチ、武器を動かす等の指示、ロールプレイングゲーム(RPG)やシミュレーションRPGにおいてはアイテムの取得、武器またはコマンドの選択決定等の指示入力に使用される。方向指示スイッチ14cは、プレイヤによって操作スイッチ部14を用いて操作可能なプレイヤオブジェクト(またはプレイヤキャラクタ)の移動方向を指示したり、カーソルの移動方向を指示したりする等のゲーム画面における方向指示に用いられる。側面スイッチ(Lボタン)14fおよび側面スイッチ(Rボタン)14gは、下部ハウジング18aにおける上部面(上部側面)の左右に設けられる。また、必要に応じて、動作スイッチをさらに追加してもかまわない。
【0030】
また、第2LCD12の上面には、本発明の入力装置の一例としてタッチパネル13(図1における破線領域)が装着される。タッチパネル13は、例えば、抵抗膜方式、光学式(赤外線方式)、静電容量結合式の何れの種類でもよく、その上面をスタイラス16(または指でも可)で押圧操作、移動操作、または撫でる操作をしたとき、スタイラス16の座標位置を検出して座標データを出力するポインティングデバイスの一例である。
【0031】
上部ハウジング18bの側面近傍には、必要に応じてタッチパネル13を操作するスタイラス16を収納するための収納孔(図1における二点破線領域)が形成される。この収納孔には、スタイラス16が収納される。下部ハウジング18aの側面の一部には、ゲームプログラムを記憶したメモリ(例えば、ROM)を内蔵したゲームカートリッジ17(以下、単にカートリッジ17と記載する)を着脱自在に装着するためのカートリッジ挿入部(図1における一点破線領域)が形成される。カートリッジ17は、ゲームプログラムを記憶する情報記憶媒体であり、例えば、ROMまたはフラッシュメモリのような不揮発性半導体メモリが用いられる。カートリッジ挿入部の内部には、カートリッジ17と電気的に接続するためのコネクタ(図2参照)が内蔵される。さらに、下部ハウジング18a(または上部ハウジング18bでも可)には、CPU等の各種電子部品を実装した電子回路基板が収納される。なお、ゲームプログラムを記憶する情報記憶媒体としては、上記不揮発性半導体メモリに限らず、CD−ROM、DVD、あるいはそれらに類する光学式ディスク状記憶媒体でもよい。
【0032】
次に、図2を参照して、ゲーム装置1の内部構成について説明する。なお、図2は、ゲーム装置1の内部構成を示すブロック図である。
【0033】
図2において、ハウジング18に収納される電子回路基板には、CPUコア21が実装される。CPUコア21には、所定のバスを介して、カートリッジ17と接続するためのコネクタ28が接続されるとともに、入出力インターフェース(I/F)回路27、第1のグラフィック処理ユニット(第1GPU)24、第2のグラフィック処理ユニット(第2GPU)26、およびワーキングRAM(WRAM)22が接続される。
【0034】
コネクタ28には、カートリッジ17が着脱自在に接続される。カートリッジ17は、上述したようにゲームプログラムを格納するための記憶媒体であり、具体的には、ゲームプログラムを記憶するROM171とバックアップデータを書き換え可能に記憶するRAM172とを搭載する。カートリッジ17のROM171に記憶されたゲームプログラムは、WRAM22にロードされ、当該WRAM22にロードされたゲームプログラムがCPUコア21によって実行される。CPUコア21がゲームプログラムを実行して得られる一時的なデータや画像を生成するためのデータがWRAM22に記憶される。
【0035】
このように、ROM171には、ゲーム装置1のコンピュータ、特にCPUコア21によって実行可能な形式の命令群及びデータ群であるゲームプログラムが記録される。そして、このゲームプログラムは、WRAM22に適宜読み込まれ実行される。なお、本実施例では、ゲームプログラムなどをカートリッジ17に記録させたが、これらゲームプログラムを他の媒体や通信回線を通じて供給することもできる。
【0036】
I/F回路27には、タッチパネル13、操作スイッチ部14、およびスピーカ15が接続される。スピーカ15は、上述した音抜き孔の内側位置に配置される。
【0037】
第1GPU24には、第1ビデオRAM(以下「VRAM」)23が接続され、第2GPU26には、第2のビデオRAM(以下「VRAM」)25が接続される。第1GPU24は、CPUコア21からの指示に応じて、WRAM22に記憶される画像を生成するためのデータに基づいて第1ゲーム画像を生成し、第1VRAM23に描画する。第2GPU26は、CPUコア21からの指示に応じて、WRAM22に記憶される画像を生成するためのデータに基づいて第2ゲーム画像を生成し、第2VRAM25に描画する。
【0038】
第1GPU24が第1LCD11に接続され、第2GPU26が第2LCD12に接続される。第1GPU24は、CPUコア21からの指示に応じて第1VRAM23に描画された第1ゲーム画像を第1LCD11に出力する。そして、第1LCD11は、第1GPU24から出力された第1ゲーム画像を表示する。第2GPU26は、CPUコア21からの指示に応じて第2VRAM25に描画された第2ゲーム画像を第2LCD12に出力する。そして、第2LCD12は、第2GPU26から出力された第2ゲーム画像を表示する。
【0039】
I/F回路27は、タッチパネル13、操作スイッチ部14、およびスピーカ15等の外部入出力装置とCPUコア21との間のデータの受け渡しを行う回路である。タッチパネル13(タッチパネル用のデバイスドライバを含む)は、第2VRAM25の座標系に対応するタッチパネル座標系を有し、スタイラス16等によって入力(指示)された位置に対応する位置座標のデータを出力するものである。例えば、第2LCD12の表示画面の解像度は256dot×192dotであり、タッチパネル13の検出精度も表示画面に対応した256dot×192dotである。なお、タッチパネル13の検出精度は、第2LCD12の表示画面の解像度よりも低いものであってもよいし、高いものであってもよい。
【0040】
以下、図3〜図9を参照して、上記ゲーム装置1で実行されるゲームプログラムによる具体的な処理例を説明する。なお、図3は、タッチパネル13に対するタッチ操作の際に設定される入力ベクトルを説明するための図である。図4は、入力距離Dに対応して算出される入力レベルIを説明するためのグラフである。図5は、通常時おいて入力レベルIに対応して算出される移動量Mを説明するためのグラフである。図6は、図4および図5の関係に基づいて、入力距離Dに対応して算出される移動量Mを説明するためのグラフである。図7は、第1モードmode1時にタッチパネル13に設定される各操作指示領域Z1〜Z5を説明するための図である。図8は、第2モードmode2時にタッチパネル13に設定される各操作指示領域Z1〜Z5を説明するための図である。図9は、特殊な状況時おいて入力レベルIに対応して算出される移動量Mを説明するためのグラフである。
【0041】
図3において、まずタッチパネル13にタッチ操作の基準となる基準位置が設定される。例えば、基準位置は、タッチパネル13の所定位置(例えば、タッチパネル13の中央)に固定的に設定してもよいが、プレイヤが指定した位置に設定してもよい。後者の場合、例えば、プレイヤがタッチパネル13にタッチオン(最初にタッチパネル13をタッチする操作)した位置に設定されたりする。なお、基準位置は、その後のタッチ操作によって移動させてもかまわない。例えば、基準位置と後述するタッチ位置との間の距離が所定距離以上離れたときに、当該距離が所定距離になるように基準位置を随時変更してもかまわない。
【0042】
上記基準位置からプレイヤがタッチパネル13をタッチ操作している位置(タッチ位置)を結ぶベクトルが入力ベクトルとして設定される。つまり、プレイヤがタッチ位置を変えることによって入力ベクトルの方向(入力方向)および入力ベクトルの長さ(入力距離)が変わる。後述するゲーム装置1の処理動作においては、上記入力方向が基準方向(例えば、タッチパネル13に沿った上方向)に対する角度で示され、上記入力距離がタッチパネル13のドット(dot)数で示される。
【0043】
図4に示すように、ゲーム装置1は、タッチパネル13を用いて入力された入力距離D(dot)に応じて入力レベルI(%)を算出する。ここで、ゲーム装置1は、ゲーム開始時に選択されるモードに応じて、入力距離Dを入力レベルIに換算するための換算式を変更する。例えば、モードは、タッチパネル13をタッチ操作する方法に応じて設定されている。具体的には、プレイヤが自身の指や指に所定のポインティング部材を装着してタッチパネル13をタッチ操作するモードとして、第1モードmode1が設定されている。また、プレイヤがスタイラス16を用いてタッチパネル13をタッチ操作するモードとして、第2モードmode2が設定されている。以下の説明においては、上述した目的で2つのモード(第1モードmode1および第2モードmode2)を設定した一例を用いて説明するが、他の条件でモードを設定してもかまわない。例えば、ゲームの難易度に応じて2つ以上のモードを設定してもかまわない。また、操作するプレイヤの年齢に応じて複数のモードを設定してもかまわない。
【0044】
ゲーム装置1は、第1モードmode1に設定されている場合、
I=0 (D≦4dot)
I=(100/36)*D (4dot<D≦36dot)
I=100 (36dot<D)
で示される換算式を用いて、入力距離D(dot)を入力レベルI(%)に換算する。また、ゲーム装置1は、第2モードmode2に設定されている場合、
I=0 (D≦4dot)
I=(100/48)*D (4dot<D≦48dot)
I=100 (48dot<D)
で示される換算式を用いて、入力距離D(dot)を入力レベルI(%)に換算する。
【0045】
このように、ゲーム装置1は、いずれのモードにおいても入力距離D≦4dotでは入力レベルI=0に換算しており、タッチ操作における遊び領域(操作入力としてゲーム処理を行わない領域)を設定している。また、ゲーム装置1は、モードに応じて最大入力レベル(I=100%)となる入力距離Dをそれぞれ設定し、その入力距離D以上の場合は最大入力レベルになるようにしている。つまり、ゲーム装置1は、第1モードmode1では入力距離Dが36dot以上で最大入力レベルとなり、第2モードmode2では入力距離Dが48dot以上で最大入力レベルとなるように換算する。そして、ゲーム装置1は、上記最大入力レベルになるまでの区間については、モードに応じてそれぞれ異なった傾きを示す係数を入力距離Dに乗算して入力レベルIに換算する。
【0046】
図5に示すように、ゲーム装置1は、得られた入力レベルI(%)に応じて移動量Mを算出する。例えば、図5で示す移動量Mは、ゲーム空間に登場するプレイヤキャラクタが当該ゲーム空間に設定されたフィールド上を移動する(通常動作)際の単位時間当たりの移動量を示すゲームパラメータの1つである。ここで、ゲーム装置1は、上述したモードに応じて、入力レベルIを移動量Mに換算するための換算式を変更する。
【0047】
ゲーム装置1は、第1モードmode1に設定されている場合、
M=0 (I≦28%)
M=(CP/30)*I−(14/15)*CP (28%<I≦58%)
M={(MAX−CP)/42}*I+(50*CP−29*MAX)/21
(58%<I≦100%)
で示される換算式を用いて、入力レベルI(%)を移動量Mに換算する。ここで、MAXは、上記プレイヤキャラクタがフィールド上で移動できる単位時間当たりの最大移動量(最高移動量MAX)を示している。また、CPは、上記プレイヤキャラクタがフィールド上における移動形態が低速移動から高速移動に切り替わる移動量(切替移動量CP)を示している。また、ゲーム装置1は、第2モードmode2に設定されている場合、
M=0 (I≦33%)
M=(CP/33)*I−CP (33%<I≦66%)
M={(MAX−CP)/34}*I+(50*CP−33*MAX)/17
(66%<I≦100%)
で示される換算式を用いて、入力レベルI(%)を移動量Mに換算する。
【0048】
このように、ゲーム装置1は、第1モードmode1における入力レベルI≦28%および第2モードmode2における入力レベルI≦33%では移動量M=0に換算しており、タッチ操作に応じてプレイヤキャラクタが移動しない区間を設定している。なお、後述によって明らかとなるが、移動量M=0であっても入力距離D>4dotであれば入力方向が設定され、プレイヤはタッチパネル13を用いて方向のみの入力が可能となる。これによって、例えば、入力距離に基づいて3次元仮想空間中のプレイヤオブジェクトの移動量を決定し、入力方向に基づいて当該プレイヤオブジェクトの向きを変化させる場合、入力レベルI≦28%(第1モード)、入力レベルI≦33%(第2モード)では、プレイヤオブジェクトをその場で回転させ、また、入力レベルI>28%(第1モード)、入力レベルI>33%(第2モード)では、プレイヤオブジェクトを回転させつつ移動させることができ、この2つの動作を共通の入力制御により使い分けることができる。また、ゲーム装置1は、いずれのモードにおいても最大入力レベル(I=100%)に対して移動量Mが最高移動量MAXになるように換算するが、最高移動量MAXになるまでの区間中に切替移動量CPを設定し、モードに応じてそれぞれ異なった傾きを示す係数を入力レベルIに乗算して移動量Mに換算する。そして、移動量M=0〜切替移動量CP間(低速移動区間)の傾きは、切替移動量CP〜最高移動量MAX間(高速移動区間)の傾きより小さく設定される。つまり、低速移動区間は、高速移動区間と比べて入力レベルIの変化に対する移動量Mの変化量が小さくなり、プレイヤはタッチパネル13を用いて移動量Mを微妙に変化させることができる。これによって、例えば、最大入力レベル(I=100%)となる入力距離Dを比較的短くした場合であっても、プレイヤオブジェクトを微妙に移動させたい場合と、一気に移動させたい場合を効果的に使い分けることができる。
【0049】
なお、上述した説明では、ゲーム装置1が入力レベルIを移動量Mに換算するための換算式を1次関数で説明したが、2次以上の関数等の曲線で変化する換算式に用いてもかまわない。低速移動区間で用いられる換算式によって入力レベルIを換算した移動量Mより大きな値に換算する換算式を高速移動区間に用いれば、同様の効果を得ることができる。例えば、低速移動区間および高速移動区間で用いられる換算式を同次数の式とし、高速移動区間の換算式の最高次数の係数を低速移動区間の換算式の最高次数の係数よりも大きくしてもよい。また、高速移動区間の換算式の次数を低速移動区間の換算式の次数よりも大きくしてもよい。さらには、低速移動区間および高速移動区間のそれぞれの区間内で連続した換算式でなくてもよく、各区間内で不連続な換算関数としてもよい。また、上述した説明では、低速移動区間から高速移動区間に切り替わる際(つまり、切替移動量CP)、移動量Mが急激に変化しないように換算式を設定したが、低速移動区間から高速移動区間へ切り替わった際に移動量Mが急激に加速されるように換算式を設定してもかまわない。
【0050】
上述した入力距離Dに応じて入力レベルIを算出し、当該入力レベルIを用いて移動量Mを算出すると、各モードに応じて各操作指示領域Z1〜Z5が基準位置を中心として当該中心から外周側に向かって同心円状の領域で設定される。図6および図7に示すように、第1モードmode1では基準位置から順に、遊び領域(操作指示領域Z1:0≦D≦4dot)、方向のみ指示する領域(操作指示領域Z2:4dot<D≦10dot)、低速移動領域(操作指示領域Z3:10dot<D≦21dot)、高速移動領域(操作指示領域Z4:21dot<D≦36dot)、および最高速移動領域(操作指示領域Z5:36dot<D)が設定される。なお、第1モードmode1で設定される各領域を対応する入力レベルIで示すと、操作指示領域Z1がI=0%、操作指示領域Z2が0%<I≦28%、操作指示領域Z3が28%<I≦58%、操作指示領域Z4が58%<I≦100%、および操作指示領域Z5がI=100%となる。
【0051】
一方、図6および図8に示すように、第2モードmode2では基準位置から順に、遊び領域(操作指示領域Z1:0≦D≦4dot)、方向のみ指示する領域(操作指示領域Z2:4dot<D≦16dot)、低速移動領域(操作指示領域Z3:16dot<D≦32dot)、高速移動領域(操作指示領域Z4:32dot<D≦48dot)、および最高速移動領域(操作指示領域Z5:48dot<D)が設定される。なお、第2モードmode2で設定される各領域を対応する入力レベルIで示すと、操作指示領域Z1がI=0%、操作指示領域Z2が0%<I≦33%、操作指示領域Z3が33%<I≦66%、操作指示領域Z4が66%<I≦100%、および操作指示領域Z5がI=100%となる。
【0052】
図4〜図8を参照すれば明らかなように、第1モードmode1と比較して第2モードmode2では、最大入力レベル(I=100%)となる入力距離Dが長くなるように設定される。また、基準位置から方向のみ指示する領域(操作指示領域Z2)の外縁までの距離が長くなるように設定される。また、基準位置から換算式が変更される領域の境界(操作指示領域Z3とZ4の境界)までの距離が長くなるように設定される。言い換えれば、操作指示領域Z2〜Z4が広く形成されており、操作指示領域Z3およびZ4におけるタッチパネル13に対する入力距離D(dot)の変化量に対する移動量Mの変化量が小さく(つまり、傾きが小さい)設定されている。そして、上述したように第1モードmode1は、プレイヤが自身の指や指に上記ポインティング部材を装着してタッチパネル13をタッチ操作するモードとして設定され、第2モードmode2は、プレイヤがスタイラス16を用いてタッチパネル13をタッチ操作するモードとして設定されている。一般的に、プレイヤがスタイラス16等の棒状の器具を用いてタッチパネル13を操作する場合、指で直接操作するより入力距離が長くなる傾向にある。これは、指で直接操作する方法に比べて、スタイラス16をプレイヤが掴む位置からタッチパネル13と接触する位置(つまり、スタイラス16の先端部)までの距離が長いため、タッチパネル操作における支点距離が長くなるためである。したがって、プレイヤはスタイラス16を用いてタッチパネル13をタッチ操作すると、入力距離が短い入力が難しくなるため、スタイラス16を用いるモードでは各領域を広く設定したのである。つまり、上述した第1モードmode1および第2モードmode2は、このようなタッチパネル操作方法の相違に対応してそれぞれ適切なゲームパラメータを得ることができる。なお、本実施例では、2つのモードを、指を用いるモードとスタイラスを用いるモードと説明したが、大人と子供では指の大きさが異なり、また、人種等によっても異なるため、それらに応じたモードという位置づけであってもよい。また、指の大きさが同じであっても指の器用さには違いがあり、つまるところ、プレイヤの好みに応じて2つのモードが選択されればよい。なお、第1モードmode1と比較して第2モードmode2では、方向のみ指示する領域(Z2)の外縁に対応する入力レベルが大きくなるように設定される。また、換算式が変更される領域の境界(操作指示領域Z3とZ4の境界)に対応する入力レベルが大きくなるように設定される。
【0053】
他の例として、ゲーム装置1は、図9のように得られた入力レベルI(%)に応じて移動量Mtを算出する。例えば、図9で示す移動量Mtは、ゲーム空間に登場するプレイヤキャラクタが当該ゲーム空間に設定されたフィールド上を移動する通常動作以外の特殊な状況(特殊状況)における単位時間当たりの移動量を示すゲームパラメータの1つである。例えば、プレイヤキャラクタがゲーム空間に設定された木に登って移動するような状況が、上述した特殊状況に相当する。この場合、ゲーム装置1は、入力レベルIを移動量Mtに換算するための換算式を、上述したモードそれぞれに対して共通にする。
【0054】
ゲーム装置1は、上記特殊状況の場合、第1モードmode1および第2モードmode2に対して、共に
M=0 (I≦12.5%)
M=(MAXt/100)*I (12.5%<I≦100%)
で示される換算式を用いて、入力レベルI(%)を移動量Mtに換算する。ここで、MAXtは、上記プレイヤキャラクタが上記特殊状況下で移動できる単位時間当たりの最大移動量(最高移動量MAXt)を示している。
【0055】
なお、上述した説明では、ゲーム装置1が特殊状況において入力レベルIを移動量Mtに換算する例を説明したが、入力レベルIを用いて他のゲームパラメータを取得してもかまわない。例えば、上記特殊状況としてプレイヤキャラクタがゲーム空間に設定された水中を潜水して移動することを仮定した場合、入力レベルIに応じてプレイヤキャラクタの潜水角度が変化するようにゲームパラメータを設定してもかまわない。
【0056】
次に、図10〜図14を参照して、本発明のゲームプログラムによってゲーム装置1で実行されるタッチパネル13から入力される情報に基づいたゲーム処理について説明する。なお、図10は、当該ゲームプログラムを実行することによってゲーム装置1がゲーム処理する動作を示すフローチャートである。図11は、図10におけるステップ59の移動処理について詳細な動作を示すサブルーチンである。図12は、図10におけるステップ60および63の向き変更処理について詳細な動作を示すサブルーチンである。図13は、図10におけるステップ62の木登り処理について詳細な動作を示すサブルーチンである。図14は、図10におけるステップ65のメニュー処理について詳細な動作を示すサブルーチンである。なお、これらの処理を実行するためのプログラムは、ROM171に格納されたゲームプログラムに含まれており、ゲーム装置1の電源がオンになったときに、ROM171からWRAM22に読み出されて、CPUコア21によって実行される。
【0057】
まず、ゲーム装置1の電源(図示せず)がONされると、CPUコア21によってブートプログラム(図示せず)が実行され、これによりカートリッジ17に格納されているゲームプログラムがWRAM22にロードされる。当該ロードされたゲームプログラムがCPUコア21に実行されることによって、図10に示すステップ(図10〜図14では「S」と略称する)が実行される。なお、上記ゲームプログラムを実行することによって、当該ゲームプログラムに応じたゲーム画像などが第1LCD11および第2LCD12に描画されるが、ゲーム内容についての詳細な説明を省略し、ここでは主にタッチパネル13から入力される情報に基づいたゲーム処理について詳述する。
【0058】
図10において、CPUコア21は、モードを設定し(ステップ51)、処理を次のステップに進める。このモードは、上述したように例えば、モードは、タッチパネル13をタッチ操作する方法に応じて設定されている。具体的には、プレイヤがゲーム装置1の操作スイッチ部14を操作することによって、希望するモード(つまり、第1モードmode1または第2モードmode2)を選択することによって、CPUコア21がモードを設定する。
【0059】
次に、CPUコア21は、上記ステップ51で設定されたモードに応じて最大入力レベルとなる入力距離を設定し(ステップ52)、処理を次のステップに進める。例えば、図4で示した一例では、CPUコア21は、第1モードmode1に設定されている場合、最大入力レベルI=100%となる入力距離D=36dotを設定する。また、CPUコア21は、第2モードmode2に設定されている場合、最大入力レベルI=100%となる入力距離D=48dotを設定する。
【0060】
次に、CPUコア21は、タッチパネル13における基準位置(図3参照)を設定してWRAM22の記憶領域に記憶し(ステップ53)、プレイヤがタッチパネル13をタッチ操作したタッチ位置を検出し(ステップ54)、処理を次のステップに進める。例えば、CPUコア21は、基準位置をタッチパネル13の中央に固定的に設定したり、プレイヤがタッチパネル13にタッチオンした位置に設定したりする。なお、説明を簡単にするために基準位置をタッチパネル13の中央に固定的に設定する例を用いて、以下の説明を行う。
【0061】
次に、CPUコア21は、ステップ53で設定した基準位置からステップ54で検出したタッチ位置を結ぶベクトルが入力ベクトル(図3参照)を算出し(ステップ55)、当該入力ベクトルが示す入力距離が4dotより大きいか否かを判断する(ステップ56)。そして、CPUコア21は、入力距離が4dot以下の場合、上記ステップ53に戻って処理を繰り返す。一方、CPUコア21は、入力距離が4dotより大きい場合、処理を次のステップ57に進める。
【0062】
ステップ57において、CPUコア21は、入力距離を設定されているモードに応じて入力レベルに変換し、処理を次のステップに進める。例えば、CPUコア21は、図4を用いて説明したモード毎の換算式を用いて、入力距離Dから入力レベルIを算出する。
【0063】
次に、CPUコア21は、プレイヤキャラクタがゲーム空間に設定されたフィールド上に配置(通常動作)されているか否か(ステップ58)、プレイヤキャラクタがゲーム空間に設定された木に登っている(特殊状況)か否か(ステップ61)、およびメニュー状態か否か(ステップ64)を判断する。そして、プレイヤキャラクタがフィールド上に配置されている場合(ステップ58でYes)、処理を次のステップ59に進める。また、CPUコア21は、プレイヤキャラクタが木に登っている場合(ステップ61でYes)、処理を次のステップ62に進める。さらに、CPUコア21は、メニュー状態である場合(ステップ64でYes)、処理を次のステップ65に進める。一方、CPUコア21は、プレイヤキャラクタがフィールド上に配置されておらず、木に登っておらず、メニュー状態でもない場合(ステップ58、61、および64がいずれもNo)、そのまま処理を次のステップ66に進める。
【0064】
ステップ59において、CPUコア21は、上記フィールド上におけるプレイヤキャラクタの移動処理を行う。そして、CPUコア21は、上記プレイヤキャラクタに対する向き変更処理を行い(ステップ60)、次のステップ66に処理を進める。以下、図11および図12を参照して、ステップ59の移動処理およびステップ60の向き変更処理の詳細な動作についてそれぞれ説明する。
【0065】
図11において、CPUコア21は、上記ステップ51で設定されたモードが第1モードmode1か否かを判断する(ステップ71)。そして、CPUコア21は、第1モードmode1に設定されている場合、処理を次のステップ72に進める。一方、CPUコア21は、第2モードmode2に設定されている場合、処理を次のステップ73に進める。
【0066】
ステップ72において、CPUコア21は、第1モードmode1に対応して入力レベルから移動量を演算する換算式を用いて、上記ステップ57で得られた入力レベルから移動量を算出し、次のステップ74に処理を進める。例えば、CPUコア21は、図5を用いて説明したような第1モードmode1に対応する換算式を用いて、入力レベルI(%)を移動量Mに換算する。
【0067】
一方、ステップ73において、CPUコア21は、第2モードmode2に対応して入力レベルから移動量を演算する換算式を用いて、上記ステップ57で得られた入力レベルから移動量を算出し、次のステップ74に処理を進める。例えば、CPUコア21は、図5を用いて説明したような第2モードmode2に対応する換算式を用いて、入力レベルI(%)を移動量Mに換算する。
【0068】
ステップ74において、CPUコア21は、設定されている入力ベクトルの方向(入力方向;図3参照)に算出された移動量だけプレイヤキャラクタをゲーム空間内で移動させ、当該サブルーチンによる処理を終了する。
【0069】
図12において、CPUコア21は、タッチパネル13の基準方向(図3参照)に対する入力ベクトルの方向の角度を算出する(ステップ81)。そして、CPUコア21は、ゲーム空間におけるプレイヤキャラクタの向きを上記ステップ81で算出された角度に応じて回転させ(ステップ82)、当該サブルーチンによる処理を終了する。
【0070】
ここで、上記ステップ72または73において入力レベルを移動量0に換算する換算式を用いる場合(例えば、図5における第1モードmode1のI≦28%や、第2モードmode2のI≦33%の区間)、CPUコア21は、移動量0を取得する。一方、移動量0を取得しても上記ステップ81および82において入力方向に応じたゲーム処理が行われるため、CPUコア21は、結果的にタッチ操作が示す入力方向のみに応じてゲーム処理を行うことになる。つまり、プレイヤは、タッチパネル13に形成される操作指示領域Z2(図7および図8参照)を用いて、一方のゲームパラメータ(方向)のみをタッチ操作で指示することができる。また、上記ステップ72または73において傾きが小さい換算式を用いる場合(例えば、図5における第1モードmode1の28%<I≦58%や、第2モードmode2の33<I≦66%の区間)、CPUコア21は、入力レベルの変化量に対して相対的に小さな変化量で移動量を算出する。したがって、プレイヤは、タッチパネル13に形成される操作指示領域Z3(図7および図8参照)を用いて、微妙な移動量を調整することができる。
【0071】
図10に戻り、プレイヤキャラクタが木に登っている場合(ステップ61でYes)、CPUコア21は、プレイヤキャラクタの木登り処理を行う(ステップ62)。そして、CPUコア21は、上記プレイヤキャラクタに対する向き変更処理を行い(ステップ63)、次のステップ66に処理を進める。なお、上記ステップ63における向き変更処理は、図12を用いて説明したステップ60と同様であるため、詳細な説明を省略する。以下、図13を参照して、ステップ62の木登り処理の詳細な動作について説明する。
【0072】
図13において、CPUコア21は、木登り処理に対応して入力レベルから移動量を演算する換算式を用いて、上記ステップ57で得られた入力レベルから移動量を算出する(ステップ91)。例えば、CPUコア21は、図9を用いて説明したような特殊状況に対応する換算式を用いて、入力レベルI(%)を移動量Mtに換算する。そして、CPUコア21は、上記ステップ91で算出された移動量だけプレイヤキャラクタをゲーム空間内で上下移動させ、当該サブルーチンによる処理を終了する。
【0073】
図10に戻り、メニュー状態である場合(ステップ64でYes)、CPUコア21は、メニュー処理を行い(ステップ65)、次のステップ66に処理を進める。以下、図14を参照して、ステップ65のメニュー処理の詳細な動作について説明する。ここで、メニュー処理は、プレイヤキャラクタをゲーム空間内で移動させる処理とは異なり、プレイヤがゲーム画面で表示された選択肢(メニュー)を選択することによって、当該選択に応じてゲーム処理が進行する。
【0074】
図14において、CPUコア21は、上記ステップ57で得られた入力レベルが3%以上か否かを判断する(ステップ91)。これは、メニューの選択として有効なタッチ操作がなされたか否かを判断するステップであり、微小入力に対しては無効とする。このような判断目的を満たすのであれば、判断のための閾値が3%でなくてもかまわない。そして、CPUコア21は、入力レベルが3%以上の場合、次のステップ92に処理を進める。一方、CPUコア21は、入力レベルが3%未満の場合、そのまま当該サブルーチンによる処理を終了する。
【0075】
ステップ92において、CPUコア21は、タッチパネル13の基準方向(図3参照)に対する入力ベクトルの方向の角度を算出する。そして、CPUコア21は、算出した角度が示す方向に別の選択肢があるか否かを判断する(ステップ93)。別の選択肢がある場合、CPUコア21は、上記方向にある別の選択肢をプレイヤの選択対象に変更して(ステップ94)、当該サブルーチンによる処理を終了する。一方、別の選択肢がない場合、CPUコア21は、そのまま当該サブルーチンによる処理を終了する。
【0076】
図10に戻り、ステップ66において、CPUコア21は、ゲーム空間に配置される仮想カメラの制御やプレイヤキャラクタに対する敵キャラクタの制御等のその他の処理を行う。なお、ステップ66の処理については、本発明と直接関連しないため、これ以上の説明を省略する。そして、CPUコア21は、ゲームを終了するか否かを判断する(ステップ67)。CPUコア21は、ゲームを継続する場合に上記ステップ53に戻って処理を繰り返し、ゲームを終了する場合に当該フローチャートによる処理を終了する。
【0077】
このように、本実施例のゲームプログラムを実行するゲーム装置によれば、入力レベルの変化に対して移動量の変化量が相対的に小さい区間(操作指示領域Z3)を設定することによって、プレイヤがタッチパネル13を用いて移動量を微妙に変化させることができる。また、プレイヤは、タッチパネル13に形成される操作指示領域Z2を用いて、一方のゲームパラメータ(方向)のみをタッチ操作で指示することができる。さらに、タッチパネル操作方法に応じた複数モード(第1モードmode1および第2モードmode2)を設定することによって、当該タッチパネル操作方法の相違に対応してそれぞれ適切なゲームパラメータを得ることができる。なお、上記モードに応じた処理においては、当該モードそれぞれに応じて異なった換算式を用いて入力距離を入力レベルに変換し、その入力レベルを用いてゲーム処理することができる。つまり、モードが異なっても入力レベル算出以降のゲーム処理を共通にすれば(例えば、図9に示す移動量Mtの算出)、操作感覚が異なる複数のモードを共通のゲーム処理で実現することができる。
【0078】
なお、上述では、説明を具体的にするために、具体的な数値を用いて各換算式や閾値を説明したが、これらは一実施例であり、本発明がこれらの数値に限定されることはないことは言うまでもない。例えば、入力レベルを移動量に換算する技術においては、ある区間で用いられる換算式によって入力レベルを換算した移動量より大きな値に換算する換算式を他の区間に用いれば、同様の効果を得ることができる。
【0079】
また、上記実施例では、ゲーム装置1の入力手段としてタッチパネルを用いたが、他のポインティングデバイスを用いてもかまわない。ここで、ポインティングデバイスは、画面上での入力位置や座標を指定する入力装置であり、例えば、マウス、トラックパッド、トラックボールなどを入力手段として使用し、入力手段から出力される出力値から計算された画面座標系の情報を用いれば、本発明を同様に実現することができる。
【0080】
また、上記実施例では、ゲーム装置1にタッチパネル13が一体的に設けられているが、ゲーム装置とタッチパネルとを別体にして構成しても、本発明を実現できることは言うまでもない。さらに、上記実施例では表示器を2つ設けたが、表示器は1つであってもかまわない。すなわち、上記実施例において、第2LCD12設けず単にタッチパネル13のみを設けるようにしてもよい。また、上記実施例において、第2LCD12を設けず第1LCD11の上面にタッチパネル13を設けても良い。
【0081】
また、上記実施例では、ゲーム装置1にタッチパネル13が一体的に設けられているが、タッチパネルを入力手段の1つとする一般的なパーソナルコンピュータなどの情報処理装置でもかまわない。この場合、この情報処理装置のコンピュータが実行するプログラムは、典型的にゲームに用いられるゲームプログラムに限らず、上述した方式で得られた移動量等が上記情報処理装置に対する操作処理(例えば、カーソルの移動処理等)に用いられる汎用的なプログラムである。
【産業上の利用可能性】
【0082】
本発明のゲームプログラムおよびゲーム装置は、ポインティングデバイスを用いてプレイヤが望む1つのパラメータのみに対する操作や微妙な操作を実現することができ、ポインティングデバイスを用いて操作するゲーム等に適用できる。
【図面の簡単な説明】
【0083】
【図1】本発明の一実施形態に係るゲームプログラムを実行するゲーム装置1の外観図
【図2】図1のゲーム装置1の内部構成を示すブロック図
【図3】図1のタッチパネル13に対するタッチ操作の際に設定される入力ベクトルを説明するための図
【図4】入力距離Dに対応して算出される入力レベルIを説明するためのグラフ
【図5】通常時おいて入力レベルIに対応して算出される移動量Mを説明するためのグラフ
【図6】図4および図5の関係に基づいて、入力距離Dに対応して算出される移動量Mを説明するためのグラフ
【図7】第1モードmode1時にタッチパネル13に設定される各操作指示領域Z1〜Z5を説明するための図
【図8】第2モードmode2時にタッチパネル13に設定される各操作指示領域Z1〜Z5を説明するための図
【図9】特殊な状況時おいて入力レベルIに対応して算出される移動量Mを説明するためのグラフ
【図10】本発明の一実施形態に係るゲームプログラムを実行することによってゲーム装置1がゲーム処理する動作を示すフローチャート
【図11】図10におけるステップ59の移動処理について詳細な動作を示すサブルーチン
【図12】図10におけるステップ60および63の向き変更処理について詳細な動作を示すサブルーチン
【図13】図10におけるステップ62の木登り処理について詳細な動作を示すサブルーチン
【図14】図10におけるステップ65のメニュー処理について詳細な動作を示すサブルーチン
【符号の説明】
【0084】
1…ゲーム装置
11…第1LCD
12…第2LCD
13…タッチパネル
14…操作スイッチ部
15…スピーカ
16…スタイラス
17…カートリッジ
171…ROM
172…RAM
18…ハウジング
21…CPUコア
22…WRAM
23…第1VRAM
24…第1GPU
25…第2VRAM
26…第2GPU
27…I/F回路
28…コネクタ
【技術分野】
【0001】
本発明は、ゲームプログラムおよびゲーム装置に関し、より特定的には、タッチパネル等のポインティングデバイスを用いたコンピュータゲームで用いられるゲームプログラムおよびゲーム装置に関する。
【背景技術】
【0002】
従来、ポインティングデバイスによって指定された座標に基づいて、入力の大きさおよび入力方向を決定する入力方式がある。例えば、プレイヤがタッチパネルを用いて操作する入力装置が開発されている(例えば、特許文献1参照)。特許文献1で開示された入力装置では、当該特許文献1の図3に示されているように、プレイヤがタッチパネルをタッチしたタッチ座標とタッチパネルの中心との間の方向と距離により、カーソルの移動方向と移動量を決定している。
【特許文献1】特開平11−53115号公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
しかしながら、上記特許文献1で開示された入力装置では、プレイヤのタッチ操作に応じて、そのタッチ座標とタッチパネルの中心との間の方向および距離を求め、2つのパラメータ(方向および移動量)を決定している。つまり、プレイヤは、上記入力装置を用いて一方のパラメータ(例えば、方向)のみをタッチ操作で指示することができない。また、上記入力装置では、タッチ座標とタッチパネルの中心との間の距離に応じて移動量が決定されるため、プレイヤが微妙な移動量を調整することができない。
【0004】
それ故に、本発明の目的は、ポインティングデバイスを用いてプレイヤが望む1つのパラメータのみに対する操作や微妙な操作を実現するゲームプログラムおよびゲーム装置を提供することである。
【課題を解決するための手段】
【0005】
上記の目的を達成するために、本発明は以下の構成を採用した。なお、括弧内の参照符号やステップ番号(ステップをSと略称しステップ番号のみを記載する)等は、本発明の理解を助けるために後述する実施形態との対応関係を示したものであって、本発明の範囲を何ら限定するものではない。
【0006】
第1の発明は、ポインティングデバイス(13)によって操作されるゲーム装置(1)のコンピュータ(21)に実行されるゲームプログラムである。ポインティングデバイスは、プレイヤの操作に応じて所定の座標系に基づいた座標情報を出力する。ゲームプログラムは、基準座標設定ステップ(S53)、基準座標記憶ステップ(S53)、指示座標設定ステップ(S54)、算出ステップ(S55)、第1ゲームパラメータ決定ステップ(S57、S72、S73、図6〜図8に示す操作指示領域Z4)、第2ゲームパラメータ決定ステップ(S57、S72、S73、図6〜図8に示す操作指示領域Z2、Z3)、およびゲーム処理ステップ(S74、S60)をコンピュータに実行させる。基準座標設定ステップは、座標系の基準座標(基準位置)を設定する。基準座標記憶ステップは、基準座標を記憶する。指示座標設定ステップは、ポインティングデバイスから出力される座標情報に基づいて、座標系における指示座標(タッチ位置)を設定する。算出ステップは、基準座標から指示座標までの距離(入力距離D)および方向(入力方向)を算出する。第1ゲームパラメータ決定ステップは、算出ステップによって算出された距離が所定の閾値未満のとき、第1の換算関数を用いてその距離を換算した(図5、図6)ゲームパラメータ(移動量M)を決定する。第2ゲームパラメータ決定ステップは、算出ステップによって算出された距離が閾値以上のとき(図6に示すmode1の10dotまたは21dot、または、mode2の16dotまたは32dot)、第1の換算関数によってその距離を換算した値より大きな値に換算する第2の換算関数を用いてその距離を換算した(図5、図6)ゲームパラメータ(移動量M)を決定する。ゲーム処理ステップは、算出ステップによって算出された方向と、第1ゲームパラメータ決定ステップまたは第2ゲームパラメータ決定ステップによって決定されたゲームパラメータとを用いてゲーム処理を行う。なお、ポインティングデバイスは、画面上での入力位置や座標を指定する入力装置であり、例えば、タッチパネル、マウス、トラックパッド、トラックボールなどで実現される。そして、それぞれの入力装置で用いられる座標系は、タッチパネル座標系や画面座標系である。
【0007】
第2の発明は、上記第1の発明において、算出ステップによって算出された距離が所定の閾値未満のとき(図6に示すmode1の4〜10dot、mode2の4〜16dot)、第1ゲームパラメータ決定ステップは、第1の換算関数を用いて算出ステップによって算出された距離を0に換算して、ゲームパラメータを0に決定する(M=0)。
【0008】
第3の発明は、上記第2の発明において、算出ステップによって算出された距離が所定の閾値以上のとき(図6に示すmode1の10dot〜、mode2の16dot〜)、ゲーム処理ステップは、距離を換算したゲームパラメータと算出ステップによって算出された方向との両方を用いてゲーム処理を行う(操作指示領域Z3〜Z5)。算出ステップによって算出された距離が所定の閾値未満のとき、ゲーム処理ステップは、算出ステップによって算出された方向のみを用いてゲーム処理を行う(操作指示領域Z2)。
【0009】
第4の発明は、上記第1の発明において、第2の換算関数よって換算される単位距離当たりのゲームパラメータの変化率(図6に示すmode1の21〜36dotの傾き、mode2の32〜48dotの傾き)は、第1の換算関数よって換算される単位距離当たりのゲームパラメータの変化率(図6に示すmode1の10〜21dotの傾き、mode2の16〜32dotの傾き)より大きい。
【0010】
第5の発明は、上記第1の発明において、第1ゲームパラメータ決定ステップで用いる第1の換算関数は、算出ステップによって算出された距離に正の第1の値を乗算して換算する関数である。第2ゲームパラメータ決定ステップで用いる第2の換算関数は、算出ステップによって算出された距離に第1の値より大きい正の第2の値を乗算して換算する関数である。
【0011】
第6の発明は、上記第1の発明において、第1ゲームパラメータ決定ステップで用いる第1の換算関数は、算出ステップによって算出された距離に正の第1の値を乗算して換算する関数である。第2ゲームパラメータ決定ステップで用いる第2の換算関数は、閾値に第1の値を乗算した値に、算出ステップによって算出された距離から閾値を減算した値に第1の値より大きい正の第2の値を乗算した値を加算する換算する関数である。
【0012】
第7の発明は、上記第1の発明において、ゲーム処理ステップは、ゲームパラメータに応じて仮想ゲーム空間に登場するゲームオブジェクトの移動速度を決定して(S74)ゲーム処理を行う。
【0013】
第8の発明は、上記第1の発明において、ゲーム処理ステップは、算出ステップによって算出された方向に応じて仮想ゲーム空間に登場するゲームオブジェクトの向きを決定して(S82)ゲーム処理を行う。
【0014】
第9の発明は、上記第1の発明において、基準座標設定ステップは、指示座標設定ステップで最初に設定した指示座標を基準座標に設定する。
【0015】
第10の発明は、ポインティングデバイスによって操作されるゲーム装置である。ポインティングデバイスは、プレイヤの操作に応じて所定の座標系に基づいた座標情報を出力する。ゲーム装置は、基準座標設定手段、基準座標記憶手段、指示座標設定手段、算出手段、第1ゲームパラメータ決定手段、第2ゲームパラメータ決定手段、およびゲーム処理手段を備える。基準座標設定手段は、座標系の基準座標を設定する。基準座標記憶手段は、基準座標を記憶する。指示座標設定手段は、ポインティングデバイスから出力される座標情報に基づいて、座標系における指示座標を設定する。算出手段は、基準座標から指示座標までの距離および方向を算出する。第1ゲームパラメータ決定手段は、算出手段によって算出された距離が所定の閾値未満のとき、第1の換算関数を用いてその距離を換算したゲームパラメータを決定する。第2ゲームパラメータ決定手段は、算出手段によって算出された距離が閾値以上のとき、第1の換算関数によってその距離を換算した値より大きな値に換算する第2の換算関数を用いてその距離を換算したゲームパラメータを決定する。ゲーム処理手段は、算出手段によって算出された方向と、第1ゲームパラメータ決定手段または第2ゲームパラメータ決定手段によって決定されたゲームパラメータとを用いてゲーム処理を行う。
【0016】
第11の発明は、ポインティングデバイスによって操作される情報処理装置のコンピュータに実行されるプログラムである。ポインティングデバイスは、ユーザの操作に応じて所定の座標系に基づいた座標情報を出力する。プログラムは、基準座標設定ステップ、基準座標記憶ステップ、指示座標設定ステップ、算出ステップ、第1パラメータ決定ステップ、第2パラメータ決定ステップ、および操作処理ステップをコンピュータに実行させる。基準座標設定ステップは、座標系の基準座標を設定する。基準座標記憶ステップは、基準座標を記憶する。指示座標設定ステップは、ポインティングデバイスから出力される座標情報に基づいて、座標系における指示座標を設定する。算出ステップは、基準座標から指示座標までの距離および方向を算出する。第1パラメータ決定ステップは、算出ステップによって算出された距離が所定の閾値未満のとき、第1の換算関数を用いてその距離を換算したパラメータを決定する。第2パラメータ決定ステップは、算出ステップによって算出された距離が閾値以上のとき、第1の換算関数によってその距離を換算した値より大きな値に換算する第2の換算関数を用いてその距離を換算したパラメータを決定する。操作処理ステップは、算出ステップによって算出された方向と、第1パラメータ決定ステップまたは第2パラメータ設定ステップによって決定されたパラメータとを用いて操作処理を行う。
【発明の効果】
【0017】
上記第1の発明によれば、基準座標から指示座標までの距離において、当該距離に対してゲームパラメータが相対的に小さく換算される区間(第1ゲームパラメータ決定ステップ)と、当該距離に対してゲームパラメータが相対的に大きく換算される区間(第2ゲームパラメータ決定ステップ)とを設定することによって、プレイヤがポインティングデバイスを用いた操作に対する操作感覚を変化させることができる。
【0018】
上記第2の発明によれば、プレイヤは、基準座標から指示座標までの距離が所定の閾値未満となるようにポインティングデバイスを用いることによって、方向のみに応じたゲーム処理を行わせることができる。
【0019】
上記第3の発明によれば、プレイヤは、基準座標から指示座標までの距離が所定の閾値以上となるようにポインティングデバイスを用いることによって、当該距離および方向に応じたゲーム処理を行わせることができ、上記距離が所定の閾値未満となるようにポインティングデバイスを用いることによって、方向のみに応じたゲーム処理を行わせることができる。
【0020】
上記第4の発明によれば、基準座標から指示座標までの距離において、当該距離の変化量に対してゲームパラメータの変化量が相対的に小さい区間と、当該距離の変化量に対してゲームパラメータの変化量が相対的に大きい区間とを設定することによって、プレイヤがポインティングデバイスを用いた操作に対する操作感覚をそれぞれの区間に応じて変化させることができ、ゲームパラメータの変化量が相対的に小さい区間を用いて微妙な操作入力を行うことができる。
【0021】
上記第5の発明によれば、基準座標から指示座標までの距離において、当該距離の変化量にゲームパラメータの変化量が比例して相対的に小さく変化する区間と、当該距離の変化量にゲームパラメータの変化量が比例して相対的に大きく変化する区間とを設定することによって、プレイヤが各区間におけるポインティングデバイスの操作に対するゲームパラメータの変化が予想しやすくなる。また、ゲームパラメータに換算する処理が簡単になる。
【0022】
上記第6の発明によれば、上記第5の発明の効果に加えて、各区間で算出されるゲームパラメータの繋がりが連続するため、ポインティングデバイスの操作における基準座標から指示座標までの距離に応じてスムーズなゲーム処理となる。
【0023】
上記第7の発明によれば、プレイヤがポインティングデバイスを用いた操作に対して操作感覚が変化するゲームパラメータを、ゲームオブジェクトの移動速度に反映させることができる。
【0024】
上記第8の発明によれば、プレイヤがポインティングデバイスを用いて操作する方向を、ゲームオブジェクトの向きに反映させることができる。
【0025】
上記第9の発明によれば、プレイヤが操作感覚で基準座標を認識することができるため、基準座標の位置を目で確認する必要がない。また、ポインティングデバイスに対して常に固定された基準座標が設けられていないため、ポインティングデバイスの座標系における任意の位置から操作を始めることができる。
【0026】
また、本発明のゲーム装置およびプログラムによれば、上述したゲームプログラムと同様の効果を得ることができる。
【発明を実施するための最良の形態】
【0027】
図面を参照して、本発明の一実施形態に係るゲームプログラムを実行するゲーム装置について説明する。なお、図1は、本発明のゲームプログラムを実行するゲーム装置1の外観図である。ここでは、ゲーム装置1の一例として、携帯ゲーム装置を示す。
【0028】
図1において、本実施形態のゲーム装置1は、2つの液晶表示器(LCD)11および12を所定の配置位置となるように、ハウジング18に収納して構成される。具体的には、第1液晶表示器(以下、「LCD」という)11および第2LCD12を互いに上下に配置して収納する場合は、ハウジング18が下部ハウジング18aおよび上部ハウジング18bから構成され、上部ハウジング18bが下部ハウジング18aの上辺の一部で回動自在に支持される。上部ハウジング18bは、第1LCD11の平面形状よりも少し大きな平面形状を有し、一方主面から第1LCD11の表示画面を露出するように開口部が形成される。下部ハウジング18aは、その平面形状が上部ハウジング18bよりも横長に選ばれ、横方向の略中央部に第2LCD12の表示画面を露出する開口部が形成され、第2LCD12を挟む何れか一方にスピーカ15の音抜き孔が形成されるとともに、第2LCD12を挟む左右に操作スイッチ部14が装着される。
【0029】
操作スイッチ部14は、第2LCD12の右横における下部ハウジング18aの一方主面に装着される動作スイッチ(Aボタン)14aおよび動作スイッチ(Bボタン)14bと、第2LCD12の左横における下部ハウジング18aの一方主面に装着される方向指示スイッチ(十字キー)14cと、スタートスイッチ14dと、セレクトスイッチ14eと、側面スイッチ14fおよび14gとを含む。動作スイッチ14aおよび14bは、例えばサッカーゲーム等のスポーツゲームにおいてはパスやシュートを行う等の指示、アクションゲームにおいてはジャンプ、パンチ、武器を動かす等の指示、ロールプレイングゲーム(RPG)やシミュレーションRPGにおいてはアイテムの取得、武器またはコマンドの選択決定等の指示入力に使用される。方向指示スイッチ14cは、プレイヤによって操作スイッチ部14を用いて操作可能なプレイヤオブジェクト(またはプレイヤキャラクタ)の移動方向を指示したり、カーソルの移動方向を指示したりする等のゲーム画面における方向指示に用いられる。側面スイッチ(Lボタン)14fおよび側面スイッチ(Rボタン)14gは、下部ハウジング18aにおける上部面(上部側面)の左右に設けられる。また、必要に応じて、動作スイッチをさらに追加してもかまわない。
【0030】
また、第2LCD12の上面には、本発明の入力装置の一例としてタッチパネル13(図1における破線領域)が装着される。タッチパネル13は、例えば、抵抗膜方式、光学式(赤外線方式)、静電容量結合式の何れの種類でもよく、その上面をスタイラス16(または指でも可)で押圧操作、移動操作、または撫でる操作をしたとき、スタイラス16の座標位置を検出して座標データを出力するポインティングデバイスの一例である。
【0031】
上部ハウジング18bの側面近傍には、必要に応じてタッチパネル13を操作するスタイラス16を収納するための収納孔(図1における二点破線領域)が形成される。この収納孔には、スタイラス16が収納される。下部ハウジング18aの側面の一部には、ゲームプログラムを記憶したメモリ(例えば、ROM)を内蔵したゲームカートリッジ17(以下、単にカートリッジ17と記載する)を着脱自在に装着するためのカートリッジ挿入部(図1における一点破線領域)が形成される。カートリッジ17は、ゲームプログラムを記憶する情報記憶媒体であり、例えば、ROMまたはフラッシュメモリのような不揮発性半導体メモリが用いられる。カートリッジ挿入部の内部には、カートリッジ17と電気的に接続するためのコネクタ(図2参照)が内蔵される。さらに、下部ハウジング18a(または上部ハウジング18bでも可)には、CPU等の各種電子部品を実装した電子回路基板が収納される。なお、ゲームプログラムを記憶する情報記憶媒体としては、上記不揮発性半導体メモリに限らず、CD−ROM、DVD、あるいはそれらに類する光学式ディスク状記憶媒体でもよい。
【0032】
次に、図2を参照して、ゲーム装置1の内部構成について説明する。なお、図2は、ゲーム装置1の内部構成を示すブロック図である。
【0033】
図2において、ハウジング18に収納される電子回路基板には、CPUコア21が実装される。CPUコア21には、所定のバスを介して、カートリッジ17と接続するためのコネクタ28が接続されるとともに、入出力インターフェース(I/F)回路27、第1のグラフィック処理ユニット(第1GPU)24、第2のグラフィック処理ユニット(第2GPU)26、およびワーキングRAM(WRAM)22が接続される。
【0034】
コネクタ28には、カートリッジ17が着脱自在に接続される。カートリッジ17は、上述したようにゲームプログラムを格納するための記憶媒体であり、具体的には、ゲームプログラムを記憶するROM171とバックアップデータを書き換え可能に記憶するRAM172とを搭載する。カートリッジ17のROM171に記憶されたゲームプログラムは、WRAM22にロードされ、当該WRAM22にロードされたゲームプログラムがCPUコア21によって実行される。CPUコア21がゲームプログラムを実行して得られる一時的なデータや画像を生成するためのデータがWRAM22に記憶される。
【0035】
このように、ROM171には、ゲーム装置1のコンピュータ、特にCPUコア21によって実行可能な形式の命令群及びデータ群であるゲームプログラムが記録される。そして、このゲームプログラムは、WRAM22に適宜読み込まれ実行される。なお、本実施例では、ゲームプログラムなどをカートリッジ17に記録させたが、これらゲームプログラムを他の媒体や通信回線を通じて供給することもできる。
【0036】
I/F回路27には、タッチパネル13、操作スイッチ部14、およびスピーカ15が接続される。スピーカ15は、上述した音抜き孔の内側位置に配置される。
【0037】
第1GPU24には、第1ビデオRAM(以下「VRAM」)23が接続され、第2GPU26には、第2のビデオRAM(以下「VRAM」)25が接続される。第1GPU24は、CPUコア21からの指示に応じて、WRAM22に記憶される画像を生成するためのデータに基づいて第1ゲーム画像を生成し、第1VRAM23に描画する。第2GPU26は、CPUコア21からの指示に応じて、WRAM22に記憶される画像を生成するためのデータに基づいて第2ゲーム画像を生成し、第2VRAM25に描画する。
【0038】
第1GPU24が第1LCD11に接続され、第2GPU26が第2LCD12に接続される。第1GPU24は、CPUコア21からの指示に応じて第1VRAM23に描画された第1ゲーム画像を第1LCD11に出力する。そして、第1LCD11は、第1GPU24から出力された第1ゲーム画像を表示する。第2GPU26は、CPUコア21からの指示に応じて第2VRAM25に描画された第2ゲーム画像を第2LCD12に出力する。そして、第2LCD12は、第2GPU26から出力された第2ゲーム画像を表示する。
【0039】
I/F回路27は、タッチパネル13、操作スイッチ部14、およびスピーカ15等の外部入出力装置とCPUコア21との間のデータの受け渡しを行う回路である。タッチパネル13(タッチパネル用のデバイスドライバを含む)は、第2VRAM25の座標系に対応するタッチパネル座標系を有し、スタイラス16等によって入力(指示)された位置に対応する位置座標のデータを出力するものである。例えば、第2LCD12の表示画面の解像度は256dot×192dotであり、タッチパネル13の検出精度も表示画面に対応した256dot×192dotである。なお、タッチパネル13の検出精度は、第2LCD12の表示画面の解像度よりも低いものであってもよいし、高いものであってもよい。
【0040】
以下、図3〜図9を参照して、上記ゲーム装置1で実行されるゲームプログラムによる具体的な処理例を説明する。なお、図3は、タッチパネル13に対するタッチ操作の際に設定される入力ベクトルを説明するための図である。図4は、入力距離Dに対応して算出される入力レベルIを説明するためのグラフである。図5は、通常時おいて入力レベルIに対応して算出される移動量Mを説明するためのグラフである。図6は、図4および図5の関係に基づいて、入力距離Dに対応して算出される移動量Mを説明するためのグラフである。図7は、第1モードmode1時にタッチパネル13に設定される各操作指示領域Z1〜Z5を説明するための図である。図8は、第2モードmode2時にタッチパネル13に設定される各操作指示領域Z1〜Z5を説明するための図である。図9は、特殊な状況時おいて入力レベルIに対応して算出される移動量Mを説明するためのグラフである。
【0041】
図3において、まずタッチパネル13にタッチ操作の基準となる基準位置が設定される。例えば、基準位置は、タッチパネル13の所定位置(例えば、タッチパネル13の中央)に固定的に設定してもよいが、プレイヤが指定した位置に設定してもよい。後者の場合、例えば、プレイヤがタッチパネル13にタッチオン(最初にタッチパネル13をタッチする操作)した位置に設定されたりする。なお、基準位置は、その後のタッチ操作によって移動させてもかまわない。例えば、基準位置と後述するタッチ位置との間の距離が所定距離以上離れたときに、当該距離が所定距離になるように基準位置を随時変更してもかまわない。
【0042】
上記基準位置からプレイヤがタッチパネル13をタッチ操作している位置(タッチ位置)を結ぶベクトルが入力ベクトルとして設定される。つまり、プレイヤがタッチ位置を変えることによって入力ベクトルの方向(入力方向)および入力ベクトルの長さ(入力距離)が変わる。後述するゲーム装置1の処理動作においては、上記入力方向が基準方向(例えば、タッチパネル13に沿った上方向)に対する角度で示され、上記入力距離がタッチパネル13のドット(dot)数で示される。
【0043】
図4に示すように、ゲーム装置1は、タッチパネル13を用いて入力された入力距離D(dot)に応じて入力レベルI(%)を算出する。ここで、ゲーム装置1は、ゲーム開始時に選択されるモードに応じて、入力距離Dを入力レベルIに換算するための換算式を変更する。例えば、モードは、タッチパネル13をタッチ操作する方法に応じて設定されている。具体的には、プレイヤが自身の指や指に所定のポインティング部材を装着してタッチパネル13をタッチ操作するモードとして、第1モードmode1が設定されている。また、プレイヤがスタイラス16を用いてタッチパネル13をタッチ操作するモードとして、第2モードmode2が設定されている。以下の説明においては、上述した目的で2つのモード(第1モードmode1および第2モードmode2)を設定した一例を用いて説明するが、他の条件でモードを設定してもかまわない。例えば、ゲームの難易度に応じて2つ以上のモードを設定してもかまわない。また、操作するプレイヤの年齢に応じて複数のモードを設定してもかまわない。
【0044】
ゲーム装置1は、第1モードmode1に設定されている場合、
I=0 (D≦4dot)
I=(100/36)*D (4dot<D≦36dot)
I=100 (36dot<D)
で示される換算式を用いて、入力距離D(dot)を入力レベルI(%)に換算する。また、ゲーム装置1は、第2モードmode2に設定されている場合、
I=0 (D≦4dot)
I=(100/48)*D (4dot<D≦48dot)
I=100 (48dot<D)
で示される換算式を用いて、入力距離D(dot)を入力レベルI(%)に換算する。
【0045】
このように、ゲーム装置1は、いずれのモードにおいても入力距離D≦4dotでは入力レベルI=0に換算しており、タッチ操作における遊び領域(操作入力としてゲーム処理を行わない領域)を設定している。また、ゲーム装置1は、モードに応じて最大入力レベル(I=100%)となる入力距離Dをそれぞれ設定し、その入力距離D以上の場合は最大入力レベルになるようにしている。つまり、ゲーム装置1は、第1モードmode1では入力距離Dが36dot以上で最大入力レベルとなり、第2モードmode2では入力距離Dが48dot以上で最大入力レベルとなるように換算する。そして、ゲーム装置1は、上記最大入力レベルになるまでの区間については、モードに応じてそれぞれ異なった傾きを示す係数を入力距離Dに乗算して入力レベルIに換算する。
【0046】
図5に示すように、ゲーム装置1は、得られた入力レベルI(%)に応じて移動量Mを算出する。例えば、図5で示す移動量Mは、ゲーム空間に登場するプレイヤキャラクタが当該ゲーム空間に設定されたフィールド上を移動する(通常動作)際の単位時間当たりの移動量を示すゲームパラメータの1つである。ここで、ゲーム装置1は、上述したモードに応じて、入力レベルIを移動量Mに換算するための換算式を変更する。
【0047】
ゲーム装置1は、第1モードmode1に設定されている場合、
M=0 (I≦28%)
M=(CP/30)*I−(14/15)*CP (28%<I≦58%)
M={(MAX−CP)/42}*I+(50*CP−29*MAX)/21
(58%<I≦100%)
で示される換算式を用いて、入力レベルI(%)を移動量Mに換算する。ここで、MAXは、上記プレイヤキャラクタがフィールド上で移動できる単位時間当たりの最大移動量(最高移動量MAX)を示している。また、CPは、上記プレイヤキャラクタがフィールド上における移動形態が低速移動から高速移動に切り替わる移動量(切替移動量CP)を示している。また、ゲーム装置1は、第2モードmode2に設定されている場合、
M=0 (I≦33%)
M=(CP/33)*I−CP (33%<I≦66%)
M={(MAX−CP)/34}*I+(50*CP−33*MAX)/17
(66%<I≦100%)
で示される換算式を用いて、入力レベルI(%)を移動量Mに換算する。
【0048】
このように、ゲーム装置1は、第1モードmode1における入力レベルI≦28%および第2モードmode2における入力レベルI≦33%では移動量M=0に換算しており、タッチ操作に応じてプレイヤキャラクタが移動しない区間を設定している。なお、後述によって明らかとなるが、移動量M=0であっても入力距離D>4dotであれば入力方向が設定され、プレイヤはタッチパネル13を用いて方向のみの入力が可能となる。これによって、例えば、入力距離に基づいて3次元仮想空間中のプレイヤオブジェクトの移動量を決定し、入力方向に基づいて当該プレイヤオブジェクトの向きを変化させる場合、入力レベルI≦28%(第1モード)、入力レベルI≦33%(第2モード)では、プレイヤオブジェクトをその場で回転させ、また、入力レベルI>28%(第1モード)、入力レベルI>33%(第2モード)では、プレイヤオブジェクトを回転させつつ移動させることができ、この2つの動作を共通の入力制御により使い分けることができる。また、ゲーム装置1は、いずれのモードにおいても最大入力レベル(I=100%)に対して移動量Mが最高移動量MAXになるように換算するが、最高移動量MAXになるまでの区間中に切替移動量CPを設定し、モードに応じてそれぞれ異なった傾きを示す係数を入力レベルIに乗算して移動量Mに換算する。そして、移動量M=0〜切替移動量CP間(低速移動区間)の傾きは、切替移動量CP〜最高移動量MAX間(高速移動区間)の傾きより小さく設定される。つまり、低速移動区間は、高速移動区間と比べて入力レベルIの変化に対する移動量Mの変化量が小さくなり、プレイヤはタッチパネル13を用いて移動量Mを微妙に変化させることができる。これによって、例えば、最大入力レベル(I=100%)となる入力距離Dを比較的短くした場合であっても、プレイヤオブジェクトを微妙に移動させたい場合と、一気に移動させたい場合を効果的に使い分けることができる。
【0049】
なお、上述した説明では、ゲーム装置1が入力レベルIを移動量Mに換算するための換算式を1次関数で説明したが、2次以上の関数等の曲線で変化する換算式に用いてもかまわない。低速移動区間で用いられる換算式によって入力レベルIを換算した移動量Mより大きな値に換算する換算式を高速移動区間に用いれば、同様の効果を得ることができる。例えば、低速移動区間および高速移動区間で用いられる換算式を同次数の式とし、高速移動区間の換算式の最高次数の係数を低速移動区間の換算式の最高次数の係数よりも大きくしてもよい。また、高速移動区間の換算式の次数を低速移動区間の換算式の次数よりも大きくしてもよい。さらには、低速移動区間および高速移動区間のそれぞれの区間内で連続した換算式でなくてもよく、各区間内で不連続な換算関数としてもよい。また、上述した説明では、低速移動区間から高速移動区間に切り替わる際(つまり、切替移動量CP)、移動量Mが急激に変化しないように換算式を設定したが、低速移動区間から高速移動区間へ切り替わった際に移動量Mが急激に加速されるように換算式を設定してもかまわない。
【0050】
上述した入力距離Dに応じて入力レベルIを算出し、当該入力レベルIを用いて移動量Mを算出すると、各モードに応じて各操作指示領域Z1〜Z5が基準位置を中心として当該中心から外周側に向かって同心円状の領域で設定される。図6および図7に示すように、第1モードmode1では基準位置から順に、遊び領域(操作指示領域Z1:0≦D≦4dot)、方向のみ指示する領域(操作指示領域Z2:4dot<D≦10dot)、低速移動領域(操作指示領域Z3:10dot<D≦21dot)、高速移動領域(操作指示領域Z4:21dot<D≦36dot)、および最高速移動領域(操作指示領域Z5:36dot<D)が設定される。なお、第1モードmode1で設定される各領域を対応する入力レベルIで示すと、操作指示領域Z1がI=0%、操作指示領域Z2が0%<I≦28%、操作指示領域Z3が28%<I≦58%、操作指示領域Z4が58%<I≦100%、および操作指示領域Z5がI=100%となる。
【0051】
一方、図6および図8に示すように、第2モードmode2では基準位置から順に、遊び領域(操作指示領域Z1:0≦D≦4dot)、方向のみ指示する領域(操作指示領域Z2:4dot<D≦16dot)、低速移動領域(操作指示領域Z3:16dot<D≦32dot)、高速移動領域(操作指示領域Z4:32dot<D≦48dot)、および最高速移動領域(操作指示領域Z5:48dot<D)が設定される。なお、第2モードmode2で設定される各領域を対応する入力レベルIで示すと、操作指示領域Z1がI=0%、操作指示領域Z2が0%<I≦33%、操作指示領域Z3が33%<I≦66%、操作指示領域Z4が66%<I≦100%、および操作指示領域Z5がI=100%となる。
【0052】
図4〜図8を参照すれば明らかなように、第1モードmode1と比較して第2モードmode2では、最大入力レベル(I=100%)となる入力距離Dが長くなるように設定される。また、基準位置から方向のみ指示する領域(操作指示領域Z2)の外縁までの距離が長くなるように設定される。また、基準位置から換算式が変更される領域の境界(操作指示領域Z3とZ4の境界)までの距離が長くなるように設定される。言い換えれば、操作指示領域Z2〜Z4が広く形成されており、操作指示領域Z3およびZ4におけるタッチパネル13に対する入力距離D(dot)の変化量に対する移動量Mの変化量が小さく(つまり、傾きが小さい)設定されている。そして、上述したように第1モードmode1は、プレイヤが自身の指や指に上記ポインティング部材を装着してタッチパネル13をタッチ操作するモードとして設定され、第2モードmode2は、プレイヤがスタイラス16を用いてタッチパネル13をタッチ操作するモードとして設定されている。一般的に、プレイヤがスタイラス16等の棒状の器具を用いてタッチパネル13を操作する場合、指で直接操作するより入力距離が長くなる傾向にある。これは、指で直接操作する方法に比べて、スタイラス16をプレイヤが掴む位置からタッチパネル13と接触する位置(つまり、スタイラス16の先端部)までの距離が長いため、タッチパネル操作における支点距離が長くなるためである。したがって、プレイヤはスタイラス16を用いてタッチパネル13をタッチ操作すると、入力距離が短い入力が難しくなるため、スタイラス16を用いるモードでは各領域を広く設定したのである。つまり、上述した第1モードmode1および第2モードmode2は、このようなタッチパネル操作方法の相違に対応してそれぞれ適切なゲームパラメータを得ることができる。なお、本実施例では、2つのモードを、指を用いるモードとスタイラスを用いるモードと説明したが、大人と子供では指の大きさが異なり、また、人種等によっても異なるため、それらに応じたモードという位置づけであってもよい。また、指の大きさが同じであっても指の器用さには違いがあり、つまるところ、プレイヤの好みに応じて2つのモードが選択されればよい。なお、第1モードmode1と比較して第2モードmode2では、方向のみ指示する領域(Z2)の外縁に対応する入力レベルが大きくなるように設定される。また、換算式が変更される領域の境界(操作指示領域Z3とZ4の境界)に対応する入力レベルが大きくなるように設定される。
【0053】
他の例として、ゲーム装置1は、図9のように得られた入力レベルI(%)に応じて移動量Mtを算出する。例えば、図9で示す移動量Mtは、ゲーム空間に登場するプレイヤキャラクタが当該ゲーム空間に設定されたフィールド上を移動する通常動作以外の特殊な状況(特殊状況)における単位時間当たりの移動量を示すゲームパラメータの1つである。例えば、プレイヤキャラクタがゲーム空間に設定された木に登って移動するような状況が、上述した特殊状況に相当する。この場合、ゲーム装置1は、入力レベルIを移動量Mtに換算するための換算式を、上述したモードそれぞれに対して共通にする。
【0054】
ゲーム装置1は、上記特殊状況の場合、第1モードmode1および第2モードmode2に対して、共に
M=0 (I≦12.5%)
M=(MAXt/100)*I (12.5%<I≦100%)
で示される換算式を用いて、入力レベルI(%)を移動量Mtに換算する。ここで、MAXtは、上記プレイヤキャラクタが上記特殊状況下で移動できる単位時間当たりの最大移動量(最高移動量MAXt)を示している。
【0055】
なお、上述した説明では、ゲーム装置1が特殊状況において入力レベルIを移動量Mtに換算する例を説明したが、入力レベルIを用いて他のゲームパラメータを取得してもかまわない。例えば、上記特殊状況としてプレイヤキャラクタがゲーム空間に設定された水中を潜水して移動することを仮定した場合、入力レベルIに応じてプレイヤキャラクタの潜水角度が変化するようにゲームパラメータを設定してもかまわない。
【0056】
次に、図10〜図14を参照して、本発明のゲームプログラムによってゲーム装置1で実行されるタッチパネル13から入力される情報に基づいたゲーム処理について説明する。なお、図10は、当該ゲームプログラムを実行することによってゲーム装置1がゲーム処理する動作を示すフローチャートである。図11は、図10におけるステップ59の移動処理について詳細な動作を示すサブルーチンである。図12は、図10におけるステップ60および63の向き変更処理について詳細な動作を示すサブルーチンである。図13は、図10におけるステップ62の木登り処理について詳細な動作を示すサブルーチンである。図14は、図10におけるステップ65のメニュー処理について詳細な動作を示すサブルーチンである。なお、これらの処理を実行するためのプログラムは、ROM171に格納されたゲームプログラムに含まれており、ゲーム装置1の電源がオンになったときに、ROM171からWRAM22に読み出されて、CPUコア21によって実行される。
【0057】
まず、ゲーム装置1の電源(図示せず)がONされると、CPUコア21によってブートプログラム(図示せず)が実行され、これによりカートリッジ17に格納されているゲームプログラムがWRAM22にロードされる。当該ロードされたゲームプログラムがCPUコア21に実行されることによって、図10に示すステップ(図10〜図14では「S」と略称する)が実行される。なお、上記ゲームプログラムを実行することによって、当該ゲームプログラムに応じたゲーム画像などが第1LCD11および第2LCD12に描画されるが、ゲーム内容についての詳細な説明を省略し、ここでは主にタッチパネル13から入力される情報に基づいたゲーム処理について詳述する。
【0058】
図10において、CPUコア21は、モードを設定し(ステップ51)、処理を次のステップに進める。このモードは、上述したように例えば、モードは、タッチパネル13をタッチ操作する方法に応じて設定されている。具体的には、プレイヤがゲーム装置1の操作スイッチ部14を操作することによって、希望するモード(つまり、第1モードmode1または第2モードmode2)を選択することによって、CPUコア21がモードを設定する。
【0059】
次に、CPUコア21は、上記ステップ51で設定されたモードに応じて最大入力レベルとなる入力距離を設定し(ステップ52)、処理を次のステップに進める。例えば、図4で示した一例では、CPUコア21は、第1モードmode1に設定されている場合、最大入力レベルI=100%となる入力距離D=36dotを設定する。また、CPUコア21は、第2モードmode2に設定されている場合、最大入力レベルI=100%となる入力距離D=48dotを設定する。
【0060】
次に、CPUコア21は、タッチパネル13における基準位置(図3参照)を設定してWRAM22の記憶領域に記憶し(ステップ53)、プレイヤがタッチパネル13をタッチ操作したタッチ位置を検出し(ステップ54)、処理を次のステップに進める。例えば、CPUコア21は、基準位置をタッチパネル13の中央に固定的に設定したり、プレイヤがタッチパネル13にタッチオンした位置に設定したりする。なお、説明を簡単にするために基準位置をタッチパネル13の中央に固定的に設定する例を用いて、以下の説明を行う。
【0061】
次に、CPUコア21は、ステップ53で設定した基準位置からステップ54で検出したタッチ位置を結ぶベクトルが入力ベクトル(図3参照)を算出し(ステップ55)、当該入力ベクトルが示す入力距離が4dotより大きいか否かを判断する(ステップ56)。そして、CPUコア21は、入力距離が4dot以下の場合、上記ステップ53に戻って処理を繰り返す。一方、CPUコア21は、入力距離が4dotより大きい場合、処理を次のステップ57に進める。
【0062】
ステップ57において、CPUコア21は、入力距離を設定されているモードに応じて入力レベルに変換し、処理を次のステップに進める。例えば、CPUコア21は、図4を用いて説明したモード毎の換算式を用いて、入力距離Dから入力レベルIを算出する。
【0063】
次に、CPUコア21は、プレイヤキャラクタがゲーム空間に設定されたフィールド上に配置(通常動作)されているか否か(ステップ58)、プレイヤキャラクタがゲーム空間に設定された木に登っている(特殊状況)か否か(ステップ61)、およびメニュー状態か否か(ステップ64)を判断する。そして、プレイヤキャラクタがフィールド上に配置されている場合(ステップ58でYes)、処理を次のステップ59に進める。また、CPUコア21は、プレイヤキャラクタが木に登っている場合(ステップ61でYes)、処理を次のステップ62に進める。さらに、CPUコア21は、メニュー状態である場合(ステップ64でYes)、処理を次のステップ65に進める。一方、CPUコア21は、プレイヤキャラクタがフィールド上に配置されておらず、木に登っておらず、メニュー状態でもない場合(ステップ58、61、および64がいずれもNo)、そのまま処理を次のステップ66に進める。
【0064】
ステップ59において、CPUコア21は、上記フィールド上におけるプレイヤキャラクタの移動処理を行う。そして、CPUコア21は、上記プレイヤキャラクタに対する向き変更処理を行い(ステップ60)、次のステップ66に処理を進める。以下、図11および図12を参照して、ステップ59の移動処理およびステップ60の向き変更処理の詳細な動作についてそれぞれ説明する。
【0065】
図11において、CPUコア21は、上記ステップ51で設定されたモードが第1モードmode1か否かを判断する(ステップ71)。そして、CPUコア21は、第1モードmode1に設定されている場合、処理を次のステップ72に進める。一方、CPUコア21は、第2モードmode2に設定されている場合、処理を次のステップ73に進める。
【0066】
ステップ72において、CPUコア21は、第1モードmode1に対応して入力レベルから移動量を演算する換算式を用いて、上記ステップ57で得られた入力レベルから移動量を算出し、次のステップ74に処理を進める。例えば、CPUコア21は、図5を用いて説明したような第1モードmode1に対応する換算式を用いて、入力レベルI(%)を移動量Mに換算する。
【0067】
一方、ステップ73において、CPUコア21は、第2モードmode2に対応して入力レベルから移動量を演算する換算式を用いて、上記ステップ57で得られた入力レベルから移動量を算出し、次のステップ74に処理を進める。例えば、CPUコア21は、図5を用いて説明したような第2モードmode2に対応する換算式を用いて、入力レベルI(%)を移動量Mに換算する。
【0068】
ステップ74において、CPUコア21は、設定されている入力ベクトルの方向(入力方向;図3参照)に算出された移動量だけプレイヤキャラクタをゲーム空間内で移動させ、当該サブルーチンによる処理を終了する。
【0069】
図12において、CPUコア21は、タッチパネル13の基準方向(図3参照)に対する入力ベクトルの方向の角度を算出する(ステップ81)。そして、CPUコア21は、ゲーム空間におけるプレイヤキャラクタの向きを上記ステップ81で算出された角度に応じて回転させ(ステップ82)、当該サブルーチンによる処理を終了する。
【0070】
ここで、上記ステップ72または73において入力レベルを移動量0に換算する換算式を用いる場合(例えば、図5における第1モードmode1のI≦28%や、第2モードmode2のI≦33%の区間)、CPUコア21は、移動量0を取得する。一方、移動量0を取得しても上記ステップ81および82において入力方向に応じたゲーム処理が行われるため、CPUコア21は、結果的にタッチ操作が示す入力方向のみに応じてゲーム処理を行うことになる。つまり、プレイヤは、タッチパネル13に形成される操作指示領域Z2(図7および図8参照)を用いて、一方のゲームパラメータ(方向)のみをタッチ操作で指示することができる。また、上記ステップ72または73において傾きが小さい換算式を用いる場合(例えば、図5における第1モードmode1の28%<I≦58%や、第2モードmode2の33<I≦66%の区間)、CPUコア21は、入力レベルの変化量に対して相対的に小さな変化量で移動量を算出する。したがって、プレイヤは、タッチパネル13に形成される操作指示領域Z3(図7および図8参照)を用いて、微妙な移動量を調整することができる。
【0071】
図10に戻り、プレイヤキャラクタが木に登っている場合(ステップ61でYes)、CPUコア21は、プレイヤキャラクタの木登り処理を行う(ステップ62)。そして、CPUコア21は、上記プレイヤキャラクタに対する向き変更処理を行い(ステップ63)、次のステップ66に処理を進める。なお、上記ステップ63における向き変更処理は、図12を用いて説明したステップ60と同様であるため、詳細な説明を省略する。以下、図13を参照して、ステップ62の木登り処理の詳細な動作について説明する。
【0072】
図13において、CPUコア21は、木登り処理に対応して入力レベルから移動量を演算する換算式を用いて、上記ステップ57で得られた入力レベルから移動量を算出する(ステップ91)。例えば、CPUコア21は、図9を用いて説明したような特殊状況に対応する換算式を用いて、入力レベルI(%)を移動量Mtに換算する。そして、CPUコア21は、上記ステップ91で算出された移動量だけプレイヤキャラクタをゲーム空間内で上下移動させ、当該サブルーチンによる処理を終了する。
【0073】
図10に戻り、メニュー状態である場合(ステップ64でYes)、CPUコア21は、メニュー処理を行い(ステップ65)、次のステップ66に処理を進める。以下、図14を参照して、ステップ65のメニュー処理の詳細な動作について説明する。ここで、メニュー処理は、プレイヤキャラクタをゲーム空間内で移動させる処理とは異なり、プレイヤがゲーム画面で表示された選択肢(メニュー)を選択することによって、当該選択に応じてゲーム処理が進行する。
【0074】
図14において、CPUコア21は、上記ステップ57で得られた入力レベルが3%以上か否かを判断する(ステップ91)。これは、メニューの選択として有効なタッチ操作がなされたか否かを判断するステップであり、微小入力に対しては無効とする。このような判断目的を満たすのであれば、判断のための閾値が3%でなくてもかまわない。そして、CPUコア21は、入力レベルが3%以上の場合、次のステップ92に処理を進める。一方、CPUコア21は、入力レベルが3%未満の場合、そのまま当該サブルーチンによる処理を終了する。
【0075】
ステップ92において、CPUコア21は、タッチパネル13の基準方向(図3参照)に対する入力ベクトルの方向の角度を算出する。そして、CPUコア21は、算出した角度が示す方向に別の選択肢があるか否かを判断する(ステップ93)。別の選択肢がある場合、CPUコア21は、上記方向にある別の選択肢をプレイヤの選択対象に変更して(ステップ94)、当該サブルーチンによる処理を終了する。一方、別の選択肢がない場合、CPUコア21は、そのまま当該サブルーチンによる処理を終了する。
【0076】
図10に戻り、ステップ66において、CPUコア21は、ゲーム空間に配置される仮想カメラの制御やプレイヤキャラクタに対する敵キャラクタの制御等のその他の処理を行う。なお、ステップ66の処理については、本発明と直接関連しないため、これ以上の説明を省略する。そして、CPUコア21は、ゲームを終了するか否かを判断する(ステップ67)。CPUコア21は、ゲームを継続する場合に上記ステップ53に戻って処理を繰り返し、ゲームを終了する場合に当該フローチャートによる処理を終了する。
【0077】
このように、本実施例のゲームプログラムを実行するゲーム装置によれば、入力レベルの変化に対して移動量の変化量が相対的に小さい区間(操作指示領域Z3)を設定することによって、プレイヤがタッチパネル13を用いて移動量を微妙に変化させることができる。また、プレイヤは、タッチパネル13に形成される操作指示領域Z2を用いて、一方のゲームパラメータ(方向)のみをタッチ操作で指示することができる。さらに、タッチパネル操作方法に応じた複数モード(第1モードmode1および第2モードmode2)を設定することによって、当該タッチパネル操作方法の相違に対応してそれぞれ適切なゲームパラメータを得ることができる。なお、上記モードに応じた処理においては、当該モードそれぞれに応じて異なった換算式を用いて入力距離を入力レベルに変換し、その入力レベルを用いてゲーム処理することができる。つまり、モードが異なっても入力レベル算出以降のゲーム処理を共通にすれば(例えば、図9に示す移動量Mtの算出)、操作感覚が異なる複数のモードを共通のゲーム処理で実現することができる。
【0078】
なお、上述では、説明を具体的にするために、具体的な数値を用いて各換算式や閾値を説明したが、これらは一実施例であり、本発明がこれらの数値に限定されることはないことは言うまでもない。例えば、入力レベルを移動量に換算する技術においては、ある区間で用いられる換算式によって入力レベルを換算した移動量より大きな値に換算する換算式を他の区間に用いれば、同様の効果を得ることができる。
【0079】
また、上記実施例では、ゲーム装置1の入力手段としてタッチパネルを用いたが、他のポインティングデバイスを用いてもかまわない。ここで、ポインティングデバイスは、画面上での入力位置や座標を指定する入力装置であり、例えば、マウス、トラックパッド、トラックボールなどを入力手段として使用し、入力手段から出力される出力値から計算された画面座標系の情報を用いれば、本発明を同様に実現することができる。
【0080】
また、上記実施例では、ゲーム装置1にタッチパネル13が一体的に設けられているが、ゲーム装置とタッチパネルとを別体にして構成しても、本発明を実現できることは言うまでもない。さらに、上記実施例では表示器を2つ設けたが、表示器は1つであってもかまわない。すなわち、上記実施例において、第2LCD12設けず単にタッチパネル13のみを設けるようにしてもよい。また、上記実施例において、第2LCD12を設けず第1LCD11の上面にタッチパネル13を設けても良い。
【0081】
また、上記実施例では、ゲーム装置1にタッチパネル13が一体的に設けられているが、タッチパネルを入力手段の1つとする一般的なパーソナルコンピュータなどの情報処理装置でもかまわない。この場合、この情報処理装置のコンピュータが実行するプログラムは、典型的にゲームに用いられるゲームプログラムに限らず、上述した方式で得られた移動量等が上記情報処理装置に対する操作処理(例えば、カーソルの移動処理等)に用いられる汎用的なプログラムである。
【産業上の利用可能性】
【0082】
本発明のゲームプログラムおよびゲーム装置は、ポインティングデバイスを用いてプレイヤが望む1つのパラメータのみに対する操作や微妙な操作を実現することができ、ポインティングデバイスを用いて操作するゲーム等に適用できる。
【図面の簡単な説明】
【0083】
【図1】本発明の一実施形態に係るゲームプログラムを実行するゲーム装置1の外観図
【図2】図1のゲーム装置1の内部構成を示すブロック図
【図3】図1のタッチパネル13に対するタッチ操作の際に設定される入力ベクトルを説明するための図
【図4】入力距離Dに対応して算出される入力レベルIを説明するためのグラフ
【図5】通常時おいて入力レベルIに対応して算出される移動量Mを説明するためのグラフ
【図6】図4および図5の関係に基づいて、入力距離Dに対応して算出される移動量Mを説明するためのグラフ
【図7】第1モードmode1時にタッチパネル13に設定される各操作指示領域Z1〜Z5を説明するための図
【図8】第2モードmode2時にタッチパネル13に設定される各操作指示領域Z1〜Z5を説明するための図
【図9】特殊な状況時おいて入力レベルIに対応して算出される移動量Mを説明するためのグラフ
【図10】本発明の一実施形態に係るゲームプログラムを実行することによってゲーム装置1がゲーム処理する動作を示すフローチャート
【図11】図10におけるステップ59の移動処理について詳細な動作を示すサブルーチン
【図12】図10におけるステップ60および63の向き変更処理について詳細な動作を示すサブルーチン
【図13】図10におけるステップ62の木登り処理について詳細な動作を示すサブルーチン
【図14】図10におけるステップ65のメニュー処理について詳細な動作を示すサブルーチン
【符号の説明】
【0084】
1…ゲーム装置
11…第1LCD
12…第2LCD
13…タッチパネル
14…操作スイッチ部
15…スピーカ
16…スタイラス
17…カートリッジ
171…ROM
172…RAM
18…ハウジング
21…CPUコア
22…WRAM
23…第1VRAM
24…第1GPU
25…第2VRAM
26…第2GPU
27…I/F回路
28…コネクタ
【特許請求の範囲】
【請求項1】
プレイヤの操作に応じて所定の座標系に基づいた座標情報を出力するポインティングデバイスによって操作されるゲーム装置のコンピュータに実行されるゲームプログラムであって、
前記コンピュータに、
前記座標系の基準座標を設定する基準座標設定ステップ、
前記基準座標を記憶する基準座標記憶ステップ、
前記ポインティングデバイスから出力される座標情報に基づいて、前記座標系における指示座標を設定する指示座標設定ステップ、
前記基準座標から前記指示座標までの距離および方向を算出する算出ステップ、
前記算出ステップによって算出された距離が所定の閾値未満のとき、第1の換算関数を用いて当該距離を換算したゲームパラメータを決定する第1ゲームパラメータ決定ステップ、
前記算出ステップによって算出された距離が前記閾値以上のとき、前記第1の換算関数によって当該距離を換算した値より大きな値に換算する第2の換算関数を用いて当該距離を換算したゲームパラメータを決定する第2ゲームパラメータ決定ステップ、および
前記算出ステップによって算出された方向と、前記第1ゲームパラメータ決定ステップまたは前記第2ゲームパラメータ決定ステップによって決定されたゲームパラメータとを用いてゲーム処理を行うゲーム処理ステップ、を実行させるゲームプログラム。
【請求項2】
前記算出ステップによって算出された距離が所定の閾値未満のとき、前記第1ゲームパラメータ決定ステップは、前記算出ステップによって算出された距離を0に換算して、前記ゲームパラメータを0に決定することを特徴とする、請求項1に記載のゲームプログラム。
【請求項3】
前記算出ステップによって算出された距離が所定の閾値以上のとき、前記ゲーム処理ステップは、前記距離を換算したゲームパラメータと前記算出ステップによって算出された方向との両方を用いてゲーム処理を行い、
前記算出ステップによって算出された距離が所定の閾値未満のとき、前記ゲーム処理ステップは、前記算出ステップによって算出された方向のみを用いてゲーム処理を行うことを特徴とする、請求項2に記載のゲームプログラム。
【請求項4】
前記第2の換算関数よって換算される単位距離当たりの前記ゲームパラメータの変化率は、前記第1の換算関数よって換算される単位距離当たりの前記ゲームパラメータの変化率より大きいことを特徴とする、請求項1に記載のゲームプログラム。
【請求項5】
前記ゲームパラメータ決定ステップで用いる前記第1の換算関数は、前記算出ステップによって算出された距離に正の第1の値を乗算して換算する関数であり、
前記ゲームパラメータ決定ステップで用いる前記第2の換算関数は、前記算出ステップによって算出された距離に前記第1の値より大きい正の第2の値を乗算して換算する関数であることを特徴とする、請求項1に記載のゲームプログラム。
【請求項6】
前記第1ゲームパラメータ決定ステップで用いる前記第1の換算関数は、前記算出ステップによって算出された距離に正の第1の値を乗算して換算する関数であり、
前記第2ゲームパラメータ決定ステップで用いる前記第2の換算関数は、前記閾値に前記第1の値を乗算した値に、前記算出ステップによって算出された距離から前記閾値を減算した値に前記第1の値より大きい正の第2の値を乗算した値を加算する換算する関数であることを特徴とする、請求項1に記載のゲームプログラム。
【請求項7】
前記ゲーム処理ステップは、前記ゲームパラメータに応じて仮想ゲーム空間に登場するゲームオブジェクトの移動速度を決定してゲーム処理を行うことを特徴とする、請求項1に記載のゲームプログラム。
【請求項8】
前記ゲーム処理ステップは、前記算出ステップによって算出された方向に応じて仮想ゲーム空間に登場するゲームオブジェクトの向きを決定してゲーム処理を行うことを特徴とする、請求項1に記載のゲームプログラム。
【請求項9】
前記基準座標設定ステップは、前記指示座標設定ステップで最初に設定した指示座標を前記基準座標に設定することを特徴とする、請求項1に記載のゲームプログラム。
【請求項10】
プレイヤの操作に応じて所定の座標系に基づいた座標情報を出力するポインティングデバイスによって操作されるゲーム装置であって、
前記座標系の基準座標を設定する基準座標設定手段、
前記基準座標を記憶する基準座標記憶手段、
前記ポインティングデバイスから出力される座標情報に基づいて、前記座標系における指示座標を設定する指示座標設定手段、
前記基準座標から前記指示座標までの距離および方向を算出する算出手段、
前記算出手段によって算出された距離が所定の閾値未満のとき、第1の換算関数を用いて当該距離を換算したゲームパラメータを決定する第1ゲームパラメータ決定手段、
前記算出手段によって算出された距離が前記閾値以上のとき、前記第1の換算関数によって当該距離を換算した値より大きな値に換算する第2の換算関数を用いて当該距離を換算したゲームパラメータを決定する第2ゲームパラメータ決定手段、および
前記算出手段によって算出された方向と、前記第1ゲームパラメータ決定手段または前記第2ゲームパラメータ決定手段によって決定されたゲームパラメータとを用いてゲーム処理を行うゲーム処理手段、を備えるゲーム装置。
【請求項11】
ユーザの操作に応じて所定の座標系に基づいた座標情報を出力するポインティングデバイスによって操作される情報処理装置のコンピュータに実行されるプログラムであって、
前記コンピュータに、
前記座標系の基準座標を設定する基準座標設定ステップ、
前記基準座標を記憶する基準座標記憶ステップ、
前記ポインティングデバイスから出力される座標情報に基づいて、前記座標系における指示座標を設定する指示座標設定ステップ、
前記基準座標から前記指示座標までの距離および方向を算出する算出ステップ、
前記算出ステップによって算出された距離が所定の閾値未満のとき、第1の換算関数を用いて当該距離を換算したパラメータを決定する第1パラメータ決定ステップ、
前記算出ステップによって算出された距離が前記閾値以上のとき、前記第1の換算関数によって当該距離を換算した値より大きな値に換算する第2の換算関数を用いて当該距離を換算したパラメータを決定する第2パラメータ決定ステップ、および
前記算出ステップによって算出された方向と、前記第1パラメータ決定ステップまたは前記第2パラメータ設定ステップによって決定されたパラメータとを用いて操作処理を行う操作処理ステップ、を実行させるプログラム。
【請求項1】
プレイヤの操作に応じて所定の座標系に基づいた座標情報を出力するポインティングデバイスによって操作されるゲーム装置のコンピュータに実行されるゲームプログラムであって、
前記コンピュータに、
前記座標系の基準座標を設定する基準座標設定ステップ、
前記基準座標を記憶する基準座標記憶ステップ、
前記ポインティングデバイスから出力される座標情報に基づいて、前記座標系における指示座標を設定する指示座標設定ステップ、
前記基準座標から前記指示座標までの距離および方向を算出する算出ステップ、
前記算出ステップによって算出された距離が所定の閾値未満のとき、第1の換算関数を用いて当該距離を換算したゲームパラメータを決定する第1ゲームパラメータ決定ステップ、
前記算出ステップによって算出された距離が前記閾値以上のとき、前記第1の換算関数によって当該距離を換算した値より大きな値に換算する第2の換算関数を用いて当該距離を換算したゲームパラメータを決定する第2ゲームパラメータ決定ステップ、および
前記算出ステップによって算出された方向と、前記第1ゲームパラメータ決定ステップまたは前記第2ゲームパラメータ決定ステップによって決定されたゲームパラメータとを用いてゲーム処理を行うゲーム処理ステップ、を実行させるゲームプログラム。
【請求項2】
前記算出ステップによって算出された距離が所定の閾値未満のとき、前記第1ゲームパラメータ決定ステップは、前記算出ステップによって算出された距離を0に換算して、前記ゲームパラメータを0に決定することを特徴とする、請求項1に記載のゲームプログラム。
【請求項3】
前記算出ステップによって算出された距離が所定の閾値以上のとき、前記ゲーム処理ステップは、前記距離を換算したゲームパラメータと前記算出ステップによって算出された方向との両方を用いてゲーム処理を行い、
前記算出ステップによって算出された距離が所定の閾値未満のとき、前記ゲーム処理ステップは、前記算出ステップによって算出された方向のみを用いてゲーム処理を行うことを特徴とする、請求項2に記載のゲームプログラム。
【請求項4】
前記第2の換算関数よって換算される単位距離当たりの前記ゲームパラメータの変化率は、前記第1の換算関数よって換算される単位距離当たりの前記ゲームパラメータの変化率より大きいことを特徴とする、請求項1に記載のゲームプログラム。
【請求項5】
前記ゲームパラメータ決定ステップで用いる前記第1の換算関数は、前記算出ステップによって算出された距離に正の第1の値を乗算して換算する関数であり、
前記ゲームパラメータ決定ステップで用いる前記第2の換算関数は、前記算出ステップによって算出された距離に前記第1の値より大きい正の第2の値を乗算して換算する関数であることを特徴とする、請求項1に記載のゲームプログラム。
【請求項6】
前記第1ゲームパラメータ決定ステップで用いる前記第1の換算関数は、前記算出ステップによって算出された距離に正の第1の値を乗算して換算する関数であり、
前記第2ゲームパラメータ決定ステップで用いる前記第2の換算関数は、前記閾値に前記第1の値を乗算した値に、前記算出ステップによって算出された距離から前記閾値を減算した値に前記第1の値より大きい正の第2の値を乗算した値を加算する換算する関数であることを特徴とする、請求項1に記載のゲームプログラム。
【請求項7】
前記ゲーム処理ステップは、前記ゲームパラメータに応じて仮想ゲーム空間に登場するゲームオブジェクトの移動速度を決定してゲーム処理を行うことを特徴とする、請求項1に記載のゲームプログラム。
【請求項8】
前記ゲーム処理ステップは、前記算出ステップによって算出された方向に応じて仮想ゲーム空間に登場するゲームオブジェクトの向きを決定してゲーム処理を行うことを特徴とする、請求項1に記載のゲームプログラム。
【請求項9】
前記基準座標設定ステップは、前記指示座標設定ステップで最初に設定した指示座標を前記基準座標に設定することを特徴とする、請求項1に記載のゲームプログラム。
【請求項10】
プレイヤの操作に応じて所定の座標系に基づいた座標情報を出力するポインティングデバイスによって操作されるゲーム装置であって、
前記座標系の基準座標を設定する基準座標設定手段、
前記基準座標を記憶する基準座標記憶手段、
前記ポインティングデバイスから出力される座標情報に基づいて、前記座標系における指示座標を設定する指示座標設定手段、
前記基準座標から前記指示座標までの距離および方向を算出する算出手段、
前記算出手段によって算出された距離が所定の閾値未満のとき、第1の換算関数を用いて当該距離を換算したゲームパラメータを決定する第1ゲームパラメータ決定手段、
前記算出手段によって算出された距離が前記閾値以上のとき、前記第1の換算関数によって当該距離を換算した値より大きな値に換算する第2の換算関数を用いて当該距離を換算したゲームパラメータを決定する第2ゲームパラメータ決定手段、および
前記算出手段によって算出された方向と、前記第1ゲームパラメータ決定手段または前記第2ゲームパラメータ決定手段によって決定されたゲームパラメータとを用いてゲーム処理を行うゲーム処理手段、を備えるゲーム装置。
【請求項11】
ユーザの操作に応じて所定の座標系に基づいた座標情報を出力するポインティングデバイスによって操作される情報処理装置のコンピュータに実行されるプログラムであって、
前記コンピュータに、
前記座標系の基準座標を設定する基準座標設定ステップ、
前記基準座標を記憶する基準座標記憶ステップ、
前記ポインティングデバイスから出力される座標情報に基づいて、前記座標系における指示座標を設定する指示座標設定ステップ、
前記基準座標から前記指示座標までの距離および方向を算出する算出ステップ、
前記算出ステップによって算出された距離が所定の閾値未満のとき、第1の換算関数を用いて当該距離を換算したパラメータを決定する第1パラメータ決定ステップ、
前記算出ステップによって算出された距離が前記閾値以上のとき、前記第1の換算関数によって当該距離を換算した値より大きな値に換算する第2の換算関数を用いて当該距離を換算したパラメータを決定する第2パラメータ決定ステップ、および
前記算出ステップによって算出された方向と、前記第1パラメータ決定ステップまたは前記第2パラメータ設定ステップによって決定されたパラメータとを用いて操作処理を行う操作処理ステップ、を実行させるプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【公開番号】特開2006−141722(P2006−141722A)
【公開日】平成18年6月8日(2006.6.8)
【国際特許分類】
【出願番号】特願2004−336360(P2004−336360)
【出願日】平成16年11月19日(2004.11.19)
【出願人】(000233778)任天堂株式会社 (1,115)
【Fターム(参考)】
【公開日】平成18年6月8日(2006.6.8)
【国際特許分類】
【出願日】平成16年11月19日(2004.11.19)
【出願人】(000233778)任天堂株式会社 (1,115)
【Fターム(参考)】
[ Back to top ]