(57)【特許請求の範囲】
【請求項１】
仮想２次元空間に配置される線と、当該仮想２次元空間内を移動する移動体と、を、画面に表示する表示部、
前記移動体の位置を含むように設定された判定領域が、前記線と交差するか否かを判定する判定部、
前記判定領域が、前記線と交差すると判定された場合、前記移動体の位置を、前記線に接するように修正する修正部
を備え、
前記判定領域の大きさは、前記線の傾きに応じて変化する
ことを特徴とするゲーム装置。
【請求項２】
請求項１に記載のゲーム装置であって、
プレイヤーの動作を検知する検知部、
前記検知された動作に基づいて、前記線の位置ならびに形状のいずれか少なくとも一方を変化させる変化部
をさらに備えることを特徴とするゲーム装置。
【請求項３】
請求項１または２に記載のゲーム装置であって、
前記線は、直線、曲線、もしくは、折線である
ことを特徴とするゲーム装置。
【請求項４】
請求項２に記載のゲーム装置であって、
前記判定領域が前記線と交差しないと判定された場合、前記変化部は、前記移動体の位置を、所定の加速度で変化させる
ことを特徴とするゲーム装置。
【請求項５】
請求項２または４に記載のゲーム装置であって、
前記表示部による表示、前記検知部による検知、前記変化部による変化、前記判定部による判定、前記修正部による修正は、所定の時間間隔で順に行われる
ことを特徴とするゲーム装置。
【請求項６】
表示部、判定部、修正部を有するゲーム装置を制御するゲーム装置の制御方法であって、
前記表示部が、仮想２次元空間に配置される線と、当該仮想２次元空間内を移動する移動体と、を、画面に表示する表示工程、
前記判定部が、前記移動体の位置を含むように設定された判定領域が、前記線と交差するか否かを判定する判定工程、
前記判定領域が、前記線と交差すると判定された場合、前記修正部が、前記移動体の位置を、前記線に接するように修正する修正工程
を備え、
前記判定領域の大きさは、前記線の傾きに応じて変化する
ことを特徴とするゲーム装置の制御方法。
【請求項７】
コンピュータを、
仮想２次元空間に配置される線と、当該仮想２次元空間内を移動する移動体と、を、画面に表示する表示部、
前記移動体の位置を含むように設定された判定領域が、前記線と交差するか否かを判定する判定部、
前記判定領域が、前記線と交差すると判定された場合、前記移動体の位置を、前記線に接するように修正する修正部
として機能させ、
前記判定領域の大きさは、前記線の傾きに応じて変化する
ように機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想２次元空間内において、線状体の位置や形状をユーザの動作に合わせて変化させ、当該線状体に沿って移動体を移動させるゲームを実現するのに好適なゲーム装置、ゲーム装置の制御方法、ならびに、これらをコンピュータにて実現するプログラムに関する。
【背景技術】
【０００２】
従来から、仮想空間を移動する移動体をリアルに表現するために、物理シミュレーションを実行する技術が開示されている。
【０００３】
たとえば、特許文献１においては、布状体と当該布状体が交差しない障害物との仮想３次元空間における移動をシミュレートする技術が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−１４６８０７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、現実世界には、物体が他の物体に沿って移動しようとする際の動摩擦や静止摩擦など、物理的な振舞いが必ずしも判明していない現象があり、物理シミュレーションには、多大な計算量を要することも多い。
【０００６】
また、仮想２次元空間において、直線や曲線などの線状体の位置や形状、傾きなどをユーザの指示動作に合わせて変化させて、当該線状体に沿って移動体を移動させるゲームを実現する場合には、２次元と３次元の差から、現実世界の物理法則をそのまま利用することが難しい場合もある。
【０００７】
そこで、簡易な計算で、仮想２次元空間における移動体の振舞いを、ユーザに自然でリアルに見えるようにシミュレーションする技術が強く望まれている。
【０００８】
本発明は、上記のような課題を解決するもので、仮想２次元空間内において、線状体の位置や形状をユーザの動作に合わせて変化させ、当該線状体に沿って移動体を移動させるゲームを実現するのに好適なゲーム装置、ゲーム装置の制御方法、ならびに、これらをコンピュータにて実現するプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
以上の目的を達成するため、本発明の原理にしたがって、下記の発明を開示する。
【００１０】
本発明の第１の観点に係るゲーム装置は、表示部、検知部、変化部、判定部、修正部を備え、以下のように構成する。
【００１１】
ここで、表示部は、仮想２次元空間に配置される線状体と、当該仮想２次元空間内を移動する移動体と、を、画面に表示する。
【００１２】
本ゲーム装置においては、仮想２次元空間内で、移動体を移動させるゲームを提供する。この移動体は、仮想２次元空間に配置される線状体に接しているときは、当該線状体に沿って移動し、当該線状体から離間しているときは、仮想２次元空間内に設定された仮想的な物理法則にしたがって移動する。
【００１３】
たとえば、本ゲームにおいて、線状体でプレイヤーの両拳、両肩、首をつなぐ折線を、移動体で、小動物を、それぞれ模した場合には、プレイヤーの一方の拳から他方の拳へ、腕や肩に沿って小動物を移動させるゲームを提供することができる。
【００１４】
一方、検知部は、プレイヤーの動作を検知する。
【００１５】
上記の例では、位置センサや加速度センサを有するコントローラにより検知部を実現する場合には、プレイヤーは、両拳にそれぞれ当該コントローラを握り、当該コントローラを上下左右に動かす。すると、コントローラは、位置の変化や加速度を検知して、プレイヤーの動作を認識する。このほか、可視光カメラもしくは赤外線カメラによりプレイヤーの姿を動画で撮影し、画像認識を行って、時間経過とともに、ユーザがとっている姿勢の変化を追跡する手法を採用することもできる。
【００１６】
さらに、変化部は、検知された動作に基づいて、線状体の位置ならびに形状のいずれか少なくとも一方を変化させる。
【００１７】
たとえば、上記のゲームでは、現実世界におけるプレイヤーの右拳と左拳の位置を検知して、これらの位置に仮想２次元空間における線状体の端点の位置を連動させる。
【００１８】
この態様では、プレイヤーが右拳や左拳を上下に移動させれば、線状体の傾きが変化する。また、右拳と左拳を近付けたり遠ざけたりすれば、線状体の長さが変化する。
【００１９】
そして、移動体の位置を含むように設定された判定領域が、線状体と交差する場合、判定部は、移動体が線状体に接していると判定する。
【００２０】
すなわち、移動体の周囲には、当該移動体を囲むように、判定領域が設定されている。移動体が仮想２次元空間を移動すれば、この判定領域も当該移動体に追随して移動する。判定領域としては、たとえば、移動体を中心とする円や正方形、長方形等を採用することができる。
【００２１】
判定領域は、移動体が仮想２次元空間で占める領域よりも大きい領域であるから、移動体と線状体が少々離間していても、線状体と判定領域が交差することがありうる。この場合に判定部は、線状体に移動体が接していると判定する。
【００２２】
さらに、修正部は、移動体が線状体に接していると判定された場合、移動体の位置を、線状体に接するように修正する。
【００２３】
上記のように、移動体と線状体が少々離間していても、両者が接していると判定されることがある。そこで、このような場合に、移動体の位置を修正して、移動体と線状体が接するようにするのである。
【００２４】
上記のゲームでいえば、人間が腕や肩を動かしても、小動物は人間の体にしがみついているので、少々の動きでは、小動物が人間の体から離れてしまうことがない。本発明では、複雑な物理シミュレーションを行うことなく、簡易な計算で、このような状況を表現している。
【００２５】
すなわち、本発明によれば、仮想２次元空間において、プレイヤーの動作に連動して位置や形状を変化させる線状体に沿って移動体が移動するシミュレーションを、簡易な計算で実現することができる。
【００２６】
また、本発明のゲーム装置において、移動体が線状体に接していると判定された場合、変化部は、移動体の位置を、画面内の所定の目標位置に近付くように変化させるように構成することができる。
【００２７】
すなわち、本発明では、移動体は、線状体に沿って、自律的に画面内の所定の目標位置に近付こうと移動することになる。
【００２８】
たとえば、上記のゲームにおいて、目標位置として、当初は線状体の一方の端部が設定され、一旦移動体が当該一方の端部に到達すると、他方の端部に目標位置が設定されることを繰り返すことで、当該小動物とプレイヤーが遊ぶゲーム等を実現することができる。
【００２９】
また、仮想２次元空間内で固定された位置を目標位置とする場合には、目標位置の位置に小動物の巣が配置されていると想定して、小動物を、その巣に返すゲームが実現できる。
【００３０】
なお、判定領域が線状体に交差する間は、移動体を目標位置に近付ける処理と、移動体を線状体に接するように移動させる処理とを、交互に実行しても良いし、並列に実行しても良い。
【００３１】
本発明によれば、簡易な計算により、移動体を線状体に沿って自律的に移動させることが可能となる。
【００３２】
また、本発明のゲーム装置において、移動体が線状体に接していないと判定された場合、変化部は、移動体の位置を、所定の加速度で変化させるように構成することができる。
【００３３】
本発明は、仮想２次元空間に設定された重力を実現するものである。移動体が線状体に接していない、とは、たとえば、人間の体に小動物がしがみつくことができなくなった状況に相当する。この場合には、移動体の位置を所定の加速度で変化させることにより、小動物が地面に向かって落下する状況をシミュレートすることができる。
【００３４】
たとえば、地面に落ちた小動物がその場で立ち止まり、人間の腕が近付いてくると、その人間の腕にまたしがみつく、というような状況を実現するためには、移動体の位置が地面を表現する所定の基準線に達するとその移動を停止させることとするだけで良い。
【００３５】
線状体が移動体に近付き、判定領域が線状体に交差すると、移動体は線状体に沿って移動を始めるからである。
【００３６】
本発明によれば、移動体の落下などの物理シミュレーションを簡易な計算で実現することができる。
【００３７】
また、本発明のゲーム装置において、判定領域の大きさは、線状体の傾きに応じて変化するように構成することができる。
【００３８】
たとえば小動物が人間の体に沿って移動をする際には、人間の体の傾きが緩やかであればしっかりしがみつくことができて落下しにくいが、人間の体の傾きが急であれば落下しやすい、という状況が想定できる。
【００３９】
このような状況を実現するため、線状体の傾きに応じて判定領域の大きさを変化させる。判定領域の大きさによって、線状体と判定領域とが交差する可能性も変化する。
【００４０】
すなわち、判定領域が大きければ、線状体の位置や形状の変化が少々大きくても、判定領域と線状体は交差するので、移動体は線状体に接したままとなる。
【００４１】
一方、判定領域が小さければ、線状体の位置や形状の変化が小さくても、判定領域と線状体が交差しなくなる状況が生じる。したがって、移動体は線状体から離間しやすくなる。
【００４２】
本発明によれば、プレイヤーの動作に応じて移動体の線状体から落下のしやすさの程度を変化させることが、簡易な計算で可能となる。
【００４３】
また、本発明のゲーム装置において、表示部による表示、検知部による検知、変化部による変化、判定部による判定、修正部による修正は、所定の時間間隔で順に行われるように構成することができる。
【００４４】
本発明は上記発明の好適実施形態に係るもので、本発明の各部の動作を所定の時間間隔で繰り返し実行するものである。
【００４５】
ゲーム装置における画面への表示では、画面の垂直同期割込周期おきに、画面に表示される画像の更新が実行される。そこで、本発明では、当該画像の更新の時間間隔で、検知部が、プレイヤーの動作を検知し、変化部が、線状体や移動体の位置を変化させ、判定部が、線状体と移動体が接しているかを判定し、修正部が、判定結果に応じて移動体の位置を修正することを繰り返す。
【００４６】
本発明によれば、画面表示の更新に合わせて、各部の計算をスムースに実行することが可能となる。
【００４７】
本発明の第２の観点に係るゲーム制御方法は、表示部、検知部、変化部、判定部、修正部を有するゲーム装置を制御し、表示工程、検知工程、変化工程、判定工程、修正工程を備え、以下のように構成する。
【００４８】
すなわち、表示工程では、表示部が、仮想２次元空間に配置される線状体と、当該仮想２次元空間内を移動する移動体と、を、画面に表示する。
【００４９】
一方、検知工程では、検知部が、プレイヤーの動作を検知する。
【００５０】
さらに、変化工程では、変化部が、検知された動作に基づいて、線状体の位置ならびに形状のいずれか少なくとも一方を変化させる。
【００５１】
そして、判定工程では、移動体の位置を含むように設定された判定領域が、線状体と交差する場合、判定部が、移動体が線状体に接していると判定する。
【００５２】
一方、修正工程では、移動体が線状体に接していると判定された場合、修正部が、移動体の位置を、線状体に接するように修正する。
【００５３】
本発明の第３の観点に係るプログラムは、コンピュータを、表示部、検知部、変化部、判定部、修正部として機能させる。
【００５４】
ここで、表示部は、仮想２次元空間に配置される線状体と、当該仮想２次元空間内を移動する移動体と、を、画面に表示する。
【００５５】
一方、検知部は、プレイヤーの動作を検知する。
【００５６】
さらに、変化部は、検知された動作に基づいて、線状体の位置ならびに形状のいずれか少なくとも一方を変化させる。
【００５７】
そして、移動体の位置を含むように設定された判定領域が、線状体と交差する場合、判定部は、移動体が線状体に接していると判定する。
【００５８】
一方、修正部は、移動体が線状体に接していると判定された場合、移動体の位置を、線状体に接するように修正する。
【００５９】
本発明のプログラムは、コンパクトディスク、フレキシブルディスク、ハードディスク、光磁気ディスク、ディジタルビデオディスク、磁気テープ、半導体メモリ等のコンピュータ読取可能な情報記憶媒体に記録することができる。
【００６０】
上記プログラムは、プログラムが実行されるコンピュータとは独立して、コンピュータ通信網を介して配布・販売することができる。また、上記情報記憶媒体は、コンピュータとは独立して配布・販売することができる。
【発明の効果】
【００６１】
本発明によれば、仮想２次元空間内において、線状体の位置や形状をユーザの動作に合わせて変化させ、当該線状体に沿って移動体を移動させるゲームを実現するのに好適なゲーム装置、ゲーム装置の制御方法、ならびに、これらをコンピュータにて実現するプログラムを提供することができる。
【図面の簡単な説明】
【００６２】
【図１】典型的な情報処理装置の概要構成を示す模式図である。
【図２】本実施形態に係るゲーム装置における画面への表示例を示す説明図である。
【図３】本実施形態に係るゲーム装置における画面への表示例を示す説明図である。
【図４】本実施形態に係るゲーム装置における画面への表示例を示す説明図である。
【図５】本実施形態に係るゲーム装置における画面への表示例を示す説明図である。
【図６】本実施形態に係るゲーム装置における画面への表示例を示す説明図である。
【図７】本実施形態に係るゲーム装置の概要構成を示す模式図である。
【図８】本実施形態に係るＮＰＣや折線と判定領域の関係を説明する説明図である。
【図９】本実施形態に係るＮＰＣや折線と判定領域の関係を説明する説明図である。
【図１０】ＮＰＣの位置を修正する様子を示す説明図である。
【図１１】本実施形態に係るゲーム装置にて実行されるゲーム制御処理の制御の流れを示すフローチャートである。
【図１２】ＮＰＣを囲む判定領域が折線と交差している間に、ＮＰＣの位置がどのように更新されるかを示す説明図である。
【図１３】判定領域の大きさの例を示す説明図である。
【図１４】判定領域の大きさの例を示す説明図である。
【発明を実施するための形態】
【００６３】
以下に本発明の実施形態を説明する。以下では、理解を容易にするため、ゲーム用の情報処理装置を利用して本発明が実現される実施形態を説明するが、以下に説明する実施形態は説明のためのものであり、本願発明の範囲を制限するものではない。したがって、当業者であればこれらの各要素もしくは全要素をこれと均等なものに置換した実施形態を採用することが可能であるが、これらの実施形態も本発明の範囲に含まれる。
【実施例１】
【００６４】
（情報処理装置）
図１は、プログラムを実行することにより、本実施形態のゲーム装置として機能しうる典型的な情報処理装置の概要構成を示す模式図である。以下、本図を参照して説明する。
【００６５】
本図に示す情報処理装置１００は、いわゆるコンシューマゲーム機に相当するもので、ＣＰＵ（Central Processing Unit）１０１、ＲＯＭ（Read Only Memory）１０２、ＲＡＭ（Random Access Memory）１０３、インターフェース１０４、コントローラ１０５、外部メモリ１０６、画像処理部１０７、ＤＶＤ−ＲＯＭ（Digital Versatile Disc ROM）ドライブ１０８、ＮＩＣ（Network Interface Card）１０９、音声処理部１１０、マイク１１１、ハードディスク（Hard Disk；ＨＤ）１２１、カメラ１３１を有する。各種の入出力装置は、適宜省略することができる。
【００６６】
情報処理装置１００を典型的なコンシューマゲーム機として機能させる場合には、まず、ユーザは、ゲーム用プログラムおよびデータを記憶したＤＶＤ−ＲＯＭをＤＶＤ−ＲＯＭドライブ１０８に装着する。ついで、ユーザが電源を投入すると、当該ゲームプログラムが実行され、ユーザはゲームをプレイすることができるようになる。
【００６７】
ただし、本実施形態においては、典型的には、ＤＶＤ−ＲＯＭから、アプリケーションがＨＤ  １２１にインストールされる。なお、ＤＶＤ−ＲＯＭは、ＤＶＤ−ＲＯＭドライブ１０８に装着される。そして、当該ＨＤ  １２１に記憶されたプログラムを実行することによって、ゲームを含む各種のアプリケーションが実行されることとする。
【００６８】
なお、携帯型のゲーム装置においては、携帯可能とするために、ＨＤ  １２１を省略することも可能である。この場合、ＤＶＤ−ＲＯＭドライブ１０８は利用されない。そして、ユーザは、ＲＯＭカセット用スロットにＥＥＰＲＯＭ（Electrically Erasable Programmable ROM）カセットを装着する。ＥＥＰＲＯＭカセットには、アプリケーション用プログラムが書き込まれている。そして、当該プログラムが実行されることとなる。このほか、外部メモリ１０６にアプリケーション用プログラムをインストールすることも可能である。
【００６９】
さて、ＣＰＵ  １０１は、情報処理装置１００全体の動作を制御し、各構成要素と接続され制御信号やデータをやりとりする。また、ＣＰＵ  １０１は、レジスタ（図示せず）という高速アクセスが可能な記憶域を備える。ＣＰＵ  １０１は、レジスタに対してＡＬＵ（Arithmetic Logic Unit）（図示せず）を用いて、各種演算を行うことができる。行われる演算は、例えば、加減乗除等の算術演算や、論理和、論理積、論理否定等の論理演算、ビット和、ビット積、ビット反転、ビットシフト、ビット回転等のビット演算などである。さらに、ＣＰＵ  １０１は、マルチメディア処理対応のための加減乗除等の飽和演算や、三角関数等、ベクトル演算などを高速に行えるように構成されていてもよい。また、ＣＰＵ  １０１は、コプロセッサを備えることにより、このような高速演算を実現してもよい。
【００７０】
ＲＯＭ  １０２には、電源投入直後に実行されるＩＰＬ（Initial Program Loader）が記録されている。ＩＰＬが実行されることにより、ＤＶＤ−ＲＯＭに記録されたプログラムは、ＲＡＭ  １０３に読み出される。ついで、ＣＰＵ  １０１による当該プログラムの実行が開始される。また、ＲＯＭ  １０２には、オペレーティングシステムのプログラムや各種のデータが記録されている。オペレーティングシステムは、情報処理装置１００全体の動作を制御するために必要とされる。
【００７１】
ＲＡＭ  １０３は、データやプログラムを一時的に記憶する。ＲＡＭ  １０３には、ＨＤ  １２１やＤＶＤ−ＲＯＭ等から読み出されたプログラムやデータ、その他通信対戦ゲームの進行やチャット通信に必要なデータが保持される。また、ＣＰＵ  １０１は、ＲＡＭ  １０３に変数領域を設ける。ＣＰＵ  １０１は、当該変数に格納された値に対して直接ＡＬＵを作用させて演算してもよい。また、ＣＰＵ  １０１は、ＲＡＭ  １０３に格納された値を一旦レジスタに格納してからレジスタに対して演算を行い、演算結果をメモリに書き戻してもよい。
【００７２】
コントローラ１０５は、インターフェース１０４を介して接続される。コントローラ１０５は、ユーザがゲーム実行の際に行う操作入力を受け付ける。
【００７３】
なお、コントローラ１０５は、必ずしも情報処理装置１００に対して外付けにされている必要はなく、一体に形成されていても良い。携帯可能な画像処理装置のコントローラ１０５は、各種のボタンやスイッチから構成される。コントローラ１０５は、当該ボタンやスイッチに対する押圧操作を操作入力として扱う。このほか、タッチスクリーンを利用した情報処理装置１００では、ユーザがペンや指を利用してタッチスクリーンをなぞった軌跡を操作入力として扱う。
【００７４】
外部メモリ１０６は、インターフェース１０４を介して着脱自在に接続される。外部メモリ１０６には、ゲーム等のプレイ状況（過去の成績等）を示すデータ、ゲームの進行状態を示すデータ、ネットワーク対戦の場合のチャット通信のログ（記録）のデータなどが記憶される。外部メモリ１０６は書き換え可能である。ユーザがコントローラ１０５を介して必要な指示入力を行うと、これらのデータは適宜外部メモリ１０６に記録される。
【００７５】
上述の通り、アプリケーションプログラムを外部メモリ１０６にインストールして実行するような形態を採用することもできる。これは、外部メモリ１０６が大容量である場合に好適である。
【００７６】
ＤＶＤ−ＲＯＭドライブ１０８に装着されるＤＶＤ−ＲＯＭには、ゲームを実現するためのプログラムとゲームに付随する画像データや音声データが記録される。ＣＰＵ  １０１の制御によって、ＤＶＤ−ＲＯＭドライブ１０８は、装着されたＤＶＤ−ＲＯＭに対する読み出し処理を行って、必要なプログラムやデータを読み出す。読み出されたプログラムやデータは、ＲＡＭ  １０３等に一時的に記憶される。
【００７７】
画像処理部１０７は、まず、ＤＶＤ−ＲＯＭから読み出されたデータをＣＰＵ  １０１や画像処理部１０７が備える画像演算プロセッサ（図示せず）によって加工処理する。ついで、画像処理部１０７は、加工処理により得た画像情報を、フレームメモリ（図示せず）に記録する。フレームメモリは、画像処理部１０７に搭載されている。フレームメモリに記録された画像情報は、所定の同期タイミングでビデオ信号に変換され、画像処理部１０７に接続されるモニタ（図示せず）へ出力される。これにより、各種の画像表示が可能となる。
【００７８】
携帯可能な画像処理装置のモニタとしては、小型の液晶ディスプレイを利用するのが典型的である。コントローラ１０５としてタッチスクリーンが利用される場合には、当該タッチスクリーンの表示パネルがモニタとして機能する。自宅で遊ぶための端末装置やネットワークゲームのサーバ装置のモニタとしては、ＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）やプラズマディスプレイなどの表示装置を利用することも可能である。
【００７９】
画像演算プロセッサは、２次元の画像の重ね合わせ演算やαブレンディング等の透過演算、各種の飽和演算を高速に実行できる。
【００８０】
また、レンダリング画像を得る演算を高速実行することも可能である。レンダリング画像は、所定の視点位置から仮想３次元空間に配置されたポリゴンを所定の視線の方向へ俯瞰した画像である。レンダリング画像は、当該３次元空間内に配置され、各種のテクスチャ情報が付加されたポリゴン情報を、Ｚバッファ法などによりレンダリングすることにより得られる。
【００８１】
さらに、ＣＰＵ  １０１と画像演算プロセッサが協調動作することにより、フォント情報にしたがって、文字列を２次元画像として描画することが可能である。なお、フォント情報は、文字の形状を定義する。文字列を表す画像は、フレームメモリや各ポリゴン表面へ描画される。
【００８２】
ＮＩＣ  １０９は、インターネット接続機器（図示せず）と、ＣＰＵ  １０１との仲立ちを行うインターフェースである。ＮＩＣ  １０９は、情報処理装置１００をインターネット等のコンピュータ通信網（図示せず）に接続する際に用いられる。インターネット接続機器は、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）を構成する際に用いられる１０ＢＡＳＥ−Ｔ／１００ＢＡＳＥ−Ｔ規格にしたがうものや、電話回線を用いてインターネットに接続するためのアナログモデム、ＩＳＤＮ（Ｉｎｔｅｇｒａｔｅｄ  Ｓｅｒｖｉｃｅｓ  Ｄｉｇｉｔａｌ  Ｎｅｔｗｏｒｋ）モデム、ＡＤＳＬ（Ａｓｙｍｍｅｔｒｉｃ  Ｄｉｇｉｔａｌ  Ｓｕｂｓｃｒｉｂｅｒ  Ｌｉｎｅ）モデム、ケーブルテレビジョン回線を用いてインターネットに接続するためのケーブルモデム等であっても良い。
【００８３】
また、ＮＩＣ  １０９経由でコンピュータ通信網から入手した情報を元に、ＨＤ  １２１等にアプリケーションプログラムをインストールすることも可能である。
【００８４】
音声処理部１１０は、ＨＤ  １２１やＤＶＤ−ＲＯＭから読み出した音声データをアナログ音声信号に変換し、接続されたスピーカ（図示せず）から出力させる。また、ＣＰＵ  １０１の制御の下、音声処理部１１０は、ゲームの進行の中で発生させるべき効果音や楽曲データを生成する。そして、音声処理部１１０は、生成した効果音や楽曲データに対応した音声をスピーカや、ヘッドホン（図示せず）、イヤフォン（図示せず）から出力させる。
【００８５】
音声処理部１１０は、ＨＤ  １２１やＤＶＤ−ＲＯＭに記録された音声データがＭＩＤＩデータである場合には、音源データを参照して、ＭＩＤＩデータをＰＣＭデータに変換する。なお、音声処理部１１０は、ＭＩＤＩ音源データを有する。また、当該音声データがＡＤＰＣＭ形式やＯｇｇ  Ｖｏｒｂｉｓ形式等の圧縮済音声データである場合には、音声処理部１１０は、これを展開してＰＣＭデータに変換する。ＰＣＭデータを、そのサンプリング周波数に応じたタイミングでＤ／Ａ（Ｄｉｇｉｔａｌ／Ａｎａｌｏｇ）変換し、スピーカに出力することにより、音声出力が可能となる。
【００８６】
さらに、情報処理装置１００には、インターフェース１０４を介してマイク１１１を接続することができる。この場合、マイク１１１からのアナログ信号に対しては、情報処理装置１００は、適当なサンプリング周波数でＡ／Ｄ変換を行う。すなわち、マイク１１１からの音声信号は、ＰＣＭ形式のディジタル信号に変換される。したがって、音声処理部１１０でミキシング等の処理を行うことが可能となる。
【００８７】
本実施形態で利用する情報処理装置１００は、上述のように、ＨＤ  １２１等の大容量外部記憶装置を用いるのが典型的である。ＨＤ  １２１は、ＲＯＭ  １０２、ＲＡＭ  １０３、外部メモリ１０６、ＤＶＤ−ＲＯＭドライブ１０８に装着されるＤＶＤ−ＲＯＭ等と同じ機能を果たすこともできる。
【００８８】
さらに、本実施形態で利用する情報処理装置１００には、カメラ１３１が接続されている。このカメラ１３１は、現実世界の様子を動画ならびに静止画で撮影する。カメラ１３１によりユーザの顔の表情や体の姿勢を撮影し、ＣＰＵ  １０１や専用ハードウェア（図示せず）を利用して画像認識を行うことにより、ユーザの顔の位置や表情、体の各部位の位置を取得することができる。コントローラ１０５に対する指示操作にかえて、画像認識により得られた各種の情報を利用することも可能である。
【００８９】
このほか、キーボードや、マウスなどを接続する形態も採用することができる。キーボードは、ユーザからの文字列の編集入力を受け付ける。そして、マウスは、各種の位置の指定および選択入力を受け付ける。また、本実施形態の情報処理装置１００にかえて、汎用のパーソナルコンピュータやサーバ用コンピュータ等を利用することもできる。
【００９０】
以上で説明した情報処理装置１００は、コンシューマ向けゲーム装置に相当するものである。しかしながら、各種の入出力処理が可能な電子機器であれば、本発明の端末装置やサーバ装置を実現することができる。したがって、携帯電話、携帯ゲーム機器、カラオケ装置、一般的なビジネス用コンピュータなど、種々の計算機上で本発明の端末装置やサーバ装置を実現することが可能である。
【００９１】
たとえば、ビジネス用コンピュータは、上記情報処理装置１００と同様に、ＣＰＵ、ＲＡＭ、ＲＯＭ、ＤＶＤ−ＲＯＭドライブ、および、ＮＩＣ、ＨＤを構成要素として有する。また、ビジネス用コンピュータは、情報処理装置１００よりも簡易な機能を備えた画像処理部を備える。そして、ビジネス用コンピュータにおいては、外部記憶装置としてフレキシブルディスク、光磁気ディスク、磁気テープ等が利用できる。ビジネス用コンピュータにおいては、コントローラ１０５ではなく、キーボードやマウスなどが入力装置として利用されるのが典型的である。
【００９２】
（ゲーム装置）
本実施形態に係るゲーム装置は、情報処理装置１００において、ＤＶＤ−ＲＯＭやハードディスク１２１に記録されたゲーム用のプログラムを、ＣＰＵ  １０１が実行し、情報処理装置１００の各部を制御することによって実現される。
【００９３】
以下、理解を容易にするため、本ゲーム装置において提供されるゲームの内容について説明する。
【００９４】
本ゲーム装置は、仮想２次元空間内で、移動体を移動させるゲームを提供する。この移動体は、仮想２次元空間に配置される線状体に接しているときは、当該線状体に沿って移動し、当該線状体から離間しているときは、仮想２次元空間内に設定された仮想的な物理法則にしたがって移動する。
【００９５】
本ゲームにおいては、プレイヤーが操作するＰＣ（Player Character）の両拳、両腕、両肩をつなぐ折線により線状体が表現され、ゲームに登場する小動物を表すＮＰＣ（Non-Player Character）により、移動体が表現される。本ゲームでは、ＰＣの一方の拳から他方の拳へ、腕や肩に沿って小動物を移動させる。
【００９６】
図２、図３、図４、図５、図６は、本実施形態に係るゲーム装置における画面への表示例を示す説明図である。以下、本図を参照して説明する。
【００９７】
図２に示すように、画面２０１には、プレイヤーの動作に応じて姿勢を変化させるＰＣ  ２０２と、所定のアルゴリズムに基づいて動作する小動物を模したＮＰＣ  ２０３と、が、線で描かれた地面２０４の上に描画されている。また、画面２０１の左上方には、目標地点２０５が描画されている。
【００９８】
ＰＣ  ２０２において右拳２１１、右腕２１２、右肩２１３、左肩２２３、左腕２２２、左拳２２１を経由する折線２０７が、線状体に相当する。また、ＮＰＣ  ２０３が、移動体に相当する。
【００９９】
本ゲームでは、プレイヤーは、図３に示すように、ＰＣ  ２０２の姿勢を変化させて、地面２０４の右側にいるＮＰＣ  ２０３をＰＣ  ２０２の右拳２１１に載せる。
【０１００】
すると、ＮＰＣ  ２０３は、目標地点２０５に近付くように、右腕２１２、右肩２１３、左肩２２３、左腕２２２、左拳２２１を経由する折線２０７に沿った移動を開始する。
【０１０１】
図４には、ＮＰＣ  ２０３がＰＣ  ２０２の右肩２１３の近傍を移動している様子が示されている。これらの図にも示す通り、ＰＣ  ２０２の姿勢は、プレイヤーの動作に応じて変化している。
【０１０２】
プレイヤーが適切なタイミングで姿勢を変化させて、図５に示すように、左拳２２１を目標地点２０５の近傍に寄せると、ＮＰＣ  ２０３が目標地点に達したことになり、本ゲームは成功裏にクリアされる。
【０１０３】
一方、プレイヤーの姿勢の変化が激し過ぎると、図６に示すように、ＮＰＣ  ２０３は、ＰＣ  ２０２の体から落下してしまい、地面２０４に至る。
【０１０４】
プレイヤーはＰＣ  ２０２の姿勢を変化させて、地面２０４に至ったＮＰＣを、再度右拳２１１に載せ、もう一度ＮＰＣ  ２０３を目標地点に移動させる試行を行うことができる。
【０１０５】
なお、ＮＰＣ  ２０３の落下の回数が所定の回数となった場合には、ゲームオーバーになるように、ゲームのルールを設定しても良い。
【０１０６】
以下、上記のゲームを実現するゲーム装置の詳細について説明する。図７は、本実施形態に係るゲーム装置の概要構成を示す説明図である。以下、本図を参照して説明する。
【０１０７】
本図に示すように、ゲーム装置６０１は、表示部６０２、検知部６０３、変化部６０４、判定部６０５、修正部６０６、記憶部６０７を備える。
【０１０８】
ここで、記憶部６０７には、線状体を表現するＰＣ  ２０２の各点の位置や、移動体を表現するＮＰＣ  ２０３の各点の位置が記憶される。本実施形態では、記憶部６０７は、ＲＡＭ  １０３により構成される。
【０１０９】
ここで、表示部６０２は、仮想２次元空間に配置される線状体と、当該仮想２次元空間内を移動する移動体と、を、画面２０１に表示する。
【０１１０】
本実施形態では、ＣＰＵ  １０１の制御の下、ＲＡＭ  １０３に記憶される情報を参照しながら、画像処理部１０７が表示部６０２として機能する。
【０１１１】
一方、検知部６０３は、プレイヤーの動作を検知する。
【０１１２】
本実施形態では、カメラ１３１によりプレイヤーの姿を動画で撮影し、リアルタイムで画像認識を行う。すると、時間経過に合わせて、ユーザがとっている姿勢の変化、特に右拳と左拳の位置が追跡されることになる。
【０１１３】
すなわち、本実施形態では、ＣＰＵ  １０１の制御の下、カメラ１３１やコントローラ１０５等が、検知部６０３として機能する。
【０１１４】
このほか、可視光カメラもしくは赤外線カメラによりプレイヤーの姿を動画で撮影し、画像認識を行って、時間経過とともに、ユーザがとっている姿勢の変化を追跡する手法を採用することもできる。
【０１１５】
さらに、変化部６０４は、検知された動作に基づいて、線状体の位置ならびに形状のいずれか少なくとも一方を変化させる。
【０１１６】
本実施形態では、プレイヤーの右拳と左拳の位置が検知されるので、検知された結果に、ＰＣ  ２０２の右拳２１１と左拳２２１の位置を連動させて、画面２０１内で移動させる。
【０１１７】
なお、ＰＣ  ２０２の右腕２１２、右肩２１３、左肩２２３、左腕２２２の位置は、ＰＣ  ２０２の右拳２１１と左拳２２１の位置から補間することとしても良いし、カメラ１３１を用いた画像認識で得られた位置に連動させて画面２０１内で移動させても良い。
【０１１８】
本実施形態では、プレイヤーが現実世界で右拳や左拳を上下に移動させれば、線状体の傾きが変化する。また、右拳と左拳を近付けたり遠ざけたりすれば、線状体の長さが変化する。
【０１１９】
したがって、ＣＰＵ  １０１が、ＲＡＭ  １０３に記憶される情報を更新することにより、変化部６０４として機能する。
【０１２０】
なお、位置センサや加速度センサを有するコントローラにより検知部６０３を実現することも可能である。この態様では、プレイヤーは、両拳にそれぞれ当該コントローラを握り、当該コントローラを上下左右に動かす。すると、コントローラは、位置の変化や加速度を検知して、プレイヤーの動作を認識する。そして、認識された位置の変化や加速度に応じて、ＰＣ  ２０２の右拳２１１と左拳２２１の位置を変化させれば良い。
【０１２１】
また、コントローラ１０５が有する各種のボタンの押圧操作を、プレイヤーの動作として検知する態様を採用することもできる。この場合には、押圧されたボタンの種類に応じてＰＣ  ２０２の右拳２１１と左拳２２１の位置を変化させることになる。
【０１２２】
さて、判定部６０５は、移動体の位置を含むように設定された判定領域が、線状体と交差する場合、移動体が線状体に接していると判定する。
【０１２３】
すなわち、移動体の周囲には、当該移動体を囲むように、判定領域が設定されている。移動体が仮想２次元空間を移動すれば、この判定領域も当該移動体に追随して移動する。判定領域としては、たとえば、移動体を中心とする円や正方形、長方形等を採用することができる。
【０１２４】
判定領域は、移動体が仮想２次元空間で占める領域よりも大きい領域であるから、移動体と線状体が少々離間していても、線状体と判定領域が交差することがありうる。この場合に判定部６０５は、線状体に移動体が接していると判定する。
【０１２５】
図８、図９は、本実施形態に係るＮＰＣ  ２０３や折線２０７と判定領域の関係を説明する説明図である。以下、本図を参照して説明する。
【０１２６】
これらの図に示す例では、判定領域７０１は、ＮＰＣ  ２０３を中心とする円形をしている。
【０１２７】
図８では、判定領域７０１と折線２０７とが交差していない。したがって、折線２０７とＮＰＣ  ２０３とは、接していない、と、判定されることになる。なお、この後は、図６に示すように、ＮＰＣ  ２０３はＰＣ  ２０２から落下することになる。
【０１２８】
図９では、判定領域７０１と折線２０７とが交差している。したがって、折線２０７とＮＰＣ  ２０３とは、接している、と、判定されることになる。
【０１２９】
本実施形態では、ＣＰＵ  １０１が、ＲＡＭ  １０３に記憶される情報を参照することにより、判定部６０５として機能する。
【０１３０】
さらに、修正部６０６は、移動体が線状体に接していると判定された場合、移動体の位置を、線状体に接するように修正する。
【０１３１】
上記のように、移動体と線状体が少々離間していても、両者が接していると判定されることがある。そこで、このような場合に、移動体の位置を修正して、移動体と線状体が接するようにするのである。
【０１３２】
図１０は、図９に示す状況に対して、ＮＰＣ  ２０３の位置を修正する様子を示す説明図である。以下、本図を参照して説明する。
【０１３３】
本図においては、修正前のＮＰＣ  ２０３の位置は点線で表記され、修正後のＮＰＣ  ２０３の位置は実線で表記されている。
【０１３４】
本図に示す例では、ＮＰＣ  ２０３の位置を、折線２０７に向かって垂直に、ＮＰＣ  ２０３が折線２０７の上側に接するように移動することにより、修正がなされている。すなわち、後述する仮想的な重力の方向とは逆の側で接するまで、ＮＰＣ  ２０３を移動している。
【０１３５】
なお、ＮＰＣ  ２０３の位置を画面２０１の鉛直方向に折線２０７に近付くように移動して、修正することとしても良い。
【０１３６】
このように、プレイヤーが少々腕や肩を動かして、折線２０７からＮＰＣ  ２０３が少々離れたとしても、ＮＰＣ  ２０３が折線２０７に接するようにＮＰＣ  ２０３の位置を修正する。
【０１３７】
したがって、ＮＰＣ  ２０３がＰＣ  ２０２の体の一部である折線２０７にしがみついているかのような状況を、複雑な物理シミュレーションを行わずに、簡易な計算のみで、表現することができる。
【０１３８】
本実施形態では、ＣＰＵ  １０１がＲＡＭ  １０３に記憶される情報を参照し、更新することで、修正部６０６として機能する。
【０１３９】
以下では、本ゲーム装置６０１が実行するゲーム制御処理の流れについて詳細に説明する。
【０１４０】
図１１は、本実施形態に係るゲーム制御処理の制御の流れを示すフローチャートである。以下、本図を参照して説明する。
【０１４１】
本ゲーム制御処理は、情報処理装置１００において、ＣＰＵ  １０１が、ＤＶＤ−ＲＯＭからＲＡＭ  １０３内にロードされたプログラムの実行を開始することによって起動される。
【０１４２】
本処理が開始されると、まず、ＣＰＵ  １０１は、各種の初期化を行う（ステップＳ８０１）。この初期化では、以下のようなＲＡＭ  １０３内において、情報のような情報が初期化される。
（ａ）ＰＣ  ２０３の右拳２１１、右腕２１２、右肩２１３、左拳２２１、左腕２２２、左肩２２３等、各点の位置。
（ｂ）ＮＰＣ  ２０３の位置。
（ｃ）目標地点２０５の位置。
（ｄ）判定領域７０１の大きさ。
（ｅ）ＮＰＣ  ２０３の速度ならびに加速度。
【０１４３】
なお、本実施形態では、ＮＰＣ  ２０３の速度ならびに加速度は、当初は０に初期化される。
【０１４４】
そして、ＣＰＵ  １０１は、画像処理部１０７を制御して、現在ＲＡＭ  １０３に記憶されている情報に基づいて、仮想２次元空間の様子を表す画像を生成し（ステップＳ８０２）、垂直同期割込が生じるまで待機する（ステップＳ８０３）。この待機の間には、各種の処理をコルーチン的に実行することができる。
【０１４５】
垂直同期割込が発生したら、ＣＰＵ  １０１は、画像処理部１０７を制御して、生成された画像をモニタの画面２０１に転送し、表示する（ステップＳ８０４）。
【０１４６】
ついで、ＣＰＵ  １０１は、カメラ１３１によって撮影された動画から、プレイヤーの姿を画像認識し、右拳と左拳の位置を検知する。これによって、プレイヤーの動きが検知されたことになる（ステップＳ８０５）
【０１４７】
そして、検知された位置に連動して、ＲＡＭ  １０３内における右拳２１１ならびに左拳２２１の位置を更新し、右腕２１２、右肩２１３、左腕２２２、左肩２２３の位置や、その他のＰＣ  ２０３の各点の位置を、適宜補間、あるいは、画像認識の結果から設定する。これによって、ＰＣ  ２０３の位置や形状を変化させたことになる（ステップＳ８０６）。
【０１４８】
ついで、ＣＰＵ  １０１は、ＲＡＭ  １０３内に記憶された情報に基づいて、ＮＰＣ  ２０３の位置を変化させる（ステップＳ８０７）。最も単純には、以下のような計算を行う。
（１）ＲＡＭ  １０３内に記憶されたＮＰＣ  ２０３の加速度に、垂直同期割込周期を乗じて、ＮＰＣ  ２０３の速度の変位を求め、ＲＡＭ  １０３内に記憶された速度に加算する。
（２）ＲＡＭ  １０３内に記憶されたＮＰＣ  ２０３の速度に、垂直同期割込周期を乗じて、ＮＰＣ  ２０３の位置の変位を求め、ＲＡＭ  １０３内に記憶された位置に加算する。
【０１４９】
また、ＲＡＭ  １０３内に、ＮＰＣ  ２０３の速度や加速度の履歴を記録して、台形補間やルンゲ・クッタ法による補間を用いて、ＮＰＣ  ２０３の位置を更新することとしても良い。
【０１５０】
なお、前述のように、ＮＰＣ  ２０３の速度ならびに加速度は、当初はゼロである。
【０１５１】
ついで、ＣＰＵ  １０１は、ＲＡＭ  １０３内に記憶された情報に基づいて、折線２０７と判定領域７０１が交差しているか否かを判定する（ステップＳ８０８）。
【０１５２】
交差している場合（ステップＳ８０８；Ｙｅｓ）、ＣＰＵ  １０１は、ＮＰＣ  ２０３が折線２０７に接するように、ＲＡＭ  １０３内に記憶されるＮＰＣ  ２０３の位置を修正する（ステップＳ８０９）、
【０１５３】
そして、ＣＰＵ  １０１は、現在のＮＰＣ  ２０３の位置と目標位置２０５の位置との差が、所定の誤差範囲内であるか否か、すなわち、ＮＰＣ  ２０３が目標位置２０５に到達したか否かを判定する（ステップＳ８１０）。所定の誤差範囲内であれば（ステップＳ８１０；Ｙｅｓ）、ＣＰＵ  １０１は、当該ゲームがクリアされた旨を画面２０１に表示して（ステップＳ８１１）、本処理を終了する。
【０１５４】
一方、所定の誤差範囲内でなければ（ステップＳ８１０；Ｎｏ）、ＣＰＵ  １０１は、現在のＮＰＣ  ２０３の位置から目標位置２０５の位置へ向かう方向を求め、当該方向の所定の長さの速度ベクトルをＮＰＣ  ２０３の速度とし、ＮＰＣ  ２０３の加速度を０として、ＲＡＭ  １０３に記憶させる（ステップＳ８１２）。
【０１５５】
さらに、ゲーム進行に係る各種の処理を実行した後（ステップＳ８１３）、ステップＳ８１５に進む。ここで実行される各種の処理としては、たとえば、ゲームのＢＧＭ（Back Ground Music）の演奏の制御やゲームの時間経過の計測など、種々のものがある。
【０１５６】
さて、折線２０７と判定領域７０１が交差していないと判定された場合（ステップＳ８０８；Ｎｏ）、ＣＰＵ  １０１は、ＮＰＣ  ２０３の速度を０とし、ＮＰＣ  ２０３の加速度を、画面２０１の上から下に向かう仮想的な重力加速度にして、ＲＡＭ  １０３に記憶させて（ステップＳ８１４）、ステップＳ８１３に進む。
【０１５７】
さらに、ＣＰＵ  １０１は、ＮＰＣ  ２０３の位置が、地面２０４に至っているか否かを調べる（ステップＳ８１５）。地面に至っていれば（ステップＳ８１５；Ｙｅｓ）、ＣＰＵ  １０１は、ＮＰＣ  ２０３の速度を０とし、ＮＰＣ  ２０３の加速度０として、ＲＡＭ  １０３に記憶させて（ステップＳ８１６）、ステップＳ８０２に進む。
【０１５８】
一方、ＮＰＣ  ２０３の位置が地面に至っていなければ（ステップＳ８１５；Ｎｏ）、ステップＳ８０２にそのまま進む。
【０１５９】
図１２は、ＮＰＣ  ２０３を囲む判定領域７０１が折線２０７と交差している間に、ＮＰＣ  ２０３の位置がどのように更新されるかを示す説明図である。以下、本図を参照して説明する。
【０１６０】
ある時点で、ＮＰＣ  ２０３が、位置９０１に配置されており、折線２０７が、位置９１１に配置されていたものとする。
【０１６１】
この後、垂直同期割込が生じると、折線２０７は、プレイヤーの動きに連動して移動して、位置９１２に移動する。
【０１６２】
また、ＮＰＣ  ２０３は、速度に垂直同期割込周期を乗じた変位９３１だけ移動して、位置９０２に至る。
【０１６３】
すると、本図の例では、ＮＰＣ  ２０３の位置９０２を囲む判定領域７０１が折線２０７と交差しているので、ＮＰＣ  ２０３の位置を、位置９０３に修正する。
【０１６４】
このように、本実施形態では、ＮＰＣ  ２０３を囲む判定領域７０１が折線２０７と交差している間は、ＮＰＣ  ２０３は、目標位置２０５に近付こうとする速度により移動するが、ＮＰＣ  ２０３の位置が修正されて、折線２０７に接するようになる。全体として見ると、ＮＰＣ  ２０３は、折線２０７に沿って、目標位置２０５に近付くように移動するのである。
【０１６５】
また、ＮＰＣ  ２０３を囲む判定領域７０１が折線２０７と交差しなくなると、ＮＰＣ  ２０３には仮想的な重力が印加され、地面２０４に至るまで、ＮＰＣ  ２０３は落下を続けることになる。
【０１６６】
なお、落下の途中でプレイヤーが姿勢を変化させて、折線２０７をＮＰＣ  ２０３に近付けて、ＮＰＣ  ２０３を囲む判定領域７０１が折線２０７に交差すると、ＮＰＣ  ２０３は、また、折線２０７に沿って移動を開始することになる。これは、落下中のＮＰＣ  ２０３をＰＣ  ２０２が拾い上げたことに相当する。
【０１６７】
上記の態様では、目標位置２０５は、画面２０１内の所定位置に固定されていたが、この位置は任意に変更できることとしても良い。
【０１６８】
たとえば、ＮＰＣ  ２０３がＰＣ  ２０２の右拳２１１の上にいるときは、ＮＰＣ  ２０３が左拳２２１に至るまで、各時点での左拳２２１の位置が目標位置２０５に設定され、その後ＮＰＣ  ２０３が左拳２２１に至ると、ＮＰＣ  ２０３が右拳２１１に至るまで、各時点での右拳２２１の位置が目標位置２０５に設定される、等である。この態様では、プレイヤーは、ＮＰＣ  ２０３をＰＣ  ２０２の両拳２１１、２２１の間で往復させる遊びをプレイすることができる。
【０１６９】
また、上記の態様では、各種の計算処理が、垂直同期割込周期という画面の更新の時間間隔で実行されることとしている。このように構成することで、各計算が逐次にスムースに実行されることとなるが、各種の割込処理を利用して、計算処理を並列に実行することとしても良い。
【０１７０】
また、上記の説明では、垂直同期割込周期を繰り返しの時間間隔としているが、適宜間引きを行い、垂直同期割込周期の定数倍を繰り返しの時間間隔としても良い。
【実施例２】
【０１７１】
上記の例では、判定領域７０１の大きさは、初期化された値で一定であるとしていたが、これを可変とすることとしても良い。
【０１７２】
図１３、図１４は、判定領域の大きさの例を示す説明図である。以下、本図を参照して説明する。
【０１７３】
本実施例では、判定領域７０１の大きさを、線状体を表す折線２０７全体の傾き、すなわち、右拳２１１と左拳２２１とを結ぶ線分９５１の傾き９５２に応じて変化させる。
【０１７４】
そして、傾き９５２が大きければ、判定領域７０１を小さくし、傾き９５２が小さければ、判定領域７０１を大きくするのである。このように、判定領域７０１の大きさを変化させる処理は、たとえばステップＳ８１３において、ＣＰＵ  １０１がＲＡＭ  １０３を更新することによって、実行される。
【０１７５】
図１３に示すように、折線２０７の傾き９５２が小さく、判定領域７０１が大きければ、折線２０７の位置や形状の変化が少々大きくても、判定領域７０１と折線２０７は交差するので、ＮＰＣ  ２０３は折線２０７に接したままとなる。
【０１７６】
一方、図１４に示すように、折線２０７の傾き９５２が大きく、判定領域７０１が小さくなれば、折線２０７の位置や形状の変化が小さくても、判定領域７０１と折線２０７が交差しなくなる状況が生じる。したがって、ＮＰＣ  ２０３は折線２０７から離間しやすくなる。
【０１７７】
小動物が人間の体に沿って移動をする際には、人間の体の傾きが緩やかであればしっかりしがみつくことができて落下しにくいが、人間の体の傾きが急であれば落下しやすい、という状況が想定できる。
【０１７８】
本実施形態では、プレイヤーの動作に応じて移動体の線状体から落下のしやすさの程度を変化させて、上記のような状況を表現することが、簡易な計算で可能となる。
【産業上の利用可能性】
【０１７９】
以上説明したように、本実施形態によれば、仮想２次元空間内において、線状体の位置や形状をユーザの動作に合わせて変化させ、当該線状体に沿って移動体を移動させるゲームを実現するのに好適なゲーム装置、ゲーム装置の制御方法、ならびに、これらをコンピュータにて実現するプログラムを提供することができる。
【符号の説明】
【０１８０】
１００  情報処理装置
１０１  ＣＰＵ
１０２  ＲＯＭ
１０３  ＲＡＭ
１０４  インターフェース
１０５  コントローラ
１０６  外部メモリ
１０７  画像処理部
１０８  ＤＶＤ−ＲＯＭドライブ
１０９  ＮＩＣ
１１０  音声処理部
１１１  マイク
１２１  ＨＤ
１３１  カメラ
２０１  画面
２０２  ＰＣ
２０３  ＮＰＣ
２０４  地面
２０５  目標地点
２０７  折線
２１１  右拳
２１２  右腕
２１３  右肩
２２１  左拳
２２２  左腕
２２３  左肩
６０１  ゲーム装置
６０２  表示部
６０３  検知部
６０４  変化部
６０５  判定部
６０６  修正部
６０７  記憶部
７０１  判定領域
９０１  ＮＰＣの位置
９０２  ＮＰＣの位置
９０３  ＮＰＣの位置
９１１  折線の位置
９１２  折線の位置
９３１  ＮＰＣの変位
９５１  線分
９５２  傾き
【図１】
0005255610.tif 000002
【図２】
0005255610.tif 000003
【図３】
0005255610.tif 000004
【図４】
0005255610.tif 000005
【図５】
0005255610.tif 000006
【図６】
0005255610.tif 000007
【図７】
0005255610.tif 000008
【図８】
0005255610.tif 000009
【図９】
0005255610.tif 000010
【図１０】
0005255610.tif 000011
【図１１】
0005255610.tif 000012
【図１２】
0005255610.tif 000013
【図１３】
0005255610.tif 000014
【図１４】
0005255610.tif 000015