説明

ゲームプログラム

【課題】 各参照図形についての入力の難しさを、図形の形状に拘わらず自由に設定することが可能なゲームプログラムを提供する。
【解決手段】 本発明は、入力面上においてプレイヤが指定した位置を検出する入力装置を備えるゲーム装置のコンピュータに実行させるためのゲームプログラムである。ゲーム装置は、入力装置によって検出された位置から、入力面上に描かれた入力図形を算出する。さらに、予め記憶されている形状データにより示される各参照図形の形状と入力図形の形状との類似度を算出する。また、参照図形毎に基準値を設定する。ゲーム装置は、類似度と当該類似度に関する参照図形に設定された基準値とを用いて複数の参照図形のそれぞれについて所定の演算を行った結果に基づいて、入力図形の形状を複数の参照図形から特定する。特定された形状に応じたゲーム処理が行われる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ゲームプログラムに関し、より特定的には、プレイヤによって入力された軌跡の形状に応じたゲーム処理を行うゲームプログラムに関する。
【背景技術】
【0002】
従来、入力装置としてタッチパネルを用いた情報処理装置が考えられており、ゲーム装置においても、例えばタッチパネル等を用いて描かれる軌跡をゲーム操作として用いることが考えられる。すなわち、ゲーム装置において、プレイヤによって描かれた入力軌跡の形状に応じたゲーム処理を行うのである。例えばロールプレイングゲームの場合、プレイヤキャラクタに所望の魔法を使わせたいとき、当該魔法のコマンドをプレイヤに選択させる代わりにプレイヤに軌跡を入力させることが考えられる。例えばプレイヤキャラクタによる敵キャラクタの攻撃に関するゲーム処理を行う場合、ゲーム装置は、プレイヤの入力軌跡の形状を識別し、入力軌跡の形状に応じた魔法でプレイヤキャラクタが敵への攻撃を行うゲーム処理を行う。
【0003】
上記において、ゲーム装置は、予め用意された図形(参照図形)のうちで入力軌跡がどの図形であるかを特定し、特定された図形に対応付けられるゲーム処理を行う。ここで、入力軌跡の図形を特定する方法としては、各参照図形と入力軌跡とのパターンマッチングを行い、類似度を算出する方法がある(例えば、特許文献1参照)。この方法では、ゲーム装置は、各参照図形について参照図形の形状と入力軌跡の形状との類似度を算出し、入力軌跡に最も近い(マッチする)参照図形を類似度に基づいて特定する。特定された参照図形を、プレイヤが入力した図形、すなわち、入力軌跡により示される図形であると判断する。
【特許文献1】特開平10−154224号公報(段落0046等)
【発明の開示】
【発明が解決しようとする課題】
【0004】
上記のゲーム装置においては、プレイヤは、所望のゲーム処理が行う目的で、当該ゲーム処理に対応する参照図形の形状を描くように入力を行う。ここで、各参照図形の描きやすさは、各参照図形の形状によって異なるものである。つまり、各参照図形の中には、入力が難しい形状の図形もあれば容易な形状の図形もある。これに対して、類似度は全ての参照図形について同じ方法で算出されるので、実際には、類似度が比較的高く算出されやすい図形や、逆に、類似度が比較的低く算出されやすい図形が生じる。したがって、プレイヤがゲームをプレイする際、複数の参照図形の中には、ゲーム装置によって認識されにくい図形、すなわち、その参照図形を描く入力がなかなか成功しない図形が存在するおそれがある。このように入力がなかなか成功しない図形があると、プレイヤは、ゲームの操作性が悪いと感じ、そのゲームに対する興味を失ってしまう。
【0005】
一方、ゲームの内容や進行状況に応じて入力の難しさを変化させることをゲーム製作者が望む場合も考えられる。すなわち、特定の参照図形について入力を特に難しくしたり、逆に易しくしたりする場合が考えられる。しかし、従来の方法では、参照図形の入力の難しさは参照図形の形状そのものに起因し、入力の難しさをゲーム製作者が自由に設定することができなかった。そのため、ゲーム製作者は、プレイヤに入力させるべき参照図形を用意する際、参照図形の形状(入力の難しさ)を考慮した上で参照図形を用意しなければならず、ゲーム制作の自由度が制限されることとなっていた。
【0006】
それ故、本発明の目的は、各参照図形についての入力の難しさを、図形の形状に拘わらず自由に設定することが可能なゲームプログラムを提供することである。
【課題を解決するための手段】
【0007】
本発明は、上記の課題を解決するために、以下の構成を採用した。なお、本欄における括弧内の参照符号および補足説明等は、本発明の理解を助けるために後述する実施形態との対応関係を示したものであって、本発明を何ら限定するものではない。
第1の発明は、入力面上においてプレイヤが指定した位置を検出する入力装置(タッチパネル15等)を備えるゲーム装置(10)のコンピュータ(CPUコア21等)に実行させるためのゲームプログラムである。ゲーム装置の記憶装置(RAM24)には、参照図形の形状を表す形状データ(参照図形テーブル)が複数の参照図形について記憶されている。ゲームプログラムは、図形算出手段(S28を実行するCPUコア21等。以下、単にステップ番号のみを示す。)と、類似度算出手段(S81)と、基準値設定手段(S11およびS16)と、特定手段(S85)と、ゲーム処理手段(S5)としてコンピュータを機能させる。図形算出手段は、入力装置によって検出された位置から、入力面上に描かれた入力図形を算出する。類似度算出手段は、記憶装置に記憶されている形状データにより示される各参照図形の形状と入力図形の形状との類似度(差分面積)を算出する。基準値設定手段は、参照図形毎に基準値を設定する。特定手段は、類似度と当該類似度に関する参照図形に設定された基準値とを用いて複数の参照図形のそれぞれについて所定の演算(基準値から差分面積を減算)を行った結果に基づいて、入力図形の形状を複数の参照図形から特定する。ゲーム処理手段は、特定手段によって特定された形状に応じたゲーム処理(魔法ダメージ処理)を行う。
【0008】
また、第2の発明においては、図形算出手段は、所定の制限時間内に検出された位置から1以上の入力図形を算出してもよい。このとき、類似度算出手段は、1以上の入力図形毎に、当該入力図形と複数の参照図形との類似度を算出する。特定手段は、類似度および基準値を用いることによって、1以上の入力図形の形状をそれぞれ複数の参照図形から特定する。ゲーム処理手段は、1以上の入力図形の形状に応じたゲーム処理を行う。
【0009】
また、第3の発明においては、基準値設定手段は、複数の参照図形毎に設定すべき各基準値を、入力図形が入力された順番に応じて異なる値に設定するようにしてもよい。
【0010】
また、第4の発明においては、基準値設定手段は、複数の参照図形毎に設定すべき各基準値を、入力図形の入力が開始されてから所定の制限時間が経過するまでの残り時間に応じて異なる値に設定するようにしてもよい。
【0011】
また、第5の発明においては、ゲームプログラムは、所定の参照図形についての基準値の入力を受け付ける入力受付手段としてさらにコンピュータを機能させてもよい。このとき、基準値設定手段は、入力受付手段によって受け付けられた基準値を所定の参照図形の基準値として設定する。
【0012】
また、第6の発明においては、ゲーム処理手段は、入力図形の形状、および、当該入力図形に設定された基準値の大きさに応じて異なるゲーム処理を行ってもよい。
【0013】
また、第7の発明においては、ゲームプログラムは、類似度算出手段によって算出された参照図形の類似度に関する履歴(履歴データ59)をゲーム装置に記憶させる履歴記憶制御手段としてコンピュータをさらに機能させてもよい。このとき、基準値設定手段は、参照図形について設定すべき基準値を、履歴記憶手段に記憶されている当該参照図形の類似度に関する履歴に応じて変化させる。
【0014】
また、第8の発明においては、図形算出手段は、検出手段(S22)と、座標点選出手段(S27)と、長さ算出手段(S55)と、角度算出手段(S53およびS54)とを含んでいてもよい。検出手段は、入力面上に描かれる軌跡を座標点として時系列で検出する。座標点選出手段は、検出された各座標点を時系列で並べた座標点群から、軌跡を表すための座標点を選出する。長さ算出手段は、選出された各座標点を時系列順に結んだ各線分の長さを算出する。角度算出手段は、線分と予め決められた基準直線とがなす絶対角度、または、線分とそれに隣接する線分とがなす相対角度を各線分毎に算出する。このとき、入力図形は、長さ算出手段によって算出された各線分の長さと、角度算出手段によって算出された絶対角度または相対角度とによって表現される。類似度算出手段は、選出された各座標点のうちの始点または終点から各座標点までの線分上に沿った距離(線上距離)を第1軸とし選出された座標点を基点とする線分の角度を第2軸とする直交座標系の軌跡グラフと、予め用意されている複数種類の参照図形のそれぞれを当該直行座標系において表した参照図形グラフとを比較することにより、当該軌跡グラフと当該参照図形グラフとの類似度を算出する。
【0015】
また、本発明は、上記ゲームプログラムを実行するゲーム装置の形態で提供されてもよい。
【発明の効果】
【0016】
第1の発明によれば、類似度がそのまま用いられて参照図形が特定されるのではなく、参照図形毎に設定された基準値と類似度とを用いて所定の演算が行われ、その演算結果を用いて参照図形が特定される。したがって、基準値を自由に設定することによって、特定される参照図形を変化させることができる。また、基準値を調整することで、参照図形についての入力の難しさを調整することができる。つまり、本発明によれば、各参照図形についての入力の難しさを、図形の形状に拘わらず自由に設定することができる。
【0017】
第2の発明によれば、複数の入力図形をプレイヤに入力させ、複数の入力図形の組み合わせによって異なるゲーム処理が行われる。プレイヤは、単に1つの入力図形を描くだけではなく、複数の入力図形からなる図形列によってゲーム操作を行うことができる。したがって、プレイヤは、より多様なゲーム操作を行うことができるので、ゲームの興趣性が増す。
【0018】
第3の発明によれば、入力された順番によって異なる基準値が設定される。ここで、プレイヤによる入力には制限時間が設けられているので、プレイヤが入力した図形の数が増えるに従って残り時間が少なくなっていく。したがって、入力された順番によって異なる基準値を設定することによって、残り時間に応じて入力の難しさを変化させることができる。これによって、例えば、残り時間が少なくなったために焦って入力を行うプレイヤのために入力を易しくしたり、逆に、ゲームの難易度を上げる目的で残り時間が少なくなるほど入力を難しくすることができ、ゲームをより興趣性の高いものにすることができる。
【0019】
第4の発明によれば、第3の発明と同様、残り時間に応じて入力の難しさを変化させることができ、ゲームをより興趣性の高いものにすることができる。
【0020】
第5の発明によれば、基準値をプレイヤに設定させることで、個々のプレイヤにあった基準値を設定することができる。
【0021】
第6の発明によれば、基準値の大きさに応じて異なるゲーム処理が行われるので、プレイヤが同じ図形を入力したとしても基準値の大きさに応じて異なるゲーム展開となる。例えば、入力を難しくする代わりに魔法の威力を強力にしたり、逆に、入力を易しくする代わりに魔法の威力を弱くしたりすることができる。したがって、入力の難しさに応じて異なるゲーム処理を行うことによって、ゲームの戦略性を向上することができ、ゲームの難易度のバランスを保つことができる。
【0022】
第7の発明によれば、参照図形の類似度の履歴に応じて当該参照図形に基準値を設定することによって、プレイヤの操作スキルを入力の難しさに反映することができる。例えば、ある参照図形について、プレイヤの入力図形の類似度が低ければ、当該参照図形の基準値を調整することによって、当該参照図形に関する入力の難しさを調整することができる。
【0023】
第8の発明によれば、入力図形と参照図形との類似度は、それぞれの図形を示すグラフ(軌跡グラフおよび参照図形グラフ)の類似度によって判断される。すなわち、類似度の判断は、各線分の角度や、始点または終点から頂点までの距離といった要素が総合的に考慮されて行われる。つまり、本発明によれば、図形の特徴を表す複数の要素が総合的に考慮される。したがって、識別する対象となる図形が複雑な形状であることが原因で、ある1つの要素が正しく抽出されていない場合でも、図形を正確に識別することができる。複雑な形状について図形認識を行う場合には特に頂点数を正確に抽出することが難しいが、本発明によれば、頂点を間引く処理において頂点数を正確に抽出することができない場合でも、図形の形状を正しく識別することができる。
【発明を実施するための最良の形態】
【0024】
以下、本発明の一実施形態に係るゲームプログラムおよびゲーム装置について説明する。まず、ゲームプログラムを実行するゲーム装置の一例である携帯型のゲーム装置の構成について説明する。図1は、ゲーム装置の外観図である。図1において、ゲーム装置10は、第1のLCD(Liquid Crystal Display:液晶表示装置)11および第2のLCD12を含む。ハウジング13は上側ハウジング13aと下側ハウジング13bとによって構成されており、第1のLCD11は上側ハウジング13aに収納され、第2のLCD12は下側ハウジング13bに収納される。第1のLCD11および第2のLCD12の解像度はいずれも256dot×192dotである。なお、第1の実施形態では表示装置としてLCDを用いているが、例えばEL(Electro Luminescence:電界発光)を利用した表示装置など、他の任意の表示装置を利用することができる。また任意の解像度のものを利用することができる。
【0025】
上側ハウジング13aには、後述する1対のスピーカ(図2の30)からの音を外部に放出するための音抜き孔18aおよび18bが形成されている。
【0026】
下側ハウジング13bには、入力装置として、十字スイッチ14a、スタートスイッチ14b、セレクトスイッチ14c、Aボタン14d、Bボタン14e、Xボタン14f、Yボタン14g、Lボタン14LおよびRボタン14Rが設けられている。また、さらなる入力装置として、第2のLCD12の画面上にタッチパネル15(図1に示す2点鎖線)が装着されている。また、下側ハウジング13bには、電源スイッチ19や、メモリカード17やスティック16を収納するための挿入口(図1に示す一点鎖線)も設けられている。
【0027】
タッチパネル15としては、例えば抵抗膜方式や光学式(赤外線方式)や静電容量結合式など、任意の方式のものを利用することができる。タッチパネル15は、その表面をスティック16で触れると、その接触位置に対応する座標データを出力する機能を有している。なお、以下ではプレイヤがタッチパネル15をスティック16で操作するものとして説明を行うが、スティック16の代わりにペン(スタイラスペン)や指でタッチパネル15を操作することももちろん可能である。第1の実施形態では、タッチパネル15として、第2のLCD12の解像度と同じく256dot×192dotの解像度(検出精度)のものを利用する。ただし、必ずしもタッチパネル15の解像度と第2のLCD12の解像度が一致している必要はない。
【0028】
メモリカード17はゲームプログラムを記録した記録媒体であり、下部ハウジング13bに設けられた挿入口に着脱自在に装着される。
【0029】
次に、図2を参照してゲーム装置10の内部構成を説明する。図2において、ハウジング13に収納される電子回路基板20には、CPUコア21が実装される。CPUコア21には、バス22を介して、コネクタ23が接続されるとともに、入出力インターフェース回路(図面ではI/F回路と記す)25、第1GPU(Graphics Processing Unit)26、第2GPU27、RAM24およびLCDコントローラ31が接続される。コネクタ23には、メモリカード17が着脱自在に接続される。メモリカード17は、ゲームプログラムを記憶するROM171と、バックアップデータを書き換え可能に記憶するRAM172を搭載する。メモリカード17のROM171に記憶されたゲームプログラムはRAM24にロードされ、RAM24にロードされたゲームプログラムがCPUコア21によって実行される。RAM24には、ゲームプログラムの他にも、CPUコア21がゲームプログラムを実行して得られる一時的なデータや、ゲーム画像を生成するためのデータが記憶される。I/F回路25には、タッチパネル15と、スピーカ30と、図1の十字スイッチ14aやAボタン14d等からなる操作スイッチ部14とが接続される。スピーカ30は、音抜き孔18aおよび18bの内側に配置される。
【0030】
第1GPU26には、第1VRAM(Video RAM)28が接続され、第2GPU27には、第2VRAM29が接続される。第1GPU26は、CPUコア21からの指示に応じて、RAM24に記憶されているゲーム画像を生成するためのデータに基づいて第1のゲーム画像を生成し、第1VRAM28に描画する。第2GPU27は、同様にCPUコア21からの指示に応じて第2のゲーム画像を生成し、第2VRAM29に描画する。第1VRAM28および第2VRAM29はLCDコントローラ31に接続されている。
【0031】
LCDコントローラ31はレジスタ32を含む。レジスタ32はCPUコア21からの指示に応じて0または1の値を記憶する。LCDコントローラ31は、レジスタ32の値が0の場合は、第1VRAM28に描画された第1のゲーム画像を第1のLCD11に出力し、第2VRAM29に描画された第2のゲーム画像を第2のLCD12に出力する。また、レジスタ32の値が1の場合は、第1VRAM28に描画された第1のゲーム画像を第2のLCD12に出力し、第2VRAM29に描画された第2のゲーム画像を第1のLCD11に出力する。
【0032】
なお、上記のようなゲーム装置10の構成は単なる一例に過ぎず、本発明は、少なくとも1つの表示装置を有する任意のコンピュータシステムに適用することができる。また、本発明のゲームプログラムは、メモリカード17などの外部記憶媒体を通じてコンピュータシステムに供給されるだけでなく、有線または無線の通信回線を通じてコンピュータシステムに供給されてもよいし、さらにはコンピュータシステム内部の不揮発性記憶装置に予め記録されていてもよい。
【0033】
以下、ゲーム装置10においてゲームプログラムを実行することによって行われるゲームの概要について図3〜図6を用いて説明する。図3〜図6は、ゲーム装置10の第1のLCD11に表示されるゲーム画面の例を示す図である。本ゲームは、タッチパネル15を用いた入力によってゲーム操作を行うゲームである。具体的には、本ゲームは、プレイヤキャラクタが魔法を使って敵キャラクタを攻撃するゲーム(例えばロールプレイングゲーム)である。プレイヤキャラクタと敵キャラクタとの戦闘シーンにおいて、プレイヤは、タッチパネル15上に所定の参照図形を描くことによって、プレイヤキャラクタが使う魔法の種類を指示することができる。プレイヤが入力すべき参照図形はゲーム装置10において予め複数用意されており、プレイヤは、いずれかの参照図形の形状を描くようにタッチ入力(タッチパネル15に対する入力)を行う。また、本ゲームでは、プレイヤは、魔法の種類を指示する1回の操作(魔法指示操作)において1以上の図形を入力することが可能であり、プレイヤが入力した1以上の図形の組み合わせによって魔法が決定されるものとする。
【0034】
図3は、戦闘シーンの開始時におけるゲーム画面を示す図である。本ゲームにおいては通常シーンおよび戦闘シーンがあり、通常シーンにおいて所定の条件が満たされることによってプレイヤキャラクタが敵キャラクタに遭遇すると戦闘シーンが開始される。戦闘シーンが開始されると、まず、図3に示すゲーム画像が第1のLCD11に表示される。このとき、図示しない第2のLCD12には、プレイヤキャラクタまたは敵キャラクタの画像が表示されてもよいし、何も表示されなくてもよい。また、第1のLCD11には、図3に示す画像に加えてプレイヤキャラクタまたは敵キャラクタの画像が表示されてもよい。なお、通常シーンは本発明とは無関係であるので説明を省略する。
【0035】
図3に示すように、戦闘シーンの開始時においては、ゲージ40および参照図形アイコン41a〜41fが表示される。ゲージ40は、プレイヤが図形を入力することができる時間を示す。ここで、ゲーム装置10は、戦闘シーンが開始された後でタッチ入力の受付を開始し、タッチ入力の受付を開始してからの経過時間を計測する。ゲージ40の表示は、経過時間が長くなるにつれて、図3に示す斜線部分を短くなるように変化する(図4〜図6参照)。また、参照図形アイコン41a〜41fは、その時点でプレイヤが入力可能な図形を示す。例えば図3においては、プレイヤは6つの参照図形アイコン41a〜41fにより示される6種類の参照図形を入力することが可能である。プレイヤは、参照図形アイコン41a〜41fに示される6種類の参照図形のうちで、所望の魔法に応じた参照図形を描くようにタッチ入力を行う。
【0036】
図4は、プレイヤがスティック16を用いてタッチ入力を行っているときのゲーム画面を示す図である。なお、図4では、プレイヤは、参照図形アイコン41a〜41fのうちの参照図形アイコン41aに示す図形を描いている。このとき、プレイヤのタッチ入力によって描かれた軌跡(軌跡画像42)が第1のLCD11に表示される。
【0037】
図5は、1つの図形の入力が完了した時のゲーム画面を示す図である。図5に示すように1つの図形の入力が完了した場合、プレイヤはタッチ入力を一旦中止する。すなわち、プレイヤはスティック16をタッチパネル15から離す。ゲーム装置10は、タッチ入力が所定期間(例えば、5フレーム)行われていないことを検知すると、1つの図形の入力が完了したと判断する。そして、入力された図形の形状に基づいて、各参照図形アイコン41a〜41fにより示される各参照図形のうちでどの参照図形が入力されたかを判断する、すなわち、プレイヤが描いた入力図形の形状を特定する。なお、入力図形の形状を特定する処理の詳細については後述する。
【0038】
図6は、1つの図形の入力が完了した直後のゲーム画面を示す図である。図6においては、完了した入力によって描かれた参照図形が特定され、特定された参照図形を示すアイコン(入力済アイコン)43が表示される。なお、図6の時点では、完了した入力によって描かれた軌跡画像42は表示されない(消去される)。また、この時、表示される参照図形アイコンの数および種類が変化する。図6においては、参照図形アイコン41a〜41fのうちで、参照図形アイコン41b〜14dのみが表示され、参照図形アイコン41a,41eおよび41fは消去される。したがって、図6に示す状態においては、プレイヤは、参照図形アイコン41b〜14dにより示される3種類の参照図形のみを入力することができる。プレイヤは、所望の魔法を発動することができるように、必要に応じてさらに図形の入力を行う。このように、本実施形態においては、1回の魔法指示操作において複数回の図形入力を行うことが可能である。また、入力した図形の数や種類によって、次に入力可能な参照図形の数や種類が変化する。
【0039】
また、プレイヤは、制限時間がなくなるまで(ゲージ40の斜線領域がなくなるまで)図形の入力を続けることができる。つまり、1回の魔法指示操作は、予め定められた制限時間の間行うことが可能である。なお、制限時間がなくなる前であっても、所定の操作を行うことによって魔法指示操作を終了することができるようにしてもよい。所定の操作は、タッチ入力によって特定の図形を描く操作であってもよいし、ゲーム装置10に設けられた各スイッチのいずれかを押下する操作であってもよい。魔法指示操作が終了すると、ゲーム装置10は、プレイヤによって入力された1以上の参照図形(入力済アイコン43により示される参照図形)の組み合わせに基づいて、発動すべき魔法を決定する。そして、決定した魔法でプレイヤキャラクタが敵キャラクタを攻撃する様子を第1のLCD11(または第2のLCD12)に表示する。その後、プレイヤキャラクタおよび敵キャラクタの攻撃が順番に繰り返され、プレイヤキャラクタおよび敵キャラクタの一方のヒットポイントが0になるまで戦闘シーンが続く。
【0040】
次に、本実施形態における、入力図形の形状を特定する処理について説明する。まず、当該処理の概要について説明する。当該処理は、タッチパネル15の入力面(第1のLCD11の表示画面)上にユーザによって描かれた軌跡(入力図形)の形状が、予め用意された複数の参照図形のうちのいずれの図形の形状であるかを特定する処理である。なお、以下では、プレイヤがタッチパネル15の入力面に六角形を描いた場合を例として説明する。
【0041】
図7は、タッチパネル15によって検出される入力の例を示す図である。プレイヤがタッチパネル15に対して入力を行うと、タッチパネル15は、入力があった位置を所定時間間隔で時系列で検出する。タッチパネル15は、入力があった位置を、入力面の横方向をX軸とし、縦方向をY軸とする平面における座標値(X,Y)によって表すものとする。
【0042】
また、タッチパネル15によって検出された各座標点には、入力された時系列順に番号が設定される。すなわち、第j(jは1以上の任意の整数)番目に検出された座標点には、p(j−1)という番号が設定される。なお、「番号の設定」は実施例の理解を容易にするための説明であり、データに実際に番号を設定しているわけではない。つまり、コンピュータ上においては、検出された座標点のデータは、予め確保された記憶領域の例えばアドレス順に記憶されるので、結果的にデータを記憶した順番が分かる。ここでは、データを記憶した順番が分かることを概念的に説明するために、上述した「番号の設定」の概念を用いて説明している。図7においては、15個の座標点が検出され、入力された順番にp0からp14の番号が設定される。これらの各座標点を入力の順番に直線で結んだ図形が、ゲームプログラムによる識別の対象となる図形である。以下、本実施例の理解を容易にするため、タッチパネル15によって検出された各座標点を時系列順に(すなわち、入力された順番に)直線で結んだ図形を対象図形と呼ぶ。対象図形は、タッチパネル15の入力面上に描かれた軌跡を表す座標点の集合によって構成される。つまり、対象図形は、タッチパネル15の入力面上に描かれた軌跡の図形的特徴を特定するために、プレイヤの入力軌跡を複数の線分によって表した図形である。なお、対象図形は、本実施形態の説明を容易にするために用いられる概念であり、コンピュータ上においては単に座標点のデータや座標点と座標点との間の距離のデータ等によって表される。
【0043】
タッチパネル15によって対象図形が検出されると、まず、対象図形から直線の要素が抽出される。すなわち、対象図形を構成する各座標点を間引く処理(間引き処理)が行われる。間引き処理は、タッチパネル15によって検出された各座標点からいくつかの座標点を消去(換言すれば、「抽出」または「取得」)することによって、対象図形の形状を簡単化する処理である。以下、図8A〜図8Dを用いて間引き処理を説明する。
【0044】
図8A〜図8Dは、間引き処理を説明するための図である。間引き処理は、タッチパネル15によって検出された座標点群の中から、所定の2つの座標点を結んだ直線から所定距離内に存在する座標点を消去する処理である。すなわち、間引き処理は、対象図形を構成する座標点のうちの隣接しない2点を端点とする直線と、当該2点の間の各座標点との距離を算出することによって行われる。具体的には、まず、対象図形の始点である座標点p0を前側の端点(前端点)とし、座標点p0の2つ後の座標点p2を後側の端点(後端点)とする直線が選択される。そして、選択された直線と、当該直線の端点の間の座標点(すなわち、座標点p1)との距離l1が算出される(図8A参照)。さらに、算出された距離l1が所定距離(許容誤差)l’よりも大きいか否かが判定される。なお、図8Aにおいてはl1<l’であるものとする。また、所定距離l’は、認識させる図形の種類によって適宜決められる任意の値である。
【0045】
図8Aに示すようにl1が所定距離l’以下である場合、新たに直線が選択され、選択された直線と当該直線の端点の間の座標点との距離が算出される。具体的には、後端点を1つ後の座標点に移動した直線が新たに選択される。図8Aの例では、座標点p0から座標点p3までを結ぶ直線が選択される。そして、選択された直線と、当該直線の端点の間の座標点との距離が算出される(図8B参照)。図8Bの例では、座標点p0から座標点p3までを結ぶ直線と、当該直線の端点の間の座標点(座標点p0と座標点p3との間の各座標点、すなわち、座標点p1および座標点p2)との距離が算出される。すなわち、当該直線と座標点p1との距離l1、および、当該直線と座標点p2との距離l2が算出される。距離l1および距離l2が算出されると、距離l1および距離l2のいずれかが許容誤差l’よりも大きいか否かが判定される。ここで、距離l1および距離l2の双方が許容誤差l’以下である場合、新たに直線が選択され、選択された直線と座標点との距離が算出される。すなわち、座標点p0から座標点p4までを結ぶ直線と、座標点p0と座標点p4との間の各座標点(すなわち、座標点p1、座標点p2、および座標点p3)との距離が算出される。
【0046】
一方、距離l1および距離l2の少なくともいずれか一方が許容誤差l’よりも大きい場合、それまでに所定距離l’以下であると判断された座標点を消去する処理が行われる。具体的には、現在選択されている直線の前端点よりも後の座標点であって、かつ、直線の後端点よりも2つ以上前の座標点が消去される。図8Bの例では、座標点p0よりも後の座標点であって、座標点p3よりも2つ以上前の座標点、すなわち、座標点p1が消去される(図8C参照)。
【0047】
図8cに示すように座標点が消去された場合、新たに直線と座標点との距離が算出される。この場合、移動前の後端点を前端点とし、移動後の前端点よりも2つ後の座標点を後端点とする直線が選択される。具体的には、座標点p2から座標点p4までを結ぶ直線が選択される。そして、当該直線と座標点p3との距離l3が算出される(図8D参照)。以降、直線を選択して座標点と直線との距離を算出する処理と、算出された距離が所定距離よりも大きいか否かを判定する処理とが繰り返される。そして、算出された距離が所定距離よりも大きい場合にはそれまでに所定距離l’以下であると判断された座標点を消去する処理が行われる。これらの処理は、対象図形の終点である座標点p14を後端点とする直線が選択されるまで行われる。
【0048】
図9は、間引き処理が行われた前後の様子を示す図である。図9に示すように、図8A〜図8Dに示した間引き処理が行われた結果、座標点p1、座標点p3、座標点p5、座標点p6、座標点p8、座標点p9、座標点p12、および座標点p13が消去されるものとする。このように、間引き処理によって対象図形を構成する座標点が7つに変更されたことによって、対象図形を構成する線分の数(座標点の数)が減らされ、対象図形の形状が簡単化される。なお、本実施形態では、対象図形を構成する各直線を、対象図形の辺と呼ぶ。また、対象図形を構成する座標点を、対象図形の頂点と呼ぶ。なお、本実施形態においては、図8A〜図8Dに示す方法で間引き処理を行うこととしたが、対象図形を構成する座標点を間引くアルゴリズムはどのようなものであってもよい。なお、図8に示したように座標点数を減らすとその後の処理を軽減できるが、本発明では検出された座標点の全てを図形の頂点とするようにしてもよい。
【0049】
図10Aは、間引き処理によって簡略化された対象図形を示す図である。図10Aにおいては、間引き処理後に残された頂点について、頂点P0〜頂点P6という新たな番号を付している。間引き処理によって対象図形が簡略化されると、簡略化された対象図形について図形情報が算出される。図形情報とは、図形の各頂点の線上距離および各辺の絶対角度を含む情報である。線上距離とは、対象図形の始点から頂点までを図形の線上に沿って進んだ距離である。図10Aを例にとって説明すると、例えば、頂点P2における線上距離L2は、頂点P0から頂点P1までを結ぶ直線の距離と、頂点P1から頂点P2までを結ぶ直線の距離との和である。また、対象図形の始点である頂点P0の線上距離L0は、L0=0である。
【0050】
また、絶対角度とは、予め決められた基準直線に対する対象図形の各辺(線分)の角度である。本実施形態では、基準直線は、対象図形の始点を含む辺(すなわち、頂点P0と頂点P1とを結ぶ線分)であるとする。つまり、絶対角度は、対象図形の始点を含む辺の角度(後述する基準角度)を基準として(0°として)表される角度である。図10Aを例にとって説明すると、まず、軌跡の始点である頂点P0から頂点P1を結ぶ辺を基準として、頂点P0−P1,頂点P1−P2,頂点P2−P3,頂点P3−P4,頂点P4−P5,頂点P5−P6の各辺の絶対角度を算出する。例えば、頂点P1から頂点P2までを結ぶ辺の絶対角度Θ1は、当該辺と対象図形の始点を含む辺(すなわち、頂点P0から頂点P1までを結ぶ辺)とのなす角度である。また、頂点P0から頂点P1までを結ぶ辺を基準として絶対角度を表現するので、当該辺の絶対角度Θ0は、Θ0=0である。このように、ゲーム装置10は、対象図形の各頂点について線上距離を算出し、各辺について絶対角度を算出することによって、直交座標のx軸を始点から各辺に沿った長さとし、y軸を絶対角度とする軌跡グラフのための軌跡の図形情報を算出する。
【0051】
図10Bは、図形情報の一例を示す図である。なお、図10Bに示す図形情報は、図10Aに示す対象図形の図形情報である。図10Bに示すように、図形情報には、対象図形の頂点Pnについて、頂点Pnにおける線上距離Lnと、頂点Pnから頂点Pn+1までを結ぶ辺の絶対角度Θnとが含まれている。なお、Θnについてはn=6の場合における辺が存在しないので、Θ6の値は存在しない。
【0052】
上記図形情報が算出されると、対象図形と参照図形との比較が行われる。参照図形は、ゲームプログラムにおいて図形識別のために予め用意されている図形グラフの図形情報によって表される。ここでは、当該図形情報は、上述した軌跡グラフと同様に、直交座標のx軸を始点から各辺に沿った長さとし、y軸を絶対角度とするデータである。ゲームプログラムには、複数種類の参照図形を示すデータが含まれており、ゲーム装置10は、タッチパネル15の入力面上にプレイヤによって描かれた軌跡が、複数の参照図形のうちのいずれの図形であるかを特定する。なお、ゲームプログラムには、参照図形を示すデータとして、上記図形情報が含まれている。対象図形と参照図形との比較は、図形情報を用いて行われる。すなわち、ゲーム装置10は、線上距離および絶対角度を用いて対象図形との類似度を参照図形毎に算出する。ゲーム装置10は、算出された類似度を用いて対象図形の形状を特定する。
【0053】
本実施形態においては、対象図形と参照図形との比較は、上記線上距離および絶対角度を軸とする直交座標系におけるステップ状のグラフを用いて行われる。図11は、対象図形を表すステップ状のグラフ(軌跡グラフ)の例を示す図である。図11に示す座標平面は、x軸が線上距離であり、y軸が絶対角度である。図11に示す軌跡グラフは、図10Aに示す対象図形の特徴を示している。具体的には、図10Aに示す頂点P0から頂点P1までを結ぶ線分が、図11に示すグラフのx=L0〜L1の線分に対応する。図11に示すグラフより、始点(x=L0)からx=L1の座標まで延びる辺は、長さがL1−L0であり、絶対角度y=Θ0(=0)であることを読みとることができる。また、始点からの距離がL1の頂点(頂点P1)から、始点からの距離がL2の頂点(頂点P2)まで延びる辺は、長さがL2−L1であり、絶対角度y=Θ1であることを読みとることができる。図11に示すように、軌跡グラフによって対象図形の特徴を表現することができる。
【0054】
一方、参照図形についても対象図形と同様、線上距離および絶対角度を軸とする直交座標系におけるグラフとして表現することができる。図12Aおよび図12Bは、参照図形を表すステップ状のグラフ(参照図形グラフ)および参照図形の図形情報の例を示す図である。図12Aは、参照図形の図形情報を示す図である。なお、図12Aに示す図形情報は、参照図形の各頂点Qm(m=1〜6)について、頂点Qmの線上距離Mmと、頂点Qmから頂点Qm+1までを結ぶ辺の絶対角度φmとを表している。図形情報から分かるように、図12Aに示す参照図形は、一辺の長さが60の正六角形である。また、図12Bに示す参照図形グラフは、図12Aに示す図形情報により示される参照図形の特徴を表現するグラフである。なお、各参照図形の図形情報は、参照図形の終点の線上距離が所定の基準距離となるように予め用意されている。つまり、各参照図形の終点の線上距離は、各参照図形について一定となるように予め調整されている。図12Bに示すように、参照図形についても対象図形と同様、線上距離および絶対角度を算出することによって、参照図形の特徴をグラフによって表現することができる。
【0055】
対象図形と参照図形との比較は、軌跡グラフと参照図形グラフとを比較することによって行われる。図13は、対象図形と参照図形とを比較する処理を説明するための図である。図13は、図11に示す軌跡グラフと図12Bに示す参照図形グラフとを重ね合わせた図である。ゲーム装置10は、軌跡グラフと参照図形グラフとを重ねた場合に、軌跡グラフと参照図形グラフとの重複しない線分によって囲まれる領域(図13に示す斜線領域)の面積を算出する。なお、以下では、当該面積を差分面積と呼ぶ。本実施形態では、算出された差分面積が類似度として用いられる。すなわち、軌跡グラフと参照図形グラフとが似た形状である場合、差分面積は小さくなるので、類似度が高いと判断することができる。逆に、軌跡グラフと参照図形グラフとが全く異なる形状である場合、差分面積は大きくなるので、類似度が低いと判断することができる。ゲーム装置10は、参照図形毎に差分面積を算出し、算出された差分面積を用いて対象図形の形状を特定する。
【0056】
なお、軌跡グラフと参照図形グラフとを重ねる際には、軌跡グラフの累積長さと参照図形の累積長さとが等しくなるように、対象図形の累積長さが正規化される。ここで、累積長さとは、図形を構成する各線分の長さの総和、すなわち、図形の終点における線上距離である。図11〜図13の例においては、対象図形を構成する各線分の累積長さ(線上距離L5)が360となるように、当該累積長さが正規化される。これによって、プレイヤによって入力された軌跡の大きさの影響を受けずに図形の識別を行うことができる。
【0057】
以上のように、本実施形態によれば、対象図形および参照図形のそれぞれについて図形情報(線上距離および絶対角度)が算出される。そして、算出された図形情報に基づいて作成される軌跡グラフおよび参照図形グラフを用いて対象図形と参照図形との類似度が算出される。すなわち、対象図形と参照図形との類似度は、それぞれの図形を示すグラフの互いに重複しない部分の面積(差分面積)である。これによって、各辺の角度、各頂点における線上距離、頂点数、各辺の長さ、および各辺の入力順序といった種々の要素が考慮されて、対象図形と参照図形との類似度が判断されることとなる。
【0058】
ここで、複雑な図形について図形の識別を行う場合には、タッチパネル15の誤検出やプレイヤの誤入力等が原因で対象図形の頂点数と参照図形の頂点数とが異なる可能性がある。また、間引き処理のアルゴリズムによっては対象図形の頂点数を正確に算出することができない可能性がある。なお、対象図形と参照図形との類似度を算出する従来の方法としては、対象図形および参照図形の頂点数を算出し、頂点数に基づいて類似度を算出する方法がある。しかし、この方法においては、対象図形の頂点数と参照図形の頂点数とが異なる場合には類似度が低く判断されてしまう可能性がある。したがって、上記の方法では、複雑な形状の対象図形についてはその形状を正確に識別することができない。これに対して、本実施形態によれば、対象図形と参照図形との類似度を判断するために種々の要素が考慮されるので、対象図形の頂点数のみが原因で類似度が大きく変化しない。したがって、対象図形の頂点数と参照図形の頂点数とが異なる場合であっても対象図形の形状を正確に識別することができる。
【0059】
図14は、対象図形の頂点数と参照図形の頂点数とが異なる場合における対象図形の例を示す図である。図14に示す対象図形は、図10Aに示す対象図形の各頂点に加えて、頂点P3と頂点P4との間に頂点P3’を有している。対象図形が図14に示す図形である場合、対象図形と参照図形との類似度を頂点数を用いて比較する従来の方法では、頂点P3’が検出されたことが原因で頂点数が7個と判断される結果、対象図形が六角形であることが正しく識別されないおそれがある。一方、図15は、図14に示す対象図形のグラフと参照図形のグラフとを示す図である。本実施形態によれば、頂点P3’が検出された影響は、図15に示す斜線部分A、B、およびCとして現れる。しかし、差分面積の全体(斜線部分の面積の総和)は、これらの斜線部分A〜Cによって大きく変化するわけではない。すなわち、図13に示す差分面積と図15に示す差分面積とはほぼ同じである。したがって、図14に示す対象図形であっても、図10Aに示す対象図形と同程度の類似度であると判断される。その結果、図14に示す対象図形は六角形であることが正しく識別されることとなる。
【0060】
なお、差分面積を算出する方法としては、各頂点を直線で結んだ折れ線状のグラフを用いる方法も考えられる。図16は、参照図形および対象図形を表す折れ線状のグラフの一例を示す図である。図16に示すような折れ線状のグラフを用いる方法によっても差分面積(図16に示す斜線部分)を算出することは可能である。しかし、折れ線状のグラフを用いる場合には、差分面積を算出するための計算量が、ステップ状のグラフを用いる場合に比べて大きくなる。また、折れ線状のグラフでは、対象図形および参照図形の各辺の長さが考慮されていない。そのため、タッチパネル15の誤検出やプレイヤの誤入力等が原因であるノイズの影響を受けやすくなる。例えば、参照図形とは大きく異なる頂点(図16に示す頂点P’)が検出された場合、当該頂点の影響を大きく受けてしまうのである。さらに、折れ線状のグラフでは、対象図形および参照図形の頂点数が考慮されなくなるので、例えば正三角形と正方形と正六角形との識別が困難であるという問題点もある。これに対して、本実施形態のようにステップ状のグラフを用いることによって、頂点数や参照図形の各辺の長さを考慮して類似度を判断することができるので、図形の識別をより正確に行うことができる。
【0061】
なお、以上においては、参照図形が六角形である場合について説明したが、ステップ状のグラフを用いることによって、参照図形がより複雑な場合にも対応することができる。図17A、図17B、図18A、図18B、図19A、および図19Bは、参照図形の他の例を示す図である。本実施形態によれば、ステップ状のグラフを用いることによって、図17Aに示すような2重の正方形である参照図形についても当該図形の特徴を正確に表すことができる(図17B)。また、図18Aに示す星形の図形や図19Aに示すような複雑な図形の参照図形についても、ステップ状のグラフを用いることによって当該図形の特徴を正確に表すことができる(図18B、図19B)。したがって、図17A〜図19Bに示す参照図形をプレイヤが描いた場合でも、プレイヤの描いた軌跡の形状を正確に識別することができる。
【0062】
ここで、本実施形態においては、参照図形毎に基準値が設定される。ゲーム装置10は、上記差分面積と基準値とを用いて対象図形の形状を特定する。具体的には、ゲーム装置10は、各参照図形と対象図形との差分面積を算出すると、各参照図形について基準値から差分面積の値を減算する。そして、減算した値が最大となる参照図形の形状を対象図形の形状として特定する。例えば、参照図形A、参照図形B、および参照図形Cという3つの参照図形を例にとって説明する。なお、この例では、対象図形と参照図形Aとの差分面積が40であり、対象図形と参照図形Bとの差分面積が30であり、対象図形と参照図形Aとの差分面積が100であるとする。また、参照図形Aの基準値が50であり、参照図形Bの基準値が30であり、参照図形Cの基準値が40であるとする。この例において、基準値から差分面積の値を減算した減算値は、参照図形Aが20となり、参照図形Bが0となり、参照図形Cが−60となる。従来の方法では、類似度(差分面積)が最も小さい参照図形Bが対象図形に最も類似していると判断され、対象図形の形状は参照図形Bの形状であると特定される。一方、本実施形態においては、減算値が最も大きい参照図形Aが選出され、対象図形の形状は参照図形Aの形状であると特定される。したがって、本実施形態においては、参照図形に設定された基準値が高いほど、その参照図形の入力が易しくなると言える。
【0063】
このように、本実施形態においては、対象図形の形状を特定するために基準値を導入する。これによって、差分値が他の参照図形よりも大きい参照図形であっても、対象図形の形状として特定されることが可能となる。例えば、他の参照図形に比べて入力が難しいと思われる参照図形については、基準値を他の参照図形に比べて高く設定しておく。これによって、その参照図形は、正しく入力されたと判断されやすくなる。つまり、その参照図形の入力の難しさを緩和することができる。また、例えば、強力な魔法を発動するための参照図形については、他の参照図形に比べて基準値を低く設定しておいてもよい。これによって、その参照図形については入力の正確性がシビアに要求されることになる。したがって、難しい入力に成功した場合に強力な魔法が使えることになり、プレイヤの操作スキルをゲームの効果に反映することができる、戦略性の高いゲームを提供することができる。
【0064】
また、本実施形態においては、1回の魔法指示操作において複数の図形が入力される場合、各参照図形の基準値は、すでに入力された図形の数に応じて変化する。つまり、1回の魔法指示操作において、入力済の図形がない状態と、入力済の図形がある状態とでは、各参照図形の基準値は互いに異なるように設定される。具体的には、ゲーム装置10は、入力済の図形の数が増えるに従って各参照図形の基準値を高い値に設定する。本実施形態においては、1回の魔法指示操作に制限時間が設けられているので、プレイヤが入力した図形の数が増えるに従って制限時間が少なくなっていく。制限時間が少なくなるとプレイヤは焦って、入力を正確に行うことが難しくなると考えられる。そこで、本実施形態においては、入力済みの図形の数が増えるに従って基準値を高くすることで、入力に要求される正確性を緩和するようにしている。これによって、残り時間が少ないことからプレイヤが焦って多少正確性に欠ける入力を行っても、プレイヤは意図通りの図形を入力することができるので、プレイヤにとって操作性の良いゲームを提供することができる。
【0065】
次に、ゲームプログラムを実行することによってゲーム装置10において行われるゲーム処理の詳細を説明する。まず、ゲーム処理において用いられる主なデータについて図20〜図24を用いて説明する。図20は、ゲーム装置10のRAM24に記憶される主なデータを示す図である。図20に示すように、RAM24には、参照図形テーブル50、図形列テーブル51、基準値設定テーブル52、基準値データ53、差分面積データ54、減算値データ55、閾値データ56、プレイヤキャラクタデータ57、敵キャラクタデータ58、および履歴データ59、図形列データ60等が記憶される。なお、RAM24には、図20に示すデータの他、タッチパネル15で検出された座標値等が記憶される。
【0066】
図21は、参照図形テーブルの一例を示す図である。図21に示すように、参照図形テーブル50には、予め用意される各参照図形について、図形番号、図形データ、およびデフォルト基準値が格納される。図形番号は、各参照図形を識別するために割り振られた、各参照図形に固有の番号である。図形データは参照図形の形状を示すデータである。本実施形態においては、図形データは、参照図形の図形情報を示す(図12A参照)。デフォルト基準値とは、各参照図形に予め設定された基準値である。ゲーム処理においては、後述する基準値設定テーブル52を用いてデフォルト基準値を調整することによって各参照図形の基準値が設定される。
【0067】
図22は、図形列テーブルの一例を示す図である。図22に示すように、図形列テーブル51には、図形列と、その図形列がプレイヤによって入力された場合に発動される魔法との対応が格納される。なお、図22において、図形列として示される括弧内の数字は上記図形番号を示す。図22の例では、1回の魔法指示操作において、例えば、図形番号が“1”である参照図形、および、図形番号が“2”である参照図形が順に入力された場合、竜巻を起こす魔法が発動される。なお、図22においては、図形列の先頭は、全て、図形番号が“1”である参照図形であるが、図形列の先頭にくる参照図形は、どの参照図形であってもよい。
【0068】
図23は、基準値設定テーブルの一例を示す図である。図23に示すように、基準値設定テーブル52には、参照図形の図形番号と、その参照図形のデフォルト基準値を調整する量(調整量)との対応が各参照図形について格納される。また、ここでは、1回の魔法指示操作において参照図形が1番目に入力された場合の調整量と、1回の魔法指示操作において参照図形が2番目に入力された場合の調整量と、1回の魔法指示操作において参照図形が3番目に入力された場合の調整量とが別々に格納される。図23の例では、例えば図形番号が“1”である参照図形については、1回の魔法指示操作において1番目に入力された場合、デフォルト基準値がそのまま基準値として設定される。また、1回の魔法指示操作において2番目に入力された場合、デフォルト基準値に5加算した値が基準値として設定される。また、1回の魔法指示操作において3番目以降に入力された場合、デフォルト基準値に10加算した値が基準値として設定される。
【0069】
以上に示した3つの各テーブル(参照図形テーブル50、図形列テーブル51、および基準値設定テーブル52)は、メモリカード17のROM171に記憶されており、ゲーム処理開始後の任意のタイミングでRAM24に読み込まれる。なお、RAM24に読み込まれた各テーブルの内容は、ゲームの進行に応じて変更されてもよいし、プレイヤによって変更されてもよい。
【0070】
図20の説明に戻り、基準値データ53は、各参照図形に設定された基準値を示すデータである。差分面積データ54は、プレイヤによって入力された対象図形と各参照図形との差分面積を示すデータである。減算値データ55は、各参照図形についての基準値から差分面積を減算した減算値を示すデータである。基準値データ53、差分面積データ54、および減算値データ55は、後述するゲーム処理中において算出されてRAM24に記憶される。また、閾値データ56は、予め定められた閾値を示し、ROM171に記憶されており、ゲーム処理開始後の任意のタイミングでRAM24に読み込まれる。
【0071】
また、プレイヤキャラクタデータ57は、プレイヤキャラクタの各種状態を示すデータである。プレイヤキャラクタデータ57には、プレイヤキャラクタのヒットポイント(HP)を示すデータ、およびマジックポイント(MP)を示すデータが含まれる。敵キャラクタデータ58は、敵キャラクタの各種状態を示すデータである。敵キャラクタデータ58には、敵キャラクタのヒットポイント(HP)を示すデータ、およびマジックポイント(MP)を示すデータが含まれる。なお、敵キャラクタデータ58は、その時点で出現している敵キャラクタの数だけ設定される。
【0072】
また、履歴データ59は、上記類似度に関する情報の履歴を示すデータである。図24は、履歴データの一例を示す図である。図24に示すように本実施形態では、履歴データ59は、参照図形の図形番号と当該参照図形の平均差分面積との対応を示す。ここで、平均差分面積とは、類似度に関する情報の一例であり、対象図形の形状が当該参照図形の形状であると特定された場合における当該対象図形と参照図形との差分面積のそれまでの平均値である。この平均差分面積は、プレイヤによる図形入力の操作スキルを示す指標とも言える。なお、履歴データ59には、平均差分面積だけでなく、当該平均差分面積を算出する元となった差分面積の履歴がRAM24には保存されている。なお、履歴データ59は、平均差分面積に限らず、類似度に関する履歴を示すものであればどのようなものであってもよい。なお、履歴データ59は、1回のゲーム処理が終了する度に消去されてもよいし、過去のゲーム処理において得られた履歴データを次回のゲーム処理において用いるようにしてもよい。例えば、ゲーム装置10は、過去の履歴データをセーブデータとしてメモリカード17のRAM172に保存しておき、次にゲーム処理を開始する際にゲーム装置10のRAM24に読み出すようにしてもよい。
【0073】
また、図形列データ60は、プレイヤによる入力済の参照図形を、入力された順番に整列された図形列を示すデータである。例えば、図形列データ60は、参照図形の図形番号を入力された順番に示すデータである。
【0074】
次に、ゲームプログラムを実行することによってゲーム装置10において行われるゲーム処理の詳細を、図25〜図31を用いて説明する。図25は、ゲーム装置10において実行されるゲーム処理の流れを示すフローチャートである。ゲーム装置10の電源が投入されると、ゲーム装置10のCPUコア21は、図示しないブートROMに記憶されている起動プログラムを実行し、RAM24等の各ユニットが初期化される。そして、メモリカード17に格納されたゲームプログラムがRAM24に読み込まれ、CPUコア21によって当該ゲームプログラムの実行が開始される。図25に示すフローチャートは、以上の処理が完了した後に行われるゲーム処理を示すフローチャートである。なお、図25〜図31においては、ゲーム処理のうち、本ゲームの戦闘シーンにおける魔法指示操作に関する処理について詳細に示し、本願発明と関連しない他のゲーム処理については詳細な説明を省略する。
【0075】
図25のステップS1において、まず、ゲームの初期設定処理が行われる。具体的には、初期値を設定すべきデータについて、予め定められた初期値がRAM24に記憶される。例えば、プレイヤキャラクタのHPやMPの値がプレイヤキャラクタデータ57としてRAM24に記憶される。続くステップS2において、その他のゲーム処理が行われる。ステップS2で行われる「その他のゲーム処理」とは、例えば、通常シーンにおけるゲーム進行に応じて発生する種々のイベント(プレイヤキャラクタがゲーム空間を移動する、アイテムを取得する等)に関する処理である。また、当該「その他のゲーム処理」には、戦闘シーンにおける敵キャラクタによるプレイヤキャラクタへの攻撃に関する処理が含まれる。ステップS2におけるその他のゲーム処理は、本願発明と特に関連しないため、詳細な説明を省略する。
【0076】
ステップS3においては、プレイヤに魔法指示操作を行わせるか否かが判定される。ステップS3の判定は、具体的には、戦闘シーンが開始され、かつプレイヤキャラクタが攻撃するターンが到来したか否かによって行われる。ステップS3の判定において、プレイヤに魔法指示操作を行わせると判定された場合、ステップS4〜S7の処理が行われる。一方、プレイヤに魔法指示操作を行わせないと判定された場合、ステップS4〜S7の処理がスキップされてステップS8の処理が行われる。
【0077】
ステップS4においては、魔法決定処理が行われる。魔法決定処理とは、プレイヤから魔法指示操作を受け付け、当該魔法指示操作に従って、発動すべき魔法の種類を決定する処理である。以下、図26〜図30を用いて魔法決定処理の詳細を説明する。
【0078】
図26は、図25に示すステップS4の詳細な処理の流れを示すフローチャートである。図26に示す魔法決定処理においては、まずステップS10において、入力可能な参照図形の種類が設定される。ステップS10においては、通常、複数種類の参照図形が設定される。なお、ステップS10で設定される参照図形の種類は、予め定められていてもよいし、ゲームの進行状況(例えば、プレイヤキャラクタのレベル等)に応じて設定されてもよい。ステップS10で設定された参照図形を示す参照図形アイコンは、適宜のタイミングで第1のLCD11に表示される(図3参照)。
【0079】
ステップS11において、ステップS10で設定された各参照図形について基準値が設定される。ステップS11の処理は、RAM24に記憶されている参照図形テーブル50および基準値設定テーブル52を用いて行われる。具体的には、CPUコア21は、まず、ステップS10で設定された各参照図形について、参照図形テーブル50(図21参照)を参照することによってデフォルト基準値を読み出す。次に、CPUコア21は、当該各参照図形について、基準値設定テーブル52(図23参照)を参照することによって調整量を読み出す。ここで読み出される調整量は、参照図形が1番目に入力された場合の調整量である。最後に、CPUコア21は、デフォルト基準値を調整量に従って調整した値を基準値とする。図21および図23を例にとって説明すると、ステップS10で例えば図形番号が“1”である参照図形が設定された場合、デフォルト基準値は“50”であり、調整量は“0”である。したがって、図形番号が“1”である参照図形の基準値は“50”と算出される。ステップS10で設定された各参照図形とステップS11で設定された基準値との対応は、基準値データ53としてRAM24に記憶される。
【0080】
ステップS11の次のステップS12において、魔法指示操作の経過時間の測定が開始される。続くステップS13において、対象図形特定処理が行われる。対象図形特定処理は、プレイヤに1つの図形を入力させ、入力図形(対象図形)の形状を特定する処理である。以下、図27〜図30を用いて対象図形特定処理の詳細を説明する。
【0081】
図27は、図26に示すステップS13の詳細な処理の流れを示すフローチャートである。図27に示す対象図形特定処理では、まずステップS20において、カウンタnの値が初期化される、すなわち、n=0に設定される。このカウンタnは、対象図形として検出される座標点の番号を示すために用いられる。続くステップS21において、タッチパネル15に対する入力が開始されたか否かが判定される。具体的には、当該入力があった位置を示す座標データがタッチパネル15から出力されたか否かが判定される。ステップS21の判定において、タッチパネル15に対する入力が開始されていない場合、ステップS21の処理が繰り返される。一方、ステップS21の判定において、タッチパネル15に対する入力が開始されていない場合、ステップS22の処理が行われる。すなわち、ゲーム装置1は、ユーザによってタッチパネル15に対する入力が行われるまで待機し、当該入力を検知するとステップS22の処理へ進む。
【0082】
ステップS22においては、CPUコア21は、タッチパネル15の入力面において入力があった座標点の座標を検出して保存する。具体的には、タッチパネル15から座標値(X,Y)を読み込み、RAM24に格納する。なお、カウンタn=j(jは1以上の整数)である場合に検出される座標値は、座標点p(j)の座標値(Xj,Yj)として格納される。続くステップS23において、カウンタnの値が1だけ増加(インクリメント)される。
【0083】
続くステップS24において、上記ステップS12で計測が開始された経過時間が、予め定められた制限時間に達したか否かが判定される。ステップS24の判定において、経過時間が制限時間に達していないと判定された場合、ステップS25の処理が行われる。一方、ステップS24の判定において、経過時間が制限時間に達したと判定された場合、図26に示すステップS17の処理が行われる。したがって、経過時間が制限時間に達した場合には、プレイヤが図形の入力途中であってもタッチ入力の受け付けが即座に中止されることになる。なお、ステップS17の処理については後述する。
【0084】
ステップS25においては、タッチパネル15に対する入力が所定時間の間検出されなくなったか否かが判定される。具体的には、タッチパネル15から座標データが所定時間の間出力されなくなったか否かが判定される。ステップS25の判定において、タッチパネル15に対する入力が所定時間の間に検出された場合、ステップS22の処理に戻る。以降、タッチパネル15に対する入力が一定時間の間なくなるまで、ステップS22〜S25の処理が繰り返される。一方、ステップS25の判定において、タッチパネル15に対する入力が所定時間の間検出されなかった場合、ステップS26の処理が行われる。すなわち、ステップS26において、対象図形の頂点数Nの値がRAM24に保存される。具体的には、Nの値は、現時点におけるnの値に設定される。これによって、対象図形の頂点数が決定されたことになる。以上のステップS22〜S26によって、タッチパネル15の入力面上に描かれた軌跡の座標点が時系列で検出され、検出された座標点群が時系列に並んでRAM24に格納されることとなる。
【0085】
ステップS27においては、ステップS22によって検出された対象図形に対して上述の間引き処理が行われる(図8A〜図8D参照)。間引き処理は、対象図形から直線の要素を抽出するために、対象図形を構成する座標点からいくつかの座標点を間引く処理である。以下、間引き処理の詳細を図28を用いて説明する。
【0086】
図28は、図27に示すステップS27の詳細な処理の流れを示すフローチャートである。図28に示す間引き処理においては、まず、ステップS30において、カウンタnの値がn=0に設定される。間引き処理においては、カウンタnは、直線と座標点との距離を計算する際において、当該直線の前側の端点を示すために用いられる。続くステップS31において、カウンタmの値がm=n+2に設定されるとともに、カウンタiの値がi=n+1に設定される。間引き処理においては、カウンタmは、直線と座標点との距離を計算する際において、当該直線の後側の端点を示すために用いられる。カウンタiは、直線と座標点との距離を計算する際における当該座標点を示すために用いられる。ステップS30においてカウンタnの値が設定され、ステップS31においてカウンタmの値が設定されることによって、座標点との距離を算出すべき直線が選択されたことになる。
【0087】
ステップS31の次のステップS32において、現在選択されている直線と、当該2点の間の座標点との距離が算出される。具体的には、カウンタnにより示される座標点(座標点p(n))を前端点とし、カウンタmにより示される座標点(座標点p(m))を後端点とする直線と、カウンタiにより示される座標点(座標点p(i))との距離l(i)が算出される。当該距離l(i)は、例えば、次式(1)を用いて算出することができる。
l(i)=((Xm−Xn)(Yi−Yn)−(Ym−Yi)(Xi−Xn))2 /((Xm−Xn)2 +(Ym−Yn)2 )…(1)
【0088】
ステップS33においては、ステップS32で算出された距離l(i)が許容誤差l’よりも大きいか否かが判定される。この許容誤差l’の値は、予め定められている。ステップS33の判定において、距離l(i)が許容誤差l’よりも大きいと判定された場合、ステップS34の処理が行われる。一方、ステップS33の判定において、距離l(i)が許容誤差l’以下であると判定された場合、ステップS37の処理が行われる。
【0089】
まず、ステップS33の判定において、距離l(i)が許容誤差l’よりも大きいと判定された場合について説明する。まず、ステップS34において、座標点を消去する処理が行われる。この処理において消去される座標点は、点p(n+1)から点p(m−2)までの座標点である。例えば、n=0、m=3、およびi=2である場合、座標点p1が消去される(図8C参照)。具体的には、座標点p1の座標値がRAM24から削除される。続くステップS35において、カウンタnの値がカウンタmの値に設定される。さらに、ステップS36において、カウンタmの値が頂点数N以上であるか否かが判定される。ステップS36の処理は、間引き処理を対象図形の終点である座標点p(N)まで行ったか否かを判定するための処理である。ステップS36の判定において、カウンタmの値が頂点数N以上である場合、ステップS41の処理が行われる。ステップS41の処理については後述する。一方、ステップS36の判定において、カウンタmの値が頂点数Nよりも小さい場合、ステップS31の処理に戻る。
【0090】
次に、ステップS33の判定において、距離l(i)が許容誤差l’以下であると判定された場合について説明する。まず、ステップS37において、カウンタiの値がインクリメントされる。続くステップS38において、カウンタiの値がカウンタmの値以上であるか否かが判定される。カウンタiの値がカウンタmの値以上であることは、現在選択されている直線の間の全ての座標点について当該直線との距離を算出したことを意味する。逆に、カウンタiの値がカウンタmの値よりも小さいことは、現在選択されている直線の端点の間にある座標点のうちの少なくとも1つについて当該直線との距離を算出していないことを意味する。したがって、ステップS38の判定において、カウンタiの値がカウンタmの値よりも小さい場合、現在選択されている直線との距離を算出していない座標点について点と直線との距離を算出するためにステップS32の処理が行われる。一方、ステップS38の判定において、カウンタiの値がカウンタmの値以上である場合、選択されている直線が変更される。具体的には、ステップS39において、カウンタmの値がインクリメントされる。また、ステップS39においては、カウンタiの値がi=n+1に設定される。さらに、続くステップS40において、カウンタmの値が頂点数Nよりも大きいか否かが判定される。ステップS40の処理は、間引き処理を対象図形の終点である座標点p(N)まで行ったか否かを判定するための処理である。ステップS40の判定においてカウンタmの値が頂点数N以下である場合、ステップS32に戻って処理が行われる。一方、ステップS40の判定においてカウンタmの値が頂点数Nよりも大きい場合、ステップS41の処理が行われる。
【0091】
ステップS41においては、間引き処理による消去後に残った座標点(頂点)について新たな番号が設定される。具体的には、間引き処理による消去後に残った座標点(頂点)の座標値について、入力が行われた順番に、P0,P1,P2,…と番号が設定される。なお、以下の図形識別処理においては、頂点Pj(jは1以上の任意の整数)の座標値を(Xj,Yj)として表す。また、ステップS41においては、頂点数Nの値が、間引き処理による消去後に残った頂点の数に再設定される。ステップS41の完了後、CPUコア21はステップS27の間引き処理を終了する。
【0092】
図27の説明に戻り、ステップS27の後、ステップS28において、図形情報算出処理が行われる。図形情報算出処理とは、対象図形の図形情報、すなわち、各頂点の線上距離および各辺の絶対角度を算出する処理である。以下、図形情報算出処理の詳細を図29を用いて説明する。
【0093】
図29は、図27に示すステップS28の詳細な処理の流れを示すフローチャートである。ステップS28の図形情報算出処理においては、まず、ステップS50において、基準角度が算出される。基準角度は、各辺の絶対角度を、当該基準角度を基準とした値に変換するために用いられる。具体的には、基準角度は、入力面のX軸の正方向を基準とした、対象図形の最初の辺の角度である。なお、対象図形の最初の辺とは、頂点P0と頂点P1とを結ぶ辺である。基準角度Θ’は、例えば次式(2)を用いて算出することができる。
Θ’=arctan((Y1−Y0)/(X1−X0))…(2)
【0094】
次に、ステップS51においては、対象図形の各辺の長さの総和を示す変数Ltが0に設定される。さらに、カウンタnがn=0に設定される。図形情報算出処理においては、カウンタnは、対象図形の頂点Pnを示すために用いられる。続くステップS52においては、カウンタnの値が頂点数Nの値以上であるか否かが判定される。ステップS52の判定処理は、対象図形の全ての頂点について線上距離を算出し、全ての辺について絶対角度を算出したか否かを判定するための処理である。ステップS52の判定において、カウンタnの値が頂点数Nの値以上である場合、ステップS59の処理が行われる。ステップS59以降の処理については後述する。
【0095】
一方、ステップS52の判定において、カウンタnの値が頂点数Nの値よりも小さい場合、ステップS53の処理が行われる。すなわち、ステップS53において、頂点Pnと頂点Pn+1とを結ぶ辺の絶対角度Θnが算出される。具体的には、絶対角度Θnは、次式(3)を用いて算出される。
Θn=arctan((Y(n+1)−Yn)/(X(n+1)−Xn))…(3)
なお、式(3)によって算出される絶対角度は、入力面のX軸の正方向を基準とする角度である。したがって、続くステップS54において、ステップS53において算出された絶対角度の値が、上記基準角度を基準とした値に変換される。すなわち、ステップS53において算出された絶対角度Θnから基準角度Θ’を減算した値に絶対角度Θnの値が変換される。
【0096】
ステップS54の次に、ステップS55において、頂点Pnと頂点P(n+1)とを結ぶ辺の長さL’nが算出される。具体的には、当該長さL’nは、次式(4)を用いて算出される。
L’n=(((X(n+1)−Xn))2 +((Y(n+1)−Yn)))2 )1/2 …(4)
続くステップS56において、対象図形の総距離が算出される。具体的には、対象図形の各辺の長さの総和を示す変数Ltの値が更新される。変数Ltの値は、更新前の値にL’nを加算した値となるように更新される。ステップS56の処理がn=Nとなるまで繰り返されると、最終的に変数Ltの値は、対象図形の各辺の長さの総和、すなわち、対象図形の総距離を示す値となる。続くステップS57において、ステップS55で算出したL’nを用いて頂点P(n)の線上距離Lnが算出される。具体的には、次式(5)を用いてLnの値が算出される。
Ln=L’n+L(n−1)…(5)
なお、式(5)において、なお、L(n−1)の値は、前回のステップS57において算出されている。また、n=0の場合は、L(n−1)=0として計算される。
【0097】
ステップS57の次に、ステップS58において、カウンタnの値がインクリメントされる。ステップS58の後、処理はステップS52に戻る。以降、n≧NとなるまでステップS52〜S58の処理が繰り返される。
【0098】
次に、ステップS59以降の処理について説明する。まず、ステップS59においては、カウンタnの値がn=0に設定される。続くステップS60において、線上距離Lnの値が正規化される。具体的には、変換前のLnの値にLa/Ltを乗算した値に線上距離Lnの値が変換される。なお、Laは、前述の基準距離である。ステップS60によって、変換後におけるL(N)の値がL(N)=Laとなるように正規化される。
【0099】
続くステップS61において、カウンタnの値がインクリメントされる。さらに、続くステップS62において、カウンタnの値が頂点数Nの値以上であるか否かが判定される。ステップS62の判定処理は、対象図形の全ての頂点の線上距離について正規化を行ったか否かを判定するための処理である。ステップS62の判定において、カウンタnの値が頂点数Nの値よりも小さい場合、ステップS60の処理が行われる。以降、n≧NとなるまでステップS60〜S62の処理が繰り返される。一方、ステップS62の判定において、カウンタnの値が頂点数Nの値以上である場合、CPUコア21は、図形情報算出処理を終了する。
【0100】
図27の説明に戻り、ステップS28の後、ステップS29において、図形決定処理が行われる。図形決定処理とは、識別結果の形状(対象図形の形状)を決定する処理である。以下、図形決定処理の詳細を図30を用いて説明する。
【0101】
図30は、図27に示すステップS29の詳細な処理の流れを示すフローチャートである。ステップS29の図形決定処理においては、まず、ステップS70において、ステップS10またはS15で設定された参照図形のうちの1つが選択され、選択された参照図形の図形情報が読み込まれる。なお、ステップS70では、まだ選択されていない参照図形のうちから1つが選択される。
【0102】
ステップS71においては、図形決定処理において用いられる各変数の値が初期化される。具体的には、カウンタn、カウンタm、変数S、変数rd、および変数ldの値がそれぞれ0に設定される。なお、図形決定処理において、カウンタnは、対象図形の頂点Pnを示す。また、図形決定処理において、カウンタmは、参照図形の頂点Qmを示す。変数Sは、差分面積を算出するために用いられる変数である。
【0103】
ステップS72においては、対象図形の頂点Pnの線上距離Lnが、参照図形の頂点Qmの線上距離Mmよりも小さいか否かが判定される。ステップS72の判定において、線上距離Lnが線上距離Mmよりも小さい場合、ステップS73〜S75の処理が行われる。一方、ステップS72の判定において、線上距離Lnが線上距離Mm以上である場合、ステップS76〜S78の処理が行われる。
【0104】
まず、ステップS73〜S75の処理について説明する。ステップS73においては、変数rdの値がrd=Lnに設定される。続くステップS74において、変数Sの値が更新される。具体的には、更新後の変数Sの値は、次式(6)を用いて算出される。
S=S’+|(ld−rd)・(Θn−φm)|…(6)
なお、式(6)において、S’は更新前の変数Sである。続くステップS75において、カウンタnの値がインクリメントされる。ステップS75の後、ステップS79の処理が行われる。ステップS79の処理については後述する。
【0105】
次に、ステップS76〜S78の処理について説明する。ステップS76においては、変数rdの値がrd=Mmに設定される。続くステップS77において、変数Sの値が更新される。具体的には、更新後の変数Sの値は、上述の式(6)を用いて算出される。続くステップS78において、カウンタmの値がインクリメントされる。ステップS76の後、ステップS79の処理が行われる。
【0106】
ここで、図13に示されるように、対象図形のグラフと参照図形のグラフとの重複しない部分は、1以上の長方形に分けることができる。したがって、差分面積は、当該長方形毎に面積を計算することによって算出することができる。ステップS73〜S75の処理、およびステップS76〜S78の処理は、当該長方形毎に面積を算出し、算出した面積を累積加算することによって差分面積を算出する処理である。上記ステップS73〜S75の処理およびステップS76〜S78の処理においては、変数rdは長方形の右端のx座標を示すように設定され、変数ldは長方形の左端のx座標を示すように設定される。このとき、Θnおよびφmはいずれか一方が長方形の上端を示し、他方が下端を示す。したがって、上述の式(6)によって長方形の面積を算出することができる。
【0107】
ステップS79においては、変数ldの値が変数rdの値に更新される。続くステップS80において、変数rdの値が基準距離の値(図30の“total_dis”)となっているか否かが判定される。ステップS80の処理は、対象図形のグラフと参照図形のグラフとの重複しない部分を構成する全ての長方形の面積を算出したか否かを判定するための処理である。ステップS80の判定において、変数rdの値が基準距離の値となっていない場合、ステップS72の処理に戻る。以降、変数rdの値が基準距離の値となるまでステップS72〜69の処理が繰り返される。一方、ステップS80の判定において、変数rdの値が基準距離の値となっている場合、ステップS81の処理が行われる。すなわち、ステップS81において、変数Sの値が差分面積データ54としてRAM24に保存される。これによって、ステップS70で選択されている参照図形のグラフと軌跡グラフとの差分面積が算出されたことになる。
【0108】
ステップS81の次に、ステップS82において、ステップS10またはS15で設定された全ての参照図形を対象図形と比較したか否かが判定される。すなわち、ステップS10またはS15で設定された全ての参照図形について差分面積を算出したか否かが判定される。ステップS82の判定において、全ての参照図形を対象図形と比較していない場合、ステップS70の処理に戻る。そして、全ての参照図形を対象図形と比較するまで、ステップS70〜72の処理が繰り返される。一方、ステップS82の判定において、全ての参照図形を対象図形と比較した場合、ステップS83の処理が行われる。
【0109】
ステップS83においては、基準値から差分面積を減算した減算値が参照図形毎に算出される。なお、各参照図形の基準値は、基準値データ53としてRAM24に記憶されている(ステップS11またはS16)。各参照図形の差分面積は、差分面積データ54としてRAM24に記憶されている(ステップS81)。各参照図形について算出された減算値は、減算値データ55としてRAM24に記憶される。続くステップS84において、ステップS83で算出された減算値のうちで最大の減算値が、予め定められた閾値よりも小さいか否かが判定される。なお、閾値は、RAM24に記憶されている閾値データ56により示される値である。ここで、最大の減算値が閾値よりも小さいことは、減算値を算出した各参照図形と対象図形とがあまり類似していないことを意味する。ステップS84の判定処理は、対象図形が各参照図形とかけ離れた形状である場合には、当該対象図形の入力を入力ミスと判定するための処理である。したがって、ステップS84の判定において、上記最大の減算値が閾値よりも小さいと判定された場合、処理はステップS20に戻る。この場合、プレイヤは、図形の入力をやり直すことになる。一方、ステップS84の判定において、上記最大の減算値が閾値以上であると判定された場合、ステップS85の処理が行われる。
【0110】
ステップS85においては、対象図形の形状が決定される。具体的には、各参照図形のうち、ステップS83で算出された減算値が最大の参照図形の形状が対象図形の形状として決定される。なお、CPUコア21は、RAM24の図形列データ60により示される図形列の最後に、ステップS85で決定された参照図形を加えて新たな図形列を作成する。RAM24の図形列データ60の内容は、当該新たな図形列に更新される。また、CPUコア21は、決定された参照図形を示す入力済アイコン43を適宜のタイミングで第1のLCD11に表示させる(図6参照)。続くステップS86において、RAM24の履歴データ59が更新される。具体的には、ステップS85で決定された参照図形の平均差分面積が、ステップS81でRAM24に保存された差分面積を考慮した値に更新される。CPUコア21は、ステップS86の処理の終了後、図30に示す図形決定処理が終了する。
【0111】
図27の説明に戻り、ステップS29の図形決定処理の終了によって、図27に示す対象図形特定処理が終了する。図26の魔法決定処理において、ステップS13の対象図形特定処理が終了すると、次に、ステップS14の処理が行われる。ステップS14においては、プレイヤによるタッチ入力を終了するか否かが判定される。具体的には、タッチ入力を終了する旨の指示がプレイヤによって行われたか否かが判定される。上述したように、この指示は、タッチ入力によって特定の図形を描くことによって行われてもよいし、ゲーム装置10に設けられた各スイッチのいずれかを押下することによって行われてもよい。ステップS14の判定において、タッチ入力を終了すると判定された場合、後述するステップS17の処理が行われる。一方、タッチ入力を終了しないと判定された場合、ステップS15の処理が行われる。
【0112】
ステップS15においては、入力可能な参照図形の種類が再設定される。ステップS15の処理は、図形列テーブル51を参照することによって行われる。すなわち、CPUコア21は、RAM24内の図形列テーブル51に含まれる図形列のうち、実現される可能性がある図形列を選出する。そして、選出した図形列と、それまでに入力された参照図形とを比較することによって、次に入力することが可能な参照図形を特定する。特定された参照図形がステップS15において設定される参照図形となる。具体的に図22を例にとって説明する。ここでは、図22に示す5つの図形列が図形列テーブル51に含まれているものとする。ステップS15の時点までに、図形番号が“1”である参照図形がすでに入力されている場合、図形番号が“2”および“3”である参照図形が、入力可能な参照図形として設定される。
【0113】
ステップS15の次のステップS16においては、ステップS15で設定された各参照図形について基準値が設定される。ステップS15の処理は、RAM24に記憶されている参照図形テーブル50および基準値設定テーブル52を用いて行われる。具体的には、CPUコア21は、まず、ステップS15で設定された各参照図形について、参照図形テーブル50(図21参照)を参照することによってデフォルト基準値を読み出す。次に、CPUコア21は、当該各参照図形について、基準値設定テーブル52(図23参照)を参照することによって調整量を読み出す。ここで読み出される調整量は、参照図形が2番目に入力された場合の調整量、または、参照図形が3番目以降に入力された場合の調整量である。最後に、CPUコア21は、デフォルト基準値を調整量に従って調整した値を基準値とする。図21および図23を例にとって説明すると、ステップS15で例えば図形番号が“1”である参照図形が設定された場合、デフォルト基準値は“50”であり、調整量は“+5(参照図形が2番目に入力された場合の調整量)”または“+10(参照図形が3番目以降に入力された場合の調整量)”である。したがって、すでに1つの図形が入力されている場合には、当該参照図形の基準値は“55”と算出される。また、すでに2つ以上の図形が入力されている場合には、当該参照図形の基準値は“60”と算出される。ステップS15で設定された各参照図形とステップS16で設定された基準値との対応は、基準値データ53としてRAM24に記憶される。以上のステップS16によって、参照図形が連続して入力される場合、入力される順番に応じて参照図形の基準値を変化させることができる。ステップS16の後、処理はステップS13に戻る。以降、ステップS14において、タッチ入力を終了すると判定されるまで、ステップS13〜S16の処理が繰り返される。
【0114】
一方、ステップS17においては、入力された参照図形の図形列に基づいて魔法の種類が決定される。具体的には、CPUコア21は、図形列テーブル51を参照することによって、図形列データ60により示される図形列に対応する魔法を決定する。ステップS17の終了後、CPUコア21は図26の魔法決定処理を終了する。
【0115】
図25の説明に戻り、ステップS4の次のステップS5においては、魔法ダメージ処理が行われる。魔法ダメージ処理とは、魔法決定処理において決定された魔法によって敵キャラクタにダメージを与える処理である。以下、図31を用いて魔法ダメージ処理の詳細を説明する。
【0116】
図31は、図25に示すステップS5の詳細な処理の流れを示すフローチャートである。図31に示す魔法ダメージ処理においては、まずステップS90において、プレイヤキャラクタにマジックポイントが残っているか否かが判定される。この判定は、RAM24のプレイヤキャラクタデータ57を参照することによって行われる。例えば、魔法の種類毎に消費するマジックポイントが予め定められている場合には、CPUコア21は、魔法決定処理において決定された魔法によって消費されるマジックポイントを算出し、算出したマジックポイントの大きさとプレイヤキャラクタの現在のマジックポイントの大きさとを比較する。ステップS90の判定において、プレイヤキャラクタにマジックポイントが残っていると判定された場合、ステップS91の処理が行われる。一方、プレイヤキャラクタにマジックポイントが残っていると判定された場合、図31に示す魔法ダメージ処理が終了する。なお、この場合、マジックポイントが足りない旨をプレイヤに通知するようにしてもよい。
【0117】
ステップS91においては、プレイヤキャラクタのマジックポイントの値が変更される。具体的には、CPUコア21は、魔法決定処理において決定された魔法によって消費されるマジックポイントの分だけ、プレイヤキャラクタのマジックポイントを減算する。すなわち、RAM24のプレイヤキャラクタデータ57に含まれるマジックポイントの値を更新する。続くステップS92において、魔法を掛けた敵キャラクタのヒットポイントの値が変更される。具体的には、CPUコア21は、魔法決定処理において決定された魔法に応じたダメージの分だけ、敵キャラクタのヒットポイントを減算する。すなわち、RAM24の敵キャラクタデータ58に含まれるヒットポイントの値を更新する。
【0118】
ステップS92の次のステップS93においては、敵キャラクタのヒットポイントが0になったか否かが判定される。この判定は、RAM24の敵キャラクタデータ58を参照することにより行うことができる。ステップS93の判定において、敵キャラクタのヒットポイントが0になったと判定される場合、ステップS94において、敵キャラクタを倒したことを表す画像が第1のLCD11または第2のLCD12に表示される。一方、ステップS93の判定において、敵キャラクタのヒットポイントが0になっていないと判定される場合、ステップS95において、敵キャラクタがダメージを受けたことを表す画像が第1のLCD11または第2のLCD12に表示される。ステップS94またはステップS95が終了すると、CPUコア21は、図31に示す魔法ダメージ処理を終了する。
【0119】
再び図25の説明に戻り、ステップS5の魔法ダメージ処理の後、ステップS6の判定が行われる。ステップS6においては、参照図形テーブルを更新するか否かが判定される。この判定は、RAM24の履歴データ59を用いることによって行われる。すなわち、直前のステップS86において履歴データ59の内容が更新されたことによって、履歴データ59に関する所定の条件が満たされた場合、CPUコア21は、参照図形テーブルを更新すると判定する。一方、直前のステップS86において履歴データ59の内容が更新されない場合、および、更新されても上記所定の条件が満たされない場合、CPUコア21は、参照図形テーブルを更新しないと判定する。なお、所定の条件としては、例えば、更新による平均差分面積の変化が所定値以上であることや、平均差分面積の値が更新によって所定値以上になったこと等が考えられる。
【0120】
ステップS6の判定において、参照図形テーブルを更新しないと判定された場合、ステップS7の処理がスキップされてステップS8の処理が行われる。一方、参照図形テーブルを更新しないと判定された場合、ステップS7の処理が行われる。すなわち、ステップS7において、参照図形テーブル50の内容が更新される。例えば、ステップS6において、ある参照図形について「更新による平均差分面積の変化が所定値以上である」という条件が満たされたと判定された場合であれば、CPUコア21は、参照図形テーブル50内のデフォルト基準値を所定値分だけ増加させる。上記条件が満たされた場合とは、プレイヤが、当該条件が満たされた参照図形を正確に入力できていない場合であると考えられる。それ故、当該参照図形のデフォルト基準値を増加するのである。これによって、当該参照図形を認識する条件を緩和することができるので、プレイヤの入力ミスを少なくすることができる。なお、他の実施形態においては、ステップS7において基準値設定テーブル52の内容を変更するようにしてもよい。
【0121】
ステップS8においては、ゲームオーバーになったか否かが判定される。例えば、プレイヤキャラクタのヒットポイントが0になった場合、ゲームオーバーになったと判定する。ステップS8の判定において、ゲームオーバーになっていないと判定された場合、ステップS2の処理に戻り、以降、ゲームオーバーになるまでステップS2〜S8の処理が行われる。一方、ステップS8の判定において、ゲームオーバーになったと判定された場合、CPUコア21は、図25に示すゲーム処理を終了する。
【0122】
以上のように、本実施形態においては、参照図形毎に基準値を設定することによって、1つ1つの参照図形について「入力の難しさ」を個別に設定することができる。これによって、各参照図形について「入力の難しさ」を一定にしたり、逆に、特定の参照図形について「入力の難しさ」を自由に変更することができる。
【0123】
なお、他の実施形態においては、参照図形テーブル50内のデフォルト基準値や、基準値設定テーブル52内の調整量を、プレイヤが変更することができるようにしてもよい。これによって、プレイヤは、自己の操作スキルに適合するように基準値を自由に変更することができる。また、ゲーム装置10は、ゲームの進行に関する所定の条件を満たしたこと(ゲームに登場する特定のアイテムをプレイヤキャラクタが取得したこと)を条件として、プレイヤに基準値および/または調整量の変更を許可するようにしてもよい。
【0124】
また、上記ステップS7の処理またはプレイヤによる指定によって基準値が変更される場合、基準値の大きさに応じてゲーム処理の効果を変化するようにしてもよい。例えば、基準値を大きくすることによって入力が易しくなるので、基準値を増加させる場合には、魔法によって敵キャラクタに与えるダメージを小さくするように調整してもよい。
【0125】
また、上記実施形態では、差分面積を類似度として用いたが、対象図形と各参照図形とが図形的に類似する度合を表す指標であれば、類似度はどのようなものであってもよい。例えば、上記差分面積は、最小値が0で、その値が小さいほど類似していることを表したが、他の実施形態における類似度は、その値が大きいほど類似していることを表すものであってもよい。類似度は、例えば、0%から100%の範囲で表されるものであってもよい。なお、この場合、類似度から基準値を減算した減算値によって、対象図形の形状を特定する方法が考えられる。具体的には、ゲーム装置10は、減算値が最大となる参照図形の形状を対象図形の形状として特定する。
【0126】
なお、上記実施形態では、基準値から差分面積(類似度)を減算した値を用いて参照図形の特定を行った。ここで、他の実施形態では、参照図形の特定方法は、類似度をそのまま用いるのではなく、類似度の値を基準値によって変化させた値を用いて参照図形を特定する方法であれば、どのような方法であってもよい。
【0127】
なお、上記実施形態では、入力される順番に応じて参照図形の基準値を変化させて設定した(ステップS16)。ここで、他の実施形態においては、ゲーム装置10は、入力の残り時間に応じて基準値を変化させて設定するようにしてもよい。具体的には、図26のステップS16において、CPUコア21は、ステップS12で計測が開始された経過時間を検出し、制限時間に達するまでの残り時間を算出する。この残り時間に応じて基準値を設定する。例えば、残り時間が少ないほど基準値を大きくするようにしてもよい。これによって、残り時間が少ないことからプレイヤが焦って多少正確性に欠ける入力を行っても、プレイヤは意図通りの図形を入力することができる。
【0128】
また、上記実施形態においては、入力装置の一例としてタッチパネルを例に挙げて説明したが、入力装置は、ユーザが入力面状に軌跡を描くことができる装置であればどのようなものであってもよい。入力装置は、例えばマウスであってもよい。
【産業上の利用可能性】
【0129】
本発明は、各参照図形についての入力の難しさを、図形の形状に拘わらず自由に設定すること等を目的としたゲームプログラムまたはゲーム装置に利用することが可能である。
【図面の簡単な説明】
【0130】
【図1】本発明の一実施形態に係るゲーム装置の外観図
【図2】ゲーム装置の内部構成図
【図3】戦闘シーンの開始時におけるゲーム画面を示す図
【図4】プレイヤがスティック16を用いてタッチ入力を行っているときのゲーム画面を示す図
【図5】1つの図形の入力が完了した時のゲーム画面を示す図
【図6】1つの図形の入力が完了した直後のゲーム画面を示す図
【図7】タッチパネル15によって検出される入力の例を示す図
【図8A】間引き処理を説明するための図
【図8B】間引き処理を説明するための図
【図8C】間引き処理を説明するための図
【図8D】間引き処理を説明するための図
【図9】間引き処理が行われた前後の様子を示す図
【図10A】間引き処理によって簡略化された対象図形を示す図
【図10B】図10Aに示す対象図形の図形情報を示す図
【図11】軌跡グラフの例を示す図
【図12A】参照図形の図形情報を示す図
【図12B】参照図形を表すステップ状のグラフを示す図
【図13】対象図形と参照図形とを比較する処理を説明するための図
【図14】対象図形の頂点数と参照図形の頂点数とが異なる場合における対象図形の例を示す図
【図15】図14に示す対象図形のグラフと参照図形のグラフとを示す図
【図16】参照図形および対象図形を表す折れ線状のグラフの一例を示す図
【図17A】参照図形の他の例を示す図
【図17B】図17Aに示す参照図形を表すグラフを示す図
【図18A】参照図形の他の例を示す図
【図18B】図18Aに示す参照図形を表すグラフを示す図
【図19A】参照図形の他の例を示す図
【図19B】図19Aに示す参照図形を表すグラフを示す図
【図20】ゲーム装置10のRAM24に記憶される主なデータを示す図
【図21】参照図形テーブルの一例を示す図
【図22】図形列テーブルの一例を示す図
【図23】基準値設定テーブルの一例を示す図
【図24】履歴データの一例を示す図
【図25】ゲーム装置10において実行されるゲーム処理の流れを示すフローチャート
【図26】図25に示すステップS4の詳細な処理の流れを示すフローチャート
【図27】図26に示すステップS13の詳細な処理の流れを示すフローチャート
【図28】図27に示すステップS27の詳細な処理の流れを示すフローチャート
【図29】図27に示すステップS28の詳細な処理の流れを示すフローチャート
【図30】図27に示すステップS29の詳細な処理の流れを示すフローチャート
【図31】図25に示すステップS4の詳細な処理の流れを示すフローチャート
【符号の説明】
【0131】
10 ゲーム装置
11,12 LCD
21 CPUコア
24 RAM
50 参照図形テーブル
51 図形列テーブル
52 基準値設定テーブル
53 基準値データ
54 差分面積データ
55 減算値データ
56 閾値データ
59 履歴データ
60 図形列データ


【特許請求の範囲】
【請求項1】
入力面上においてプレイヤが指定した位置を検出する入力装置を備えるゲーム装置のコンピュータに実行させるためのゲームプログラムであって、
前記ゲーム装置の記憶装置には、参照図形の形状を表す形状データが複数の参照図形について記憶されており、
前記入力装置によって検出された位置から、入力面上に描かれた入力図形を算出する図形算出手段と、
前記記憶装置に記憶されている形状データにより示される各参照図形の形状と前記入力図形の形状との類似度を算出する類似度算出手段と、
前記参照図形毎に基準値を設定する基準値設定手段と、
前記類似度と当該類似度に関する参照図形に設定された基準値とを用いて前記複数の参照図形のそれぞれについて所定の演算を行った結果に基づいて、前記入力図形の形状を前記複数の参照図形から特定する特定手段と、
前記特定手段によって特定された形状に応じたゲーム処理を行うゲーム処理手段として前記コンピュータを機能させる、ゲームプログラム。
【請求項2】
前記図形算出手段は、所定の制限時間内に検出された位置から1以上の前記入力図形を算出し、
前記類似度算出手段は、前記1以上の入力図形毎に、当該入力図形と前記複数の参照図形との類似度を算出し、
前記特定手段は、前記類似度および前記基準値を用いることによって、前記1以上の入力図形の形状をそれぞれ前記複数の参照図形から特定し、
前記ゲーム処理手段は、前記1以上の入力図形の形状に応じたゲーム処理を行う、請求項1に記載のゲームプログラム。
【請求項3】
前記基準値設定手段は、前記複数の参照図形毎に設定すべき各基準値を、前記入力図形が入力された順番に応じて異なる値に設定する、請求項2に記載のゲームプログラム。
【請求項4】
前記基準値設定手段は、前記複数の参照図形毎に設定すべき各基準値を、前記入力図形の入力が開始されてから前記所定の制限時間が経過するまでの残り時間に応じて異なる値に設定する、請求項2に記載のゲームプログラム。
【請求項5】
前記ゲームプログラムは、所定の参照図形について基準値の入力を受け付ける入力受付手段としてさらにコンピュータを機能させ、
前記基準値設定手段は、前記入力受付手段によって受け付けられた基準値を前記所定の参照図形の基準値として設定する、請求項1にゲームプログラム。
【請求項6】
前記ゲーム処理手段は、前記入力図形の形状、および、当該入力図形に設定された基準値の大きさに応じて異なるゲーム処理を行う、請求項3から5のいずれかに記載のゲームプログラム。
【請求項7】
前記ゲームプログラムは、前記類似度算出手段によって算出された参照図形の類似度に関する履歴を前記ゲーム装置に記憶させる履歴記憶制御手段として前記コンピュータをさらに機能させ、
前記基準値設定手段は、参照図形について設定すべき基準値を、前記履歴記憶手段に記憶されている当該参照図形の類似度に関する履歴に応じて変化させる、請求項1に記載のゲームプログラム。
【請求項8】
前記図形算出手段は、
前記入力面上に描かれる軌跡を座標点として時系列で検出する検出手段と、
前記検出された各座標点を時系列で並べた座標点群から、前記軌跡を表すための座標点を選出する座標点選出手段と、
前記選出された各座標点を時系列順に結んだ各線分の長さを算出する長さ算出手段と、
前記線分と予め決められた基準直線とがなす絶対角度、または、前記線分とそれに隣接する線分とがなす相対角度を各線分毎に算出する角度算出手段とを含み、
前記入力図形は、前記長さ算出手段によって算出された各線分の長さと、前記角度算出手段によって算出された前記絶対角度または前記相対角度とによって表現され、
前記類似度算出手段は、前記選出された各座標点のうちの始点または終点から各座標点までの前記線分上に沿った距離を第1軸とし前記選出された座標点を基点とする前記線分の角度を第2軸とする直交座標系の軌跡グラフと、予め用意されている複数種類の参照図形のそれぞれを当該直行座標系において表した参照図形グラフとを比較することにより、当該軌跡グラフと当該参照図形グラフとの類似度を算出する、請求項1に記載のゲームプログラム。
【請求項9】
入力面上においてプレイヤが指定した位置を検出する入力装置を備えるゲーム装置であって、
参照図形の形状を表す形状データを複数の参照図形について記憶する参照図形記憶手段と、
前記入力装置によって検出された位置から、入力面上に描かれた入力図形を算出する図形算出手段と、
前記記憶装置に記憶されている形状データにより示される各参照図形の形状と前記入力図形の形状との類似度を算出する類似度算出手段と、
前記参照図形毎に基準値を設定する基準値設定手段と、
前記類似度と当該類似度に関する参照図形に設定された基準値とを用いて前記複数の参照図形のそれぞれについて所定の演算を行った結果に基づいて、前記入力図形の形状を前記複数の参照図形から特定する特定手段と、
前記特定手段によって特定された形状に応じたゲーム処理を行うゲーム処理手段とを備える、ゲーム装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8A】
image rotate

【図8B】
image rotate

【図8C】
image rotate

【図8D】
image rotate

【図9】
image rotate

【図10A】
image rotate

【図10B】
image rotate

【図11】
image rotate

【図12A】
image rotate

【図12B】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17A】
image rotate

【図17B】
image rotate

【図18A】
image rotate

【図18B】
image rotate

【図19A】
image rotate

【図19B】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate

【図28】
image rotate

【図29】
image rotate

【図30】
image rotate

【図31】
image rotate


【公開番号】特開2006−288532(P2006−288532A)
【公開日】平成18年10月26日(2006.10.26)
【国際特許分類】
【出願番号】特願2005−110968(P2005−110968)
【出願日】平成17年4月7日(2005.4.7)
【出願人】(000233778)任天堂株式会社 (1,115)
【Fターム(参考)】