トップ :: A 生活必需品 :: A63 スポ−ツ;ゲ−ム;娯楽




【発明の名称】 ゲームプログラム
【発明者】 【氏名】北尾 崇
【住所又は居所】東京都渋谷区恵比寿四丁目20番3号 株式会社コナミコンピュータエンタテインメントジャパン内

【要約】 【課題】プレーヤに与える不快感を軽減するカメラの制御を行うこと。

【解決手段】自キャラクタを中心に半径r1の球体1を仮定し、球体1の内部に含まれるすべてのキャラクタの重心位置G1を求め(S702)、球体1に含まれるすべてのキャラクタを包含する球体1’の半径R1を求める(S703)。一方、注目敵キャラクタを中心に半径r2の球体2を仮定し、球体2の内部に含まれるすべてのキャラクタの重心位置G2を求め(S705)、球体2に含まれるすべてのキャラクタを包含する球体2’の半径R2を求める(S706)。次に、重心位置G1と重心位置G2との直線距離dを求め(S707)、そしてd≦Dの場合、球体1’と球体2’との中点のゲーム空間における位置位置に基づいた仮想カメラの平行移動量の分だけ仮想カメラを平行移動させる(S709)。
【特許請求の範囲】
【請求項1】 情報処理装置に読み込ませることで、当該情報処理装置に第1のキャラクタ、第2のキャラクタを含む複数のキャラクタが存在する仮想の3次元空間において、前記第1のキャラクタの主観視点として設けられたカメラの制御を行わせるゲームプログラムであって、前記第1のキャラクタと、その近傍のキャラクタ群とを含む第1の領域を求める第1の領域計算工程のプログラムと、前記第2のキャラクタと、その近傍のキャラクタ群とを含む第2の領域を求める第2の領域計算工程のプログラムと、前記カメラの視界に前記第2のキャラクタが含まれており、且つ前記第1の領域と前記第2の領域との距離が所定値以下である場合、前記仮想カメラの位置を前記主観視点位置から、前記カメラの視界が前記第1の領域と前記第2の領域を含む客観視点位置に移動させる制御工程のプログラムとを備えることを特徴とするゲームプログラム。
【請求項2】 前記第1の領域計算工程のプログラムは前記第1のキャラクタを中心に所定範囲内の領域に含まれるキャラクタ群をピックアップし、ピックアップされた当該キャラクタ群と前記第1のキャラクタの夫々の位置から重心位置を求め、更に当該重心位置を中心にピックアップされた前記キャラクタ群と前記第1のキャラクタを包含する球体の半径を求めることで、前記第1の領域を求めることを特徴とする請求項1に記載のゲームプログラム。
【請求項3】 前記第2の領域計算工程のプログラムは前記第2のキャラクタを中心に所定範囲内の領域に含まれるキャラクタ群をピックアップし、ピックアップされた当該キャラクタ群と前記第2のキャラクタの夫々の位置から重心位置を求め、更に当該重心位置を中心にピックアップされた前記キャラクタ群と前記第2のキャラクタを包含する球体の半径を求めることで、前記第2の領域を求めることを特徴とする請求項1に記載のゲームプログラム。
【請求項4】 前記カメラの視界に前記第2のキャラクタが含まれており、且つ前記第1の領域と前記第2の領域との距離が所定値以下である場合、前記制御工程のプログラムは前記カメラの位置を、前記カメラの視界が前記第1の領域と前記第2の領域を略均等に含む客観視点位置に移動させることを特徴とする請求項1乃至3のいずれか1項に記載のゲームプログラム。
【請求項5】 前記制御工程のプログラムは、前記第1の領域と前記第2の領域の中点の前記3次元空間が表示される表示部の表示画面上における位置を求め、当該位置と当該表示部における中央位置との差分に対応する前記3次元空間における差分を前記カメラの平行移動量として求め、前記カメラを前記主観視点位置から当該平行移動量だけ移動させ、前記客観視点位置に平行移動させることを特徴とする請求項4に記載のゲームプログラム。
【請求項6】 前記カメラの位置が前記客観視点位置であって、前記第1の領域と前記第2の領域との距離が所定値よりも大きくなった場合、前記制御工程のプログラムは更に、前記仮想カメラの位置を前記客観視点位置から前記主観視点位置に移動させることを特徴とする請求項1乃至3のいずれか1項に記載のゲームプログラム。
【請求項7】 前記第2のキャラクタは、前記3次元空間を表示する表示部の中心位置近傍に表示されているキャラクタであることを特徴とする請求項1に記載のゲームプログラム。
【請求項8】 前記第1の領域、前記第2の領域の形状は球体であることを特徴とする請求項1乃至7のいずれか1項に記載のゲームプログラム。
【発明の詳細な説明】【0001】
【発明の属する技術分野】本発明は、ゲームプログラムに関するものである。
【0002】
【従来の技術】近年、ゲーム装置の処理能力に伴い、ゲーム画面の3次元表示処理を行うゲームシステムが一般的になっている。例えば、シューティングゲームを例に取れば、プレーヤの操作するキャラクタが立体的なゲームフィールド(仮想的な3次元空間内におけるゲームフィールド)を移動しながら、遭遇した敵キャラクタに攻撃を加える状況を3次元表示することにより、臨場感に溢れるゲームを提供することができる。
【0003】このようなゲームシステムでは、仮想的な3次元空間に設定されたゲームフィールド内において、それぞれ所定の座標位置に配置されたキャラクタや各種構造物などを表示対象として、ゲーム画面の表示範囲の基準となる視点位置、視線方向、画角等が状況に応じて設定されている。これにより、プレーヤはあたかも仮想的な3次元空間のゲームフィールド内を自由に移動する仮想カメラで撮影した画面を見ながらキャラクタを操作することができる。
【0004】
【発明が解決しようとする課題】しかしながら例えば、シューティングゲームなどの場合、操作対象のキャラクタは通常きわめて高速に移動し、更に敵キャラクタとの戦闘シーンで激しく位置を変える。これは自キャラクタと敵キャラクタとの距離が近ければ近いほど顕著なものとなる。そのため、臨場感を高めるために上述の仮想カメラで操作対象のキャラクタの動きに追従しながら、特定の対象を見ようとする場合、3次元空間内における表示画面がめまぐるしく回転をすることになり、これを見るプレーヤに不快感を与えることになる。
【0005】本発明はこのような点を考慮して成されたものであり、プレーヤに与える不快感を軽減するカメラの制御を行うことを目的とする。
【0006】
【課題を解決するための手段】本発明の目的を達成するために、例えば本発明の、ゲームプログラムは以下の構成を備える。
【0007】すなわち、情報処理装置に読み込ませることで、当該情報処理装置に第1のキャラクタ、第2のキャラクタを含む複数のキャラクタが存在する仮想の3次元空間において、前記第1のキャラクタの主観視点として設けられたカメラの制御を行わせるゲームプログラムであって、前記第1のキャラクタと、その近傍のキャラクタ群とを含む第1の領域を求める第1の領域計算工程のプログラムと、前記第2のキャラクタと、その近傍のキャラクタ群とを含む第2の領域を求める第2の領域計算工程のプログラムと、前記カメラの視界に前記第2のキャラクタが含まれており、且つ前記第1の領域と前記第2の領域との距離が所定値以下である場合、前記仮想カメラの位置を前記主観視点位置から、前記カメラの視界が前記第1の領域と前記第2の領域を含む客観視点位置に移動させる制御工程のプログラムとを備えることを特徴とする。
【0008】
【発明の実施の形態】以下添付図面を参照して、本発明を適用した好適な実施形態について詳細に説明する。
【0009】[第1の実施形態]図1は本実施形態におけるゲームプログラムを実行するゲーム装置の基本構成を示すブロック図である。以下の説明ではゲーム装置が、仮想の3次元空間内に3次元モデルとしての自キャラクタ(プレーヤが操作するキャラクタ)、敵キャラクタ、背景等を配置した画像を表示部に表示し、プレーヤがこの表示部を見ながら自キャラクタを操作部を用いて操作してゲームを進行させる場合について説明する。
【0010】101はCPUで、RAM102やROM103に格納されたプログラムやデータを用いて本装置全体の制御を行うと共に、後述の仮想カメラの制御処理を含むゲームの進行処理を行う。102はRAMで、記憶媒体ドライブ105からロードされたプログラムやデータを格納するエリアを備えると共に、CPU101が各種処理を行う際に一時的に処理中のデータを記憶する等に用いられるワークエリアを備える。103はROMで、本装置全体の制御を行うプログラム(オペレーティングシステムなどのプログラム)やデータ(本装置の設定データなど)を格納する。
【0011】104は操作部で、例えば自キャラクタの移動方向を指示する方向キーや、攻撃などのアクションを指示するスイッチ群などにより構成されている。105は記憶媒体ドライブで、DVD−ROMやCD−ROMなどの記憶媒体106からゲームプログラムやモデルデータ、音声データなどを含む各種のデータを読み込み、RAM102に出力する。107は音声処理部で、RAM102にロードされた音声データ、もしくはROM103に記憶されている本装置の起動音などの音声データに基づいたアナログ信号を生成し、スピーカ108に出力する。スピーカ108はこのアナログ信号に基づいた音を出力する。
【0012】109は画像処理部で、CPU101の制御の下で、自キャラクタや敵キャラクタ、背景などの3次元モデルを生成し、最終的に表示部に表示するゲーム画面を生成する処理を行う。本実施形態の3次元モデルはポリゴンにより構成されており、各ポリゴンにはテクスチャデータが貼り付けられてる。すなわち、本実施形態における画像処理部109は、各ポリゴンを定義する各頂点座標に対する変換処理やテクスチャマッピング処理などを行う。しかし、3次元モデルはポリゴンによるモデルに限定されるものではない。また、3次元モデルの生成処理については公知の技術であるために、ここので詳細な説明は省略する。
【0013】110はフレームメモリで、画像処理部109により生成されたゲーム画面をメモリサイズに応じて数フレーム分一時的に格納し、例えば1/60秒毎のタイミングで1フレームずつ表示部111に出力する。111はCRTや液晶画面などにより構成されている表示部で、フレームメモリ110から出力された1フレームのゲーム画面を表示する。112は上述の各部をつなぐバスである。上記構成を備える本実施形態におけるゲーム装置はゲームの進行処理に伴って、敵キャラクタ群と自キャラクタとの距離に応じて仮想カメラ(プレーヤの視点)の移動制御(単に制御処理と呼ぶことがある)を行う。以下、この仮想カメラの制御処理について説明する。
【0014】本実施形態におけるゲーム装置が表示部111に表示するゲーム画面の表示例を図2に示す。同図において201は自キャラクタ、202は複数の敵キャラクタを示す。上述の通り、自キャラクタ201,敵キャラクタ202は夫々3次元モデルとして表現されている。また同図の画面には3次元モデルとしての背景のモデル203,204も表示されている。同図に示すゲーム画面はゲームフィールドに設けられた仮想のカメラの位置から見た自キャラクタ201,敵キャラクタ群202、そして背景のモデル203,204の画像である。
【0015】仮想カメラの位置は、自キャラクタ201の後方かつ、頭部近傍の位置(主観視点位置)に設定されており、更に視線方向は自キャラクタ201の前方方向に設定されている。これにより、プレーヤは自キャラクタ201の主観視点から仮想空間を見ることができ、ゲームを円滑に行うことができる。また、仮想カメラの位置、視線方向は自キャラクタの移動、方向変化に追従するので、自キャラクタとの位置関係はほぼ保たれる。図3に、図2のゲーム画面における仮想の3次元空間を上から見た場合の自キャラクタ201(同図では「P」で示す)、敵キャラクタ群202(同図では夫々の敵キャラクタを「E」で示す)、そして仮想カメラ301の位置関係を示す。仮想カメラの視界は302で示されており、この視界の中に存在するモデルが表示部111に表示される(同図の場合、図2に示した表示画面に表示される)。
【0016】しかし、敵キャラクタ(もしくは敵キャラクタ群)と自キャラクタとの距離が小さくなるほど、表示部111の画面における単位時間あたりの敵キャラクタ(もしくは敵キャラクタ群)の移動量は大きくなる。このために、この敵キャラクタ(もしくは敵キャラクタ群)を見ようと、プレーヤが操作部104を用いて自キャラクタの(仮想カメラの)位置、方向を変化させようとすると、画面における上記移動量が大きいわけであるから、画面内に表示されている仮想空間がめまぐるしく変化することになり、プレーヤに不快感を与えることになる。特に仮想空間が回転するような表示はプレーヤに不快感を与えやすい。
【0017】よって、この問題を解消する本実施形態における仮想カメラの制御方法について図4を用いて説明する。図4は、ゲームフィールドにおける自キャラクタと敵キャラクタの夫々の位置を示す図である。同図において「P」は自キャラクタを示し、「E」は敵キャラクタを示す。自キャラクタと敵キャラクタ群との位置関係が同図のようになっている場合、まず、自キャラクタを含む所定の範囲内の領域に含まれる敵キャラクタ群をピックアップする。本実施形態ではこの領域の形状として球体を用いるが、これに限定されるものではない。自キャラクタの位置を中心に半径r1の球体(球体1)を仮定する。そしてこの球体の内部に含まれる敵キャラクタをすべてピックアップする。同図では2つの敵キャラクタが含まれている。
【0018】次に、表示部111の画面の中心に最も近い敵キャラクタを選択し(以下、この敵キャラクタを注目敵キャラクタと呼ぶことがある)、注目敵キャラクタを含む所定の範囲内の領域に含まれる敵キャラクタ群をピックアップする。本実施形態ではこの領域の形状として球体を用いるが、これに限定されるものではない。また、注目敵キャラクタとして、画面の中心に最も近い敵キャラクタに限定されるものではない。
【0019】注目敵キャラクタの位置を中心に半径r2の球体(球体2)を仮定する。この半径r2は、注目敵キャラクタと自キャラクタとの距離がdで表される場合には、r2<d−r1となるようにとる。そして半径r2の球体の内部に含まれる敵キャラクタをすべてピックアップする。同図では2つの敵キャラクタが含まれている。
【0020】そして球体1に含まれるキャラクタ、すなわち、自キャラクタと2つの敵キャラクタの3つのキャラクタの重心位置を求め、これをG1とする。そしてこの重心位置を中心として自キャラクタとこの2つの敵キャラクタを包含する領域を求める。本実施形態ではこの領域の形状として球体を用いるが、これに限定されるものではない。重心位置G1を中心として自キャラクタとこの2つの敵キャラクタを包含する球体(球体1’)を仮定し、更にこの球体の半径を求め、これをR1とする。
【0021】一方、球体2に含まれるキャラクタ、すなわち、注目敵キャラクタと2つの敵キャラクタの重心位置を求め、これをG2とする。そしてこの重心位置を中心としてこの3つの敵キャラクタを包含する領域を求める。本実施形態ではこの領域の形状として球体を用いるが、これに限定されるものではない。重心位置G2を中心としてこの3つの敵キャラクタを包含する球体(球体2’)を仮定し、更にこの球体の半径をもとめ、これをR2とする。図5に、上記球体1’と球体2’を示す。
【0022】そして夫々の球体1’、2’間の距離、すなわち、重心位置G1と重視位置G2との直線距離を求め(これをdとする)、この距離dが所定の距離D以下になった場合、仮想カメラの位置を、球体1’と球体2’が表示部111の画面内に収まるような位置(客観視点位置)まで移動させる。また、距離dが所定の距離Dよりも大きくなった場合には、再び仮想カメラの位置を移動させて、主観視点位置まで戻す。このカメラの移動を説明するための図を図6A、6Bに示す。
【0023】図6Aは、仮想カメラ601と球体1’、球体2’の位置関係の一例を示す図である。図6Bは、表示部111に表示された、仮想カメラ601による視界に基づいたゲーム画面の表示例を示す図である。図6Aにおいて、球体1’と仮想カメラ601の視界の一端610との距離L1と、球体2’と仮想カメラ601の視界の一端611との距離L2とが異なるため、図6Bに示すように、表示画面上では球体1’と表示部111の一端との距離z1と、球体2’と表示部111の一端との距離z2とが異なる。上記距離L1,L2は、球体と視界の一端との、仮想カメラ601への投影面と平行となる方向の距離である。よって、上記距離L1,L2図6Bに示した表示画面上では夫々、距離z1,z2となる。
【0024】本実施形態ではd≦Dの場合、仮想カメラは、L1とL2とが等しい距離になるように、言い換えるとz1とz2とが等しい距離になるように平行移動する。仮想カメラ601を平行移動させた後の仮想カメラ601と球体1’と球体2’との位置関係を示す図8Aに、そして平行移動後の仮想カメラ601による視界に基づいたゲーム画面の表示例を図8Bに示す。図8Aにおいて、点線で示された部分(仮想カメラ601)は平行移動前の仮想カメラの位置を示すものであり、601’で示す部分は平行移動後の仮想カメラの位置を示すものである。
【0025】同図において仮想カメラは、L1,L2の距離方向に移動し、その結果、夫々の距離L1,L2はL1’、L2’(L1’=L2’)となり、表示画面上では図8Bに示すとおり、球体1’と表示部111の一端との距離z1’と球体2’と表示部111の一端との距離z2’とが等しくなり、結果として、表示画面内に球体1’と球体2’とが均等に収まる。
【0026】実際に、上記仮想カメラの平行移動処理を実現するためには、球体1’と球体2’との中点Mが、表示部111に表示される表示画面の中央に位置するように仮想カメラを平行移動させる。これは、表示部111の表示画面上における中点Mの位置を求め、この位置と表示画面上における中央位置とのずれに対応するゲーム空間におけるずれを求める。このずれの分が仮想カメラの平行移動量となるわけであるから、このずれの分だけ仮想カメラを平行移動させればよい。
【0027】このようにすることで、自キャラクタ(厳密には球体1’の中心位置G1)と敵キャラクタ群との距離が所定の距離よりも小さい場合には、仮想カメラの位置の平行移動のみでカメラの視界内に敵キャラクタ群を入れることができるので、表示部111の画面を見ているユーザに対して与える不快感を軽減することができる。また、d>Dとなった場合、仮想カメラを主観視点位置に移動させる。
【0028】以上説明した、本実施形態における仮想カメラの制御方法のフローチャートを図7に示す。なお、同図に示したフローチャートに従ったプログラムはRAM102に記憶され、CPU101により読み出され、実行される。その結果、図1に示した構成を備えるゲーム装置は上記仮想カメラの制御処理を行う。また、同フローチャートに従った処理はゲームプログラムのサブルーチンとして実行され、同フローチャートに従った処理が終了すると、ゲームのメイン処理にリターンする。
【0029】まず、自キャラクタの位置を中心に半径r1の球体1を仮定し、この球体1の内部に含まれるキャラクタ(自キャラクタを含む)すべてをピックアップする(ステップS701)。そしてピックアップしたすべてのキャラクタの重心位置G1を求める(ステップS702)。そして求めた重心位置G1を中心位置とし、球体1に含まれるすべてのキャラクタを包含する球体1’の半径R1を求める(ステップS703)。
【0030】一方、注目敵キャラクタを選択し、注目敵キャラクタを中心に半径r2の球体2を仮定し、球体2の内部に含まれるすべてのキャラクタをピックアップする(ステップS704)。そしてピックアップしたすべてのキャラクタの重心位置G2を求める(ステップS705)。そして求めた重心位置G2を中心位置とし、球体2に含まれるすべてのキャラクタを包含する球体2’の半径R2を求める(ステップS706)。なお、説明上、ステップS701からステップS703の処理(処理1)をステップS704からステップS706の処理(処理2)よりも先に説明したが、並列処理が可能なゲーム装置では処理1と処理2を同時に行っても良いし、処理1,処理2のいずれか一方を先に行っても良い。
【0031】次に、重心位置G1と重心位置G2との直線距離dを求め(ステップS707)、求めた距離dが予めRAM102に記憶しておいた所定の距離D以下であるか否かの判定処理を行う(ステップS708)。そしてd≦Dの場合、処理をステップS709に進め、上記説明の通り、球体1’と球体2’との中点の表示部111における表示画面上の位置を求め、求めた位置と表示画面上の中央位置とのずれに基づいて仮想カメラの平行移動量を求め、この平行移動量の分だけ仮想カメラを平行移動させる(ステップS709)。
【0032】一方、d>Dの場合、処理をステップS710に進め、仮想カメラを主観視点位置まで移動させる(ステップS710)。
【0033】以上説明したように、本実施形態におけるゲーム装置及びゲームプログラムは、敵キャラクタとの距離が比較的近い場合にも、仮想カメラの平行移動のみで対処するために、仮想カメラによるゲーム画面がめまぐるしく変化することはなく、このゲーム画面を見るプレーヤに与える不快感を軽減することができる。また、敵キャラクタを集合単位で扱うことで仮想カメラの位置が客観視点位置に移動した場合、この集合に含まれる複数の敵キャラクタの画像をゲーム画面内に納めることができる。
【0034】[第2の実施形態]以上の処理(例えば図7に示したフローチャートの一部、もしくは全部に従った処理)をプログラムとしてCD−R、ROMやDVD−ROM、MO等の記憶媒体に記憶させ、この記憶媒体に記憶されているプログラムをコンピュータに読み込ませる(インストール、もしくはコピーさせる)ことで、このコンピュータは以上の処理を行うことができる。よって、この記憶媒体も本発明の範疇にあることは明白である。
【0035】また、上記実施形態で説明した仮想カメラの制御処理は以下の構成を備えるゲーム装置でも実現可能である。すなわち、第1のキャラクタ、第2のキャラクタを含む複数のキャラクタが存在する仮想の3次元空間において、前記第1のキャラクタの主観視点として設けられたカメラの制御を行行うゲーム装置であって、前記第1のキャラクタと、その近傍のキャラクタ群とを含む第1の領域を求める第1の領域計算手段と、前記第2のキャラクタと、その近傍のキャラクタ群とを含む第2の領域を求める第2の領域計算手段と、前記カメラの視界に前記第2のキャラクタが含まれており、且つ前記第1の領域と前記第2の領域との距離が所定値以下である場合、前記仮想カメラの位置を前記主観視点位置から、前記カメラの視界が前記第1の領域と前記第2の領域を含む客観視点位置に移動させる制御手段とを備えることを特徴とするゲーム装置により上記実施形態で説明した一連の処理を行うことができるので、上記構成を備える装置は本発明の範疇にあることは明確である。
【0036】
【発明の効果】以上の説明により、本発明によってプレーヤに与える不快感を軽減するカメラの制御を行うことができる。
【出願人】 【識別番号】500092619
【氏名又は名称】株式会社コナミコンピュータエンタテインメントジャパン
【住所又は居所】東京都港区六本木六丁目10番1号
【出願日】 平成14年4月17日(2002.4.17)
【代理人】 【識別番号】100076428
【弁理士】
【氏名又は名称】大塚 康徳 (外3名)
【公開番号】 特開2003−305275(P2003−305275A)
【公開日】 平成15年10月28日(2003.10.28)
【出願番号】 特願2002−114532(P2002−114532)