説明

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

【課題】仮想2次元空間内において、線状体の位置や形状をユーザの動作に合わせて変化させ、当該線状体に沿って移動体を移動させる。
【解決手段】ゲーム装置601において、表示部602は、仮想2次元空間に配置される線状体と、当該仮想2次元空間内を移動する移動体と、を、画面に表示する。検知部603は、プレイヤーの動作を検知する。変化部604は、検知された動作に基づいて、線状体の位置ならびに形状のいずれか少なくとも一方を変化させる。判定部605は、移動体の位置を含むように設定された判定領域が、線状体と交差する場合、移動体が線状体に接していると判定する。修正部606は、移動体が線状体に接していると判定された場合、移動体の位置を、線状体に接するように修正する。

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

【特許請求の範囲】
【請求項1】
仮想2次元空間に配置される線状体と、当該仮想2次元空間内を移動する移動体と、を、画面に表示する表示部、
プレイヤーの動作を検知する検知部、
前記検知された動作に基づいて、前記線状体の位置ならびに形状のいずれか少なくとも一方を変化させる変化部、
前記移動体の位置を含むように設定された判定領域が、前記線状体と交差する場合、前記移動体が前記線状体に接していると判定する判定部、
前記移動体が前記線状体に接していると判定された場合、前記移動体の位置を、前記線状体に接するように修正する修正部
を備えることを特徴とするゲーム装置。
【請求項2】
請求項1に記載のゲーム装置であって、
前記移動体が前記線状体に接していると判定された場合、前記変化部は、前記移動体の位置を、前記画面内の所定の目標位置に近付くように変化させる
ことを特徴とするゲーム装置。
【請求項3】
請求項2に記載のゲーム装置であって、
前記移動体が前記線状体に接していないと判定された場合、前記変化部は、前記移動体の位置を、所定の加速度で変化させる
ことを特徴とするゲーム装置。
【請求項4】
請求項1から3のいずれか1項に記載のゲーム装置であって、
前記判定領域の大きさは、前記線状体の傾きに応じて変化する
ことを特徴とするゲーム装置。
【請求項5】
請求項1から4のいずれか1項に記載のゲーム装置であって、
前記表示部による表示、前記検知部による検知、前記変化部による変化、前記判定部による判定、前記修正部による修正は、所定の時間間隔で順に行われる
ことを特徴とするゲーム装置。
【請求項6】
表示部、検知部、変化部、判定部、修正部を有するゲーム装置を制御するゲーム装置の制御方法であって、
前記表示部が、仮想2次元空間に配置される線状体と、当該仮想2次元空間内を移動する移動体と、を、画面に表示する表示工程、
前記検知部が、プレイヤーの動作を検知する検知工程、
前記変化部が、前記検知された動作に基づいて、前記線状体の位置ならびに形状のいずれか少なくとも一方を変化させる変化工程、
前記判定部が、前記移動体の位置を含むように設定された判定領域が、前記線状体と交差する場合、前記移動体が前記線状体に接していると判定する判定工程、
前記移動体が前記線状体に接していると判定された場合、前記修正部が、前記移動体の位置を、前記線状体に接するように修正する修正工程
を備えることを特徴とするゲーム装置の制御方法。
【請求項7】
コンピュータを、
仮想2次元空間に配置される線状体と、当該仮想2次元空間内を移動する移動体と、を、画面に表示する表示部、
プレイヤーの動作を検知する検知部、
前記検知された動作に基づいて、前記線状体の位置ならびに形状のいずれか少なくとも一方を変化させる変化部、
前記移動体の位置を含むように設定された判定領域が、前記線状体と交差する場合、前記移動体が前記線状体に接していると判定する判定部、
前記移動体が前記線状体に接していると判定された場合、前記移動体の位置を、前記線状体に接するように修正する修正部
として機能させることを特徴とするプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate


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