説明

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

【課題】 タッチ操作に生じる入力ぶれの影響を低減した入力情報に基づいてゲーム処理を行うゲーム装置およびゲームプログラムを提供する。
【解決手段】 CPUコア21は、前回から現在のタッチ座標までの移動ベクトルを算出し(S81)、移動ベクトルの大きさを速度Vとする(S82)。CPUコア21は、速度Vpと速度Vとの平均を新たな速度Vとし(S86)、速度Vを速度Vpとして保存する(S87)。CPUコア21は、移動ベクトルの角度θを算出し(S88)、前回に設定された角度θpと現在設定されている角度θとの平均を新たな角度θとして算出する(S90)。そして、CPUコア21は、現在設定されている角度θを角度θpとして保存する(S91)。これらの処理がゲーム処理の単位時間毎に繰り返される。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ゲーム装置およびゲームプログラムに関し、より特定的には、表示画面を覆うタッチパネルを利用して当該表示画面に表示されたオブジェクトを移動させるゲームを実現するゲーム装置およびゲームプログラムに関する。
【背景技術】
【0002】
従来、プレイヤが表示画面を覆って設けられたタブレットやタッチパネルを用いて、当該表示画面に表示されたオブジェクトやキャラクタをタッチ操作して、コンピュータ操作やゲーム操作を行うゲームが知られている(例えば、特許文献1および2参照)。
【0003】
上記特許文献1では、タブレットとペンを利用してタッチ操作するゴルフゲームが開示されている。このゴルフゲームでは、ペンが動いた軌跡の情報に基づいてタブレット上におけるペンの計測位置を比較し、最も大きい計測間距離をボールの打撃力としてゴルフゲームを進行している。
【0004】
上記特許文献2では、タッチパネルを用いてタッチ操作するゴルフゲームが開示されている。このゴルフゲームでは、タッチパネルをタッチ操作して操作オブジェクト(pushボタン)を左にドラッグすることによりスイング操作となり、右にドラッグすることでショット操作となる。このとき、スイング操作をしたあと、ショットする前にドラッグ操作を停止した段階で、このスイング操作のドラッグ距離から、ボールの飛距離を計算する。そして、ショット操作をしたときの操作の速度を求めて、最終的なボールの飛距離が計算される。
【特許文献1】特開平5−31256号公報
【特許文献2】特開2002−939号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
上記特許文献1および特許文献2で開示されたいずれの技術においても、プレイヤがタッチ操作した情報をゲーム内容に反映している。すなわち、上記特許文献1に開示された技術では、計測間距離で最も大きかったものをそのまま利用して、ボールの飛距離に反映させている。また、上記特許文献2では、ドラッグの距離やショット操作のスピードがボールの飛距離に反映させている。
【0006】
しかしながら、タブレットやタッチパネルにタッチ操作から得られる入力情報に基づいてゲーム処理を行う場合、当該タッチ操作における入力ぶれの影響が問題となる。例えば、入力方向(角度)をタッチパネルに対するタッチ操作で取得する場合、タッチパネルの検出精度(例えば、256dot×192dot)やプレイヤが、指やペンなどを用いてタッチパネルを叩いたり、押さえたり、触れたりするときの操作方向に応じて得られる入力情報の値に操作面の滑りや力の入り具合などによって、予想と異なる値が入力されることがある。このようなぶれを伴う入力情報に基づいて入力方向を決定してしまうと、入力したと想定された方向とは異なる入力方向がゲーム処理に反映されてしまう。また、入力速度をタッチパネルに対するタッチ操作で取得する場合も同様に入力情報の値に想定とは異なる値が入力される場合生じ、ぶれに伴って想定と異なる入力速度がゲーム処理に反映されてしまう。
【0007】
例えば、タッチ操作におけるドラッグ操作において、ボールを打撃するときの入力角度や入力速度のみがゲーム内容に反映される場合、打撃時のみに対するタッチ操作の入力角度のぶれや入力速度のぶれがゲーム内容に反映されるため、プレイヤに対して操作技術以上の正確さを要求することになる。したがって、プレイヤが行ったタッチ操作と画像表示との間で違和感が生じることがある。
【0008】
また、上記特許文献1および特許文献2で開示されたいずれの技術においても、タッチパネルやタブレットで操作対象に直接触れる必要があり、タッチパネル操作ならではのゲーム操作を楽しむことについては主眼が置かれていなかった。
【0009】
それ故に、本発明の目的は、タッチ操作に生じる入力ぶれの影響を低減した入力情報に基づいてゲーム処理を行うゲーム装置およびゲームプログラムを提供することである。また、本発明の他の目的は、ゲーム装置用コントローラのスイッチやジョイスティック操作では体験できないような、タッチパネル特有の操作感を提供できるゲーム装置およびゲームプログラムを提供することである。
【課題を解決するための手段】
【0010】
上記目的を達成するために、本発明は以下の構成を採用した。なお、括弧内の参照符号やステップ番号(「S」と略称する)等は、本発明の理解を助けるために、後述する図面との対応関係を示したものであって、本発明の範囲を何ら限定するものではない。
【0011】
第1の発明は、プレイヤがゲーム空間に登場する第1オブジェクト(バーB)を操作することにより、その第1オブジェクトとは異なる第2オブジェクト(甲羅S)の位置を変化させるゲームを表現するゲーム装置(1)である。ゲーム装置は、表示部(12)、タッチパネル(13)、操作位置検出部(S52)、位置座標記憶部(S57)、移動パラメータ算出部(S81)、移動パラメータ決定部(S82〜S86、S88〜S90)、移動パラメータ記憶部(S87、S91)、第1オブジェクト表示制御部(S60〜S64)、および第2オブジェクト表示制御部(S65、S71〜S74)を備える。表示部は、ゲーム空間を表示画面に表示する。タッチパネルは、表示部の表示画面上を覆って設けられる。操作位置検出部は、所定周期毎にタッチパネルがタッチ操作された位置座標(tx、ty)を検出する。位置座標記憶部は、操作位置検出部が検出した位置座標(tpx、tpy)を記憶する。移動パラメータ算出部は、前回検出した位置座標(tpx、tpy)および現在の位置座標(tx、ty)に基づいて、移動速度(V)および移動方向(θ)の少なくとも一方を第2オブジェクトの移動パラメータとして算出する。移動パラメータ決定部は、過去に決定した移動パラメータ(Vp、θp)と移動パラメータ算出部が算出した移動パラメータ(V、θ)とを用いて、新たな移動パラメータ(V、θ)を決定する(S86、S90)。移動パラメータ記憶部は、移動パラメータ決定部が決定した移動パラメータを記憶する。第1オブジェクト表示制御部は、操作位置検出部が検出した位置座標に応じて、第1オブジェクトを表示制御する。第2オブジェクト表示制御部は、第1オブジェクトと第2のオブジェクトとが所定の位置関係を満たしたとき(S65でYes)、移動パラメータ記憶部が記憶している最新の移動パラメータに基づいて、第2オブジェクトを移動させて表示制御する。
【0012】
第2の発明は、上記第1の発明において、移動パラメータ決定部は、移動パラメータ記憶部に記憶されている過去に決定した複数の移動パラメータと移動パラメータ算出部が算出した移動パラメータとを平均して、新たな移動パラメータを決定する。
【0013】
第3の発明は、上記第1の発明において、移動パラメータ決定部は、移動パラメータ記憶部に記憶されている前回決定した移動パラメータと移動パラメータ算出部が算出した移動パラメータとを平均して、新たな移動パラメータを決定する。
【0014】
第4の発明は、上記第1の発明において、移動パラメータ算出部は、移動速度および移動方向を共に第2オブジェクトの移動パラメータとして算出する。移動パラメータ決定部は、移動パラメータ記憶部に記憶されている前回決定した移動方向と移動パラメータ算出部が算出した移動方向とを平均することによって、新たな移動方向を決定する(S90)。移動パラメータ決定部は、移動パラメータ記憶部に記憶されている前回決定した移動速度に対して移動パラメータ算出部が算出した移動速度が遅いとき(S85でYes)、前回決定した移動速度と移動パラメータ算出部が算出した移動速度とを平均して新たな移動速度を決定する。移動パラメータ決定部は、移動パラメータ算出部が算出した移動速度が前回決定した移動速度以上のとき(S85でNo)、移動パラメータ算出部が算出した移動速度を新たな移動速度に決定する。
【0015】
第5の発明は、上記第1の発明において、移動パラメータ算出部は、所定周期の前周期に検出した位置座標を前回検出した位置座標とし、現周期に検出した位置座標を現在の位置座標として移動パラメータを所定周期毎に算出する。
【0016】
第6の発明は、上記第5の発明において、移動パラメータ算出部は、前回検出した位置座標から現在の位置座標までの移動ベクトル(Δtx、Δty)を求め、その移動ベクトルに基づいて移動速度および移動方向の少なくとも一方を移動パラメータとして算出する。
【0017】
第7の発明は、上記第1の発明において、ゲーム装置は、初期位置記憶部(S51)をさらに備える。初期位置記憶部は、第1オブジェクトを最初に表示画面上に表示するための初期位置座標(Bx、By)を記憶する。第1オブジェクト表示制御手段は、操作位置検出部がタッチパネルに対してタッチ操作された位置座標を検出したことに応じて、その位置座標と初期位置座標との相対的な位置関係を示す相対位置データ(Rx、Ry)を用いて第1オブジェクトを表示制御する。
【0018】
第8の発明は、上記第1の発明において、ゲーム装置は、目標物表示部(231)および得点算出部(S75)をさらに備える。目標物表示部は、ゲーム空間に第2オブジェクトの移動目標となる目標物(的T)を設定して表示画面に表示する。第2オブジェクト表示制御手段は、移動パラメータに基づいて移動する第2オブジェクトを所定量ずつ減速させて表示制御する(S73)。得点算出部は、第2オブジェクトの移動速度がゼロになったときの位置座標と目標物の位置座標との位置関係を用いてゲームの得点を算出する。
【0019】
第9の発明は、プレイヤがゲーム空間に登場するオブジェクトを操作することにより、そのオブジェクトの位置を変化させるゲームを表現するゲーム装置である。ゲーム装置は、表示部、タッチパネル、操作位置検出部、位置座標記憶部、移動パラメータ算出部、移動パラメータ決定部、移動パラメータ記憶部、およびオブジェクト表示制御部を備える。表示部は、ゲーム空間を表示画面に表示する。タッチパネルは、表示部の表示画面上を覆って設けられる。操作位置検出部は、所定周期毎にタッチパネルがタッチ操作された位置座標を検出する。位置座標記憶部は、操作位置検出部が検出した位置座標を記憶する。移動パラメータ算出部は、前回検出した位置座標および現在の位置座標に基づいて、移動速度および移動方向の少なくとも一方をオブジェクトの移動パラメータとして算出する。移動パラメータ決定部は、過去に決定した移動パラメータと移動パラメータ算出部が算出した移動パラメータとを用いて、新たな移動パラメータを決定する。移動パラメータ記憶部は、移動パラメータ決定部が決定した移動パラメータを記憶する。オブジェクト表示制御部は、操作位置検出部が検出した位置座標に応じてオブジェクトを表示制御し、所定の条件を満たしたとき、移動パラメータ記憶部が記憶している最新の移動パラメータに基づいてオブジェクトを移動させて表示制御する。
【0020】
第10の発明は、プレイヤがゲーム空間に登場する第1オブジェクトを操作することにより、その第1オブジェクトとは異なる第2オブジェクトの位置を変化させるゲームを表現するゲーム装置のコンピュータで実行されるゲームプログラムである。ゲーム装置は、ゲーム空間を表示画面に表示する表示部、その表示部の表示画面上を覆って設けられるタッチパネル、および記憶部(22)を備えている。ゲームプログラムは、操作位置検出ステップ(S52)、位置座標記憶ステップ(S57)、移動パラメータ算出ステップ(S81)、移動パラメータ決定ステップ(S82〜S86、S88〜S90)、移動パラメータ記憶ステップ(S87、S91)、第1オブジェクト表示制御ステップ(S60〜S64)、および第2オブジェクト表示制御ステップ(S65、S71〜S74)をコンピュータに実行させる。操作位置検出ステップは、所定周期毎にタッチパネルがタッチ操作された位置座標を検出する。位置座標記憶ステップは、操作位置検出ステップが検出した位置座標を記憶部に記憶する。移動パラメータ算出ステップは、前回検出した位置座標および現在の位置座標に基づいて、移動速度および移動方向の少なくとも一方を第2オブジェクトの移動パラメータとして算出する。移動パラメータ決定ステップは、過去に決定した移動パラメータと移動パラメータ算出ステップが算出した移動パラメータとを用いて、新たな移動パラメータを決定する。移動パラメータ記憶ステップは、移動パラメータ決定ステップが決定した移動パラメータを記憶部に記憶する。第1オブジェクト表示制御ステップは、操作位置検出ステップが検出した位置座標に応じて、第1オブジェクトを表示制御する。第2オブジェクト表示制御ステップは、第1オブジェクトと第2のオブジェクトとが所定の位置関係を満たしたとき、移動パラメータ記憶ステップで記憶した最新の移動パラメータに基づいて、第2オブジェクトを移動させて表示制御する。
【0021】
第11の発明は、上記第10の発明において、移動パラメータ決定ステップは、移動パラメータ記憶ステップで記憶部に記憶した過去に決定した複数の移動パラメータと移動パラメータ算出ステップが算出した移動パラメータとを平均して、新たな移動パラメータを決定する。
【0022】
第12の発明は、上記第10の発明において、移動パラメータ決定ステップは、移動パラメータ記憶ステップで記憶部に記憶した前回決定した移動パラメータと移動パラメータ算出ステップが算出した移動パラメータとを平均して、新たな移動パラメータを決定する。
【0023】
第13の発明は、上記第10の発明において、移動パラメータ算出ステップは、移動速度および移動方向を共に第2オブジェクトの移動パラメータとして算出する。移動パラメータ決定ステップは、移動パラメータ記憶ステップで記憶部に記憶した前回決定した移動方向と移動パラメータ算出ステップが算出した移動方向とを平均することによって、新たな移動方向を決定する。移動パラメータ決定ステップは、移動パラメータ記憶ステップで記憶部に記憶した前回決定した移動速度に対して移動パラメータ算出ステップが算出した移動速度が遅いとき、前回決定した移動速度と移動パラメータ算出ステップが算出した移動速度とを平均して新たな移動速度を決定する。移動パラメータ決定ステップは、移動パラメータ算出ステップが算出した移動速度が前回決定した移動速度以上のとき、移動パラメータ算出ステップが算出した移動速度を新たな移動速度を決定する。
【0024】
第14の発明は、上記第10の発明において、移動パラメータ算出ステップは、所定周期の前周期に検出した位置座標を前回検出した位置座標とし、現周期に検出した位置座標を現在の位置座標として移動パラメータを所定周期毎に算出する。
【0025】
第15の発明は、上記第14の発明において、移動パラメータ算出ステップは、前回検出した位置座標から現在の位置座標までの移動ベクトルを求め、その移動ベクトルに基づいて移動速度および移動方向の少なくとも一方を移動パラメータとして算出する。
【0026】
第16の発明は、上記第10の発明において、ゲームプログラムは、初期位置記憶ステップ(S51)をさらにコンピュータに実行させる。初期位置記憶ステップは、第1オブジェクトを最初に表示画面上に表示するための初期位置座標を記憶部に記憶する。第1オブジェクト表示制御手段は、操作位置検出ステップがタッチパネルに対してタッチ操作された位置座標を検出したことに応じて、その位置座標と初期位置座標との相対的な位置関係を示す相対位置データを用いて第1オブジェクトを表示制御する。
【0027】
第17の発明は、上記第10の発明において、ゲームプログラムは、目標物表示ステップ(231)および得点算出ステップ(S75)をさらにコンピュータに実行させる。目標物表示ステップは、ゲーム空間に第2オブジェクトの移動目標となる目標物を設定して表示画面に表示する。第2オブジェクト表示制御手段は、移動パラメータに基づいて移動する第2オブジェクトを所定量ずつ減速させて表示制御する。得点算出ステップは、第2オブジェクトの移動速度がゼロになったときの位置座標と目標物の位置座標との位置関係を用いてゲームの得点を算出する。
【0028】
第18の発明は、プレイヤがゲーム空間に登場するオブジェクトを操作することにより、そのオブジェクトの位置を変化させるゲームを表現するゲーム装置のコンピュータに実行されるゲームプログラムである。ゲーム装置は、ゲーム空間を表示画面に表示する表示部、その表示部の表示画面上を覆って設けられるタッチパネル、および記憶部を備えている。ゲームプログラムは、操作位置検出ステップ、位置座標記憶ステップ、移動パラメータ算出ステップ、移動パラメータ決定ステップ、移動パラメータ記憶ステップ、およびオブジェクト表示制御ステップをコンピュータに実行させる。操作位置検出ステップは、所定周期毎にタッチパネルがタッチ操作された位置座標を検出する。位置座標記憶ステップは、操作位置検出ステップが検出した位置座標を記憶部に記憶する。移動パラメータ算出ステップは、前回検出した位置座標および現在の位置座標に基づいて、移動速度および移動方向の少なくとも一方をオブジェクトの移動パラメータとして算出する。移動パラメータ決定ステップは、過去に決定した移動パラメータと移動パラメータ算出ステップが算出した移動パラメータとを用いて、新たな移動パラメータを決定する。移動パラメータ記憶ステップは、移動パラメータ決定ステップが決定した移動パラメータを記憶部に記憶する。オブジェクト表示制御ステップは、操作位置検出ステップが検出した位置座標に応じてオブジェクトを表示制御し、所定の条件を満たしたとき、移動パラメータ記憶ステップで記憶部に記憶した最新の移動パラメータに基づいてオブジェクトを移動させて表示制御する。
【発明の効果】
【0029】
第1の発明によれば、プレイヤがタッチ操作によって第1オブジェクトを操作し、その操作の仕方によって、第2オブジェクトの動作内容が変わるようなゲームを提供できる。そして、第2オブジェクトの移動パラメータは、プレイヤがタッチパネルをタッチ操作した入力情報に基づいて算出されているが、移動パラメータがそれぞれ過去に決定された移動パラメータと現在算出した移動パラメータとを用いて新たな移動パラメータが決定されるため、タッチ操作に生じる入力ぶれの影響を低減することができる。また、プレイヤがタッチパネルをタッチ操作した全ての入力情報が累積されて最終的な移動パラメータが決定されるため、ゲーム装置用コントローラのスイッチやジョイスティック操作では体験できないような、タッチパネル特有の操作感をプレイヤに提供することができる。
【0030】
第2の発明によれば、新たな移動パラメータが過去に決定された複数の移動パラメータと現在算出された移動パラメータとを平均して求められるため、タッチ操作に生じる入力ぶれの影響をさらに低減することができる。
【0031】
第3の発明によれば、新たな移動パラメータが前回決定された複数の移動パラメータと現在算出された移動パラメータとを平均して求められるため、処理負荷を軽減してタッチ操作に生じる入力ぶれの影響を低減することができる。
【0032】
第4の発明によれば、第2オブジェクトに与える移動方向および移動速度をタッチ操作に生じる入力ぶれの影響を低減して求めることができる。また、第2オブジェクトに与える移動速度は、プレイヤがタッチパネルに対してタッチ操作する速度を加速しているときはその速度をそのまま入力情報とし、減速しているときはその速度を鈍らせるような処理を行うため、加速するタッチ操作を優先にして速度を維持する処理を行うことができる。
【0033】
第5の発明によれば、所定周期(表示フレーム毎など)に一度、タッチ操作のタッチ位置座標を検出することによって、処理負荷を軽減した処理を行うことができる。
【0034】
第6の発明によれば、タッチ操作の位置の差(移動ベクトル)から、移動速度または移動角度を算出するため、利用しやすいデータを提供できる。
【0035】
第7の発明によれば、第1オブジェクトが相対的な入力データで表示制御されるので、タッチパネルにおける全ての操作面を用いて第1オブジェクトを移動させる操作を行うことができ、必ずしも操作対象の第1オブジェクトを直接触れるようにする必要が無くなり、プレイヤが第1オブジェクトを視認しやすくなる。
【0036】
第8の発明によれば、第2オブジェクトの表示制御において、第2オブジェクトが徐々に減速して停止した位置と目標物の位置との位置関係に基づいて、ゲームの得点を計算するので、プレイヤが第1オブジェクトの操作をいかに第2オブジェクトの動作に反映させるかを考慮しなければならなくなり、ゲームの興趣性が高めることができる。
【0037】
第9の発明によれば、プレイヤがタッチ操作によってオブジェクトを操作し、その操作の仕方によって、オブジェクトの動作内容が変わるようなゲームを提供できる。そして、オブジェクトの移動パラメータは、プレイヤがタッチパネルをタッチ操作した入力情報に基づいて算出されているが、移動パラメータがそれぞれ過去に決定された移動パラメータと現在算出した移動パラメータとを用いて新たな移動パラメータが決定されるため、タッチ操作に生じる入力ぶれの影響を低減することができる。また、プレイヤがタッチパネルをタッチ操作した全ての入力情報が累積されて最終的な移動パラメータが決定されるため、ゲーム装置用コントローラのスイッチやジョイスティック操作では体験できないような、タッチパネル特有の操作感をプレイヤに提供することができる。
【0038】
また、本発明のゲームプログラムによれば、コンピュータに実行されることによって上述したゲーム装置と同様の効果を得ることができる。
【発明を実施するための最良の形態】
【0039】
図面を参照して、本発明の一実施形態に係るゲームプログラムを実行するゲーム装置について説明する。なお、図1は、本発明のゲームプログラムを実行するゲーム装置1の外観図である。ここでは、ゲーム装置1の一例として、携帯ゲーム装置を示す。
【0040】
図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が装着される。
【0041】
操作スイッチ部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における上部面(上部側面)の左右に設けられる。また、必要に応じて、動作スイッチをさらに追加してもかまわない。
【0042】
また、第2LCD12の上面には、タッチパネル13(図1における破線領域)が装着される。タッチパネル13は、例えば、抵抗膜方式、光学式(赤外線方式)、静電容量結合式の何れの種類でもよく、その上面をスタイラス16(または指でも可)で押圧操作、移動操作、または撫でる操作をしたとき、スタイラス16の座標位置を検出して座標データを出力する2次元ポインティングデバイスである。
【0043】
上部ハウジング18bの側面近傍には、必要に応じてタッチパネル13を操作するスタイラス16を収納するための収納孔(図1における二点破線領域)が形成される。この収納孔には、スタイラス16が収納される。下部ハウジング18aの側面の一部には、ゲームプログラムを記憶したメモリ(例えば、ROM)を内蔵したゲームカートリッジ17(以下、単にカートリッジ17と記載する)を着脱自在に装着するためのカートリッジ挿入部(図1における一点破線領域)が形成される。カートリッジ17は、ゲームプログラムを記憶する情報記憶媒体であり、例えば、ROMまたはフラッシュメモリのような不揮発性半導体メモリが用いられる。カートリッジ挿入部の内部には、カートリッジ17と電気的に接続するためのコネクタ(図2参照)が内蔵される。さらに、下部ハウジング18a(または上部ハウジング18bでも可)には、CPU等の各種電子部品を実装した電子回路基板が収納される。なお、ゲームプログラムを記憶する情報記憶媒体としては、上記不揮発性半導体メモリに限らず、CD−ROM、DVD、あるいはそれらに類する光学式ディスク状記憶媒体でもよい。
【0044】
図2は、ゲーム装置1のブロック図である。図2において、ハウジング18に収納される電子回路基板20には、CPUコア21が実装される。CPUコア21には、所定のバスを介して、コネクタ28が接続されるとともに、入出力インターフェース(I/F)回路27、第1グラフィック処理ユニット(第1GPU)24、第2グラフィック処理ユニット(第2GPU)26、WRAM22、およびLCDコントローラ29が接続される。コネクタ28には、カートリッジ17が着脱自在に接続される。カートリッジ17は、ゲームプログラムを格納するための記憶媒体であり、具体的には、ゲームプログラムを記憶するROM171とバックアップデータを書き換え可能に記憶するRAM172とを搭載する。カートリッジ17のROM171に記憶されたゲームプログラムは、WRAM22にロードされ、当該WRAM22にロードされたゲームプログラムがCPUコア21によって実行される。CPUコア21は、ゲームプログラムを実行して得られる一時的なデータや画像を生成するためのデータをWRAM22に記憶する。I/F回路27には、操作スイッチ部14およびタッチパネル13が接続されるとともに、スピーカ15が接続される。
【0045】
第1GPU24には、第1ビデオRAM(第1VRAM)23が接続され、第2GPU26には、第2ビデオRAM(第2VRAM)25が接続される。第1GPU24は、CPUコア21からの指示に応じて、WRAM22に記憶されている、画像を生成するためのデータに基づいて第1のゲーム画像を生成し、第1VRAM23に描画(格納)する。第2GPU26は、CPUコア21からの指示に応じて、WRAM22に記憶されている、画像を生成するためのデータに基づいて第2のゲーム画像を生成し、第2VRAM25に描画(格納)する。第1VRAM23および第2VRAM25はLCDコントローラ29に接続される。
【0046】
LCDコントローラ29は、レジスタ291を含む。レジスタ291は、CPUコア21からの指示に応じて0または1の値を記憶する。LCDコントローラ29は、レジスタ291の値が0の場合は、第1VRAM23に描画されたゲーム画像を第1LCD11に出力し、第2VRAM25に描画されたゲーム画像を第2LCD12に出力する。また、レジスタ291の値が1の場合は、第1VRAM23に描画されたゲーム画像を第2LCD12に出力し、第2VRAM25に描画されたゲーム画像を第1LCD11に出力する。
【0047】
I/F回路27は、操作スイッチ部14、タッチパネル13、およびスピーカ15などの外部入出力装置とCPUコア21との間のデータの受け渡しを行う回路である。タッチパネル13(タッチパネル用のデバイスドライバを含む)は、第2VRAM25の座標系に対応する座標系を有し、スタイラス16によって入力(指示)された位置に対応する位置座標のデータを出力するものである。なお、本実施例では、第2LCD12の表示画面の解像度は256dot×192dotであり、タッチパネル13の検出精度も第2LCD12の表示画面に対応した256dot×192dotとして説明するが、タッチパネル13の検出精度は第2LCD12の表示画面の解像度よりも低いものであってもよいし、高いものであってもよい。
【0048】
以下、図3を参照して、上記ゲーム装置1によって実行されるゲームプログラムによる具体的な表示画面例を説明する。なお、図3は、第1LCD11および第2LCD12にそれぞれ表示されたゲーム画面の一例である。
【0049】
本実施例においてゲーム装置1によって実行されるゲームは、同一のゲーム空間に対してそれぞれ一部の空間が第1LCD11および第2LCD12に表示される。そして、本実施例のゲームは、ゲーム空間に設定された目標物(図3では平面上に設けられた的Tが示されている)に第2オブジェクト(図3では上記平面上を移動する甲羅Sが示されている)を近づけることによって得点を競う。プレイヤは、第1オブジェクト(図3ではバーBが示されている)のみをタッチ操作で移動させることが可能であり、プレイヤが第1オブジェクトを操作して第2オブジェクトと衝突させることによって、当該第2オブジェクトが上記平面上を移動する。
【0050】
上述したように第2LCD12はタッチパネル13で覆われており、第2LCD12に表示されるゲーム画面には、バーBと打撃前の平面上初期位置に配置された甲羅Sが表示される。また、第1LCD11に表示されるゲーム画面には、同じ平面上に描かれた的Tが表示され、図3では既に的T近傍で停止して配置されている甲羅Saが示されている。プレイヤは、タッチパネル13をタッチ操作することによって、バーBのみを移動させることができる。そして、プレイヤは、タッチ操作によってバーBをコントロールして初期位置に配置された甲羅Sを的T方向へ打撃する。甲羅Sは、バーBに打撃されることによって打撃された速度および方向に応じて平面上を移動し、やがてその速度が0となって平面上で停止する。そして、甲羅Sが停止した位置と的Tとの位置関係に応じて得点が加算される。具体的には、甲羅Sの停止位置が的Tの中心に近いほど、加算される得点が高くなる。
【0051】
より具体的に、上述したタッチ操作とゲーム処理との関係を説明する。プレイヤがタッチパネル13の任意の位置(バーBが表示された位置でなくてもよい)をタッチ操作すると、当該タッチ操作された位置とバーBの位置との相対的な位置関係が求められる。そして、プレイヤがタッチ操作位置をドラッグ(スライド)すると、上記相対的な位置関係を維持したままバーBが移動する。なお、単位時間あたりのタッチ操作位置の移動量が所定ドット数(例えば2ドット)より小さいときは、バーBを移動させない。また、バーBの移動によって予め設定された移動範囲を当該バーBが逸脱するときは、当該移動範囲内にバーBが配置されるように移動を制限する。そして、打撃後に甲羅Sに与えられる移動速度および移動方向が、バーBの移動時おいて単位時間毎に更新されて潜在的に計算されている。そして、バーBと甲羅Sとが衝突したとき、バーBの移動時に計算されている更新された移動速度および移動方向に基づいて、甲羅Sがゲーム空間の平面上を移動する。なお、打撃後に甲羅Sに与えられる移動速度および移動方向が本発明の移動パラメータに相当する。
【0052】
図4は、カートリッジ17から適時読み出して格納されるWRAM22のイメージを示す図である。図4に示すように、WRAM22には、ゲーム装置1のコンピュータ、特にCPUコア21によって実行可能な形式の命令群を記憶するプログラム記憶領域22aおよびデータ群を記憶するデータ記憶領域22bと有している。なお、本実施例では、ゲームプログラムやデータをカートリッジ17に記録させたが、これらプログラムおよびデータを他の媒体や通信回線を通じて供給することもできる。
【0053】
プログラム記憶領域22aに適時格納されるゲームプログラムは、ゲーム装置1に実行させる機能ごとに分解したプログラムとして示せば、例えば、ゲームメインプログラム221、タッチ座標検出プログラム222、タッチオン・オフ検出プログラム223、相対座標算出プログラム224、座標変化算出プログラム225、速度計算プログラム226、角度計算プログラム227、第1オブジェクト表示制御プログラム228、第2オブジェクト表示制御プログラム229、オブジェクト衝突検出プログラム230、目標物表示プログラム231、および得点算出プログラム232などによって構成される。
【0054】
ゲームメインプログラム221は、ゲーム処理全体の動作を制御するためのプログラムである。タッチ座標検出プログラム222は、後述するタッチパネルデータバッファ233からのデータを読み出すことによって、プレイヤがタッチパネル13を操作したタッチパネル座標位置(タッチ座標)を検出するプログラムである。タッチオン・オフ検出プログラム223は、プレイヤがタッチパネル13をタッチしているか否かを検出するプログラムである。
【0055】
相対座標算出プログラム224は、タッチ座標と第1オブジェクト(バーB)の表示位置との間の相対座標を算出するプログラムである。座標変化算出プログラム225は、単位時間毎にタッチ座標の変化を算出するプログラムである。速度計算プログラム226および角度計算プログラム227は、単位時間毎のタッチ座標変化を示す移動ベクトルに基づいて、打撃後に第2オブジェクト(甲羅S)に与えられる移動速度および移動方向を潜在的に計算するプログラムである。なお、速度計算プログラム226および角度計算プログラム227は、前回計算した第2オブジェクトの移動速度および移動方向とタッチ座標変化とに基づいて、新たな移動速度および移動方向に更新する。
【0056】
第1オブジェクト表示制御プログラム228は、第1オブジェクト(バーB)の画像を第2LCD12に表示させるためのものである。第2オブジェクト表示制御プログラム229は、第2オブジェクト(甲羅S)の画像を第1LCD11および第2LCD12に表示させるためのものである。目標物表示プログラム231は、目標物(的T)の画像を第1LCD11に表示させるためのものである。
【0057】
オブジェクト衝突検出プログラム230は、第1オブジェクトと第2オブジェクトとが衝突したか否かを検出するプログラムであり、それぞれのオブジェクトのゲーム空間座標に基づいて判断する。得点算出プログラム232は、停止した第2オブジェクトと目標物とのゲーム空間に置ける位置関係に基づいて、ゲームで加算される得点を算出するためのプログラムである。
【0058】
データ記憶領域22bに適時格納されるデータ群は、例えばタッチパネルデータバッファ233、座標変化値格納バッファ234、速度記憶バッファ235、角度記憶バッファ236、第1オブジェクト表示位置データ237、第2オブジェクト表示位置データ238、第1オブジェクト画像データ239、第2オブジェクト画像データ240、目標物表示データ241、および得点データバッファ242などである。
【0059】
タッチパネルデータバッファ233は、タッチパネル13から入力する入力情報(タッチパネル座標位置;タッチ座標)を一時的に保存しておく記憶領域である。座標変化値格納バッファ234は、座標変化算出プログラム225が算出した単位時間毎のタッチ座標の変化を一時的に保存しておく記憶領域である。速度記憶バッファ235および角度記憶バッファ236は、それぞれ速度計算プログラム226および角度計算プログラム227が第2オブジェクトに与えられる移動速度および移動方向を更新するために、前回計算した第2オブジェクトの移動速度および移動方向を一時的に保存しておく記憶領域である。得点データバッファ242は、得点算出プログラム232が算出した得点を一時的に保存しておく記憶領域である。
【0060】
第1オブジェクト表示位置データ237は、第1オブジェクトをゲーム空間内に設けられた平面上に配置するための位置データであり、具体的には以下の説明でバー座標(Bx、By)として示される座標データである。第2オブジェクト表示位置データ238は、第2オブジェクトをゲーム空間内に設けられた平面上に配置するための位置データであり、具体的には以下の説明で甲羅Sを配置するための位置を示す座標データである。第1オブジェクト画像データ239、第2オブジェクト画像データ240、および目標物表示データ241は、それぞれゲーム画面にオブジェクトを表示するための画像データであり、具体的には以下の説明でバーB、甲羅S、および的Tをゲーム画面に表示するための画像データである。
【0061】
次に、図5〜図9を参照して、ゲーム装置1で処理されるゲーム処理の動作について説明する。なお、図5は、ゲーム装置1で処理されるゲーム処理の動作の前半部を示すフローチャートである。図6は、ゲーム装置1で処理されるゲーム処理の動作の後半部を示すフローチャートである。図7は、図5のステップ66における甲羅移動用データ算出処理の詳細な動作を示すサブルーチンである。図8は、図6のステップ71におけるθ補正処理を説明するための説明図である。図9は、図7のステップ89におけるθ補正処理を説明するための説明図である。
【0062】
まず、ゲーム装置1の電源(図示せず)がONされると、CPUコア21によってブートプログラム(図示せず)が実行され、これによりカートリッジ17に格納されているゲームプログラムがWRAM22にロードされる。当該ロードされたゲームプログラムがCPUコア21に実行されることによって、図5および図6に示すステップ(図5〜図7では「S」と略称する)が実行される。そして、上記ゲームプログラムを実行することによって、当該ゲームプログラムに応じたゲーム画像などが第1LCD11および第2LCD12に描画される。
【0063】
図5において、CPUコア21は、ゲーム処理における初期化処理を行い、(ステップ51)処理を次のステップに進める。具体的には、CPUコア21は、タッチ中フラグをオフに設定し、移動速度Vp=0、移動方向は、基準値としてx軸の正方向を0°としたときにはθp=90°(y軸の正方向)に設定し、バー座標(Bx、By)を初期位置に設定する。なお、座標系によっては、タッチパネル下向きをy軸の正方向とすることがあるので、この場合はθp=270°に設定する。
【0064】
次に、CPUコア21は、プレイヤがタッチパネル13をタッチ操作することによって得られるタッチ座標(tx、ty)を検出する(ステップ52)。なお、ステップ52は、他のステップを含めてゲーム処理の処理単位である表示フレーム毎に繰り返されて処理される。そして、CPUコア21は、プレイヤがタッチパネル13をタッチ操作しているか否かを判断する(ステップ53)。プレイヤがタッチパネル13をタッチ操作している場合、CPUコア21は、処理を次のステップ54に進める。一方、プレイヤがタッチパネル13をタッチ操作していない場合、CPUコア21は、タッチ中フラグをオフに設定し(ステップ58)、上記ステップ52に戻って処理を繰り返す。
【0065】
ステップ54において、CPUコア21は、タッチ中フラグがオンに設定されているか否かを判断する。そして、CPUコア21は、タッチ中フラグがオンの場合に処理を次のステップ59に進め、タッチ中フラグがオフの場合に処理を次のステップ55に進める。
【0066】
ステップ55において、CPUコア21は、バー座標とタッチ座標との相対座標を求める。具体的には、CPUコア21は、バー座標(Bx、By)およびタッチ座標(tx、ty)を用いて、相対座標(Rx、Ry)を
Rx=Bx−tx
Ry=By−ty
で求める。そして、CPUコア21は、タッチ中フラグをオンに設定し(ステップ56)、処理を次のステップに進める。
【0067】
次に、CPUコア21は、現在のタッチ座標を保存し(ステップ57)、上記ステップ52に戻って処理を繰り返す。具体的には、CPUコア21は、現在のタッチ座標(tx、ty)をタッチ座標(tpx、tpy)として保存する。
【0068】
上記ステップ54でタッチ中フラグがオンに設定されている場合、CPUコア21は、前回のタッチ座標と現在のタッチ座標との間の距離が2ドット以上離れているか否かを判断する(ステップ59)。具体的には、CPUコア21は、上記ステップ57で保存したタッチ座標(tpx、tpy)と上記ステップ52で検出した現在のタッチ座標(tx、ty)との距離を算出し、当該距離が2ドット以上か否かを判断する。そして、2ドット以上である場合、CPUコア21は、処理を次のステップ60に進める。一方、2ドット未満である場合、CPUコア21は、上記ステップ52に戻って処理を繰り返す。
【0069】
ステップ60において、CPUコア21は、現在のタッチ座標および相対座標を用いて、バー座標を求める。具体的には、CPUコア21は、タッチ座標(tx、ty)および相対座標(Rx、Ry)を用いて、バー座標(Bx、By)を
Bx=Rx+tx
By=Ry+ty
で求める。そして、CPUコア21は、処理を次のステップに進める。
【0070】
次に、CPUコア21は、上記ステップ60で求められたバー座標(Bx、By)が所定領域外か否かを判断する(ステップ61)。ここで、所定領域とは、バーB(図3参照)がゲーム空間に設定された平面上を移動できる範囲として予め設定された領域である。そして、CPUコア21は、バー座標が所定領域外である場合に処理を次のステップ62に進め、所定領域内である場合に処理を次のステップ64に進める。
【0071】
ステップ62において、CPUコア21は、バー座標(Bx、By)が所定領域内になるようにバー座標(Bx、By)を補正する。そして、CPUコア21は、上記ステップ62で補正されたバー座標(Bx、By)に基づいて、新たな相対座標を求め(ステップ63)、処理を次のステップ64に進める。具体的には、CPUコア21は、バー座標(Bx、By)およびタッチ座標(tx、ty)を用いて、新たな相対座標(Rx、Ry)を
Rx=Bx−tx
Ry=By−ty
で求める。
【0072】
ステップ64において、CPUコア21は、上記ステップ60またはステップ62で求められたバー座標(Bx、By)に基づいて、第2LCD12に表示するバーBの表示を更新する。そして、CPUコア21は、甲羅SとバーBが衝突したか否かを判断する(ステップ65)。具体的には、CPUコア21は、バー座標(Bx、By)と甲羅Sの位置座標とを用いて、両者の衝突を判断する。そして、CPUコア21は、甲羅SとバーBが衝突したと判断した場合、処理を次のステップ71(図6)に進める。一方、CPUコア21は、甲羅SとバーBが衝突していないと判断した場合、処理を次のステップ66に進める。
【0073】
ステップ66において、CPUコア21は、甲羅移動用データを算出し、処理を上記ステップ57に進める。以下、図7を参照して、ステップ66における甲羅移動用データの算出の詳細な動作を説明する。
【0074】
図7において、CPUコア21は、前回のタッチ座標から現在のタッチ座標までの移動ベクトルを算出し(ステップ81)、処理を次のステップに進める。具体的には、CPUコア21は、上記ステップ57で保存したタッチ座標(tpx、tpy)と上記ステップ52で検出した現在のタッチ座標(tx、ty)を用いて、移動ベクトル(Δtx、Δty)を
Δtx=tx−tpx
Δty=ty−tpy
で算出する。
【0075】
次に、CPUコア21は、上記ステップ81で算出した移動ベクトルの大きさを速度Vとして算出し(ステップ82)、処理を次のステップに進める。具体的には、CPUコア21は、速度Vを
【数1】

で算出する。なお、求められる速度値が処理的に大きすぎるなど、不都合を含む場合であれば、所定の係数をかけて補正してもよい。
【0076】
次に、CPUコア21は、上記ステップ82で算出された速度Vが予め設定された最高速度Vmaxより大きいか否かを判断する(ステップ83)。そして、CPUコア21は、速度Vが最高速度Vmaxより大きい場合、速度Vを最高速度Vmaxにして(ステップ84)、処理を次のステップ85に進める。一方、CPUコア21は、速度Vが最高速度Vmax以下の場合、そのまま処理を次のステップ85に進める。
【0077】
ステップ85において、CPUコア21は、速度Vが前回に設定されて保存されている速度Vpより小さいか否かを判断する。そして、CPUコア21は、速度Vが速度Vpより小さい場合、速度Vpと速度Vとの平均を新たな速度Vとして(ステップ86)、処理を次のステップ87に進める。具体的には、CPUコア21は、新たな速度VをVp−(Vp−V)/2で算出する。一方、CPUコア21は、速度Vが速度Vp以上の場合、そのまま処理を次のステップ87に進める。
【0078】
ステップ87において、CPUコア21は、現在設定されている速度Vを速度Vpにして当該速度Vpを保存する。そして、CPUコア21は、移動ベクトルの角度θを算出し(ステップ88)、処理を次のステップに進める。具体的には、CPUコア21は、移動ベクトル(Δtx、Δty)を用いて角度θを
θ=arctan(Δty/Δtx)
で算出する。
【0079】
次に、CPUコア21は、上記ステップ88で算出した角度θの補正処理を行い(ステップ89)、処理を次のステップに進める。図9に示すように、CPUコア21は、角度θが270°<θ≦360°の場合(図9に示す範囲Rc)、θ=0°に補正する。また、CPUコア21は、180°<θ≦270°の場合(図9に示す範囲Rd)、θ=180°に補正する。
【0080】
次に、CPUコア21は、前回に設定された角度θpと現在設定されている角度θとの平均を新たな角度θとして算出する(ステップ90)。具体的には、CPUコア21は、新たな角度θを(θ+θp)/2で算出する。そして、CPUコア21は、現在設定されている角度θを角度θpにして当該角度θpを保存し(ステップ91)、当該サブルーチンによる処理を終了する。
【0081】
図6を参照して、ステップ71以降の処理について説明する。上述したように、CPUコア21は、甲羅SとバーBが衝突したと判断した場合(ステップ65でYes)、処理をステップ71に進める。ステップ71において、CPUコア21は、上記ステップ66で算出した角度θの補正処理を行い、処理を次のステップに進める。図8に示すように、CPUコア21は、角度θが0°≦θ<θ1の場合(図8に示す範囲Ra;0°<θ1<90°)、θ=θ1に補正する。また、CPUコア21は、θ2<θ≦180°の場合(図8に示す範囲Rb;90°<θ2<180°)、θ=θ2に補正する。
【0082】
次に、CPUコア21は、甲羅Sの移動速度を速度Vおよび甲羅Sの移動方向を角度θとして、ゲーム空間に設定された平面に沿って甲羅Sを移動させて、甲羅Sの位置座標を算出する(ステップ72)。そして、CPUコア21は、速度Vを所定量減速して(ステップ73)、処理を次のステップに進める。
【0083】
次に、CPUコア21は、速度Vが0以下か否かを判断する(ステップ74)。そして、CPUコア21は、速度Vが0以下の場合、処理を次のステップ75に進める。一方、CPUコア21は、速度Vが0より大きい場合、上記ステップ71に戻って処理を繰り返す。
【0084】
ステップ75において、CPUコア21は、得点処理を行い、当該フローチャートによる処理を終了する。ここで、CPUコア21は、移動速度が0になった(停止した)甲羅Sの位置と的Tとの位置関係に応じて得点を加算し、典型的には、甲羅Sの停止位置が的Tの中心に近いほど、加算される得点を高くする。
【0085】
なお、上記ステップ85の判断ステップによって速度Vと前回の速度Vpとの平均化処理が減速時のみ行われる。これによって、プレイヤがタッチパネル13に対してタッチ操作する速度が加速しているときはその速度を入力情報とし、減速しているときはその速度を鈍らせるような処理を行うために行われている。このような効果を期待しない場合、上記ステップ85の処理を削除して、全ての速度Vにおいて当該速度Vと前回の速度Vpとの平均化処理を行ってもかまわない。
【0086】
また、速度Vや角度θの平均化処理は、前回の値との間の2値に対する平均化処理を行ったが、3つ以上の平均化処理を行ってもかまわない。速度記憶バッファ235および角度記憶バッファ236に過去の値を格納することによって、さらに多くの値に対する平均化処理を行うことができる。
【0087】
このように、プレイヤがタッチ操作によって甲羅S等を打撃するバーB等などの第1オブジェクトを操作し、その操作の仕方によって、甲羅S等の第2オブジェクトの動作内容が変わるようなゲームを提供できる。具体的には、第1オブジェクトと第2オブジェクトとが所定の位置関係(衝突)になったときに、第2オブジェクトが移動を開始するので、例えばゴルフゲームなど、ボール等の被打撃オブジェクトを打撃するようなゲームにおいてその興趣性を高めることができる。そして、第2オブジェクト(甲羅S)の移動速度および移動方向は、プレイヤがタッチパネル13をタッチ操作した入力情報に基づいて単位時間毎に算出されているが、速度Vおよび角度θがそれぞれ前回算出した値と平均化されることによって求められているため、タッチ操作に生じる入力ぶれの影響を低減することができる。また、プレイヤがタッチパネル13をタッチ操作した全ての入力情報が累積されて最終的な移動速度および移動方向が決定されるため、ゲーム装置用コントローラのスイッチやジョイスティック操作では体験できないような、タッチパネル特有の操作感をプレイヤに提供することができる。さらに、バーBがタッチパネル13からの相対的な入力情報で表示制御されるので、タッチパネル13における全ての操作面を用いてバーBを移動させる操作を行うことができ、必ずしも操作対象のバーBを直接触れるようにする必要が無くなり、プレイヤがバーBを視認しやすくなる。
【0088】
なお、上述した実施例では、プレイヤが第1オブジェクトを操作して第2オブジェクトに衝突させることによって第2オブジェクトを移動させているが、他の方法で第2オブジェクトを移動させてもかまわない。例えば、第1および第2オブジェクトが所定の位置関係(所定の距離まで接近するなど)になったときに、第2オブジェクトが移動速度をVおよび移動方向をθとして移動開始するゲームでもかまわない。また、プレイヤが第2オブジェクト(つまり、甲羅S)を直接操作して平面上を移動させてもかまわない。この場合、タッチパネル13からスタイラス16が離れたタイミングや操作スイッチ14が押下されたタイミングに応じて、第2オブジェクトが移動速度をVおよび移動方向をθとして移動開始すれば、同様の効果を得ることができる。
【0089】
また、上記実施例では、ゲーム装置1にタッチパネル13が一体的に設けられているが、ゲーム装置とタッチパネルとを別体にして構成しても、本発明を実現できることは言うまでもない。また、上記実施例では表示器を2つ設けたが、表示器は1つであってもかまわない。すなわち、上記実施例において、第2LCD12設けず単にタッチパネル13のみを設けるようにしてもよい。また、上記実施例において、第2LCD12を設けず第1LCD11の上面にタッチパネル13を設けても良い。
【0090】
また、上記実施例では、ゲーム装置1にタッチパネル13が一体的に設けられているが、タッチパネルを入力装置の1つとする一般的なパーソナルコンピュータなどの情報処理装置でもかまわない。この場合、この情報処理装置のコンピュータが実行するプログラムは、典型的にゲームに用いられるゲームプログラムに限らず、上述した方式で得られた移動速度および移動方向が上記情報処理装置に対する操作処理に用いられる汎用的なプログラムである。
【産業上の利用可能性】
【0091】
本発明に係るゲーム装置およびゲームプログラムは、タッチパネルへのタッチ操作に生じる入力ぶれの影響を低減することができ、タッチパネル等を入力手段とするゲーム装置や当該ゲーム装置で実行されるゲームプログラムとして有用である。
【図面の簡単な説明】
【0092】
【図1】本発明の一実施形態に係るゲームプログラムを実行するゲーム装置の外観図
【図2】図1のゲーム装置1のブロック図
【図3】図1の第1LCD11および第2LCD12にそれぞれ表示されたゲーム画面の一例
【図4】図1のカートリッジ17から適時読み出して格納されるWRAM22のイメージを示す図
【図5】図1のゲーム装置1で処理されるゲーム処理の動作の前半部を示すフローチャート
【図6】図1のゲーム装置1で処理されるゲーム処理の動作の後半部を示すフローチャート
【図7】図5のステップ66における甲羅移動用データ算出処理の詳細な動作を示すサブルーチン
【図8】図6のステップ71におけるθ補正処理を説明するための説明図
【図9】図7のステップ89におけるθ補正処理を説明するための説明図
【符号の説明】
【0093】
1…ゲーム装置
11…第1LCD
12…第2LCD
13…タッチパネル
14…操作スイッチ部
15…スピーカ
16…スタイラス
17…カートリッジ
171…ROM
172…RAM
18…ハウジング
20…電子回路基板
21…CPUコア
22…WRAM
23…第1VRAM
24…第1GPU
25…第2VRAM
26…第2GPU
27…I/F回路
28…コネクタ
29…LCDコントローラ
291…レジスタ

【特許請求の範囲】
【請求項1】
プレイヤがゲーム空間に登場する第1オブジェクトを操作することにより、当該第1オブジェクトとは異なる第2オブジェクトの位置を変化させるゲームを表現するゲーム装置であって、
前記ゲーム空間を表示画面に表示する表示部と、
前記表示部の表示画面上を覆って設けられるタッチパネルと、
所定周期毎に前記タッチパネルがタッチ操作された位置座標を検出する操作位置検出部と、
前記操作位置検出部が検出した位置座標を記憶する位置座標記憶部と、
前回検出した位置座標および現在の位置座標に基づいて、移動速度および移動方向の少なくとも一方を前記第2オブジェクトの移動パラメータとして算出する移動パラメータ算出部と、
過去に決定した前記移動パラメータと前記移動パラメータ算出部が算出した移動パラメータとを用いて、新たな移動パラメータを決定する移動パラメータ決定部と、
前記移動パラメータ決定部が決定した移動パラメータを記憶する移動パラメータ記憶部と、
前記操作位置検出部が検出した位置座標に応じて、前記第1オブジェクトを表示制御する第1オブジェクト表示制御部と、
前記第1オブジェクトと前記第2のオブジェクトとが所定の位置関係を満たしたとき、前記移動パラメータ記憶部が記憶している最新の移動パラメータに基づいて、前記第2オブジェクトを移動させて表示制御する第2オブジェクト表示制御部とを備える、ゲーム装置。
【請求項2】
前記移動パラメータ決定部は、前記移動パラメータ記憶部に記憶されている過去に決定した複数の移動パラメータと前記移動パラメータ算出部が算出した移動パラメータとを平均して、新たな移動パラメータを決定することを特徴とする、請求項1に記載のゲーム装置。
【請求項3】
前記移動パラメータ決定部は、前記移動パラメータ記憶部に記憶されている前回決定した移動パラメータと前記移動パラメータ算出部が算出した移動パラメータとを平均して、新たな移動パラメータを決定することを特徴とする、請求項1に記載のゲーム装置。
【請求項4】
前記移動パラメータ算出部は、移動速度および移動方向を共に前記第2オブジェクトの移動パラメータとして算出し、
前記移動パラメータ決定部は、前記移動パラメータ記憶部に記憶されている前回決定した移動方向と前記移動パラメータ算出部が算出した移動方向とを平均することによって、新たな移動方向を決定し、
前記移動パラメータ決定部は、前記移動パラメータ記憶部に記憶されている前回決定した移動速度に対して前記移動パラメータ算出部が算出した移動速度が遅いとき、前回決定した移動速度と前記移動パラメータ算出部が算出した移動速度とを平均して新たな移動速度を決定し、
前記移動パラメータ決定部は、前記移動パラメータ算出部が算出した移動速度が前回決定した移動速度以上のとき、前記移動パラメータ算出部が算出した移動速度を新たな移動速度に決定することを特徴とする、請求項1に記載のゲーム装置。
【請求項5】
前記移動パラメータ算出部は、前記所定周期の前周期に検出した位置座標を前回検出した位置座標とし、現周期に検出した位置座標を現在の位置座標として前記移動パラメータを前記所定周期毎に算出することを特徴とする、請求項1に記載のゲーム装置。
【請求項6】
前記移動パラメータ算出部は、前回検出した位置座標から現在の位置座標までの移動ベクトルを求め、当該移動ベクトルに基づいて移動速度および移動方向の少なくとも一方を前記移動パラメータとして算出することを特徴とする、請求項5に記載のゲーム装置。
【請求項7】
前記ゲーム装置は、前記第1オブジェクトを最初に前記表示画面上に表示するための初期位置座標を記憶する初期位置記憶部を、さらに備え、
前記第1オブジェクト表示制御手段は、前記操作位置検出部が前記タッチパネルに対してタッチ操作された位置座標を検出したことに応じて、当該位置座標と前記初期位置座標との相対的な位置関係を示す相対位置データを用いて前記第1オブジェクトを表示制御することを特徴とする、請求項1に記載のゲーム装置。
【請求項8】
前記ゲーム装置は、前記ゲーム空間に前記第2オブジェクトの移動目標となる目標物を設定して前記表示画面に表示する目標物表示部を、さらに備え、
前記第2オブジェクト表示制御手段は、前記移動パラメータに基づいて移動する前記第2オブジェクトを所定量ずつ減速させて表示制御し、
前記ゲーム装置は、前記第2オブジェクトの移動速度がゼロになったときの位置座標と前記目標物の位置座標との位置関係を用いてゲームの得点を算出する得点算出部を、さらに備える、請求項1に記載のゲーム装置。
【請求項9】
プレイヤがゲーム空間に登場するオブジェクトを操作することにより、当該オブジェクトの位置を変化させるゲームを表現するゲーム装置であって、
前記ゲーム空間を表示画面に表示する表示部と、
前記表示部の表示画面上を覆って設けられるタッチパネルと、
所定周期毎に前記タッチパネルがタッチ操作された位置座標を検出する操作位置検出部と、
前記操作位置検出部が検出した位置座標を記憶する位置座標記憶部と、
前回検出した位置座標および現在の位置座標に基づいて、移動速度および移動方向の少なくとも一方を前記オブジェクトの移動パラメータとして算出する移動パラメータ算出部と、
過去に決定した前記移動パラメータと前記移動パラメータ算出部が算出した移動パラメータとを用いて、新たな移動パラメータを決定する移動パラメータ決定部と、
前記移動パラメータ決定部が決定した移動パラメータを記憶する移動パラメータ記憶部と、
前記操作位置検出部が検出した位置座標に応じて前記オブジェクトを表示制御し、所定の条件を満たしたとき、前記移動パラメータ記憶部が記憶している最新の移動パラメータに基づいて前記オブジェクトを移動させて表示制御するオブジェクト表示制御部とを備える、ゲーム装置。
【請求項10】
プレイヤがゲーム空間に登場する第1オブジェクトを操作することにより、当該第1オブジェクトとは異なる第2オブジェクトの位置を変化させるゲームを表現するゲーム装置のコンピュータで実行されるゲームプログラムであって、
前記ゲーム装置は、前記ゲーム空間を表示画面に表示する表示部、当該表示部の表示画面上を覆って設けられるタッチパネル、および記憶部を備えており、
前記コンピュータに、
所定周期毎に前記タッチパネルがタッチ操作された位置座標を検出する操作位置検出ステップと、
前記操作位置検出ステップが検出した位置座標を前記記憶部に記憶する位置座標記憶ステップと、
前回検出した位置座標および現在の位置座標に基づいて、移動速度および移動方向の少なくとも一方を前記第2オブジェクトの移動パラメータとして算出する移動パラメータ算出ステップと、
過去に決定した前記移動パラメータと前記移動パラメータ算出ステップが算出した移動パラメータとを用いて、新たな移動パラメータを決定する移動パラメータ決定ステップと、
前記移動パラメータ決定ステップが決定した移動パラメータを前記記憶部に記憶する移動パラメータ記憶ステップと、
前記操作位置検出ステップが検出した位置座標に応じて、前記第1オブジェクトを表示制御する第1オブジェクト表示制御ステップと、
前記第1オブジェクトと前記第2のオブジェクトとが所定の位置関係を満たしたとき、前記移動パラメータ記憶ステップで記憶した最新の移動パラメータに基づいて、前記第2オブジェクトを移動させて表示制御する第2オブジェクト表示制御ステップとを実行させる、ゲームプログラム。
【請求項11】
前記移動パラメータ決定ステップは、前記移動パラメータ記憶ステップで前記記憶部に記憶した過去に決定した複数の移動パラメータと前記移動パラメータ算出ステップが算出した移動パラメータとを平均して、新たな移動パラメータを決定することを特徴とする、請求項10に記載のゲームプログラム。
【請求項12】
前記移動パラメータ決定ステップは、前記移動パラメータ記憶ステップで前記記憶部に記憶した前回決定した移動パラメータと前記移動パラメータ算出ステップが算出した移動パラメータとを平均して、新たな移動パラメータを決定することを特徴とする、請求項10に記載のゲームプログラム。
【請求項13】
前記移動パラメータ算出ステップは、移動速度および移動方向を共に前記第2オブジェクトの移動パラメータとして算出し、
前記移動パラメータ決定ステップは、前記移動パラメータ記憶ステップで前記記憶部に記憶した前回決定した移動方向と前記移動パラメータ算出ステップが算出した移動方向とを平均することによって、新たな移動方向を決定し、
前記移動パラメータ決定ステップは、前記移動パラメータ記憶ステップで前記記憶部に記憶した前回決定した移動速度に対して前記移動パラメータ算出ステップが算出した移動速度が遅いとき、前回決定した移動速度と前記移動パラメータ算出ステップが算出した移動速度とを平均して新たな移動速度を決定し、
前記移動パラメータ決定ステップは、前記移動パラメータ算出ステップが算出した移動速度が前回決定した移動速度以上のとき、前記移動パラメータ算出ステップが算出した移動速度を新たな移動速度に決定することを特徴とする、請求項10に記載のゲームプログラム。
【請求項14】
前記移動パラメータ算出ステップは、前記所定周期の前周期に検出した位置座標を前回検出した位置座標とし、現周期に検出した位置座標を現在の位置座標として前記移動パラメータを前記所定周期毎に算出することを特徴とする、請求項10に記載のゲームプログラム。
【請求項15】
前記移動パラメータ算出ステップは、前回検出した位置座標から現在の位置座標までの移動ベクトルを求め、当該移動ベクトルに基づいて移動速度および移動方向の少なくとも一方を前記移動パラメータとして算出することを特徴とする、請求項14に記載のゲームプログラム。
【請求項16】
前記ゲームプログラムは、前記第1オブジェクトを最初に前記表示画面上に表示するための初期位置座標を前記記憶部に記憶する初期位置記憶ステップを、さらに前記コンピュータに実行させ、
前記第1オブジェクト表示制御手段は、前記操作位置検出ステップが前記タッチパネルに対してタッチ操作された位置座標を検出したことに応じて、当該位置座標と前記初期位置座標との相対的な位置関係を示す相対位置データを用いて前記第1オブジェクトを表示制御することを特徴とする、請求項10に記載のゲームプログラム。
【請求項17】
前記ゲームプログラムは、前記ゲーム空間に前記第2オブジェクトの移動目標となる目標物を設定して前記表示画面に表示する目標物表示ステップを、さらに前記コンピュータに実行させ、
前記第2オブジェクト表示制御手段は、前記移動パラメータに基づいて移動する前記第2オブジェクトを所定量ずつ減速させて表示制御し、
前記ゲームプログラムは、前記第2オブジェクトの移動速度がゼロになったときの位置座標と前記目標物の位置座標との位置関係を用いてゲームの得点を算出する得点算出ステップを、さらに前記コンピュータに実行させる、請求項10に記載のゲームプログラム。
【請求項18】
プレイヤがゲーム空間に登場するオブジェクトを操作することにより、当該オブジェクトの位置を変化させるゲームを表現するゲーム装置のコンピュータに実行されるゲームプログラムであって、
前記ゲーム装置は、前記ゲーム空間を表示画面に表示する表示部、当該表示部の表示画面上を覆って設けられるタッチパネル、および記憶部を備えており、
前記コンピュータに、
所定周期毎に前記タッチパネルがタッチ操作された位置座標を検出する操作位置検出ステップと、
前記操作位置検出ステップが検出した位置座標を前記記憶部に記憶する位置座標記憶ステップと、
前回検出した位置座標および現在の位置座標に基づいて、移動速度および移動方向の少なくとも一方を前記オブジェクトの移動パラメータとして算出する移動パラメータ算出ステップと、
過去に決定した前記移動パラメータと前記移動パラメータ算出ステップが算出した移動パラメータとを用いて、新たな移動パラメータを決定する移動パラメータ決定ステップと、
前記移動パラメータ決定ステップが決定した移動パラメータを前記記憶部に記憶する移動パラメータ記憶ステップと、
前記操作位置検出ステップが検出した位置座標に応じて前記オブジェクトを表示制御し、所定の条件を満たしたとき、前記移動パラメータ記憶ステップで前記記憶部に記憶した最新の移動パラメータに基づいて前記オブジェクトを移動させて表示制御するオブジェクト表示制御ステップとを実行させる、ゲームプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2006−122240(P2006−122240A)
【公開日】平成18年5月18日(2006.5.18)
【国際特許分類】
【出願番号】特願2004−312976(P2004−312976)
【出願日】平成16年10月27日(2004.10.27)
【出願人】(000233778)任天堂株式会社 (1,115)
【Fターム(参考)】