説明

ゲーム装置、ゲーム装置の制御方法、ならびに、プログラム

【課題】仮想空間内において、支持体の位置をユーザの動作に合わせて変化させ、これに連動して移動体を移動させる。
【解決手段】ゲーム装置601において、表示部602は、仮想空間に配置される移動体と支持体を画面に表示する。検知部603は、プレイヤーの動作を検知する。変化部604は、検知された動作に基づいて、支持体の位置を変化させる。判定部605は、移動体に設定された支持点を含むように設定された判定領域が、支持体と重なる場合、支持点が支持体に支持されていると判定する。支持点が支持体に支持されていると判定されている間、設定部608は、判定領域が広くなるように設定し、修正部606は、当該支持体に支持されている支持点の位置の変化と、当該支持点を支持している支持体の位置の変化と、が連動するように、移動体の位置および向きの少なくとも一方を修正する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ユーザの動作に合わせて仮想空間内の支持体の位置を変化させ、当該支持体により当該仮想空間内の移動体を支持して、当該支持体の移動に合わせて当該移動体を移動させるゲームを実現するのに好適なゲーム装置、ゲーム装置の制御方法、ならびに、これらをコンピュータにて実現するプログラムに関する。
【背景技術】
【0002】
従来から、仮想空間を移動する移動体をリアルに表現するために、物理シミュレーションを実行する技術が開示されている。
【0003】
たとえば、特許文献1においては、布状体と当該布状体が交差しない障害物との仮想3次元空間における移動をシミュレートする技術が開示されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2006−146807号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、現実世界には、人の手で物体の表面に触れたり物体の表面を挟んだりすることで物体を支持して、当該物体を移動させる際には、動摩擦や静止摩擦など、物理的な振舞いが必ずしも判明していない現象があり、物理シミュレーションには、多大な計算量を要することも多い。
【0006】
そこで、簡易な計算で、仮想空間における支持体と移動体の振舞いを、人の手に支持される物体の振舞いに近似させ、ユーザに自然でリアルに見えるようにシミュレーションする技術が強く望まれている。
【0007】
本発明は、上記のような課題を解決するもので、ユーザの動作に合わせて仮想空間内の支持体の位置を変化させ、当該支持体により当該仮想空間内の移動体を支持して、当該支持体の移動に合わせて当該移動体を移動させるゲームを実現するのに好適なゲーム装置、ゲーム装置の制御方法、ならびに、これらをコンピュータにて実現するプログラムを提供することを目的とする。
【課題を解決するための手段】
【0008】
以上の目的を達成するため、本発明の原理にしたがって、下記の発明を開示する。
【0009】
本発明の第1の観点に係るゲーム装置は、表示部、検知部、変化部、判定部、設定部、修正部を備え、以下のように構成する。
【0010】
すなわち、表示部は、仮想空間に配置される移動体と、当該移動体を支持可能な複数の支持体と、を画面に表示する。
【0011】
本ゲーム装置においては、仮想2次元空間内で、移動体を支持体によって支持して移動させるゲームを提供する。たとえば、仮想空間内の巨大なボールを移動体とし、このボールを支える仮想的なマジックハンドを支持体として、一人で、あるいは、複数のプレイヤーが、マジックハンドでボールの表面の何箇所かを支えながらボールを移動させるゲームが提供される。
【0012】
一方、検知部は、1人または複数のプレイヤーの動作を検知する。
【0013】
上記の例では、位置センサや加速度センサを有するコントローラにより検知部を実現する場合には、プレイヤーは、両拳にそれぞれ当該コントローラを握り、当該コントローラを上下左右に動かす。すると、コントローラは、位置の変化や加速度を検知して、プレイヤーの動作を認識する。このほか、可視光カメラもしくは赤外線カメラによりプレイヤーの姿を動画で撮影し、画像認識を行って、時間経過とともに、ユーザがとっている姿勢の変化を追跡する手法を採用することもできる。
【0014】
さらに、変化部は、検知された動作に基づいて、複数の支持体の位置を変化させる。
【0015】
たとえば、上記のゲームでは、現実世界におけるプレイヤーの右拳と左拳の位置を検知して、これらの位置に仮想空間におけるマジックハンドの位置を連動させる。
【0016】
そして、判定部は、移動体に設定された複数の支持点のそれぞれについて、当該支持点を含むように設定された判定領域が複数の支持体のいずれかと重なる場合、当該支持点が当該支持体に支持されていると判定し、複数の支持点のうち、複数の支持体のいずれかに支持されていると判定された支持点の個数が、所定の閾値を超える場合、移動体が、当該複数の支持体に支持されていると判定する。
【0017】
すなわち、移動体には、あらかじめ、支持することが可能な場所を表す支持点が複数設定されている。そして、各支持点を囲むように、判定領域が設定されている。移動体が仮想空間を移動したり、向きを変えたりすると、この判定領域も、その動きに追随して移動する。判定領域としては、たとえば、各支持点を中心とする円や正方形、長方形等を採用することができる。
【0018】
ここで、移動体が支持体に支持されている、とは、上記の例では、ボールをマジックハンドで持ち上げた状況に相当する。ボールをマジックハンドで持ち上げる際には、所定の閾値以上の箇所を支持しなければならない。
【0019】
そして、設定部は、移動体が支持体に支持されていると判定されている間、判定領域のうち、少なくとも支持体に重なる判定領域が広くなるように設定する。
【0020】
上記の例では、判定領域にマジックハンドが入っている間は、マジックハンドはボールを支持していることになる。したがって、判定領域の広さによって、マジックハンドがどれだけボールを確実に支持しているか、が表現される。判定領域が広くなれば、支持点やマジックハンドが少々移動したとしても、ボールは支持されたままであるが、判定領域が狭くなると、支持点やマジックハンドが少々移動しただけで、両者が離れてしまうことが生じやすくなる。
【0021】
一方、修正部は、移動体が支持体に支持されていると判定されている間、支持点を支持している支持体の位置の変化と、支持体に支持されている支持点の位置の変化と、が連動するように、移動体の位置および向きの少なくとも一方を修正する。
【0022】
上記の例では、プレイヤーの動作に基づいて仮想空間内のマジックハンドが移動し、しかも、マジックハンドによるボールの支持が維持されている間は、マジックハンドの動きにボールの位置や向きが連動する。したがって、プレイヤーの動作に基づいて、仮想空間内で、ボールが移動されることになる。
【0023】
本発明によれば、ユーザの動作に合わせて仮想空間内の支持体の位置を変化させ、当該支持体により当該仮想空間内の移動体を支持して、当該支持体の移動に合わせて当該移動体を移動させるゲームを提供することができるようになる。
【0024】
本発明の第2の観点に係るゲーム装置は、上記ゲーム装置の実施例の一つに係るものであり、表示部、検知部、変化部、判定部、設定部、修正部を備え、以下のように構成する。
【0025】
ここで、表示部は、仮想空間に配置される移動体と、当該移動体を支持可能な支持体と、を画面に表示する。一方、検知部は、プレイヤーの動作を検知する。さらに、変化部は、検知された動作に基づいて、支持体の位置を変化させる。そして、判定部は、移動体に設定された支持点を含むように設定された判定領域が、支持体と重なる場合、支持点が支持体に支持されていると判定する。一方、設定部は、支持点が支持体に支持されていると判定されている間、判定領域が広くなるように設定する。さらに、修正部は、支持点が支持体に支持されていると判定されている間、当該支持体に支持されている支持点の位置の変化と、当該支持点を支持している支持体の位置の変化と、が連動するように、移動体の位置および向きの少なくとも一方を修正する。
【0026】
このように、本発明は、上記発明において、プレイヤーが一人で、支持体が一つである場合、たとえば、上記の例においてプレイヤーの拳の位置に連動して仮想空間でマジックハンドが動き、このマジックハンドでボールの所定部分を支持してからマジックハンドを移動させることでボールを回転させ、片手球転がしのゲームを実現する場合などに適用できる。
【0027】
本発明によれば、ユーザの動作に合わせて仮想空間内の支持体の位置を変化させ、当該支持体により当該仮想空間内の移動体を支持して、当該支持体の移動に合わせて当該移動体を移動させるゲームを提供することができるようになる。
【0028】
また、本発明のゲーム装置において、設定部は、複数の判定領域の広さを、支持体の速度に応じて設定するように構成することができる。
【0029】
たとえば上記の例で、プレイヤーが手を激しく動かしてマジックハンドも激しく動いている場合には、判定領域を小さくすると、ボールを掴みにくくなる。一方、プレイヤーが手をゆっくり動かしマジックハンドもゆっくり動いている場合には、判定領域を大きくすると、ボールを掴みやすくなる。
【0030】
したがって、本発明によれば、手の動きが速いときには、物体を掴みにくい、あるいは、物体をしっかり掴もうとするときには、手をゆっくり確実に動かさなければならない、という現実世界に即したシミュレーションを、簡易な計算で実現することが可能となる。
【0031】
また、本発明のゲーム装置において、設定部は、支持体に支持されている支持点を含む判定領域の広さを、当該支持体と当該支持点との距離に応じて設定するように構成することができる。
【0032】
たとえば上記の例で、ボールの表面にはマジックハンドの指が入る孔があり、マジックハンドがその孔に指を入れて掴んでしまえば、ボールがマジックハンドから離れにくくなる、という状況を実現するためには、本発明において、支持体と支持点の距離が小さければ、判定領域を大きくするように設定すれば良い。
【0033】
本発明によれば、掴みにくい物体でも、一旦物体を掴んでしまえば、その物体を掴み続けることは比較的容易である、というような現実世界に即したシミュレーションを、簡易な計算で実現することが可能となる。
【0034】
また本発明のゲーム装置において、設定部は、支持体に支持されている支持点を含む判定領域の広さを、当該支持体の速度と当該支持点の速度との差に応じて設定するように構成することができる。
【0035】
たとえば上記の例で、一旦ボールを掴んでも、激しくマジックハンドを動かすと、マジックハンドが滑って離れてしまう、という状況を実現するためには、支持体の速度ベクトルと支持点の速度ベクトルとの差のベクトルの長さが長ければ長いほど、判定領域が小さくなるように設定すれば良い。
【0036】
本発明によれば、一旦掴んだ物体でも、激しく動かそうとすると手から物体が滑り落ちてしまう、というような現実世界に即したシミュレーションを、簡易な計算で実現することが可能となる。
【0037】
また、本発明のゲーム装置において、移動体が複数の支持体に支持されていないと判定された場合、変化部は、移動体の位置を、所定の加速度で変化させるように構成することができる。
【0038】
本発明は、仮想2次元空間に設定された重力を実現するものである。移動体が支持されていない場合とは、たとえば、物体が人の手に掴まれていない状態に相当する。この場合には、移動体の位置を所定の加速度で変化させることにより、物体が地面に向かって落下する状況をシミュレートすることができる。
【0039】
また、本発明のゲーム装置において、表示部による表示、検知部による検知、変化部による変化、判定部による判定、設定部による設定、修正部による修正は、所定の時間間隔で所定の順序で行われるように構成することができる。
【0040】
本発明は上記発明の好適実施形態に係るもので、本発明の各部の動作を所定の時間間隔で繰り返し実行するものである。
【0041】
ゲーム装置における画面への表示では、画面の垂直同期割込周期おきに、画面に表示される画像の更新が実行される。そこで、本発明では、当該画像の更新の時間間隔で、検知部が、プレイヤーの動作を検知し、変化部が、支持体の位置を変化させ、判定部が、支持体による支持が成立しているかを判定し、設定部が、判定領域の大きさを設定し、修正部が、判定結果に応じて移動体の位置を修正することを繰り返す。なお、各部の処理は、適宜入れ換えて、順序を変更することとしても良い。
【0042】
本発明によれば、画面表示の更新に合わせて、各部の計算をスムースに実行することが可能となる。
【0043】
本発明の第3の観点に係るゲーム制御方法は、表示部、検知部、変化部、判定部、設定部、修正部を有するゲーム装置が実行し、表示工程、検知工程、変化工程、判定工程、設定工程、修正工程を備え、以下のように構成する。
【0044】
すなわち、表示工程では、表示部が、仮想空間に配置される移動体と、当該移動体を支持可能な複数の支持体と、を画面に表示する。
【0045】
一方、検知工程では、検知部が、1人または複数のプレイヤーの動作を検知する。
【0046】
さらに、変化工程では、変化部が、検知された動作に基づいて、複数の支持体の位置を変化させる。
【0047】
そして、判定工程では、判定部が、移動体に設定された複数の支持点のそれぞれについて、当該支持点を含むように設定された判定領域が複数の支持体のいずれかと重なる場合、当該支持点が当該支持体に支持されていると判定し、複数の支持点のうち、複数の支持体のいずれかに支持されていると判定された支持点の個数が、所定の閾値を超える場合、移動体が、当該複数の支持体に支持されていると判定する。
【0048】
一方、設定工程では、設定部が、移動体が支持体に支持されていると判定されている間、判定領域のうち、少なくとも支持体に重なる判定領域が広くなるように設定する。
【0049】
さらに、修正工程では、修正部が、移動体が支持体に支持されていると判定されている間、支持点を支持している支持体の位置の変化と、支持体に支持されている支持点の位置の変化と、が連動するように、移動体の位置および向きの少なくとも一方を修正する。
【0050】
本発明の第4の観点に係るゲーム制御方法は、表示部、検知部、変化部、判定部、設定部、修正部を有するゲーム装置が実行し、表示工程、検知工程、変化工程、判定工程、設定工程、修正工程を備え、以下のように構成する。
【0051】
すなわち、表示工程では、表示部が、仮想空間に配置される移動体と、当該移動体を支持可能な支持体と、を画面に表示する。
【0052】
一方、検知工程では、検知部が、プレイヤーの動作を検知する。
【0053】
さらに、変化工程では、変化部が、検知された動作に基づいて、支持体の位置を変化させる。
【0054】
そして、判定工程では、判定部が、移動体に設定された支持点を含むように設定された判定領域が、支持体と重なる場合、支持点が支持体に支持されていると判定する。
【0055】
一方、設定工程では、設定部が、支持点が支持体に支持されていると判定されている間、判定領域が広くなるように設定する。
【0056】
さらに、修正工程では、修正部が、支持点が支持体に支持されていると判定されている間、当該支持体に支持されている支持点の位置の変化と、当該支持点を支持している支持体の位置の変化と、が連動するように、移動体の位置および向きの少なくとも一方を修正する。
【0057】
本発明の第5の観点に係るプログラムは、コンピュータを、表示部、検知部、変化部、判定部、設定部、修正部として機能させるように構成する。
【0058】
すなわち、表示部は、仮想空間に配置される移動体と、当該移動体を支持可能な複数の支持体と、を画面に表示する。
【0059】
一方、検知部は、1人または複数のプレイヤーの動作を検知する。
【0060】
さらに、変化部は、検知された動作に基づいて、複数の支持体の位置を変化させる。
【0061】
そして、判定部は、移動体に設定された複数の支持点のそれぞれについて、当該支持点を含むように設定された判定領域が複数の支持体のいずれかと重なる場合、当該支持点が当該支持体に支持されていると判定し、複数の支持点のうち、複数の支持体のいずれかに支持されていると判定された支持点の個数が、所定の閾値を超える場合、移動体が、当該複数の支持体に支持されていると判定する。
【0062】
そして、設定部は、移動体が支持体に支持されていると判定されている間、判定領域のうち、少なくとも支持体に重なる判定領域が広くなるように設定する。
【0063】
一方、修正部は、移動体が支持体に支持されていると判定されている間、支持点を支持している支持体の位置の変化と、支持体に支持されている支持点の位置の変化と、が連動するように、移動体の位置および向きの少なくとも一方を修正する。
【0064】
本発明の第6の観点に係るプログラムは、コンピュータを、表示部、検知部、変化部、判定部、設定部、修正部として機能させるように構成する。
【0065】
ここで、表示部は、仮想空間に配置される移動体と、当該移動体を支持可能な支持体と、を画面に表示する。
【0066】
一方、検知部は、プレイヤーの動作を検知する。
【0067】
さらに、変化部は、検知された動作に基づいて、支持体の位置を変化させる。
【0068】
そして、判定部は、移動体に設定された支持点を含むように設定された判定領域が、支持体と重なる場合、支持点が支持体に支持されていると判定する。
【0069】
一方、設定部は、支持点が支持体に支持されていると判定されている間、判定領域が広くなるように設定する。
【0070】
さらに、修正部は、支持点が支持体に支持されていると判定されている間、当該支持体に支持されている支持点の位置の変化と、当該支持点を支持している支持体の位置の変化と、が連動するように、移動体の位置および向きの少なくとも一方を修正する。
【0071】
本発明のプログラムは、コンパクトディスク、フレキシブルディスク、ハードディスク、光磁気ディスク、ディジタルビデオディスク、磁気テープ、半導体メモリ等のコンピュータ読取可能な情報記憶媒体に記録することができる。
【0072】
上記プログラムは、プログラムが実行されるコンピュータとは独立して、コンピュータ通信網を介して配布・販売することができる。また、上記情報記憶媒体は、コンピュータとは独立して配布・販売することができる。
【発明の効果】
【0073】
本発明によれば、ユーザの動作に合わせて仮想空間内の支持体の位置を変化させ、当該支持体により当該仮想空間内の移動体を支持して、当該支持体の移動に合わせて当該移動体を移動させるゲームを実現するのに好適なゲーム装置、ゲーム装置の制御方法、ならびに、これらをコンピュータにて実現するプログラムを提供することができる。
【図面の簡単な説明】
【0074】
【図1】典型的な情報処理装置の概要構成を示す模式図である。
【図2】本実施形態に係るゲーム装置における画面への表示例を示す説明図である。
【図3】本実施形態に係るゲーム装置における画面への表示例を示す説明図である。
【図4】本実施形態に係るゲーム装置における画面への表示例を示す説明図である。
【図5】本実施形態に係るゲーム装置における画面への表示例を示す説明図である。
【図6】本実施形態に係るゲーム装置における画面への表示例を示す説明図である。
【図7】本実施形態に係るゲーム装置の概要構成を示す模式図である。
【図8】本実施形態に係るボールやマジックハンドと判定領域の関係を説明する説明図である。
【図9】本実施形態に係るボールやマジックハンドと判定領域の関係を説明する説明図である。
【図10】ボールの位置を修正する様子を示す説明図である。
【図11】本実施形態に係るゲーム装置にて実行されるゲーム制御処理の制御の流れを示すフローチャートである。
【発明を実施するための形態】
【0075】
以下に本発明の実施形態を説明する。以下では、理解を容易にするため、ゲーム用の情報処理装置を利用して本発明が実現される実施形態を説明するが、以下に説明する実施形態は説明のためのものであり、本願発明の範囲を制限するものではない。したがって、当業者であればこれらの各要素もしくは全要素をこれと均等なものに置換した実施形態を採用することが可能であるが、これらの実施形態も本発明の範囲に含まれる。
【実施例1】
【0076】
(情報処理装置)
図1は、プログラムを実行することにより、本実施形態のゲーム装置として機能しうる典型的な情報処理装置の概要構成を示す模式図である。以下、本図を参照して説明する。
【0077】
本図に示す情報処理装置100は、いわゆるコンシューマゲーム機に相当するもので、CPU(Central Processing Unit)101、ROM(Read Only Memory)102、RAM(Random Access Memory)103、インターフェース104、コントローラ105、外部メモリ106、画像処理部107、DVD−ROM(Digital Versatile Disc ROM)ドライブ108、NIC(Network Interface Card)109、音声処理部110、マイク111、ハードディスク(Hard Disk;HD)121、カメラ131を有する。各種の入出力装置は、適宜省略することができる。
【0078】
情報処理装置100を典型的なコンシューマゲーム機として機能させる場合には、まず、ユーザは、ゲーム用プログラムおよびデータを記憶したDVD−ROMをDVD−ROMドライブ108に装着する。ついで、ユーザが電源を投入すると、当該ゲームプログラムが実行され、ユーザはゲームをプレイすることができるようになる。
【0079】
ただし、本実施形態においては、典型的には、DVD−ROMから、アプリケーションがHD 121にインストールされる。なお、DVD−ROMは、DVD−ROMドライブ108に装着される。そして、当該HD 121に記憶されたプログラムを実行することによって、ゲームを含む各種のアプリケーションが実行されることとする。
【0080】
なお、携帯型のゲーム装置においては、携帯可能とするために、HD 121を省略することも可能である。この場合、DVD−ROMドライブ108は利用されない。そして、ユーザは、ROMカセット用スロットにEEPROM(Electrically Erasable Programmable ROM)カセットを装着する。EEPROMカセットには、アプリケーション用プログラムが書き込まれている。そして、当該プログラムが実行されることとなる。このほか、外部メモリ106にアプリケーション用プログラムをインストールすることも可能である。
【0081】
さて、CPU 101は、情報処理装置100全体の動作を制御し、各構成要素と接続され制御信号やデータをやりとりする。また、CPU 101は、レジスタ(図示せず)という高速アクセスが可能な記憶域を備える。CPU 101は、レジスタに対してALU(Arithmetic Logic Unit)(図示せず)を用いて、各種演算を行うことができる。行われる演算は、例えば、加減乗除等の算術演算や、論理和、論理積、論理否定等の論理演算、ビット和、ビット積、ビット反転、ビットシフト、ビット回転等のビット演算などである。さらに、CPU 101は、マルチメディア処理対応のための加減乗除等の飽和演算や、三角関数等、ベクトル演算などを高速に行えるように構成されていてもよい。また、CPU 101は、コプロセッサを備えることにより、このような高速演算を実現してもよい。
【0082】
ROM 102には、電源投入直後に実行されるIPL(Initial Program Loader)が記録されている。IPLが実行されることにより、DVD−ROMに記録されたプログラムは、RAM 103に読み出される。ついで、CPU 101による当該プログラムの実行が開始される。また、ROM 102には、オペレーティングシステムのプログラムや各種のデータが記録されている。オペレーティングシステムは、情報処理装置100全体の動作を制御するために必要とされる。
【0083】
RAM 103は、データやプログラムを一時的に記憶する。RAM 103には、HD 121やDVD−ROM等から読み出されたプログラムやデータ、その他通信対戦ゲームの進行やチャット通信に必要なデータが保持される。また、CPU 101は、RAM 103に変数領域を設ける。CPU 101は、当該変数に格納された値に対して直接ALUを作用させて演算してもよい。また、CPU 101は、RAM 103に格納された値を一旦レジスタに格納してからレジスタに対して演算を行い、演算結果をメモリに書き戻してもよい。
【0084】
コントローラ105は、インターフェース104を介して接続される。コントローラ105は、ユーザがゲーム実行の際に行う操作入力を受け付ける。
【0085】
なお、コントローラ105は、必ずしも情報処理装置100に対して外付けにされている必要はなく、一体に形成されていても良い。携帯可能な画像処理装置のコントローラ105は、各種のボタンやスイッチから構成される。コントローラ105は、当該ボタンやスイッチに対する押圧操作を操作入力として扱う。このほか、タッチスクリーンを利用した情報処理装置100では、ユーザがペンや指を利用してタッチスクリーンをなぞった軌跡を操作入力として扱う。
【0086】
外部メモリ106は、インターフェース104を介して着脱自在に接続される。外部メモリ106には、ゲーム等のプレイ状況(過去の成績等)を示すデータ、ゲームの進行状態を示すデータ、ネットワーク対戦の場合のチャット通信のログ(記録)のデータなどが記憶される。外部メモリ106は書き換え可能である。ユーザがコントローラ105を介して必要な指示入力を行うと、これらのデータは適宜外部メモリ106に記録される。
【0087】
上述の通り、アプリケーションプログラムを外部メモリ106にインストールして実行するような形態を採用することもできる。これは、外部メモリ106が大容量である場合に好適である。
【0088】
DVD−ROMドライブ108に装着されるDVD−ROMには、ゲームを実現するためのプログラムとゲームに付随する画像データや音声データが記録される。CPU 101の制御によって、DVD−ROMドライブ108は、装着されたDVD−ROMに対する読み出し処理を行って、必要なプログラムやデータを読み出す。読み出されたプログラムやデータは、RAM 103等に一時的に記憶される。
【0089】
画像処理部107は、まず、DVD−ROMから読み出されたデータをCPU 101や画像処理部107が備える画像演算プロセッサ(図示せず)によって加工処理する。ついで、画像処理部107は、加工処理により得た画像情報を、フレームメモリ(図示せず)に記録する。フレームメモリは、画像処理部107に搭載されている。フレームメモリに記録された画像情報は、所定の同期タイミングでビデオ信号に変換され、画像処理部107に接続されるモニタ(図示せず)へ出力される。これにより、各種の画像表示が可能となる。
【0090】
携帯可能な画像処理装置のモニタとしては、小型の液晶ディスプレイを利用するのが典型的である。コントローラ105としてタッチスクリーンが利用される場合には、当該タッチスクリーンの表示パネルがモニタとして機能する。自宅で遊ぶためのゲーム装置のモニタとしては、CRT(Cathode Ray Tube)やプラズマディスプレイなどの表示装置を利用することも可能である。
【0091】
画像演算プロセッサは、2次元の画像の重ね合わせ演算やαブレンディング等の透過演算、各種の飽和演算を高速に実行できる。
【0092】
また、レンダリング画像を得る演算を高速実行することも可能である。レンダリング画像は、所定の視点位置から仮想3次元空間に配置されたポリゴンを所定の視線の方向へ俯瞰した画像である。レンダリング画像は、当該3次元空間内に配置され、各種のテクスチャ情報が付加されたポリゴン情報を、Zバッファ法などによりレンダリングすることにより得られる。
【0093】
さらに、CPU 101と画像演算プロセッサが協調動作することにより、フォント情報にしたがって、文字列を2次元画像として描画することが可能である。なお、フォント情報は、文字の形状を定義する。文字列を表す画像は、フレームメモリや各ポリゴン表面へ描画される。
【0094】
NIC 109は、インターネット接続機器(図示せず)と、CPU 101との仲立ちを行うインターフェースである。NIC 109は、情報処理装置100をインターネット等のコンピュータ通信網(図示せず)に接続する際に用いられる。インターネット接続機器は、LAN(Local Area Network)を構成する際に用いられる10BASE−T/100BASE−T規格にしたがうものや、電話回線を用いてインターネットに接続するためのアナログモデム、ISDN(Integrated Services Digital Network)モデム、ADSL(Asymmetric Digital Subscriber Line)モデム、ケーブルテレビジョン回線を用いてインターネットに接続するためのケーブルモデム等であっても良い。
【0095】
また、NIC 109経由でコンピュータ通信網から入手した情報を元に、HD 121等にアプリケーションプログラムをインストールすることも可能である。
【0096】
音声処理部110は、HD 121やDVD−ROMから読み出した音声データをアナログ音声信号に変換し、接続されたスピーカ(図示せず)から出力させる。また、CPU 101の制御の下、音声処理部110は、ゲームの進行の中で発生させるべき効果音や楽曲データを生成する。そして、音声処理部110は、生成した効果音や楽曲データに対応した音声をスピーカや、ヘッドホン(図示せず)、イヤフォン(図示せず)から出力させる。
【0097】
音声処理部110は、HD 121やDVD−ROMに記録された音声データがMIDIデータである場合には、音源データを参照して、MIDIデータをPCMデータに変換する。なお、音声処理部110は、MIDI音源データを有する。また、当該音声データがADPCM形式やOgg Vorbis形式等の圧縮済音声データである場合には、音声処理部110は、これを展開してPCMデータに変換する。PCMデータを、そのサンプリング周波数に応じたタイミングでD/A(Digital/Analog)変換し、スピーカに出力することにより、音声出力が可能となる。
【0098】
さらに、情報処理装置100には、インターフェース104を介してマイク111を接続することができる。この場合、マイク111からのアナログ信号に対しては、情報処理装置100は、適当なサンプリング周波数でA/D変換を行う。すなわち、マイク111からの音声信号は、PCM形式のディジタル信号に変換される。したがって、音声処理部110でミキシング等の処理を行うことが可能となる。
【0099】
本実施形態で利用する情報処理装置100は、上述のように、HD 121等の大容量外部記憶装置を用いるのが典型的である。HD 121は、ROM 102、RAM 103、外部メモリ106、DVD−ROMドライブ108に装着されるDVD−ROM等と同じ機能を果たすこともできる。
【0100】
さらに、本実施形態で利用する情報処理装置100には、カメラ131が接続されている。このカメラ131は、現実世界の様子を動画ならびに静止画で撮影する。カメラ131によりユーザの顔の表情や体の姿勢を撮影し、CPU 101や専用ハードウェア(図示せず)を利用して画像認識を行うことにより、ユーザの顔の位置や表情、体の各部位の位置を取得することができる。コントローラ105に対する指示操作にかえて、画像認識により得られた各種の情報を利用することも可能である。
【0101】
このほか、キーボードや、マウスなどを接続する形態も採用することができる。キーボードは、ユーザからの文字列の編集入力を受け付ける。そして、マウスは、各種の位置の指定および選択入力を受け付ける。また、本実施形態の情報処理装置100にかえて、汎用のパーソナルコンピュータやサーバ用コンピュータ等を利用することもできる。
【0102】
以上で説明した情報処理装置100は、コンシューマ向けゲーム装置に相当するものである。しかしながら、各種の入出力処理が可能な電子機器であれば、本発明のゲーム装置を実現することができる。したがって、携帯電話、携帯ゲーム機器、カラオケ装置、一般的なビジネス用コンピュータなど、種々の計算機上で本発明のゲーム装置を実現することが可能である。
【0103】
たとえば、ビジネス用コンピュータは、上記情報処理装置100と同様に、CPU、RAM、ROM、DVD−ROMドライブ、および、NIC、HDを構成要素として有する。また、ビジネス用コンピュータは、情報処理装置100よりも簡易な機能を備えた画像処理部を備える。そして、ビジネス用コンピュータにおいては、外部記憶装置としてフレキシブルディスク、光磁気ディスク、磁気テープ等が利用できる。ビジネス用コンピュータにおいては、コントローラ105ではなく、キーボードやマウスなどが入力装置として利用されるのが典型的である。
【0104】
(ゲーム装置)
本実施形態に係るゲーム装置は、情報処理装置100において、DVD−ROMやハードディスク121に記録されたゲーム用のプログラムを、CPU 101が実行し、情報処理装置100の各部を制御することによって実現される。
【0105】
以下、理解を容易にするため、本ゲーム装置において提供されるゲームの内容について説明する。
【0106】
本ゲーム装置は、仮想空間内で、移動体を移動させるゲームを提供する。本実施形態では、この仮想空間は2次元に設定されており、移動体がプレイヤーの掌を模した支持体によって支持されると、その移動体は当該支持体の移動にともなって移動する。支持されていないときは、仮想空間内に設定された仮想的な物理法則にしたがって移動する。
【0107】
本ゲームにおいては、プレイヤーの動作にともなって移動するマジックハンドにより支持体が表現され、球状のボールを2次元的に描いたものにより、移動体が表現される。本ゲームでは、ボールをマジックハンドで支持して、当該ボールを移動させる。
【0108】
図2、図3、図4、図5、図6は、本実施形態に係るゲーム装置における画面への表示例を示す説明図である。以下、本図を参照して説明する。
【0109】
図2に示すように、画面201には、プレイヤーの動作に応じて位置を変化させる複数のマジックハンド202と、円形に描かれたボール203と、が、線で描かれた地面204の上に描画されている。また、画面201の左上方には、目標位置205が描画されている。
【0110】
上記のように、マジックハンド202が支持体に相当し、ボール203が、移動体に相当する。
【0111】
本例のボール203には、支持点211が4箇所用意されている。また、各支持点211を中心とする箇所には、星型のマーク206が付されている。本ゲームでは、プレイヤーがマジックハンド202の位置を変化させ、マーク206に重ねると、当該マジックハンド202は、ボール203のうち、当該マーク206の支持点211を支持したことになる。
【0112】
なお、本実施形態では、マーク206にマジックハンド202が重なっているか否かの判定を容易にするために、各マーク206に対する支持点211を中心とし、マーク206とほぼ同じ大きさの円形の判定領域701を設け、この判定領域701とマジックハンド202が重なっている場合に、マジックハンド202が支持点211を支持したものと判定する。
【0113】
判定領域701の形状は、必ずしも円形に限るものではなく、任意の図形を採用することができるが、正方形や長方形など、図形同士が重なっていることが判定しやすい形状を採用することが望ましい。
【0114】
なお、以降の図では、理解を容易にするため、支持点211ならびに判定領域701は、適宜図示を省略する。
【0115】
本実施形態では、2人のプレイヤーの右拳と左拳のそれぞれに相当する、合計4つのマジックハンド202が用意されている。図3には、ボール203のマーク206にマジックハンド202が重なった様子が示されている。
【0116】
本ゲームの目的は、2人のプレイヤーが協力して4つのマジックハンド202をいずれかのマーク206に重ねて、4箇所でボール203を支持し、持ち上げたり回転させたりして、目標位置205まで移動することである。
【0117】
プレイヤーが適切なタイミングで姿勢を変化させて、マジックハンド202を同期させてゆっくり上に移動したり、ゆっくり回転させたりすると、図4に示すように、ボール203もこれに連動してゆっくり上に移動したり、ゆっくり回転したりする。
【0118】
一方、プレイヤーの姿勢の変化が激し過ぎて、図5に示すように、マジックハンド202とマーク206がずれてしまうと、もはやボール203は支持されなくなる。マジックハンド202とマーク206がずれたままであると、この後は、図6に示すように、ボール203は、マジックハンド202から離れて落下してしまい、地面204に至る。
【0119】
なお、マジックハンド202の数やマーク206の数は、適宜変更することが可能である。たとえば、1つのマジックハンド202で1つのマーク206を支持することにより、ボール203を転がして移動するような球転がしゲームを実現することも可能である。
【0120】
なお、ボール203の落下の回数が所定の回数となった場合や、一定時間内にボール203を目標位置205に至らせることができなかった場合には、ゲームオーバーになるように、ゲームのルールを設定しても良い。
【0121】
以下、上記のゲームを実現するゲーム装置の詳細について説明する。図7は、本実施形態に係るゲーム装置の概要構成を示す説明図である。以下、本図を参照して説明する。
【0122】
本図に示すように、ゲーム装置601は、表示部602、検知部603、変化部604、判定部605、修正部606、設定部608、記憶部607を備える。
【0123】
ここで、記憶部607には、支持体を表現するマジックハンド202の各点の位置や、移動体を表現するボール203の位置や向き、各マーク206の位置が記憶される。本実施形態では、記憶部607は、RAM 103により構成される。
【0124】
ここで、表示部602は、当該仮想空間内を移動する移動体と、を、仮想空間に配置される当該移動体を支持可能な支持体と、画面201に表示する。
【0125】
本実施形態では、CPU 101の制御の下、RAM 103に記憶される情報を参照しながら、画像処理部107が表示部602として機能する。
【0126】
一方、検知部603は、プレイヤーの動作を検知する。
【0127】
本実施形態では、カメラ131により2人のプレイヤーの姿を動画で撮影し、リアルタイムで画像認識を行う。すると、時間経過に合わせて、プレイヤーがとっている姿勢の変化、特に右拳と左拳の位置が追跡されることになる。
【0128】
すなわち、本実施形態では、CPU 101の制御の下、カメラ131やコントローラ105等が、検知部603として機能する。
【0129】
このほか、可視光カメラもしくは赤外線カメラによりプレイヤーの姿を動画で撮影し、画像認識を行って、時間経過とともに、プレイヤーがとっている姿勢の変化を追跡する手法を採用することもできる。
【0130】
さらに、変化部604は、検知された動作に基づいて、支持体の位置を変化させるほか、移動体の位置や速度、向きを適宜変化させる。
【0131】
本実施形態では、各プレイヤーの右拳と左拳の位置が検知されるので、各マジックハンド202の位置を検知された結果に連動して、画面201内で移動させる。
【0132】
本実施形態では、プレイヤーが現実世界で右拳や左拳を上下に移動させれば、マジックハンドの位置もこれに連動して上下に変化する。また、右拳と左拳を近付けたり遠ざけたりすれば、マジックハンドの間隔もこれに連動して近付いたり遠ざかったりする。
【0133】
したがって、CPU 101が、RAM 103に記憶される情報を更新することにより、変化部604として機能する。
【0134】
なお、位置センサや加速度センサを有するコントローラにより検知部603を実現することも可能である。この態様では、プレイヤーは、両拳にそれぞれ当該コントローラを握り、当該コントローラを上下左右に動かす。すると、コントローラは、位置の変化や加速度を検知して、プレイヤーの動作を認識する。そして、認識された位置の変化や加速度に応じて、マジックハンド202の位置を変化させれば良い。
【0135】
また、コントローラ105が有する各種のボタンの押圧操作を、プレイヤーの動作として検知する態様を採用することもできる。この場合には、押圧されたボタンの種類に応じてマジックハンド202の位置を変化させることになる。
【0136】
さて、判定部605は、以下の判定を行う。
(a)移動体に設定された支持点を含むように設定された判定領域が支持体の位置に重なる場合、当該支持点が当該支持体に支持されていると判定する。
(b)支持体に支持されている支持点の数が所定の閾値を超える場合、当該移動体が当該支持体に支持されていると判定する。
【0137】
本実施形態では、ボール203のマーク206が移動体の支持点の位置を表現している。2人のプレイヤーが協力して、4個のマジックハンド202でボール203を支持するので、上記の閾値は「3」である。
【0138】
なお、閾値の値を「0」とした場合には、いずれかの支持点をいずれかの支持体で支持すると、直ちに移動体も当該支持体に支持されていることになる。ここで、支持体に支持されているか否かを判定する際に、支持点の周囲に設けられた判定領域を用いる。
【0139】
図8、図9は、本実施形態に係るボール203やマジックハンド202と判定領域の関係を説明する説明図である。以下、これらの図を参照して説明する。
【0140】
これらの図に示すように、支持点211の周囲には、当該支持点211を囲むように、判定領域701が設定されている。移動体が仮想空間を移動すれば、この判定領域701も当該移動体に追随して移動する。
【0141】
これらの図に示す例では、判定領域701の形状として、マーク206を中心とするマーク206より大きな円形を採用しているが、図2に示すように、マーク206とほぼ同じ大きさの円形を採用しても良い。一般に、判定領域701としては、マーク206を中心とする円や正方形、長方形等を採用することができる。
【0142】
また、本図に示す例では、判定領域701同士には重なりがある。この重なり部分にマジックハンド202が置かれた場合には、いずれか近い方のマーク206をマジックハンド202が支持していると考えても良いし、当該マジックハンド202が存在しないと仮定したときに、支持されていない側のマーク206を支持していると考えても良い。
【0143】
図8では、判定領域701と重なっていないマジックハンド202が1個ある。すなわち、当該マジックハンド202は、支持点たるマーク206を支持していない。本実施形態では、ボール203を支持するには、4箇所のマーク206を支持しなければならないから、この状況では、ボール203はマジックハンド202に支持されていない、と、判定されることになる。なお、この後は、図6に示すように、ボール203はマジックハンド202から落下することになる。
【0144】
図9では、すべてのマジックハンド202がいずれかの判定領域701に重なっている。したがって、マジックハンド202は、各支持点を支持しており、全体としてボール203を支持している、と、判定されることになる。
【0145】
図8、図9に示す例では、判定領域701の大きさを、マーク206よりも大きな円形としているが、判定領域701の大きさを変化させる手法もありうる。
【0146】
すなわち、マーク206がマジックハンド202に支持されていないときは、判定領域701の大きさは、図2に示すように、マーク206とほぼ同じとし、一旦マジックハンド202がマーク206に重なって、支持が開始されると、判定領域701の大きさが、図8、図9に示すように大きくなるように設定するのである。
【0147】
図8においては、マジックハンド202に支持されていないマーク206が存在する。この態様を採用する場合には、当該マーク206に対する判定領域701の大きさは、図8に示す大きさではなく、図2に示す大きさとなる。
【0148】
このほか、マジックハンド202に支持されているマーク206を囲む判定領域701の大きさは、大きいままとしても良いし、支持されているマーク206の個数が所定個数未満となって、ボール203が支持されなくなったら、すべての判定領域701を小さくすることとしても良い。これによって、物体をきちんと把持していない場合に、取り落としやすくなる状況を表現することができる。
【0149】
さて、本実施形態では、CPU 101が、RAM 103に記憶される情報を参照することにより、判定部605として機能する。
【0150】
そして、設定部608は、支持点や移動体が支持体に支持されていると判定されている間、判定領域のうち、少なくとも支持体に重なる判定領域が広くなるように設定する。
【0151】
本実施形態では、判定領域701に所定数のマジックハンド202が入っている間は、マジックハンド202はボール203を支持していることになる。したがって、判定領域701の広さによって、マジックハンド202がどれだけボール203を確実に支持しているか、が表現される。判定領域701が広くなれば、マーク206やマジックハンド202が少々移動したとしても、ボール203は支持されたままであるが、判定領域701が狭くなると、マーク206やマジックハンド202が少々移動しただけで、両者が離れてしまうことが生じやすくなる。
【0152】
本実施形態では、CPU 101が、RAM 103に記憶される情報を参照することにより、設定部608として機能する。
【0153】
さらに、修正部606は、支持体が支持点や移動体を支持していると判定された場合、当該支持体に支持されている支持点の位置の変化と、当該支持点を支持している支持体の位置の変化と、が連動するように、移動体の位置および向きの少なくとも一方を修正する。
【0154】
支持体たるマジックハンド202が、1つでボール203を支持できるように閾値を設定した場合には、マジックハンド202の位置の変化をボール203の中心から見た角度を求め、当該角度だけ、ボール203を地面204に沿って回転移動させることで、球転がしゲームのシミュレーションが可能となる。
【0155】
図10は、ボール203の位置を修正する様子を示す説明図である。以下、本図を参照して説明する。
【0156】
本図においては、修正前のボール203やマーク206の位置は点線で表記され、修正後のボール203やマーク206の位置は実線で表記されている。また、判定領域701については、修正前の位置のみが点線で表記されている。
【0157】
プレイヤーが体を動かして、ボール203の動きに合わせてマジックハンド202を動かすと、その動きの差が判定領域701の中に留まる間は、ボール203がマジックハンド202の動きに連動して動く。
【0158】
本図に示す例でも、修正前の判定領域701は、いずれのマジックハンド202も、いずれかの判定領域701に重なっている。したがって、各マジックハンド202によってボール203が支持されていることになり、以下のような修正を行うことになる。
【0159】
複数のマジックハンド202でボール203を支持する場合に両者の位置の変化を連動させる修正手法の一つは、以下の通りである。
【0160】
ボール203において、マジックハンド202の移動後の位置と、当該マジックハンド202に支持されていたマーク206の位置と、の距離の総和や自乗和が最小となるように、最急降下法などにより、ボール203の移動後の位置ならびに向きを計算する。
【0161】
この手法では、支持しているマジックハンド202と支持されているマーク206とができるだけ離間しないように、ボール203の位置や向きを調整することになる。
【0162】
このほか、以下のような単純な手法を採用しても良い。
(1)ボール203を支持している複数のマジックハンド202の移動前の位置の平均(重心)から、複数のマジックハンド202の移動後の位置の平均(重心)へ、の変位を求め、この変位と同じ向き、同じ大きさの変位だけ、ボールを移動させる。
(2)ボール203を支持している複数のマジックハンド202の移動前の位置を、上記(1)で求められた変位だけ移動する。そして、各マジックハンド202の、移動後の位置の平均(重心)周りの回転角を求め、その回転角の平均だけ、ボール203を回転させる。
【0163】
このように、本実施形態では、ボール203がマジックハンド202によって支持されて移動されるような状況を、複雑な物理シミュレーションを行わずに、簡易な計算のみで、表現することができる。
【0164】
本実施形態では、CPU 101がRAM 103に記憶される情報を参照し、更新することで、修正部606として機能する。
【0165】
以下では、本ゲーム装置601が実行するゲーム制御処理の流れについて詳細に説明する。
【0166】
図11は、本実施形態に係るゲーム制御処理の制御の流れを示すフローチャートである。以下、本図を参照して説明する。
【0167】
本ゲーム制御処理は、情報処理装置100において、CPU 101が、DVD−ROMからRAM 103内にロードされたプログラムの実行を開始することによって起動される。
【0168】
本処理が開始されると、まず、CPU 101は、各種の初期化を行う(ステップS801)。この初期化では、以下のようなRAM 103内において、情報のような情報が初期化される。
(a)各マジックハンド202の位置。
(b)ボール203の位置、向き、速度、加速度。
(c)目標位置205の位置。
(d)各判定領域701の大きさ。
【0169】
なお、本実施形態では、ボール203の速度ならびに加速度は、当初は0に初期化される。
【0170】
そして、CPU 101は、画像処理部107を制御して、現在RAM 103に記憶されている情報に基づいて、仮想空間の様子を表す画像を生成し(ステップS802)、垂直同期割込が生じるまで待機する(ステップS803)。この待機の間には、各種の処理をコルーチン的に実行することができる。
【0171】
垂直同期割込が発生したら、CPU 101は、画像処理部107を制御して、生成された画像をモニタの画面201に転送し、表示する(ステップS804)。
【0172】
ついで、CPU 101は、カメラ131によって撮影された動画から、各プレイヤーの姿を画像認識し、右拳と左拳の位置を検知する。これによって、プレイヤーの動きが検知されたことになる(ステップS805)
【0173】
そして、検知された位置に連動して、RAM 103内におけるマジックハンド202の位置を変化させる(ステップS806)。
【0174】
ついで、CPU 101は、RAM 103内に記憶された情報に基づいて、ボール203の位置を変化させる(ステップS807)。最も単純には、以下のような計算を行う。
(1)RAM 103内に記憶されたボール203の加速度に、垂直同期割込周期を乗じて、ボール203の速度の変位を求め、RAM 103内に記憶された速度に加算する。
(2)RAM 103内に記憶されたボール203の速度に、垂直同期割込周期を乗じて、ボール203の位置の変位を求め、RAM 103内に記憶された位置に加算する。
(3)RAM 103内に記憶されたボール203の角速度に、垂直同期割込周期を乗じて、ボール203の角度の変位を求め、RAM 103内に記憶された向きに加算する。
【0175】
また、RAM 103内に、ボール203の速度や加速度、角速度の履歴を記録して、台形補間やルンゲ・クッタ法による補間を用いて、ボール203の位置を更新することとしても良い。
【0176】
なお、前述のように、ボール203の速度や加速度、角速度は、当初はゼロである。
【0177】
ついで、CPU 101は、RAM 103内に記憶された情報に基づいて、所定数のマジックハンド202が判定領域701に重なり、ボール203がマジックハンド202に支持されているか否かを判定する(ステップS808)。
【0178】
支持されている場合(ステップS808;Yes)、CPU 101は、ボール203の各マーク206の位置とマジックハンド202が連動するように、RAM 103内に記憶されるボール203の位置や向きを修正する(ステップS809)、
【0179】
そして、CPU 101は、現在のボール203の位置と目標位置205の位置との差が、所定の誤差範囲内であるか否か、すなわち、ボール203が目標位置205に到達したか否かを判定する(ステップS810)。所定の誤差範囲内であれば(ステップS810;Yes)、CPU 101は、当該ゲームがクリアされた旨を画面201に表示して(ステップS811)、本処理を終了する。
【0180】
一方、所定の誤差範囲内でなければ(ステップS810;No)、CPU 101は、ステップS806以降ステップS809までの間に、ボール203の中心が移動した距離および方向、ならびにボール203が回転した角度から、ボール203の速度ならびに角速度を求める。また、ボール203の加速度を0として、RAM 103に記憶させる(ステップS812)。
【0181】
さらに、判定領域701の大きさを、諸条件に合わせて設定した後(ステップS813)、ステップS815に進む。
【0182】
さて、マジックハンド202と判定領域701が交差していないと判定された場合(ステップS808;No)、CPU 101は、ボール203の加速度を、画面201の上から下に向かう仮想的な重力加速度にして、RAM 103に記憶させて(ステップS814)、ステップS813に進む。
【0183】
この場合、ボール203の速度は、仮想的な重力に基づいて変化していく。また、ボール203は、回転の角速度をそのまま維持する。したがって、ボール203を落とした場合のみならず、ボール203を放り投げるような状況も表現が可能となる。
【0184】
さらに、CPU 101は、ボール203の位置が、地面204に至っているか否かを調べる(ステップS815)。地面に至っていれば(ステップS815;Yes)、CPU 101は、ボール203の速度、加速度、角速度を0として、RAM 103に記憶させて(ステップS816)、ステップS802に進む。これにより、ボール203は停止することになる。
【0185】
一方、ボール203の位置が地面に至っていなければ(ステップS815;No)、ステップS802にそのまま戻る。
【0186】
なお、ステップS802に戻る前には、たとえば、ゲームのBGM(Back Ground Music)の演奏の制御やゲームの時間経過の計測などの処理を実行することとしても良い。
【0187】
なお、上記の態様では、目標位置205は、画面201内の所定位置に固定されていたが、この位置は任意に変更できることとしても良い。
【0188】
また、上記の態様では、各種の計算処理が、垂直同期割込周期という画面の更新の時間間隔で実行されることとしている。このように構成することで、各計算が逐次にスムースに実行されることとなるが、各種の割込処理を利用して、計算処理を並列に実行することとしても良い。
【実施例2】
【0189】
上記の例では、判定領域701の大きさは、マジックハンド202がボール203を支持しているか否かによって設定することとしていたが、さらに、以下のような手法によって設定することとしても良い。
【0190】
第1の手法は、判定領域701の広さを、マジックハンド202の速度に応じて設定するものである。
【0191】
プレイヤーが手を激しく動かしてマジックハンド202も激しく動いている場合には、判定領域701を小さくすると、ボール203を掴みにくくなる。一方、プレイヤーが手をゆっくり動かしマジックハンド202もゆっくり動いている場合には、判定領域701を大きくすると、ボールを掴みやすくなる。
【0192】
本手法によれば、手の動きが速いときには、物体を掴みにくい、あるいは、物体をしっかり掴もうとするときには、手をゆっくり確実に動かさなければならない、という現実世界に即したシミュレーションを、簡易な計算で実現することが可能となる。
【0193】
第2の手法は、あるマーク206に対する判定領域701の広さを、当該マーク206を支持しているマジックハンド202と当該マーク206との距離に応じて設定する手法である。
【0194】
たとえば、ボール203の表面にはマジックハンド202の指が入る孔があり、マジックハンド202がその孔に指を入れて掴んでしまえば、ボール203がマジックハンド203から離れにくくなる、という状況を実現するためには、支持体と支持点の距離が小さければ、判定領域を大きくするように設定すれば良い。
【0195】
本手法によれば、掴みにくい物体でも、一旦物体を掴んでしまえば、その物体を掴み続けることは比較的容易である、というような現実世界に即したシミュレーションを、簡易な計算で実現することが可能となる。
【0196】
第3の手法は、あるマーク206に対する判定領域701の広さを、当該マーク206を支持しているマジックハンド202の速度と当該マーク206の速度との差に応じて設定するものである。
【0197】
たとえば、一旦ボール203を掴んでも、激しくマジックハンド202を動かすと、マジックハンド202が滑って離れてしまう、という状況を実現するためには、マジックハンド202の速度ベクトルとマーク206の速度ベクトルとの差のベクトルの長さが長ければ長いほど、判定領域が小さくなるように設定すれば良い。
【0198】
本手法によれば、一旦掴んだ物体でも、激しく動かそうとすると手から物体が滑り落ちてしまう、というような現実世界に即したシミュレーションを、簡易な計算で実現することが可能となる。
【産業上の利用可能性】
【0199】
以上説明したように、本発明によれば、ユーザの動作に合わせて仮想空間内の支持体の位置を変化させ、当該支持体により当該仮想空間内の移動体を支持して、当該支持体の移動に合わせて当該移動体を移動させるゲームを実現するのに好適なゲーム装置、ゲーム装置の制御方法、ならびに、これらをコンピュータにて実現するプログラムを提供することができる。
【符号の説明】
【0200】
100 情報処理装置
101 CPU
102 ROM
103 RAM
104 インターフェース
105 コントローラ
106 外部メモリ
107 画像処理部
108 DVD−ROMドライブ
109 NIC
110 音声処理部
111 マイク
121 HD
131 カメラ
201 画面
202 マジックハンド
203 ボール
204 地面
205 目標地点
206 マーク
211 支持点
601 ゲーム装置
602 表示部
603 検知部
604 変化部
605 判定部
606 修正部
607 記憶部
608 設定部
701 判定領域

【特許請求の範囲】
【請求項1】
仮想空間に配置される移動体と、当該移動体を支持可能な複数の支持体と、を画面に表示する表示部、
1人または複数のプレイヤーの動作を検知する検知部、
前記検知された動作に基づいて、前記複数の支持体の位置を変化させる変化部、
前記移動体に設定された複数の支持点のそれぞれについて、当該支持点を含むように設定された判定領域が前記複数の支持体のいずれかと重なる場合、当該支持点が当該支持体に支持されていると判定し、前記複数の支持点のうち、前記複数の支持体のいずれかに支持されていると判定された支持点の個数が、所定の閾値を超える場合、前記移動体が、当該複数の支持体に支持されていると判定する判定部、
前記移動体が前記支持体に支持されていると判定されている間、前記判定領域のうち、少なくとも前記支持体に重なる判定領域が広くなるように設定する設定部、
前記移動体が前記支持体に支持されていると判定されている間、前記支持点を支持している支持体の位置の変化と、前記支持体に支持されている支持点の位置の変化と、が連動するように、前記移動体の位置および向きの少なくとも一方を修正する修正部
を備えることを特徴とするゲーム装置。
【請求項2】
仮想空間に配置される移動体と、当該移動体を支持可能な支持体と、を画面に表示する表示部、
プレイヤーの動作を検知する検知部、
前記検知された動作に基づいて、前記支持体の位置を変化させる変化部、
前記移動体に設定された支持点を含むように設定された判定領域が、前記支持体と重なる場合、前記支持点が前記支持体に支持されていると判定する判定部、
前記支持点が前記支持体に支持されていると判定されている間、前記判定領域が広くなるように設定する設定部、
前記支持点が前記支持体に支持されていると判定されている間、当該支持体に支持されている支持点の位置の変化と、当該支持点を支持している支持体の位置の変化と、が連動するように、前記移動体の位置および向きの少なくとも一方を修正する修正部
を備えることを特徴とするゲーム装置。
【請求項3】
請求項1または2に記載のゲーム装置であって、
前記設定部は、前記複数の判定領域の広さを、前記支持体の速度に応じて設定する
ことを特徴とするゲーム装置。
【請求項4】
請求項1から3のいずれか1項に記載のゲーム装置であって、
前記設定部は、前記支持体に支持されている支持点を含む判定領域の広さを、当該支持体と当該支持点との距離に応じて設定する
ことを特徴とするゲーム装置。
【請求項5】
請求項1から3のいずれか1項に記載のゲーム装置であって、
前記設定部は、前記支持体に支持されている支持点を含む判定領域の広さを、当該支持体の速度と当該支持点の速度との差に応じて設定する
ことを特徴とするゲーム装置。
【請求項6】
請求項1から5のいずれか1項に記載のゲーム装置であって、
前記移動体が前記複数の支持体に支持されていないと判定された場合、前記変化部は、前記移動体の位置を、所定の加速度で変化させる
ことを特徴とするゲーム装置。
【請求項7】
請求項1から6のいずれか1項に記載のゲーム装置であって、
前記表示部による表示、前記検知部による検知、前記変化部による変化、前記判定部による判定、前記設定部による設定、前記修正部による修正は、所定の時間間隔で所定の順序で行われる
ことを特徴とするゲーム装置。
【請求項8】
表示部、検知部、変化部、判定部、設定部、修正部を有するゲーム装置が実行するゲーム制御方法であって、
前記表示部が、仮想空間に配置される移動体と、当該移動体を支持可能な複数の支持体と、を画面に表示する表示工程、
前記検知部が、1人または複数のプレイヤーの動作を検知する検知工程、
前記変化部が、前記検知された動作に基づいて、前記複数の支持体の位置を変化させる変化工程、
前記判定部が、前記移動体に設定された複数の支持点のそれぞれについて、当該支持点を含むように設定された判定領域が前記複数の支持体のいずれかと重なる場合、当該支持点が当該支持体に支持されていると判定し、前記複数の支持点のうち、前記複数の支持体のいずれかに支持されていると判定された支持点の個数が、所定の閾値を超える場合、前記移動体が、当該複数の支持体に支持されていると判定する判定工程、
前記設定部が、前記移動体が前記支持体に支持されていると判定されている間、前記判定領域のうち、少なくとも前記支持体に重なる判定領域が広くなるように設定する設定工程、
前記修正部が、前記移動体が前記支持体に支持されていると判定されている間、前記支持点を支持している支持体の位置の変化と、前記支持体に支持されている支持点の位置の変化と、が連動するように、前記移動体の位置および向きの少なくとも一方を修正する修正工程
を備えることを特徴とするゲーム制御方法。
【請求項9】
表示部、検知部、変化部、判定部、設定部、修正部を有するゲーム装置が実行するゲーム制御方法であって、
前記表示部が、仮想空間に配置される移動体と、当該移動体を支持可能な支持体と、を画面に表示する表示工程、
前記検知部が、プレイヤーの動作を検知する検知工程、
前記変化部が、前記検知された動作に基づいて、前記支持体の位置を変化させる変化工程、
前記判定部が、前記移動体に設定された支持点を含むように設定された判定領域が、前記支持体と重なる場合、前記支持点が前記支持体に支持されていると判定する判定工程、
前記設定部が、前記支持点が前記支持体に支持されていると判定されている間、前記判定領域が広くなるように設定する設定工程、
前記修正部が、前記支持点が前記支持体に支持されていると判定されている間、当該支持体に支持されている支持点の位置の変化と、当該支持点を支持している支持体の位置の変化と、が連動するように、前記移動体の位置および向きの少なくとも一方を修正する修正工程
を備えることを特徴とするゲーム制御方法。
【請求項10】
コンピュータを、
仮想空間に配置される移動体と、当該移動体を支持可能な複数の支持体と、を画面に表示する表示部、
1人または複数のプレイヤーの動作を検知する検知部、
前記検知された動作に基づいて、前記複数の支持体の位置を変化させる変化部、
前記移動体に設定された複数の支持点のそれぞれについて、当該支持点を含むように設定された判定領域が前記複数の支持体のいずれかと重なる場合、当該支持点が当該支持体に支持されていると判定し、前記複数の支持点のうち、前記複数の支持体のいずれかに支持されていると判定された支持点の個数が、所定の閾値を超える場合、前記移動体が、当該複数の支持体に支持されていると判定する判定部、
前記移動体が前記支持体に支持されていると判定されている間、前記判定領域のうち、少なくとも前記支持体に重なる判定領域が広くなるように設定する設定部、
前記移動体が前記支持体に支持されていると判定されている間、前記支持点を支持している支持体の位置の変化と、前記支持体に支持されている支持点の位置の変化と、が連動するように、前記移動体の位置および向きの少なくとも一方を修正する修正部
として機能させることを特徴とするプログラム。
【請求項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


【公開番号】特開2012−48516(P2012−48516A)
【公開日】平成24年3月8日(2012.3.8)
【国際特許分類】
【出願番号】特願2010−190291(P2010−190291)
【出願日】平成22年8月27日(2010.8.27)
【出願人】(506113602)株式会社コナミデジタルエンタテインメント (1,441)
【Fターム(参考)】