説明

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

【構成】 ゲーム装置10はLCD14を含み、LCD14の上面にはタッチパネル22が設けられる。プレイヤは、スティック24を用いてタッチ入力すると、タッチパネル22上に図形を描画することができる。プレイヤがタッチ入力により図形を描画すると、描画図形が基準図形であるか否かを認識する。描画図形が基準図形として認識されたとき、ゲーム装置10に振動が与えられる。この振動は、タッチ入力するプレイヤの指に直接的にまたはスティック24を介して間接的に伝わる。
【効果】 図形の描画完了を振動によりプレイヤに知らせることができる。

【発明の詳細な説明】
【技術分野】
【0001】
この発明はゲーム装置およびゲームプログラムに関し、特にたとえば、タッチパネルを操作することによって所定の処理を実行する、ゲーム装置およびゲームプログラムに関する。
【背景技術】
【0002】
従来のこの種のゲーム装置の一例が特許文献1に開示される。この特許文献1によれば、ディスプレイパネルは振動素子によって振動を付与される状態で支持されている。このディスプレイパネルには、オペレータがペンにより選択すべき選択肢をウインドウやアイコン等で表した画像が表示される。オペレータがペンで選択指示を与えると、選択された画像の種類に応じた振動の種類を決定する。そして、決定された振動で振動子が作動され、ディスプレイパネルが振動される。これにより、画像に対応した振動を、ペンを介してオペレータに伝えることができ、リアリティのあるインタフェース機能を得ている。
【特許文献1】特開平11−85400号
【発明の開示】
【発明が解決しようとする課題】
【0003】
しかし、この従来技術では、各画像に対して一義的に振動の種類が設定されているため、たとえば、画像の表示態様が変化しても、振動の種類が変化することはない。つまり、どのタイミングで画像を指示しても、同じ振動が与えられるため、指示したタイミングと画像の表示状態との関係を振動により認識することができない。したがって、たとえば、ユーザがタッチ入力により、画像を描画する場合に、描画中の画像がどのような状態であるかを感覚的に知ることもできない。
【0004】
それゆえに、この発明の主たる目的は、新規な、ゲーム装置およびゲームプログラムを提供することである。
【0005】
この発明の他の目的は、図形の描画が完了したことを振動で知らせることができる、ゲーム装置およびゲームプログラムを提供することである。
【課題を解決するための手段】
【0006】
請求項1の発明は、ゲーム画面を表示するための表示器と、当該表示器に関連して設けられるタッチパネルと、少なくとも当該表示器の画面を振動させるための振動器とを備えるゲーム装置であって、タッチ入力検出手段、座標データ記憶手段、ベクトル記憶手段、認識手段、および振動制御手段を備える。タッチ入力検出手段は、タッチパネルへのタッチ入力の有無を一定時間毎に検出する。座標データ記憶手段は、タッチ入力検出手段によって検出された座標データを記憶する。ベクトル記憶手段は、少なくとも1つの基準図形に対応する第1ベクトルを記憶する。認識手段は、タッチ入力が有りの状態が連続するとき、座標データ記憶手段によって記憶される複数の座標データが示す座標点群が基準図形であるかどうかを認識する。そして、振動制御手段は、認識手段によって座標点群が基準図形として認識されたとき、振動器を振動させる。
【0007】
請求項1の発明では、ゲーム装置(10:実施例で相当する参照符号。以下、同じ。)は、ゲーム画面を表示するための表示器(14)と、当該表示器に関連して設けられるタッチパネル(22)と、少なくとも当該表示器の画面を振動させるための振動器(28c)とを備える。このゲーム装置では、タッチ入力検出手段(42,S1)は、タッチパネルへのタッチ入力の有無を一定時間毎に検出する。座標データ記憶手段(42,48,S9)は、タッチ入力検出手段によって検出された座標データを記憶する。キャラクタ画像記憶手段(48)は、基準図形に対して設定されるキャラクタ画像を記憶する。認識手段(42,S13)は、タッチ入力が有りの状態(S3で“YES”)が連続するとき、座標データ記憶手段によって記憶される複数の座標データが示す座標点群が基準図形であるかどうかを認識する(S21)。つまり、プレイヤが描画する図形(線画)が基準図形に該当するか否かが判断されるのである。振動制御手段(42,S27,S35,S43)は、認識手段によって座標点群が基準図形として認識されたとき(S23,S31,S39で“YES”)、つまりプレイヤのタッチ入力により、図形の描画が完了したとき、振動器を振動させる。したがって、その振動が表示器を介して、タッチ入力するプレイヤの指に伝わる。
【0008】
請求項1の発明によれば、図形の描画が完了したとき、振動器を振動させるので、振動により、図形の描画が完了したことをプレイヤに知らせることができる。
【0009】
請求項2の発明は請求項1に従属し、少なくとも1つの基準図形に対応する第1ベクトルを記憶するベクトル記憶手段をさらに備え、認識手段は、第1ベクトルと、座標データ記憶手段によって記憶される複数の座標データが示す各座標点を時系列に従って並べた座標点群により形成される第2ベクトルとを比較し、当該第1ベクトルと当該第2ベクトルとが少なくとも近似するとき、当該座標点群を当該基準図形として認識する。
【0010】
請求項2の発明では、ベクトル記憶手段(48)は、少なくとも1つの基準図形に対応する第1ベクトルを記憶する。認識手段は、第1ベクトルと、座標データ記憶手段によって記憶される複数の座標データが示す各座標点を時系列に従って並べた座標点群により形成される第2ベクトルとを比較し、当該第1ベクトルと当該第2ベクトルとが少なくとも近似するとき、当該座標点群を当該基準図形として認識する(S21)。つまり、プレイヤがタッチ入力により描画した図形(描画図形)と基準図形とを、それぞれのベクトル同士を比較することにより、近似するか否かを判断し、ベクトル同士が一致するまたは近似する場合に、描画図形を基準図形として認識するのである。
【0011】
請求項2の発明によれば、プレイヤが描画した図形のベクトルと基準図形のベクトルとを比較することにより、プレイヤが描画した図形を基準図形として正確に認識することができる。
【0012】
請求項3の発明は請求項2に従属し、ベクトル記憶手段は、複数の基準図形の各々に対応する複数の第1ベクトルを記憶し、認識手段は、複数の第1ベクトルのそれぞれと第2ベクトルとを比較し、座標点群を第2ベクトルが近似する1の第1ベクトルに対応する基準図形として認識し、振動制御手段は、認識手段によって認識された基準図形に設定された種類の振動で振動器を振動させる。
【0013】
請求項3の発明では、ベクトル記憶手段は、複数の基準図形の各々に対応する複数の第1ベクトルを記憶する。したがって、認識手段は、複数の第1ベクトルのそれぞれと第2ベクトルとを比較し、座標点群を第2ベクトルが近似する1の第1ベクトルに対応する基準図形として認識する。つまり、描画図形をいずれかの基準図形として認識する。振動制御手段は、認識手段によって認識された基準図形に設定された種類の振動で振動器を振動させる。たとえば、振動の強さを変化させることにより、振動の種類を複数設定することができる。
【0014】
請求項3の発明によれば、基準図形に応じた種類の振動で振動器を振動させるので、振動の仕方によって、表示されたキャラクタ画像を識別することができる。
【0015】
請求項4の発明は請求項1ないし3のいずれかに従属し、振動制御手段は、座標点群が基準図形として認識されないとき、振動器を振動させない。
【0016】
請求項4の発明では、振動制御手段は、座標点群が基準図形として認識されないとき(S23,S31,S39で“NO”)、振動器を振動させない。
【0017】
請求項4の発明によれば、描画図形が基準図形として認識されない場合には、振動器を振動させないので、プレイヤは図形を描画したにもかかわらず振動器が振動しない場合には、図形の描画に失敗したと認識することができる。
【0018】
請求項5の発明は請求項1ないし4のいずれに従属し、基準図形に対して設定される第1キャラクタ画像を記憶するキャラクタ画像記憶手段、および認識手段によって座標点群が基準図形として認識されたとき、当該座標点群に対応する表示器の位置に、当該基準図形に対して設定される第1キャラクタ画像を表示する第1キャラクタ画像表示手段をさらに備える。
【0019】
請求項5の発明では、キャラクタ画像記憶手段(48)は、基準図形に対して設定される第1キャラクタ画像を記憶する。第1キャラクタ画像表示手段(42,S25,S33,S41)は、認識手段によって座標点群が基準図形として認識されたとき(S23,S31,S39で“YES”)、つまりプレイヤのタッチ入力により、図形の描画が完了したとき、当該座標点群に対応する表示器の位置に、当該基準図形に対して設定される第1キャラクタ画像(122)を表示する。
【0020】
請求項5の発明によれば、プレイヤがタッチ入力により、図形の描画を完了し、当該図形が基準図形として認識されたときに、基準図形に対して設定されたキャラクタ画像を表示するので、振動により、キャラクタ画像が出現したことを知らせることができる。
【0021】
請求項6の発明は請求項1ないし5のいずれかに従属し、タッチ入力検出手段によって検出された座標データが示す座標点に対応する表示器の位置に第2キャラクタ画像を表示する第2キャラクタ画像表示手段をさらに備える。
【0022】
請求項6の発明では、第2キャラクタ画像表示手段(42,S7)は、タッチ入力検出手段によって検出された座標データが示す座標点に対応する表示器の位置に第2キャラクタ画像(104)を表示する。したがって、たとえば、第1キャラクタ画像手段(42,S25,S33,S41)は、認識手段によって座標点群が基準図形として認識されたとき、当該座標点群の各々の座標点に対応する表示器の位置に表示される複数の第2キャラクタ画像を、当該基準図形に対して設定される第1キャラクタ画像に置き換えるようにすることができる。つまり、プレイヤのタッチ入力による軌跡上であり、一定時間毎に検出される座標データが示す座標に対応する表示器の位置のそれぞれに第2キャラクタ画像を表示し、タッチ入力により図形が描画され、描画図形が基準図形として認識されると、複数の第2キャラクタ画像に変えて、認識された基準図形に対応する第1キャラクタ画像を表示するのである。
【0023】
請求項6の発明によれば、プレイヤのタッチ入力によって図形を描画するとき、描画中と描画後とで異なるキャラクタ画像を表示するので、振動により、プレイヤにキャラクタ画像の変化を知らせることができる。
【0024】
請求項7の発明は、ゲーム画面を表示するための表示器と、当該表示器に関連して設けられるタッチパネルと、少なくとも当該表示器の画面を振動させるための振動器とを備えるゲーム装置のゲームプログラムである。このゲームプログラムは、ゲーム装置のプロセサに、タッチ入力検出ステップ、座標データ記憶ステップ、認識ステップ、および振動制御ステップを実行させる。タッチ入力検出ステップは、タッチパネルへのタッチ入力の有無を一定時間毎に検出する。座標データ記憶ステップは、タッチ入力検出ステップによって検出されたタッチ入力に対して入力される座標データを記憶する。認識ステップは、タッチ入力が有りの状態が連続するとき、座標データ記憶ステップによって記憶される複数の座標データが示す座標点群が基準図形であるかどうかを認識する。そして、振動制御ステップは、認識ステップによって座標点群が基準図形として認識されたとき、振動器を振動させる。
【0025】
請求項7の発明においても、請求項1の発明と同様に、振動により、図形の描画が完了したことをプレイヤに知らせることができる。
【発明の効果】
【0026】
この発明によれば、タッチ入力により描画された画像が基準図形と認識されたときに、振動器を振動させるので、その振動により、図形の描画が完了したことを、指やペンでタッチするプレイヤに報知することができる。
【0027】
この発明の上述の目的,その他の目的,特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【発明を実施するための最良の形態】
【0028】
図1を参照して、この発明の実施例であるゲーム装置10は、第1の液晶表示器(LCD)12および第2のLCD14を含む。このLCD12およびLCD14は、所定の配置位置となるようにハウジング16に収納される。この実施例では、ハウジング16は、上側ハウジング16aと下側ハウジング16bとによって構成され、LCD12は上側ハウジング16aに収納され、LCD14は下側ハウジング16bに収納される。したがって、LCD12とLCD14とは縦(上下)に並ぶように近接して配置される。
【0029】
なお、この実施例では、表示器としてLCDを用いるようにしてあるが、LCDに代えて、EL(Electronic Luminescence)ディスプレイやプラズマディスプレイを用いるようにしてもよい。
【0030】
図1からも分かるように、上側ハウジング16aは、LCD12の平面形状よりも少し大きな平面形状を有し、一方主面からLCD12の表示面を露出するように開口部が形成される。一方、下側ハウジング16bは、その平面形状が上側ハウジング16aよりも横長に選ばれ、横方向の略中央部にLCD14の表示面を露出するように開口部が形成される。また、下側ハウジング16bには、音抜き孔18が形成されるとともに、操作スイッチ20(20a,20b,20c,20d,20e,20Lおよび20R)が設けられる。
【0031】
また、上側ハウジング16aと下側ハウジング16bとは、上側ハウジング16aの下辺(下端)と下側ハウジング16bの上辺(上端)の一部とが回動可能に連結されている。したがって、たとえば、ゲームをプレイしない場合には、LCD12の表示面とLCD14の表示面とが対面するように、上側ハウジング16aを回動させて折りたたんでおけば、LCD12の表示面およびLCD14の表示面に傷がつくなどの破損を防止することができる。ただし、上側ハウジング16aと下側ハウジング16bとは、回動可能に連結せずに、それらを一体的(固定的)に設けたハウジング16を形成するようにしてもよい。
【0032】
操作スイッチ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との連結部以外に当該連結部を挟むように、左右に配置される。
【0033】
方向指示スイッチ20aは、ディジタルジョイスティックとして機能し、4つの押圧部の1つを操作することによって、プレイヤによって操作可能なプレイヤキャラクタ(またはプレイヤオブジェクト)の移動方向を指示したり、カーソルの移動方向を指示したりする等に用いられる。スタートスイッチ20bは、プッシュボタンで構成され、ゲームを開始(再開)したり、一時停止したりする等に用いられる。セレクトスイッチ20cは、プッシュボタンで構成され、ゲームモードの選択等に用いられる。
【0034】
動作スイッチ20dすなわちAボタンは、プッシュボタンで構成され、方向指示以外の動作、すなわち、プレイヤキャラクタに打つ(パンチ)、投げる、つかむ(取得)、乗る、ジャンプするなどの任意のアクションをさせることができる。たとえば、アクションゲームにおいては、ジャンプ、パンチ、武器を動かす等を指示することができる。また、ロールプレイングゲーム(RPG)やシミュレーションRPGにおいては、アイテムの取得、武器やコマンドの選択および決定等を指示することができる。動作スイッチ20eすなわちBボタンは、プッシュボタンで構成され、セレクトスイッチ20cで選択したゲームモードの変更やAボタン20dで決定したアクションの取り消し等のために用いられる。
【0035】
動作スイッチ(Lボタン)20Lおよび動作スイッチ(Rボタン)20Rは、プッシュボタンで構成され、Lボタン20LおよびRボタン20Rは、Aボタン20dおよびBボタン20eと同様の操作に用いることができ、また、Aボタン20dおよびBボタン20eの補助的な操作に用いることができる。
【0036】
また、LCD14の上面には、タッチパネル22が装着される。タッチパネル22としては、たとえば、抵抗膜方式、光学式(赤外線方式)および静電容量結合式のいずれかの種類のものを用いることができる。また、タッチパネル22は、その上面をスティック24ないしはペン(スタイラスペン)或いは指(以下、これらを「スティック24等」という場合がある。)で、押圧したり、撫でたり、触れたり(以下、単に「押圧する」という。)することにより操作すると、スティック24等の操作位置の座標を検出して、検出した座標(検出座標)に対応する座標データを出力する。
【0037】
この実施例では、LCD14(LCD12も同じ、または略同じ。)の表示面の解像度は256dot×192dotであり、タッチパネル22の検出精度(操作面)も表示画面に対応して256dot×192dotとしてある。ただし、図1では、タッチパネル22を分かり易くするために、タッチパネル22をLCD14とは異なる大きさで示してあるが、LCD14の表示画面の大きさとタッチパネル22の操作面の大きさとは同じ大きさである。なお、タッチパネル22の検出精度は、表示画面の解像度よりも低くてもよく、高くてもよい。
【0038】
LCD12およびLCD14には異なるゲーム画面を表示することができる。たとえば、レースゲームでは一方のLCDに運転席からの視点による画面を表示し、他方のLCDにレース(コース)全体の画面を表示することができる。また、RPGでは、一方のLCDにマップやプレイヤキャラクタ等のキャラクタを表示し、他方のLCDにプレイヤキャラクタが所有するアイテムを表示することができる。さらに、一方のLCD(この実施例では、LCD12)にゲームのプレイ画面を表示し、他方のLCD(この実施例では、LCD14)に当該ゲームを操作するための文字情報やアイコン等を含むゲーム画面(操作画面)を表示することができる。さらには、2つのLCD12およびLCD14を合わせて1つの画面として用いることにより、プレイヤキャラクタが倒さなければならない巨大な怪物(敵キャラクタ)を表示することもできる。
【0039】
したがって、プレイヤはスティック24等でタッチパネル22を操作(タッチ入力ないしタッチ操作)することにより、LCD14の画面に表示されるプレイヤキャラクタ、敵キャラクタ、アイテムキャラクタ、文字情報、アイコン等のキャラクタ画像を指示したり、コマンドを選択したりすることができる。
【0040】
このように、ゲーム装置10は、2画面分の表示部となるLCD12およびLCD14を有し、いずれか一方(この実施例では、LCD14)の上面にタッチパネル22が設けられるので、2画面(12,14)と2系統の操作部(20,22)とを有する構成になっている。
【0041】
また、この実施例では、スティック24は、たとえば上側ハウジング16aの側面(右側面)近傍に設けられる収納部(穴ないし凹部)26に収納することができ、必要に応じて取り出される。ただし、スティック24を設けない場合には、収納部26を設ける必要もない。
【0042】
さらに、ゲーム装置10はメモリカード(またはゲームカートリッジ)28を含み、このメモリカード28は着脱自在であり、下側ハウジング16bの裏面ないしは底面(下端)に設けられる挿入口30から挿入される。図1では省略するが、挿入口30の奥部には、メモリカード28の挿入方向先端部に設けられるコネクタ(図示せず)と接合するためのコネクタ46(図2参照)が設けられており、したがって、メモリカード28が挿入口30に挿入されると、コネクタ同士が接合され、ゲーム装置10のCPUコア42(図2参照)がメモリカード28にアクセス可能となる。
【0043】
なお、図1では表現できないが、下側ハウジング16bの音抜き孔18と対応する位置であり、この下側ハウジング16bの内部にはスピーカ32(図2参照)が設けられる。
【0044】
また、図1では省略するが、たとえば、下側ハウジング16bの裏面側には、電池収容ボックスが設けられ、また、下側ハウジング16bの底面側には、電源スイッチ、音量スイッチ、外部拡張コネクタおよびイヤフォンジャックなども設けられる。
【0045】
図2はゲーム装置10の電気的な構成を示すブロック図である。図2を参照して、ゲーム装置10は電子回路基板40を含み、この電子回路基板40にはCPUコア42等の回路コンポーネントが実装される。CPUコア42は、バス44を介してコネクタ46に接続されるとともに、RAM48、第1のグラフィック処理ユニット(GPU)50、第2のGPU52、入出カインターフェイス回路(以下、「I/F回路」という。)54およびLCDコントローラ60が接続される。
【0046】
コネコタ46には、上述したように、メモリカード28が着脱自在に接続される。メモリカード28は、ROM28aおよびRAM28bを含み、図示は省略するが、ROM28aおよびRAM28bは、互いにバスで接続され、さらに、コネクタ46と接合されるコネクタ(図示せず)に接続される。したがって、上述したように、CPUコア42は、ROM28aおよびRAM28bにアクセスすることができるのである。また、メモリカード28には、振動子としての偏心モータ28cが設けられる。この偏心モータ28cは、ROM28aおよびRAM28bとは、別個独立に設けられ、図示は省略するが、信号線およびコネクタ46等を介してCPUコア42に接続される。ただし、偏心モータ28cに限らず、圧電素子等により構成された振動子やボイスコイル等により構成された振動子を用いることもできる。
【0047】
ROM28aは、ゲーム装置10で実行すべきゲーム(仮想ゲーム)のためのゲームプログラム、画像(キャラクタ画像、背景画像、アイテム画像、アイコン(ボタン)画像、メッセージ画像など)データおよびゲームに必要な音(音楽)のデータ(音データ)等を予め記憶する。RAM(バックアップRAM)28bは、そのゲームの途中データやゲームの結果データを記憶(セーブ)する。
【0048】
偏心モータ28cは、CPUコア42からの駆動信号(PWM信号)に従って駆動(作動)される。偏心モータ28cが作動すると、その軸の回転により、振動が発生し、その振動がゲーム装置10に伝わる。たとえば、駆動信号の周波数およびパルス幅(デューティ比)の少なくとも一方を変化させることにより、振動の強さすなわち振動の種類(振動パターン)を変化させることができる。
【0049】
RAM48は、バッファメモリないしはワーキングメモリとして使用される。つまり、CPUコア42は、メモリカード28のROM28aに記憶されたゲームプログラム、画像データおよび音データ等をRAM48にロードし、ロードしたゲームプログラムを実行する。また、CPUコア42は、ゲームの進行に応じて一時的に発生するデータ(ゲームデータやフラグデータ)をRAM48に記憶しつつゲーム処理を実行する。
【0050】
なお、ゲームプログラム、画像データおよび音データ等は、ROM28aから一度に全部、または部分的かつ順次的に読み出され、RAM48に記憶(ロード)される。
【0051】
GPU50およびGPU52は、それぞれ、描画手段の一部を形成し、たとえばシングルチップASICで構成され、CPUコア42からのグラフィックスコマンド(graphics command :作画命令)を受け、そのグラフィックスコマンドに従ってゲーム画像データを生成する。ただし、CPUコア42は、グラフィックスコマンドに加えて、ゲーム画像データの生成に必要な画像生成プログラム(ゲームプログラムに含まれる。)をGPU50およびGPU52のそれぞれに与える。
【0052】
また、GPU50には、第1のビデオRAM(以下、「VRAM」という。)56が接続され、GPU52には、第2のVRAM58が接続される。GPU50およびGPU52が作画コマンドを実行するにあたって必要なデータ(画像データ:ポリゴンやテクスチャ等のデータ)は、GPU50およびGPU52が、それぞれ、第1のVRAM56および第2のVRAM58にアクセスして取得する。ただし、CPUコア42は、描画に必要な画像データをRAM48から読み出し、GPU50およびGPU52を介して第1のVRAM56および第2のVRAM58に書き込む。GPU50はVRAM56にアクセスして描画のためのゲーム画像データを作成し、GPU52はVRAM58にアクセスして描画のためのゲーム画像データを作成する。
【0053】
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に出力する。
【0054】
なお、LCDコントローラ60は、VRAM56およびVRAM58から直接ゲーム画像データを読み出したり、GPU50およびGPU52を介してVRAM56およびVRAM58からゲーム画像データを読み出したりする。
【0055】
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から出力する。
【0056】
このような構成のゲーム装置10では、プレイヤはタッチ入力することにより、所定の基準図形(この実施例では、円、三角、四角)を描画することができ、描画した図形が所定の基準図形(以下、単に「基準図形」という。)として認識されると、認識された基準図形に対して予め設定されたキャラクタ(風船、ロケット、UFO)の画像がゲーム画面(LCD14の画面)に表示される。また、描画した図形が基準図形として認識されたとき、または、認識された基準図形に対して予め設定されたキャラクタの画像(キャラクタ画像)が表示されたとき、基準図形やキャラクタに割り当てられた種類の振動がゲーム装置10に与えられる。
【0057】
なお、この実施例では、プレイヤが描画した図形が基準図形として認識され、認識された基準図形に対して予め設定されたキャラクタ画像が表示されたときに、ゲーム装置10に振動を与えるようにしてある。つまり、プレイヤのタッチ入力によるゲーム画像(ゲーム画面)の変化に合わせて、ゲーム装置10を振動させるようにしてある。
【0058】
ただし、プレイヤが描画した図形が基準図形として認識されない場合には、いずれのキャラクタ画像もLCD14に表示されず、また、ゲーム装置10に振動が与えられることもない。
【0059】
具体的にゲーム画面の例を示して説明することにする。図3はゲーム画面の一例を示す図解図である。この図3を参照して、LCD12にはゲーム画面100が表示され、LCD14にはゲーム画面120が表示される。ただし、この実施例では、LCD12とLCD14とを合わせた1つの画面(表示器)として用いるようにしているため、ゲーム画面100とゲーム画面120とによって1つの3次元仮想空間(ゲーム空間)が表示される。
【0060】
ゲーム画面100およびゲーム画面120には、空のようなゲーム空間が表示される。ゲーム画面100では、その中央下部にプレイヤキャラクタ102が表示され、背景オブジェクトとしての複数の雲104および雲106が表示され、そして、特定のアイテムとして複数のコイン108が表示される。また、ゲーム画面100の中央上部には、プレイヤキャラクタ102がコイン108を取得することにより得られた点数(スコア)が表示される。図示は省略するが、ゲーム画面100には、他の背景オブジェクトや敵キャラクタなども表示される。なお、雲104はプレイヤのタッチ入力に従って表示されるのに対し、雲106は背景として予め表示される。
【0061】
ゲーム画面120には、複数の雲104および複数の雲106が表示されるとともに、複数のコイン108が表示される。また、ゲーム画面120には、画面左上部に表示される雲106の上に敵キャラクタ110が表示される。図示等は省略するが、ゲーム画面120には、他の背景オブジェクトや他の敵キャラクタなども表示される。
【0062】
この実施例のゲーム装置10では、ゲーム画面100およびゲーム画面120が一体となって、図面の上方にスクロールすることにより、プレイヤキャラクタ102が空中から地面に向けて落下する様子が表現される。つまり、プレイヤキャラクタ102は、プレイヤの指示によらず、下向きに移動する。また、ゲーム中では、プレイヤは、スティック24等を用いてLCD14(タッチパネル22)上を押圧等することにより、LCD14上に雲104を表示させ、プレイヤキャラクタ102を、この雲104の上を滑るように左右に移動させることができる。ただし、雲104は、タッチパネル22から入力される座標データを一定時間(1フレーム:画面更新の単位時間)毎に検出し、その座標データが示す座標(検出座標)に対応するLCD14の位置(座標位置)に表示される。プレイヤは、プレイヤキャラクタ102がコイン108を獲得できるように、スティック24等で雲104を描く。図3に示すように、たとえば、プレイヤキャラクタ102がコイン108を獲得する毎に、スコアが1加算(+1)される。
【0063】
また、ゲーム中に、上述したように、プレイヤが基準図形を描画すると、描画した図形に予め設定されているキャラクタ画像が表示される。図4に示すように、プレイヤは、スティック24を用いて、LCD14(タッチパネル22)上に円を描き、それに応じて、円の起動上に並ぶように、複数の雲104が表示される。ただし、図4に示す例では、プレイヤは円を描画している途中であり、ゲーム画面120に表示される雲104によってその様子が分かる。なお、このとき、LCD12に表示されるゲーム画面100には、プレイヤキャラクタ102が落下しながらコイン108を取得している様子が示される。
【0064】
次に、図5に示すように、プレイヤが円の描画を完了すると、つまりゲーム画面120に表示される雲104によって円が形成されると、この円に対応して予め設定されているキャラクタ(たとえば、風船)122が、描画された円に対応する位置に表示される。なお、このとき、LCD12に表示されるゲーム画面には、図4に示した場合と同様に、プレイヤキャラクタ102が落下しながらコイン108を取得している様子が示される。
【0065】
その後、図6に示すように、ゲーム画面120に表示される円状に並んだ複数の雲104は消滅する。つまり、円を形成していた複数の雲104が風船122に置き換えられる。なお、このとき、ゲーム画面100には、図4に示した場合と同様に、プレイヤキャラクタ102が落下しながらコイン108を取得する様子が示される。
【0066】
図示は省略するが、プレイヤキャラクタ102はこの風船122に捉ることにより、ゲーム空間の上方(図6の上方)に移動することができる。また、敵キャラクタ110を囲むように、円(他の図形も同じ。)を描いた場合には、風船122に敵キャラクタ110を閉じ込めて、ゲーム画面100およびゲーム画面120の外に追いやることができる。このようにして、プレイヤキャラクタ102をゲーム空間内で逆戻りさせたり、敵キャラクタ110の攻撃を回避させたりすることにより、コイン108をより多く獲得するように、プレイヤは操作(ゲームプレイ)するのである。
【0067】
なお、図示は省略するが、プレイヤが三角または四角を描画すると、これに応じて、ロケットまたはUFOが表示される。プレイヤキャラクタ102がロケットやUFOに捉ってゲーム空間を逆戻りしたり、敵キャラクタ110をゲーム画面100やゲーム画面110の外に追いやったりする点は、プレイヤが円を描いて、風船122が表示される場合と同様である。
【0068】
このように、プレイヤがスティック24等で図形を描画し、描画した図形が基準図形として認識され、基準図形に対応するキャラクタ画像を表示するとき、偏心モータ28cを作動させることにより、ゲーム装置10に振動を与える。したがって、ゲーム装置10を操作するプレイヤの指に、スティック24を介して間接的に、または、直接的に振動を与えることができる。また、認識された(描画した)図形やキャラクタ毎に、異なる種類(パターン)の振動を与えることができる。これは、上述したように、偏心モータ28cに与える駆動信号(PWM信号)の周波数およびパルス幅の少なくとも一方を変化させることにより、実現可能である。
【0069】
このように、この実施例では、プレイヤが描画した図形に対応するキャラクタ画像が表示されるとき、つまりゲーム画面上にキャラクタが出現するとき、その状態(出現状態)を知らせるべく、ゲーム装置10に振動を与えるようにしてある。ただし、上述したように、この実施例では、複数の雲104に変えて、風船122、ロケットまたはUFOのようなキャラクタ画像が表示されるため、その変化に応じてゲーム装置10に振動が与えられると言うこともできる。また、出現するキャラクタの種類(認識された図形)に応じて異なるパターンの振動を与えるので、その振動により、出現するキャラクタの種類を判別(識別)することができる。つまり、ゲーム画面や音(音楽)の演出に加えて、振動により、プレイヤは描画した図形の完成やキャラクタの出現を知ることができ、また、その振動の種類によって出現したキャラクタの種類を知ることもできる。このようにすることにより、プレイヤは新しい操作感を得ることができる。
【0070】
ただし、プレイヤが描画した図形(または線画)が基準図形として認識されない場合には、風船122、ロケットおよびUFOのようなキャラクタ画像はゲーム画面120に表示されず、また、ゲーム装置10に振動が与えられることもない。
【0071】
図7は、図2に示したRAM48のメモリマップを示す図解図である。この図7を参照して、RAM48は、ゲームプログラム記憶領域480およびデータ記憶領域482を含む。ゲームプログラム記憶領域480は、CPUコア42によって実行されるゲームプログラムを記憶し、このゲームプログラムは、ゲームメイン処理プログラム480a、ゲーム画像生成プログラム480b、ゲーム画像表示プログラム480c、ゲーム画像変化プログラム480d、タッチ入力検出プログラムe、図形認識プログラム480f、座標データリセットプログラム480gおよび振動制御プログラム480hなどによって構成される。
【0072】
ゲームメイン処理プログラム480aは、上述したようなゲームのメインルーチンを処理するためのプログラムである。ゲーム画像生成プログラム480bは、後述する画像データ482aを用いて、プレイヤキャラクタ102、敵キャラクタ(敵キャラクタ110など)、敵キャラクタ以外のノンプレイヤキャラクタ(コイン108、風船122、ロケット、UFOなど)および背景オブジェクト(空、雲104、雲106など)などのゲーム画像を生成するためのプログラムである。ゲーム画像表示プログラム480cは、ゲーム画像生成プログラム480bに従って生成されたゲーム画像、すなわち上述したようなゲーム画面100およびゲーム画面120をLCD12およびLCD14に表示するためのプログラムである。ただし、この実施例では、CPUコア42は、ゲーム画像表示プログラム480cに従って、ゲーム画面100およびゲーム画面120のスクロールも実行する。
【0073】
ゲーム画像変化プログラム480dは、プレイヤのタッチ入力により描画された図形が基準図形と認識されたときに、基準図形に対して設定されたキャラクタ(たとえば、風船122、ロケット、UFO)画像を表示するためのプログラムである。具体的には、上述したように、基準図形の形状を形成する複数の雲104を、当該図形に対応するキャラクタ画像に置き換える。つまり、ゲーム画像を変化させる。タッチ入力検出プログラム480eは、プレイヤによるタッチ入力があるか否かを一定時間(この実施例では、1フレーム)毎に検出して、後述するタッチ入力フラグ482dの成立(オン)/不成立(オフ)を制御するとともに、タッチ入力が有る場合には、当該タッチ入力による検出座標に対応する座標データをデータ記憶領域482cに時系列に従って記憶(一時記憶)するためのプログラムである。ただし、タッチ入力があるか否かは、タッチパネル22から座標データが入力されるか否かで判断される。
【0074】
図形認識プログラム480fは、プレイヤがタッチ入力により描いた図形を認識するためのプログラムである。この図形認識については、後で詳細に説明するため、ここでは詳細な説明は省略する。座標データリセットプログラム480gは、タッチ入力が有り(オン)の状態から無し(オフ)の状態に変化したとき、または、図形認識プログラム480fに従って図形の認識が終了したときに、データ記憶領域482に記憶された1または2以上の座標データをリセット(消去)するためのプログラムである。振動制御プログラム480hは、画像変化プログラム480dに従って基準図形に対応するキャラクタ画像が表示されたとき、当該キャラクタ画像に応じた種類の振動を付与するためのプログラムである。具体的には、偏心モータ28cに駆動電圧(駆動信号)を与えるためのプログラムである。
【0075】
なお、図示は省略するが、ゲームプログラム記憶領域480には、音再生プログラムやバックアッププログラムなども記憶される。音再生プログラムは、音(音楽)データを用いて、ゲームに必要な音(音楽)を再生するためのプログラムである。また、バックアッププログラムは、ゲームの進行に従って発生するデータ(ゲームの途中データや結果データ)をプレイヤの指示や所定のタイミング(イベント)に従ってメモリカード28のRAM28bに記憶(セーブ)するためのプログラムである。
【0076】
データ記憶領域482には、画像データ482a、テーブルデータ482bおよび座標データ482cなどのデータが記憶されるとともに、タッチ入力フラグ482dなどのフラグも記憶される。
【0077】
画像データ482aは、ゲーム画像(プレイヤキャラクタ、ノンプレイヤキャラクタ(敵キャラクタを含む。)、背景オブジェクト、所定のキャラクタ)を生成するためのデータ(ポリゴンデータやテクスチャデータなど)である。テーブルデータ482bは、後述するように、プレイヤが描いた図形を認識するための基準図形に対応する参照データ、当該基準図形の各々に対応して設定されるキャラクタ画像の名称およびキャラクタ画像を表示する場合にゲーム装置10に与える振動の種類を記述したテーブルについてのデータである(図8参照)。
【0078】
座標データ482cは、タッチ入力検出プログラム480eに従って検出されるとともに、記憶された1または2以上の座標データであり、2以上の座標データが存在する場合には、時系列に従って順番に記憶される。タッチ入力フラグ482dは、タッチ入力のオン/オフの状態を示すフラグであり、タッチ入力検出プログラム480eに従ってオン/オフが切り換えられる。この実施例では、タッチ入力フラグ482dは、1ビットのレジスタで構成され、タッチ入力がオンの場合には、レジスタのデータ値が「1」に設定され、タッチ入力がオフの場合には、レジスタのデータ値が「0」に設定される。
【0079】
なお、図示は省略するが、データ記憶領域482には、ゲームに必要な音を出力するための音(音楽)データやゲームの進行に伴って発生するデータ(ゲームの途中データ,結果データ)やフラグ(イベントフラグ)なども記憶される。
【0080】
図8は、テーブルデータ482bの具体的な内容を示す図解図である、この図8を参照して、テーブルデータ482bには、基準図形の各々に対応して、プレイヤが描画した図形を基準図形として認識する場合に比較するためのデータ(参照データ)、対応する基準図形に設定される(割り当てられる)キャラクタ画像(対応画像)の名称(または識別情報)およびキャラクタ画像(または基準図形)のそれぞれに設定される振動の種類(この実施例では、振動の強さ)が記述(記憶)される。
【0081】
具体的には、基準図形が「円」の場合には、図9に示すような参照データが記憶され、対応画像として「風船」が記憶され、振動の種類として「小振動」が記憶される。また、基準図形が「三角」の場合には、図10に示すような参照データ記憶され、対応図形として「ロケット」が記憶され、振動の種類として「中振動」が記憶される。さらに、基準図形が「四角」の場合には、図11に示すような参照データが記憶され、対応図形として「UFO」が記憶され、振動の種類として「大振動」が記憶される。
【0082】
なお、この実施例では、3種類の基準図形(対応画像)を用意しておき、振動の強さを3段階で変化させるようにしてあるため、説明の便宜上、振動の強さを大、中、小で表現したが、これは、3段階の振動における相対的な強さの違いである。
【0083】
図9は円の参照データの具体的な内容を示す図解図である。この図9を参照して、円の参照データは、円の参照順(図形の書き順)に従って、方向、距離およびベクトルが記述される。ここでは、円の最上点から書き始めて、左回り(半時計回り)に、一筆書きで円を描画することを前提としている。図12(A)に示すように、円を正確に判別するために、円上に8つの点(最上点を含む。)を等間隔に設けて、参照順は数字の「1」−「8」に対応する。また、参照データに含まれる方向は、参照順を示す数字が付された円上の点を終点とし、その1つ手前の参照順(ただし、参照順が「1」の場合には、その手前の参照順は「8」となる。)を示す数字が付された円上の点を始点とした場合のベクトルの方向である。具体的には、円の書き始めは図12(A)の「8」が付された点であり、左回りに(「8」,「1」,「2」,「3」,「4」,「5」,「6」,「7」,「8」の順で)円が描画される。したがって、参照順が「1」の場合には、図12(A)の「8」が付された点を始点とし、「1」が付された点を終点とした場合のベクトルの方向が記憶される。他の参照順についても同様である。ただし、図9から分かるように、方向の欄には数値が記述されている。これは、方向を簡単に表すためであり、図12(B)に示すように、ベクトルの方向を数字の「0」−「7」に対応させて、定義してある。
【0084】
また、図9に示すように、円の参照データでは、その参照順が「2」,「4」,「6」,「8」の場合には、ベクトルの向きを「下(図12(B)の方向:4(以下、同じ。))」,「右(2)」,「上(0)」,「左(6)」で示してあるが、これは、図12(B)に示すベクトルの方向に最も近似する方向に対応させるためである。
【0085】
さらに、参照データに含まれる距離は、上述した参照順に対応する各ベクトルのスカラであり、参照データにおいては、すべて単位長さ「1」に設定される。ここで、単位長さ「1」は、タッチパネル22の数dot(たとえば、3dot)に相当する長さである。また、参照データに含まれるベクトルは、同じ参照順の欄に記述される方向および距離で規定されるベクトルである。なお、このベクトルは、参照データに記憶しなくてもよい。
【0086】
詳細な説明は省略するが、図10に示す三角の参照データおよび図11に示す四角の参照データは、上述した円の参照データと同様である。ただし、三角の参照順は、図13(A)に示すように、数字の「1」−「3」で表され、四角の参照順は、図13(B)に示すように、数字の「1」−「4」で表される。つまり、三角の参照データは、三角を頂点(最上点)から書き始めて、一筆書きで左回りに三角(正三角形)を描画した場合のデータである。また、四角の参照データは、四角の左上の頂点から書き始めて、一筆書きで左回りに四角(正方形)を描画した場合のデータである。
【0087】
なお、三角の参照データおよび四角の参照データに含まれる、方向、距離およびベクトルは、円の参照データの場合と同様であるため、重複した説明は省略する。
【0088】
次に参照データとプレイヤがタッチ入力により描いた図形(描画図形)に対応するデータ(入力データ)とを比較し、描画図形を基準図形として認識する方法について説明する。
【0089】
たとえば、図14(A)に示すように、プレイヤがスティック24を用いて図形(ここでは、三角)を描画したと仮定する。プレイヤが図形を描画(閉領域)したか否かは、一定時間毎に検出される検出座標すなわち座標データを時系列に従って線で結んだ場合に、線が交わったかどうかで判断するようにしてある。ただし、ゲーム中では、図形を正確に描画することが困難であるため、多少の幅を持たせて、線が交わったか否かを判断するようにしてある。
【0090】
プレイヤがタッチ入力によって図形すなわち閉領域を描画すると、当該閉領域を形成する複数の検出座標に基づいて、一定時間(単位時間)毎に分解したタッチ入力の方向(入力方向)および距離が検出される。たとえば、図14(A)に示した閉領域を形成する単位時間毎の検出座標(座標データ)が図14(B)の白抜きの点でそれぞれ示されたと仮定すると、図15(A)に示すように、単位時間毎に分解した入力方向および距離、すなわちベクトルが表される。
【0091】
次に、単位時間毎に分解した入力方向を定義した8つの方向(図12(B)に示した方向)に対応させる。すると、図15(B)に示すように、単位時間毎の入力方向が変化される。これを、プレイヤによるタッチパネル22への入力順に従って、方向、距離およびベクトルを示すと、図16に示すような入力データが得られる。ただし、方向は図15(B)に示した各ベクトルの方向であり、図12(B)で定義した方向に対応する。また、距離は図15(B)に示した各ベクトルのスカラであり、単位長さ「1」の倍数で表される。
【0092】
ここで、図16に示す入力例のデータでは、図形の特徴が分かり難くいため、データを簡易化する。この実施例では、同じ方向が連続して現れる部分(ベクトル)を1つのベクトルにまとめるようにしてある。具体的には、図16に示す入力例の入力順1−4,入力順5−7,入力順8−10のそれぞれを、1つのベクトルにまとめることができる。つまり、図17(A)に示すように、図16に示した入力データをまとめることができる。ただし、図17(A)に示す例では、距離は、図16において、同じ方向を示すベクトルの各々の距離を加算した値である。図17(A)に示すデータに基づいて、各方向をベクトルで表すと、図17(B)のように表すことができる。
【0093】
したがって、プレイヤが描画した図形(描画図形)と基準図形とを比較し、プレイヤが描画した図形がいずれの基準図形に該当するかを認識する場合には、図17(A)に示したようなデータ(説明の便宜上、「変換後の入力データ」という。)と、上述した参照データとが比較される。この比較は、次の手順に従って行われる。(1)参照データで、距離が最も短いものの距離R求める。(2)変換後の入力データの中で、距離が最も短いものの距離rを求める。(3)x=R/rを求める。これは、基準図形と描画図形との大きさが異なる場合の比率xを算出するためである。(4)変換後の入力データの各距離をx倍し、四捨五入する。(5)(4)で距離がx倍された変換後の入力データと参照データとを比較する。ただし、入力順と参照順との各番号(数字)が同じもの同士が比較される。この実施例では、方向および距離をそれぞれ比較する。方向は参照データおよび入力データのいずれにおいても、図12(B)で定義した方向に対応させているため、一致または不一致の結果を得ることができる。また、距離は一致または不一致のみならず、不一致の場合にはその長さの違いを倍率で表すことができる。したがって、各入力順(参照順)について、方向および距離のそれぞれについて、一致および不一致(距離の場合は倍率も)を検出することにより、全体として、入力データと参照データとが一致するか或いは近似するか、または、近似していないかを知ることができる。ただし、この実施例では、3種類の参照データが記憶されるため、入力データと各参照データとの間で、上述したような比較が行われる。
【0094】
なお、入力データと参照データとが近似するかまたは近似していないかの判断は、ゲームのプログラマないし開発者が予め設定した方法または演算によって行われる。たとえば、方向および距離を比較した結果を数値化し、所定の閾値を設けて、近似するかまたは近似していないかを判別することができる。
【0095】
また、この実施例では、参照データは、所定の書き順に従って基準図形を描画した場合についてのデータであり、入力データとの間で、方向および距離すなわちベクトルを比較するようにしてあるため、プレイヤが描画する図形の書き順を基準図形と同じにする必要がある。したがって、たとえば、ゲームの本編を開始する前に、図形の書き順を練習または教示する画面を表示したり、ゲームの説明書において、図形の書き方を教示したりして、プレイヤにゲームプレイの仕方を説明する必要がある。
【0096】
入力データといずれかの参照データとが一致または近似する場合には、描画図形を当該参照データに対応する基準図形として認識する。一方、入力データがいずれの参照データにも近似しない場合には、描画図形はいずれの基準図形としても認識されない。また、描画図形がいずれかの基準図形として認識されると、上述したように、当該基準図形を形成する複数の雲104の画像に変えて、当該基準図形に対応して設定されているキャラクタ画像が表示される。また、これに応じて、ゲーム装置10に振動が与えられる。つまり、画像の変化に応じて、ゲーム装置10に振動が与えられる。ただし、描画図形がいずれの基準図形にも近似しない場合には、プレイヤがタッチ入力した軌跡上であり、単位時間毎に検出される検出座標が示す位置に対応するLCD14の位置に雲104の画像が表示されるだけであり、画像が置き換えられることはなく、また、ゲーム装置10に振動が与えられることもない。
【0097】
具体的には、図2に示したCPUコア42は図18に示すゲーム処理を実行する。図18を参照して、CPUコア42はゲーム処理を開始すると、ステップS1で、タッチ入力を検出する。つまり、タッチパネル22から入力される座標データを検出する。続くステップS3では、タッチ入力が有るかどうかを判断する。ステップS3で“NO”であれば、つまりタッチ入力が無ければ、ステップS5で、座標データ482cをリセットして、ステップS1に戻る。図示は省略するが、このとき、CPUコア42は、タッチ入力フラグ482dをオフする。
【0098】
一方、ステップS3で“YES”であれば、つまりタッチ入力が有れば、ステップS7で、タッチ入力位置に図形を描画する。つまり、ステップS7では、タッチパネル22から入力された座標データが示す座標に対応するLCD14の座標を中心に、上述したような雲104を表示する。したがって、プレイヤがタッチ入力する軌跡に従って雲104が表示されるのである。この実施例では、ゲームの演出上、タッチ入力の軌跡に従って雲104を表示するようにしてあるが、単なる線画を表示するようにしてもよい。また、図示は省略するが、このとき、CPUコア42は、タッチ入力フラグ482dをオンする。
【0099】
続くステップS9では、タッチ入力位置を座標点群として記録する。つまり、タッチパネル22から入力された座標データを時系列に従ってデータ記憶領域482に一時記憶する。次に、ステップS11で、座標点群で表される線が交わったかどうかを判断する。ここでは、上述したように、プレイヤのタッチ入力による軌跡が閉領域となったかどうかを判断する。ステップS11で“NO”であれば、つまり座標点群で表される線が交わっていなければ、そのままステップS1に戻る。一方、ステップS11で“YES”であれば、つまり座標点群で表される線が交わっていれば、ステップS13で、後述する図形認識・振動処理(図19および図20参照)を実行して、ステップS15に進む。
【0100】
ステップS15では、ゲーム終了かどうかを判断する。ここでは、プレイヤによってゲーム終了の指示が与えられたり、ゲームオーバになったりしたかどうかを判断する。ステップS15で“NO”であれば、つまりゲーム終了でなければ、そのままステップS1に戻る。しかし、ステップS15で“YES”であれば、つまりゲーム終了であれば、ゲーム処理を終了する。
【0101】
なお、図18に示すゲーム処理のフロー図のスキャンタイムは一定時間(たとえば、1フレーム)であり、したがって、タッチ入力の検出処理(S1)は、1フレーム毎に実行される。
【0102】
図19を参照して、CPUコア42が図形認識・振動処理(S13)を開始すると、ステップS21で、描画された図形(閉領域)を形成する座標点群によるベクトルと、基準図形を形成するベクトルとを比較して図形を認識する。この実施例では、プレイヤが描画した図形が円、三角、四角のいずれかに該当するかどうかを認識する。図形の認識方法については、上述したとおりである。
【0103】
続くステップS23では、認識された図形が円かどうかを判断する。ステップS23で“NO”であれば、つまり認識された図形が円でなければ、図20に示すステップS31に進む。一方、ステップS23で“YES”であれば、つまり認識された図形が円であれば、ステップS25で、描画した図形を風船122の画像に置き換えて表示する。つまり、円を形成する複数の雲104の画像を、円に設定された風船122の画像に置き換える。次にステップS27では、ゲーム装置に小振動を与える。具体的には、CPUコア42は、ゲーム装置10に比較的小さい(弱い)振動を与えるように、偏心モータ28cの駆動信号を出力する。したがって、偏心モータ28cが作動し、ゲーム装置10に比較的小さい振動が与えられる。そして、ステップS29で、座標点群をリセットし、つまり座標データ482cをクリアし、図20に示すように、図形認識・振動処理をリターンする。
【0104】
上述したように、ステップS23で“NO”であれば、図20に示すステップS31で、認識した図形が三角であるかどうかを判断する。ステップS31で“NO”であれば、つまり認識した図形が三角でなければ、ステップS39に進む。一方、ステップS31で“YES”であれば、つまり認識した図形が三角であれば、ステップS33で、描画した図形をロケットの画像に置き換えて表示する。つまり、三角を形成する複数の雲104の画像に変えて、ロケットの画像を表示する。続くステップS35では、ゲーム装置10に中振動を与える。具体的には、CPUコア42は、ゲーム装置10に中くらいの強さの振動を与えるように、偏心モータ28cの駆動信号を出力する。したがって、偏心モータ28cが作動し、ゲーム装置10に中くらいの強さの振動が与えられる。そして、ステップS37で、座標点群すなわち座標データ482cをリセットして、図形認識・振動処理をリターンする。
【0105】
また、ステップS39では、認識した図形が四角であるかどうかを判断する。ステップS39で“NO”であれば、つまり認識した図形が円、三角、四角(基準図形)のいずれにも該当しない場合には、そのままステップS45に進む。しかし、ステップS39で“YES”であれば、つまり認識した図形が四角であれば、ステップS41で、描画した図形をUFOの画像に置き換えて表示する。つまり、四角を形成する複数の雲104の画像に変えて、UFOの画像を表示する。次にステップS43では、ゲーム装置10に大振動を与える。具体的には、CPUコア42は、ゲーム装置10に比較的大きい(強い)振動を与えるように、偏心モータ28cの駆動信号を出力する。したがって、偏心モータ28cが作動し、ゲーム装置10に比較的強い振動が与えられる。そして、ステップS45で、座標点群すなわち座標データ482cをリセットして、図形認識・振動処理をリターンする。
【0106】
この実施例によれば、プレイヤが描画した図形をゲーム画像に置き換えるとき、ゲーム装置を振動させ、プレイヤにその画像の変化を報知するので、プレイヤはゲーム画面やゲーム音の演出に加えて、振動により、画像の変化を知ることができる。つまり、プレイヤは新しい操作感を得ることができる。
【0107】
なお、上述の実施例では、プレイヤが描画した図形のベクトルと基準図形のベクトルとを比較することにより、当該描画した図形(座標点群)が基準図形であるかどうかを判断するようにしてあるが、ベクトルの比較によらず、図形を認識することもできる。たとえば、画像による認識方法では、基準図形を拡大又は縮小して、プレイヤが描画した図形と1ドットずつ比較することにより、当該描画した図形(座標点群)が基準図形であるかどうかを判断することができる。また、プレイヤが描画した図形の辺の数や頂点の数を、基準図形の辺の数や頂点の数と比較することにより、当該描画した図形(座標点群)が基準図形であるかどうかを判断することもできる。この場合には、特開平4−105185号に開示される技術を適用することができる。
【0108】
また、上述の実施例では、画像を置き換えるようにしたが、単位時間毎に検出される検出座標が示す位置に対応するLCDの位置には何ら画像を表示せずに、プレイヤがタッチ入力した軌跡に基づいて図形を認識したときに、所定のキャラクタ画像を表示して、これに従ってゲーム装置を振動させるようにしてもよい。この場合には、所定のキャラクタ画像が表示(出現)されたことを振動で知らせることができる。また、振動の種類によって、出現したキャラクタの種類を知らせることも可能である。
【0109】
さらに、上述の実施例では、プレイヤがタッチ入力により描画した図形が基準図形として認識され、認識された基準図形に対して予め設定されたキャラクタ画像が表示されたときに、ゲーム装置に振動を与えるようにしたが、上述したように、プレイヤがタッチ入力により描画した図形が基準図形として認識されたときに、ゲーム装置に振動を与えることもできる。かかる場合には、図19および図20に示したフロー図において、ステップS25とS27とを入替え、ステップS33とS35とを入替え、そして、ステップS41とS43とを入れ替えるようにすればよい。
【0110】
さらにまた、上述の実施例では、2画面(LCD12および14)を設けたゲーム装置について説明したが、タッチパネルを備えていれば、1画面のゲーム装置にも適用できることは言うまでもない。
【0111】
また、上述の実施例では、ゲームカートリッジに偏心モータ(振動子)を内蔵するようにしたが、ハウジング16のいずれかの位置に内蔵するようにしてもよい。ただし、振動はスティックを介して間接的に、または、直接プレイヤの指(手)に伝えられればよいため、少なくともタッチ入力する画面(LCD14およびタッチパネル22の少なくとも一方)が振動すればよい。かかる場合には、従来技術に示した特開平11−85400号に開示される構成を採用することができる。具体的には、振動素子によって振動を付与される状態で、LCD14をハウジング16bに支持(設置)するようにすればよい。このように、ゲーム装置10内部に振動子を設けるようにすることもできる。
【0112】
さらに、上述の実施例では、振動子として偏心モータを設けるようにしたため、駆動信号(PWM信号)の周波数およびパルス幅の少なくとも一方を変化させることにより、振動の強さを変化させるようにしたが、ボイスコイルを用いた振動子を設ける場合には、周波数およびパルス幅のみならず、波高値(振幅)を変化させることにより、振動の強さを変化させることができる。
【図面の簡単な説明】
【0113】
【図1】図1はこの発明のゲーム装置の一例を示す図解図である。
【図2】図2は図1に示すゲーム装置の電気的な構成を示すブロック図である。
【図3】図3は図1に示すゲーム装置に設けられるLCDに表示されるゲーム画面の一例を示す図解図である。
【図4】図4は図1に示すゲーム装置に設けられるLCDに表示されるゲーム画面の他の例を示す図解図である。
【図5】図5は図1に示すゲーム装置に設けられるLCDに表示されるゲーム画面のその他の例を示す図解図である。
【図6】図6は図1に示すゲーム装置に設けられるLCDに表示されるゲーム画面のさらに他の例を示す図解図である。
【図7】図7は図2に示すゲーム装置に内蔵されるRAMのメモリマップを示す図解図である。
【図8】図8は図7に示すテーブルデータの具体的な内容を示す図解図である。
【図9】図9は図8に示すテーブルデータに含まれる円の参照データの具体的な内容を示す図解図である。
【図10】図10は図8に示すテーブルデータに含まれる三角の参照データの具体的な内容を示す図解図である。
【図11】図11は図8に示すテーブルデータに含まれる四角の参照データの具体的な内容を示す図解図である。
【図12】図12(A)は円の参照データにおける参照順を説明するための図解図であり、図12(B)は参照データや入力データに含まれる方向を数値で表すために定義した方向を示す図解図である。
【図13】図13(A)は三角の参照順を説明するための図解図であり、図13(B)は四角の参照順を説明するための図解図である。
【図14】図14(A)はタッチパネルに描かれた軌跡の例を示す図解であり、図14(B)は図14(A)に示す軌跡上に存在する単位時間毎の検出座標の例を示す図解図である。
【図15】図15(A)は図14(A)に示した軌跡を単位時間毎に分解した入力方向と距離とを示す図解図であり、図15(B)は図15(A)に示す入力方向および距離で決定されるベクトルの方向を図12(B)で定義した方向に対応させた図解図である。
【図16】図16は図15(B)に示す単位時間毎の入力方向と距離とを入力順に従って記述した入力データの具体的な内容を示す図解図である。
【図17】図17(A)は図16に示した入力データを簡略したデータの具体的な内容を示す図解図であり、図17(B)は図17(A)に示すデータをイメージ化した図解図である。
【図18】図18は図2に示すCPUコアのゲーム処理を示すフロー図である。
【図19】図19は図2に示すCPUコアの図形認識・振動処理の一部を示すフロー図である。
【図20】図20は図19に示すフロー図に後続する図形認識・振動処理の他の一部を示すフロー図である。
【符号の説明】
【0114】
10 …ゲーム装置
12,14 …LCD
16,16a,16b …ハウジング
20 …操作スイッチ
22 …タッチパネル
24 …スティック
28 …メモリカード
28a …ROM
28b,48 …RAM
28c …偏心モータ
40 …電子回路基板
42 CPUコア
50,52 …GPU
54 …I/F回路
56,58 …VRAM
60 …LCDコントローラ

【特許請求の範囲】
【請求項1】
ゲーム画面を表示するための表示器と、当該表示器に関連して設けられるタッチパネルと、少なくとも当該表示器の画面を振動させるための振動器とを備えるゲーム装置であって、
前記タッチパネルへのタッチ入力の有無を一定時間毎に検出するタッチ入力検出手段、
前記タッチ入力検出手段によって検出されたタッチ入力に応じて入力される座標データを記憶する座標データ記憶手段、
前記タッチ入力が有りの状態が連続するとき、前記座標データ記憶手段によって記憶される複数の座標データが示す座標点群が基準図形であるかどうかを認識する認識手段、および
前記認識手段によって前記座標点群が前記基準図形として認識されたとき、前記振動器を振動させる振動制御手段を備える、ゲーム装置。
【請求項2】
少なくとも1つの前記基準図形に対応する第1ベクトルを記憶するベクトル記憶手段をさらに備え、
前記認識手段は、前記第1ベクトルと、前記座標データ記憶手段によって記憶される複数の座標データが示す各座標点を時系列に従って並べた座標点群により形成される第2ベクトルとを比較し、当該第1ベクトルと当該第2ベクトルとが少なくとも近似するとき、当該座標点群を当該基準図形として認識する、請求項1記載のゲーム装置。
【請求項3】
前記ベクトル記憶手段は、複数の基準図形の各々に対応する複数の第1ベクトルを記憶し、
前記認識手段は、前記複数の第1ベクトルのそれぞれと前記第2ベクトルとを比較し、前記座標点群を前記第2ベクトルが近似する1の前記第1ベクトルに対応する前記基準図形として認識し、
前記振動制御手段は、前記認識手段によって認識された基準図形に設定された種類の振動で前記振動器を振動させる、請求項2記載のゲーム装置。
【請求項4】
前記振動制御手段は、前記座標点群が前記基準図形として認識されないとき、前記振動器を振動させない、請求項1ないし3のいずれかに記載のゲーム装置。
【請求項5】
前記基準図形に対して設定される第1キャラクタ画像を記憶するキャラクタ画像記憶手段、および
前記認識手段によって前記座標点群が前記基準図形として認識されたとき、当該座標点群に対応する前記表示器の位置に、当該基準図形に対して設定される第1キャラクタ画像を表示する第1キャラクタ画像表示手段をさらに備える、請求項1ないし4のいずれかに記載のゲーム装置。
【請求項6】
前記タッチ入力検出手段によって検出された座標データが示す座標点に対応する前記表示器の位置に第2キャラクタ画像を表示する第2キャラクタ画像表示手段をさらに備える、請求項1ないし5のいずれかに記載のゲーム装置。
【請求項7】
ゲーム画面を表示するための表示器と、当該表示器に関連して設けられるタッチパネルと、少なくとも当該表示器の画面を振動させるための振動器とを備えるゲーム装置のゲームプログラムであって、
前記ゲーム装置のプロセサに、
前記タッチパネルへのタッチ入力の有無を一定時間毎に検出するタッチ入力検出ステップ、
前記タッチ入力検出ステップによって検出されたタッチ入力に応じて入力される座標データを記憶する座標データ記憶ステップ、
前記タッチ入力が有りの状態が連続するとき、前記座標データ記憶ステップによって記憶される複数の座標データが示す座標点群が基準図形であるかどうかを認識する認識ステップ、および
前記認識ステップによって前記座標点群が前記基準図形として認識されたとき、前記振動器を振動させる振動制御ステップを実行させる、ゲームプログラム。
【請求項8】
前記ゲーム装置は、少なくとも1つの前記基準図形に対応する第1ベクトルを記憶するベクトル記憶手段をさらに備え、
前記認識ステップは、前記第1ベクトルと、前記座標データ記憶ステップによって記憶される複数の座標データが示す各座標点を時系列に従って並べた座標点群により形成される第2ベクトルとを比較し、当該第1ベクトルと当該第2ベクトルとが少なくとも近似するとき、当該座標点群を当該基準図形として認識する、請求項7記載のゲームプログラム。
【請求項9】
前記ベクトル記憶手段は、複数の基準図形の各々に対応する複数の第1ベクトルを記憶し、
前記認識ステップは、前記複数の第1ベクトルのそれぞれと前記第2ベクトルとを比較し、前記座標点群を前記第2ベクトルが近似する1の前記第1ベクトルに対応する前記基準図形として認識し、
前記振動制御ステップは、前記認識ステップによって認識された基準図形に設定された種類の振動で前記振動器を振動させる、請求項8記載のゲームプログラム。
【請求項10】
前記振動制御ステップは、前記座標点群が前記基準図形として認識されないとき、前記振動器を振動させない、請求項7ないし9のいずれかに記載のゲームプログラム。
【請求項11】
前記ゲーム装置は、前記基準図形に対して設定される第1キャラクタ画像を記憶するキャラクタ画像記憶手段をさらに備え、
前記認識ステップによって前記座標点群が前記基準図形として認識されたとき、当該座標点群に対応する前記表示器の位置に、当該基準図形に対して設定される第1キャラクタ画像を表示する第1キャラクタ画像表示ステップをさらに実行させる、請求項7ないし10のいずれかに記載のゲームプログラム。
【請求項12】
前記タッチ入力検出ステップによって検出された座標データが示す座標点に対応する前記表示器の位置に第2キャラクタ画像を表示する第2キャラクタ画像表示ステップをさらに実行させる、請求項7ないし11のいずれかに記載のゲームプログラム。

【図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

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate


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