(57)【要約】【課題】  オブジェクトの移動制御のための、タッチパネルを利用した単調でなくかつ操作性の良い入力操作を提供すること。【解決手段】  ＲＡＭから回転オブジェクトの画像データを読み出して表示画面に表示し、タッチパネルに対するタッチ位置座標を取得し、タッチパネルへの接触が続いている間、回転オブジェクトの回転軸の表示座標とタッチ位置座標との間の一定期間毎の角度変化量を周期的に計算し、ＲＡＭに記憶されている動作パラメータに対して、角度変化量に動作パラメータの大きさに応じて変化する係数を乗算した結果の値を周期的に加算し、動作パラメータの変化に合わせて表示画面における回転オブジェクトの表示角度を変化させる。【選択図】  図７Ａ
2006230587.tif 000002
【特許請求の範囲】
【請求項１】
ゲーム画面が表示される表示画面と当該表示画面上に設けられたタッチパネルと記憶領域とを備えたゲーム装置のコンピュータに、
前記記憶領域から所定の回転軸を有する回転オブジェクトの画像データを読み出して前記表示画面に表示するステップ、
前記タッチパネルに対するタッチ位置座標を取得するステップ、
前記タッチパネルへの接触が続いている間、前記回転オブジェクトの回転軸の表示座標と前記タッチ位置座標との間の一定期間毎の角度変化量を周期的に計算するステップ、
前記記憶領域に記憶されているゲーム処理のための所定のパラメータに対して、前記角度変化量に当該パラメータの大きさに応じて変化する係数を乗算した結果の値を周期的に加算するステップ、
前記パラメータの変化に合わせて前記表示画面における前記回転オブジェクトの表示角度を変化させるステップ、および
前記タッチパネルへの接触が途切れた後、前記パラメータをゲーム処理に利用するステップを実行させるためのゲームプログラム。
【請求項２】
前記パラメータが大きくなるほど前記係数が小さくなることを特徴とする、請求項１に記載のゲームプログラム。
【請求項３】
前記角度変化量が正または負のいずれか一方のときにのみ前記加算ステップにおける加算処理が行われることを特徴とする、請求項１に記載のゲームプログラム。
【請求項４】
前記パラメータが予め定められた最大値に達したときに、当該回転オブジェクトに対して特殊な表示効果を施こすステップを前記コンピュータにさらに実行させることを特徴とする、請求項１に記載のゲームプログラム。
【請求項５】
前記パラメータ利用ステップは、ゲーム空間内の前記回転オブジェクトを有する仮想物体を前記パラメータに応じた速度で移動させ、かつ当該仮想物体の移動量に応じて前記パラメータを減じることを特徴とする、請求項１に記載のゲームプログラム。
【請求項６】
前記パラメータ利用ステップは、ゲーム空間内の前記回転オブジェクトを有する仮想物体を前記パラメータに応じた時間だけ移動させることを特徴とする、請求項１に記載のゲームプログラム。
【請求項７】
ゲーム画面が表示される表示画面と、
前記表示画面上に設けられたタッチパネルと、
記憶領域と、
前記記憶領域から所定の回転軸を有する回転オブジェクトの画像データを読み出して前記表示画面に表示し、前記タッチパネルに対するタッチ位置座標を取得し、前記タッチパネルへの接触が続いている間、前記回転オブジェクトの回転軸の表示座標と前記タッチ位置座標との間の一定期間毎の角度変化量を周期的に計算し、前記記憶領域に記憶されているゲーム処理のための所定のパラメータに対して、前記角度変化量に当該パラメータの大きさに応じて変化する係数を乗算した結果の値を周期的に加算し、前記パラメータの変化に合わせて前記表示画面における前記回転オブジェクトの表示角度を変化させ、前記タッチパネルへの接触が途切れた後、前記パラメータをゲーム処理に利用する処理部とを備えたゲーム装置。
【請求項８】
前記パラメータが大きくなるほど前記係数が小さくなることを特徴とする、請求項７に記載のゲーム装置。
【請求項９】
前記処理部は、前記角度変化量が正または負のいずれか一方のときにのみ、前記パラメータに対する加算処理を行うことを特徴とする、請求項７に記載のゲーム装置。
【請求項１０】
前記処理部は、前記パラメータが予め定められた最大値に達したときに、当該回転オブジェクトに対して特殊な表示効果を施こすことを特徴とする、請求項７に記載のゲーム装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、タッチパネルを利用したゲームプログラムおよびゲーム装置に関し、特に、タッチパネル上に円を描くようなプレイヤの入力操作を検出してその検出結果をゲーム処理に利用するゲームプログラムおよびゲーム装置に関する。
【背景技術】
【０００２】
入力装置としてタッチパネルを利用すれば、例えばタッチパネルの下に設けられた表示画面に表示されているボタンの画像に触れることで、このボタンに対応付けられたコマンドを容易に入力することができる。このようなタッチパネルをビデオゲームシステムの入力装置として応用することも考えられている。例えば、特許文献１には、画面に表示されるオブジェクトに触れたり、さらにオブジェクトに触れた状態でオブジェクトをスライドさせたりして、オブジェクトをあたかも実際に指で移動させているかのように操作して遊ぶことのできるゲームが開示されている。
【０００３】
一方、特許文献２には、マウスなどのポインティングデバイスの操作量をオブジェクトのエネルギーとして蓄積し、蓄積されたエネルギー値に応じてオブジェクトの移動制御を行う技術が開示されている。具体的には、プレイヤがマウスを前後に繰り返し移動させるとその移動量に応じてエネルギー値が増加し、その後、エネルギー値の大きさに応じた移動速度でオブジェクトを移動させたり、エネルギー値の大きさに応じた移動距離だけオブジェクトを移動させたりする。
【特許文献１】特開２００２−９３９号公報
【特許文献２】特開２００１−６２１４５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に記載の技術は、プレイヤが触れた位置にオブジェクトが移動するに過ぎず、移動操作が単調なためゲームとしての面白みに欠けるという問題がある。
【０００５】
一方、特許文献２に記載の技術では、ポインティングデバイスの操作量に応じて蓄積されたエネルギー値を利用してオブジェクトを移動制御するため、特許文献１のように移動操作が単調ではなく、ゲームとしての面白みも増している。しかしながら、エネルギーを蓄積している間、プレイヤにとってはエネルギーがどの程度溜まったかが分からないという問題がある。より具体的に説明すると、ビデオゲームでなく実際のぜんまいバネ付き自動車玩具で遊ぶ場合には、プレイヤは自身の手にかかる抵抗の大きさによってバネにどの程度のエネルギーが蓄積されているかを知覚することができるが、特許文献２に記載のゲームではプレイヤはそのような抵抗を感じることがないため、エネルギーがどの程度蓄積されているかを知覚することができない。すなわち、プレイヤは専ら勘に頼ってオブジェクトの移動制御のための入力操作を行う必要があり、このことは、ある種のゲームにとってはゲームの面白さが増す方向に作用するかも知れないが、他の種のゲームにとっては、プレイヤに操作性が悪いと感じさせてしまうことになる。これは、マウスの替わりにタッチパネルを利用する場合でも同様である。
【０００６】
それゆえに本発明の目的は、オブジェクトの移動制御のための、タッチパネルを利用した単調でなくかつ操作性の良い入力操作を提供することである。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、本発明は以下の構成を採用した。なお、括弧内の参照符号および図番号は、本発明の理解を助けるために図面との対応関係例を示したものであって、本発明の範囲を何ら限定するものではない。
【０００８】
本発明の第１の局面は、ゲーム画面が表示される表示画面（１２）と当該表示画面上に設けられたタッチパネル（１５）と記憶領域（２４）とを備えたゲーム装置（１０）のコンピュータ（２１）に、下記の（Ａ）〜（Ｆ）のステップを実行させるためのゲームプログラム（４１）である。
（Ａ）前記記憶領域から所定の回転軸を有する回転オブジェクトの画像データを読み出して前記表示画面に表示するステップ（Ｓ１０）
（Ｂ）前記タッチパネルに対するタッチ位置座標を取得するステップ（Ｓ１４）
（Ｃ）前記タッチパネルへの接触が続いている間、前記回転オブジェクトの回転軸の表示座標と前記タッチ位置座標との間の一定期間毎の角度変化量を周期的に計算するステップ（Ｓ１８）
（Ｄ）前記記憶領域に記憶されているゲーム処理のための所定のパラメータに対して、前記角度変化量に当該パラメータの大きさに応じて変化する係数を乗算した結果の値を周期的に加算するステップ（Ｓ２２）
（Ｅ）前記パラメータの変化に合わせて前記表示画面における前記回転オブジェクトの表示角度を変化させるステップ（Ｓ２４）
（Ｆ）前記タッチパネルへの接触が途切れた後、前記パラメータをゲーム処理に利用するステップ（Ｓ３６）
【０００９】
本発明の第２の局面は、第１の局面において、前記パラメータが大きくなるほど前記係数が小さくなることを特徴とする（図４）。ここで、係数の値は、前記パラメータを引数とした関数を用いた演算によって決定してもよいし、前記パラメータと引数との対応関係を規定したテーブルを参照して決定してもよい。
【００１０】
本発明の第３の局面は、第１の局面において、前記角度変化量が正または負のいずれか一方のときにのみ前記加算ステップ（Ｄ）における加算処理が行われることを特徴とする。
【００１１】
本発明の第４の局面は、第１の局面において、前記ゲームプログラムは、前記パラメータが予め定められた最大値に達したときに、当該回転オブジェクトに対して特殊な表示効果を施こすステップ（Ｓ３２）を前記コンピュータにさらに実行させることを特徴とする。ここで、特殊な表示効果の例としては、例えば回転オブジェクトを振動させること（図８Ｄ）、回転オブジェクトの色を変化させること、回転オブジェクトの大きさを変化させること、回転オブジェクトの形状を変化させることなどが挙げられる。
【００１２】
本発明の第５の局面は、第１の局面において、前記パラメータ利用ステップ（Ｆ）は、ゲーム空間内の前記回転オブジェクトを有する仮想物体を前記パラメータに応じた速度で移動させ（Ｓ４０、Ｓ４２）、かつ当該仮想物体の移動量に応じて前記パラメータを減じる（Ｓ４４）ことを特徴とする。ここで、仮想物体の例としては、ゼンマイ仕掛けのロボットやオルゴールなどが挙げられる。
【００１３】
本発明の第６の局面は、第１の局面において、前記パラメータ利用ステップ（Ｆ）は、ゲーム空間内の前記回転オブジェクトを有する仮想物体を前記パラメータに応じた時間だけ動作させることを特徴とする。
【００１４】
本発明の第７の局面は、ゲーム画面が表示される表示画面（１２）と、前記表示画面上に設けられたタッチパネル（１５）と、記憶領域（２４）と、処理部（２１）とを備えたゲーム装置である。処理部は、前記記憶領域から所定の回転軸を有する回転オブジェクトの画像データを読み出して前記表示画面に表示し、前記タッチパネルに対するタッチ位置座標を取得し、前記タッチパネルへの接触が続いている間、前記回転オブジェクトの回転軸の表示座標と前記タッチ位置座標との間の一定期間毎の角度変化量を周期的に計算し、前記記憶領域に記憶されているゲーム処理のための所定のパラメータに対して、前記角度変化量に当該パラメータの大きさに応じて変化する係数を乗算した結果の値を周期的に加算し、前記パラメータの変化に合わせて前記表示画面における前記回転オブジェクトの表示角度を変化させ、前記タッチパネルへの接触が途切れた後、前記パラメータをゲーム処理に利用する機能を有する。
【００１５】
本発明の第８の局面は、第７の局面において、前記パラメータが大きくなるほど前記係数が小さくなることを特徴とする。
【００１６】
本発明の第９局面は、第７の局面において、前記処理部は、前記角度変化量が正または負のいずれか一方のときにのみ、前記パラメータに対する加算処理を行うことを特徴とする。
【００１７】
本発明の第１０の局面は、第７の局面において、前記処理部は、前記パラメータが予め定められた最大値に達したときに、当該回転オブジェクトに対して特殊な表示効果を施こすことを特徴とする。
【発明の効果】
【００１８】
本発明によれば、回転オブジェクトの回転軸の周りに円を描くように指やペンなどでタッチパネルを操作することによってパラメータを変化させ、指やペンなどをタッチパネルから離した後で、このパラメータをゲーム処理に利用するため、単純すぎず面白い入力操作が可能となる。また、円を連続的に描いている途中で角度変化量に対するパラメータの増加量の割合が変化すると、それに応じて角度変化量に対する回転オブジェクトの角度変化量の割合も変化するため、プレイヤは、回転オブジェクトの動きからパラメータの大きさを推定することができ、入力操作の操作性が向上する。
【００１９】
特に上記第２の局面によれば、回転オブジェクトの回転数が増えるほど回転オブジェクトが回転しにくくなる（つまり指やペンの移動量に比して回転オブジェクトの回転量が減る）ため、プレイヤにあたかもゼンマイを巻いているかのような感覚（すなわち、ゼンマイは最初のうちは弱い力で巻くことができるが、しばらく巻き続けているとより強い力を加えないと巻けないようになる）を与え、プレイヤは直感的かつ自然に入力操作を行うことができる。
【００２０】
また、特に上記第３の局面によれば、一般的なゼンマイ（通常、ゼンマイを巻くためのねじは、ゼンマイを緩める方向には、意図的には回転させることができないような仕組みになっていることが多い）のように、意図的に緩めることのできないゼンマイを操作しているかのような感覚をプレイヤに与えることができる。
【００２１】
また、特に上記第４の局面によれば、パラメータが最大値に達し、それ以上パラメータを増加させることが不可能となったときに、単に回転オブジェクトの回転が止まるだけでなく、回転オブジェクトに対して特殊な表示効果が施されるため、プレイヤはその旨を知ることができる。特に、単に回転オブジェクトの回転が止まるだけだと、プレイヤは、タッチする位置がおかしいのかも知れないとか、タッチパネルが故障しているのかも知れないとか心配になる可能性があるが、特殊な表示効果を施すことにより、回転オブジェクトの回転が止まったことが、パラメータが最大値に達したという正常な理由によるものであると分かるので、プレイヤは安心してゲームを続行することができる。
【００２２】
また、特に上記第５および第６の局面によれば、パラメータを利用して、ゼンマイ仕掛けの物体の動作を模擬した仮想物体の移動制御を行うことができる。
【発明を実施するための最良の形態】
【００２３】
以下、本発明の一実施形態に係るゲーム装置の構成および動作を説明する。
【００２４】
図１は、本発明の一実施形態に係るゲーム装置の外観図である。図１において、ゲーム装置１０は、第１のＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ：液晶表示装置）１１および第２のＬＣＤ１２を含む。ハウジング１３は上側ハウジング１３ａと下側ハウジング１３ｂとによって構成されており、第１のＬＣＤ１１は上側ハウジング１３ａに収納され、第２のＬＣＤ１２は下側ハウジング１３ｂに収納される。第１のＬＣＤ１１および第２のＬＣＤ１２の解像度はいずれも２５６ｄｏｔ×１９２ｄｏｔである。なお、本実施形態では表示装置としてＬＣＤを用いているが、例えばＥＬ（Ｅｌｅｃｔｒｏ  Ｌｕｍｉｎｅｓｃｅｎｃｅ：電界発光）を利用した表示装置など、他の任意の表示装置を利用することができる。また任意の解像度のものを利用することができる。
【００２５】
上側ハウジング１３ａには、後述する１対のスピーカ（図２の３０ａ、３０ｂ）からの音を外部に放出するための音抜き孔１８ａ、１８ｂが形成されている。
【００２６】
下側ハウジング１３ｂには、入力装置として、十字スイッチ１４ａ、スタートスイッチ１４ｂ、セレクトスイッチ１４ｃ、Ａボタン１４ｄ、Ｂボタン１４ｅ、Ｘボタン１４ｆ、Ｙボタン１４ｇ、Ｌボタン１４ＬおよびＲボタン１４Ｒが設けられている。また、さらなる入力装置として、第２のＬＣＤ１２の画面上にタッチパネル１５が装着されている。また、下側ハウジング１３ｂには、電源スイッチ１９や、メモリカード１７やスティック１６を収納するための挿入口も設けられている。
【００２７】
タッチパネル１５としては、例えば抵抗膜方式や光学式（赤外線方式）や静電容量結合式など、任意の方式のものを利用することができる。タッチパネル１５は、その表面をスティック１６で触れると、その接触位置に対応する座標データを出力する機能を有している。なお、以下ではプレイヤがタッチパネル１５をスティック１６で操作するものとして説明を行うが、スティック１６の代わりにペン（スタイラスペン）や指でタッチパネル１５を操作することももちろん可能である。本実施形態では、タッチパネル１５として、第２のＬＣＤ１２の解像度と同じく２５６ｄｏｔ×１９２ｄｏｔの解像度（検出精度）のものを利用する。ただし、必ずしもタッチパネル１５の解像度と第２のＬＣＤ１２の解像度が一致している必要はない。
【００２８】
メモリカード１７はゲームプログラムを記録した記録媒体であり、下部ハウジング１３ｂに設けられた挿入口に着脱自在に装着される。
【００２９】
次に、図２を参照してゲーム装置１０の内部構成を説明する。
【００３０】
図２において、ハウジング１３に収納される電子回路基板２０には、ＣＰＵコア２１が実装される。ＣＰＵコア２１には、バス２２を介して、コネクタ２３が接続されるとともに、入出力インターフェース回路（図面ではＩ／Ｆ回路と記す）２５、第１ＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２６、第２ＧＰＵ２７、ＲＡＭ２４およびＬＣＤコントローラ３１が接続される。コネクタ２３には、メモリカード１７が着脱自在に接続される。メモリカード１７は、ゲームプログラムを記憶するＲＯＭ１７ａと、バックアップデータを書き換え可能に記憶するＲＡＭ１７ｂを搭載する。メモリカード１７のＲＯＭ１７ａに記憶されたゲームプログラムはＲＡＭ２４にロードされ、ＲＡＭ２４にロードされたゲームプログラムがＣＰＵコア２１によって実行される。ＲＡＭ２４には、ゲームプログラムの他にも、ＣＰＵコア２１がゲームプログラムを実行して得られる一時的なデータや、ゲーム画像を生成するためのデータが記憶される。Ｉ／Ｆ回路２５には、タッチパネル１５、右スピーカ３０ａ、左スピーカ３０ｂおよび図１の十字スイッチ１４ａやＡボタン１４ｄ等から成る操作スイッチ部１４が接続される。右スピーカ３０ａと左スピーカ３０ｂは、音抜き孔１８ａ、１８ｂの内側にそれぞれ配置される。
【００３１】
第１ＧＰＵ２６には、第１ＶＲＡＭ（Ｖｉｄｅｏ  ＲＡＭ）２８が接続され、第２ＧＰＵ２７には、第２ＶＲＡＭ２９が接続される。第１ＧＰＵ２６は、ＣＰＵコア２１からの指示に応じて、ＲＡＭ２４に記憶されているゲーム画像を生成するためのデータに基づいて第１のゲーム画像を生成し、第１ＶＲＡＭ２８に描画する。第２ＧＰＵ２７は、同様にＣＰＵコア２１からの指示に応じて第２のゲーム画像を生成し、第２ＶＲＡＭ２９に描画する。第１ＶＲＡＭ２８および第２ＶＲＡＭ２９はＬＣＤコントローラ３１に接続されている。
【００３２】
ＬＣＤコントローラ３１はレジスタ３２を含む。レジスタ３２はＣＰＵコア２１からの指示に応じて０または１の値を記憶する。ＬＣＤコントローラ３１は、レジスタ３２の値が０の場合は、第１ＶＲＡＭ２８に描画された第１のゲーム画像を第１のＬＣＤ１１に出力し、第２ＶＲＡＭ２９に描画された第２のゲーム画像を第２のＬＣＤ１２に出力する。また、レジスタ３２の値が１の場合は、第１ＶＲＡＭ２８に描画された第１のゲーム画像を第２のＬＣＤ１２に出力し、第２ＶＲＡＭ２９に描画された第２のゲーム画像を第１のＬＣＤ１１に出力する。
【００３３】
なお、上記のようなゲーム装置１０の構成は単なる一例に過ぎず、本発明は、画面上にタッチパネルの設けられた少なくとも１つの表示装置を有する任意のコンピュータシステムに適用することができる。また、本発明のゲームプログラムは、メモリカード１７などの外部記憶媒体を通じてコンピュータシステムに供給されるだけでなく、有線または無線の通信回線を通じてコンピュータシステムに供給されてもよいし、さらにはコンピュータシステム内部の不揮発性記憶装置に予め記録されていてもよい。
【００３４】
図３に、ＲＡＭ２４のメモリマップを示す。ＲＡＭ２４の記憶領域は、大きく分けて、プログラム記憶領域とデータ記憶領域に区分される。プログラム記憶領域には、メモリカード１７のＲＯＭ１７ａに記録されているゲームプログラム４１がロードされる。データ記憶領域には、図３に示すような種々のデータが記憶される。
【００３５】
回転オブジェクトデータ４２は、後述する回転オブジェクトの位置データおよび画像データである。その他オブジェクトデータ４３は、回転オブジェクト以外のオブジェクトの位置データおよび画像データである。回転オブジェクトやその他のオブジェクトの画像データはメモリカード１７のＲＯＭ１７ａから読み込まれる。回転オブジェクトやその他のオブジェクトの位置データは、ゲームプログラム４１に基づいて適宜に設定および更新される。
【００３６】
タッチ位置座標４４は、タッチパネル１５に対する指やスティック１６の接触位置を示す座標であって、タッチパネル１５の出力信号に応じて随時更新される。
【００３７】
回転軸表示座標４５は、回転オブジェクトの回転軸の表示座標である。現在相対角度４６は、回転軸表示座標４５を基準としたときのタッチ位置座標４４の方向を示す角度であって、回転軸表示座標４５とタッチ位置座標４４に基づいて周期的に（例えば１フレーム期間毎に）計算されて更新される。現在相対角度４６を更新する際、その更新前の値は直前相対角度４７としてＲＡＭ２４に一時的に保持される。角度変化量４８は、現在相対角度４６から直前相対角度４７を減じた値である。
【００３８】
係数テーブル４９は、後述する動作パラメータ５０を更新する際に利用される係数を決定するためのテーブルである。係数テーブル４９の詳細については後述する。動作パラメータ５０は、ゲーム空間内のオブジェクトを動作させるときに利用される変数である。回転オブジェクト表示角度５１は、回転オブジェクトが第１のＬＣＤ１１ないし第２のＬＣＤ１２の表示画面に表示される際の角度を示すものであって、その角度は動作パラメータ５０に応じて決定される。
【００３９】
図４に、係数テーブル４９の具体例を示す。ここでは、動作パラメータ５０は、０〜３６００までの値を取り得るものとする。図４の例では、動作パラメータが０〜２１６０の範囲にある場合には係数が１．０と決定され、動作パラメータが２１６１〜３２４０の範囲にある場合には係数が０．５と決定され、動作パラメータが３２４１〜３６００の範囲にある場合には係数が０．２と決定される。
【００４０】
次に、図５のフローチャートを参照して、ゲームプログラム４１に基づくゲーム装置１０（より具体的にはＣＰＵコア２１）の動作を説明する。
【００４１】
図５においてゲームプログラム４１の実行が開始されると、ステップＳ１０でＣＰＵコア２１は、回転オブジェクトデータ４２およびその他オブジェクトデータ４３に基づいて、回転オブジェクトを含むゲーム画像を第２のＬＣＤ１２の表示画面に表示する。なお、実際のゲームではゲームが開始される前にタイトル画面が表示されたり初期設定が行われたりするが、これらの処理は本発明では特に重要ではないため、図５ではこれらの処理ステップを省略している。図６に、ステップＳ１０で表示されるゲーム画面例を示す。図６の例では、ゼンマイ仕掛けのロボット（仮想物体）のゼンマイを巻くためのネジが、回転オブジェクトとして、ロボットと一体的に表示されている。
【００４２】
ステップＳ１２では、タッチパネル１５からの出力信号に基づいて、スティック１６（またはプレイヤの指）がタッチパネル１５に接触しているかどうかを判断する。接触している場合にはステップＳ１４に進み、接触していない場合には接触するまで待機する。
【００４３】
ステップＳ１４では、タッチパネル１５からの出力信号に基づいて、タッチパネル１５に対するスティック１６の接触位置を示すタッチ位置座標４４を検出し、ＲＡＭ２４に記憶する。
【００４４】
ステップＳ１６では、回転オブジェクトの回転軸の表示座標（回転軸表示座標４５）とタッチ位置座標４４に基づいて、回転オブジェクトの回転軸に対するタッチ位置の相対角度を計算する。なお、回転軸表示座標４５は、回転オブジェクトの位置データから求めることができる。図７Ａおよび図７Ｂを参照して、ステップＳ１６における相対角度の計算方法について説明する。図７Ａに示すように回転軸表示座標４５を（Ｘａ，Ｙａ）とし、タッチ位置座標４４を（Ｘｔ，Ｙｔ）とした場合、回転オブジェクトの回転軸に対するタッチ位置の相対角度θは、図７Ｂのように、ｔａｎθ＝（Ｙｔ−Ｙａ）／（Ｘｔ−Ｘａ）の関係に基づいて計算される。ステップＳ１６で計算された相対角度は、ＲＡＭ２４に現在相対角度４６として記憶される。なおこのとき、すでにＲＡＭ２４に現在相対角度４６が格納されている場合には、その値を直前相対角度４７として退避させた後、ステップＳ１６で計算された相対角度を現在相対角度４６として記憶する。
【００４５】
ステップＳ１８では、現在相対角度４６から直前相対角度４７を減算し、その結果をＲＡＭ２４に角度変化量４８として記憶する。なお、図５におけるステップＳ１４〜Ｓ３０の処理は、１フレーム周期（ゲーム画像の更新周期）で繰り返し実行されるので、ステップＳ１８で計算される角度変化量４８は、１フレーム期間における相対角度の変化量を表している。
【００４６】
なお、ステップＳ１８において、現在相対角度４６から直前相対角度４７を減算した結果が正の場合にだけその減算結果を角度変化量４８として記憶し、負の場合には角度変化量４８を０に更新するようにしてもよい。また逆に、現在相対角度４６から直前相対角度４７を減算した結果が負の場合にだけその減算結果を角度変化量４８として記憶し、正の場合には角度変化量４８を０に更新するようにしてもよい。これにより、予め決まった方向（時計回りまたは反時計回りのいずれかの方向）の回転操作だけしか動作パラメータ５０に反映させないようにすることができ、ゼンマイ仕掛けのおもちゃの仕組みをより正確に模擬することができる。
【００４７】
ステップＳ２０では、ＲＡＭ２４に記憶されている動作パラメータ５０および係数テーブル４９（図４）に基づいて、次のステップＳ２２で利用される係数を決定する。ゲーム開始時点では動作パラメータは０に設定されているため、図４の係数テーブル４９から係数は１．０と決定される。なお、ステップＳ１４〜Ｓ３０の処理を繰り返した結果、動作パラメータが例えば３０００になっている場合には、ステップＳ２０では係数は０．５と決定される。また、動作パラメータが例えば３５００になっている場合には係数が０．２と決定される。
【００４８】
ステップＳ２２では、ステップＳ１８で計算された角度変化量４８と、ステップＳ２２で決定された係数に基づいて動作パラメータ５０が更新される。より具体的には、角度変化量４８と係数とを乗算した結果の値を、ＲＡＭ２４に記憶されている動作パラメータ５０に加算することによって、動作パラメータ５０を更新する。つまり、更新前の動作パラメータ５０をＰｏｌｄとし、更新後の動作パラメータをＰｎｅｗとすると、Ｐｎｅｗ＝Ｐｏｌｄ＋（角度変化量×係数）となる。なお、動作パラメータ５０には上限値が決められており、加算結果が上限値を超えるような場合には動作パラメータ５０は上限値に更新される。
【００４９】
ステップＳ２４は、ステップＳ２２で更新された動作パラメータ５０に応じて、回転オブジェクトの表示角度を決定し、ＲＡＭ２４に回転オブジェクト表示角度５１として記憶する。そして、ステップＳ２６では、回転オブジェクトが、回転軸を中心として初期状態（図６）から時計回りに回転オブジェクト表示角度５１が示す角度だけ傾けた状態で表示されるようなゲーム画像を生成する。例えば、動作パラメータ５０が４５である場合には、回転オブジェクトは初期状態から時計回りに４５度傾いて表示され、動作パラメータ５０が１０００である場合には、回転オブジェクトは初期状態から時計回りに１０００度、すなわち時計回りに２８０度傾いて表示される。
【００５０】
ステップＳ２８では、動作パラメータ５０が最大値に達しているかどうかを判断し、まだ最大値に達していない場合にはステップＳ３０に進み、すでに最大値に達している場合にはステップＳ３２に進む。
【００５１】
ステップＳ３０では、タッチパネル１５からの出力信号に基づいて、スティック１６がタッチパネル１５から離れたかどうかを判断する。まだ離れていない場合にはステップＳ１４に戻り、すでに離れている場合にはステップＳ３６に進み、移動処理を行う。この移動処理の詳細については後述する。
【００５２】
ステップＳ３２では、動作パラメータ５０がすでに最大値に達していることをプレイヤに示唆するために、回転オブジェクトに対して特殊な表示効果を施こして、ゲーム画像を更新する。特殊な表示効果の例としては、例えば回転オブジェクトを振動させること、回転オブジェクトの色を変化させること、回転オブジェクトの大きさを変化させること、回転オブジェクトの形状を変化させることなどが挙げられる。
【００５３】
ステップＳ３４では、タッチパネル１５からの出力信号に基づいて、スティック１６がタッチパネル１５から離れたかどうかを判断する。まだ離れていない場合にはステップＳ３２に戻り、すでに離れている場合にはステップＳ３６に進む。
【００５４】
以上の処理によれば、プレイヤがタッチパネル１５上で回転軸の周りに円を描くようにスティック１６をスライドさせることによって、動作パラメータ５０が徐々に増加し、さらに回転オブジェクトが回転することになる。
【００５５】
特に、プレイヤがスティック１６をタッチパネル１５に接触させてから、スティック１６の周回が６周を超えるまでの間は、ステップＳ２０で決定される係数が１．０であるので、スティック１６を１周させる毎に動作パラメータ５０は３６０ずつ増加し、回転オブジェクトは１回転する。つまり、図８Ａに示すように、スティック１６の動きと回転オブジェクトの動きが完全に同期することになる。
【００５６】
プレイヤが回転操作を続け、スティック１６の周回が６周を超えると、動作パラメータ５０が３２４０を超え、ステップＳ２０で決定される係数が０．５に変わる。すると、スティック１６を１周させる毎に、動作パラメータ５０は３６０×０．５＝１８０ずつしか増加しないので、回転オブジェクトは１８０度ずつしか回転しないようになる。つまり、図８Ｂに示すように、回転オブジェクトの動きがスティック１６の動きに対してやや遅れることになる。
【００５７】
プレイヤが回転操作を続け、スティック１６の周回が１２周を超えると、動作パラメータ５０が３２４０を超え、ステップＳ２０で決定される係数が０．２に変わる。すると、スティック１６を１周させる毎に、動作パラメータ５０は３６０×０．２＝７２ずつしか増加しないので、回転オブジェクトは７２度ずつしか回転しないようになる。つまり、図８Ｃに示すように、回転オブジェクトの動きがスティック１６の動きに対して大きく遅れることになる。この結果、プレイヤは「ゼンマイの巻き数が限界に近づいてゼンマイが巻きづらくなってきた」と感じることになり、実際、スティック１６を１周させたときの動作パラメータの増加量も、回転操作を開始したときと比べて大幅に減少している。
【００５８】
プレイヤがさらに回転操作を続けると、スティック１６の周回数が１７に達し、動作パラメータ５０が最大値３６００に達する。すると、特殊な表示効果として、回転オブジェクトが震える（つまり、少し進んでは元の位置に戻る動きを繰り返す）ようになる。この結果、プレイヤは、動作パラメータ５０が最大値に達したことを明確に把握することができる。
【００５９】
上記のようにしてプレイヤがスティック１６を所望の回数だけ周回させてから、スティック１６をタッチパネル１５から離すと、この時点における動作パラメータ５０に基づいて、図５のステップＳ３６において仮想物体（ここではロボット）の移動処理が行われる。以下、この移動処理の詳細を説明する。
【００６０】
図９は、移動処理の詳細を示すフローチャートである。図９において、ＣＰＵコア２１は、ステップＳ４０で、動作パラメータ５０に応じて仮想物体の速度を決定する。これは、例えば図１０に示すようなテーブルを用いて決定される。図１０の例では、例えば動作パラメータ５０が３０００のときには速度が４０と決定され、動作パラメータ５０が１００のときには速度が１０と決定される。
【００６１】
ステップＳ４２では、ステップＳ４０で決定された速度に基づいて仮想物体の位置座標を更新する。例えば速度が３０である場合は、ゲーム空間における仮想物体の位置を所定の進行方向に向かって距離３０だけシフトさせる。仮想物体に一体的に設けられている回転オブジェクトの位置座標についても同様に更新される。
【００６２】
ステップＳ４４では、ステップＳ４２において仮想物体が移動した距離（すなわちステップＳ４０で決定された速度）に応じて動作パラメータ５０を減らす。例えば、ステップＳ４２において仮想物体が距離３０だけ移動した場合には、ＲＡＭ２４に記憶されている動作パラメータ５０を３０だけ減らす。
【００６３】
ステップＳ４６では、ステップＳ４４で更新された動作パラメータ５０に応じて回転オブジェクトの表示角度を決定し、ＲＡＭ２４に回転オブジェクト表示角度５１として記憶する。これは、図５のステップＳ２４と同様の処理である。
【００６４】
ステップＳ４８では、ステップＳ４２で更新された仮想物体の位置座標に仮想物体が表示され、かつ仮想物体に一体的に設けられた回転オブジェクトが、回転軸を中心として初期状態（図６）から時計回りに回転オブジェクト表示角度５１が示す角度だけ傾けた状態で表示されるようなゲーム画像を生成する。例えば、動作パラメータ５０が４５である場合には、回転オブジェクトは初期状態から時計回りに４５度傾いて表示され、動作パラメータ５０が１０００である場合には、回転オブジェクトは初期状態から時計回りに１０００度、すなわち時計回りに２８０度傾いて表示される。
【００６５】
ステップＳ５０では、動作パラメータ５０が０になったかどうかを判断し、０になっていない場合にはステップＳ２４に戻り、動作パラメータ５０が０になるまでステップＳ４０〜Ｓ４８の処理が１フレーム周期で繰り返される。動作パラメータ５０が０になった場合には移動処理を終了する。
【００６６】
以上の移動処理の結果、仮想物体であるロボットは、図１１に示すように、ネジを反時計回りに回転させながら所定方向に向かって進行し、最終的に停止することになる。
【００６７】
特に、動作パラメータ５０が大きい間は、仮想物体が速く移動し、動作パラメータ５０も速く減少し、回転オブジェクトも速く回転するが、動作パラメータ５０が小さくなると、仮想物体の移動速度が遅くなり、動作パラメータ５０の減少速度も遅くなり、回転オブジェクトの回転速度も遅くなる。この結果、仮想物体の動きが、実際のゼンマイ仕掛けのロボットの動きと同様の動きとなる。
【００６８】
なお、本実施形態では、動作パラメータ５０を仮想物体の移動速度の決定に利用したが、動作パラメータ５０の利用用途はこれに限らない。例えば、プレイヤが回転操作を終えた（すなわちスティック１６をタッチパネル１５から離した）時点の動作パラメータ５０の大きさに比例した時間だけ仮想物体を移動させるようにしてもよい。
【００６９】
また、本実施形態では、仮想物体の一例としてロボットを動作させる例を説明したが、本発明はこれに限らない。例えば、図１２に示すように、オルゴールを動作させる場合にも本発明は有効である。この場合も、上述したロボットの例と同様にしてプレイヤはスティック１６を使って動作パラメータ５０を増やし、プレイヤが回転操作を終えた（すなわちスティック１６をタッチパネル１５から離した）時点の動作パラメータ５０の大きさに応じてスピーカ３０ａ、３０ｂから音楽を出力すればよい。この場合の動作パラメータ５０の利用方法の例としては、動作パラメータ５０に応じて演奏時間を変える方法や、動作パラメータ５０に応じて演奏速度を変える方法が挙げられる。
【００７０】
また、本実施形態では、図３に示すような係数テーブル４９を参照して係数を決定するとしたが、これに限らず、例えば動作パラメータ５０を引数とした所定の関数演算を行うことによって係数を決定してもよい。また、係数は、動作パラメータ５０が大きくなるほど逆に小さくなるとしたが、これに限らず、動作パラメータ５０が大きくなるほど係数も大きくなるようにしてもよい。
【図面の簡単な説明】
【００７１】
【図１】本発明の一実施形態に係るゲーム装置の外観図
【図２】ゲーム装置の内部構成図
【図３】ＲＡＭ２４のメモリマップ
【図４】係数テーブル４９の一例
【図５】ゲーム装置の動作を示すフローチャート
【図６】回転操作を行う前のゲーム画面例
【図７Ａ】回転軸とタッチ位置の具体例を示す図
【図７Ｂ】相対角度の計算方法を示す図
【図８Ａ】回転操作時の回転オブジェクトの動きを示す図
【図８Ｂ】回転操作時の回転オブジェクトの動きを示す他の図
【図８Ｃ】回転操作時の回転オブジェクトの動きを示すさらに他の図
【図８Ｄ】回転操作時の回転オブジェクトの動きを示すさらに他の図
【図９】移動処理の詳細を示すフローチャート
【図１０】仮想物体の速度の決定時に利用されるテーブルの一例
【図１１】移動処理時のゲーム画面例
【図１２】変形例に係るゲーム画面例
【符号の説明】
【００７２】
１０  ゲーム装置
１１  第１のＬＣＤ
１２  第２のＬＣＤ
１３  ハウジング
１３ａ  上側ハウジング
１３ｂ  下側ハウジング
１４  操作スイッチ部
１４ａ  十字スイッチ
１４ｂ  スタートスイッチ
１４ｃ  セレクトスイッチ
１４ｄ  Ａボタン
１４ｅ  Ｂボタン
１４ｆ  Ｘボタン
１４ｇ  Ｙボタン
１４Ｌ  Ｌボタン
１４Ｒ  Ｒボタン
１５  タッチパネル
１６  スティック
１７  メモリカード
１７ａ  ＲＯＭ
１７ｂ  ＲＡＭ
１８ａ，１８ｂ  音抜き孔
１９  電源スイッチ
【図１】
2006230587.tif 000003
【図２】
2006230587.tif 000004
【図３】
2006230587.tif 000005
【図４】
2006230587.tif 000006
【図５】
2006230587.tif 000007
【図６】
2006230587.tif 000008
【図７Ａ】
2006230587.tif 000009
【図７Ｂ】
2006230587.tif 000010
【図８Ａ】
2006230587.tif 000011
【図８Ｂ】
2006230587.tif 000012
【図８Ｃ】
2006230587.tif 000013
【図８Ｄ】
2006230587.tif 000014
【図９】
2006230587.tif 000015
【図１０】
2006230587.tif 000016
【図１１】
2006230587.tif 000017
【図１２】
2006230587.tif 000018