JP2005250800A - ゲームプログラム及びゲーム装置 - Google Patents

ゲームプログラム及びゲーム装置 Download PDF

Info

Publication number
JP2005250800A
JP2005250800A JP2004059697A JP2004059697A JP2005250800A JP 2005250800 A JP2005250800 A JP 2005250800A JP 2004059697 A JP2004059697 A JP 2004059697A JP 2004059697 A JP2004059697 A JP 2004059697A JP 2005250800 A JP2005250800 A JP 2005250800A
Authority
JP
Japan
Prior art keywords
movement
virtual camera
procedure
path
route
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2004059697A
Other languages
English (en)
Other versions
JP3700857B2 (ja
Inventor
Hiroaki Yoshiike
博明 吉池
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Konami Group Corp
Original Assignee
Konami Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority to JP2004059697A priority Critical patent/JP3700857B2/ja
Application filed by Konami Corp filed Critical Konami Corp
Priority to EP04771030A priority patent/EP1721643A4/en
Priority to KR1020057022296A priority patent/KR20060126349A/ko
Priority to PCT/JP2004/010817 priority patent/WO2005084766A1/ja
Priority to CN200480014888A priority patent/CN100579615C/zh
Priority to TW093125763A priority patent/TWI265041B/zh
Priority to US10/958,501 priority patent/US20050195184A1/en
Publication of JP2005250800A publication Critical patent/JP2005250800A/ja
Application granted granted Critical
Publication of JP3700857B2 publication Critical patent/JP3700857B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/52Controlling the output signals based on the game progress involving aspects of the displayed game scene
    • A63F13/525Changing parameters of virtual cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/003Navigation within 3D models or images
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/52Controlling the output signals based on the game progress involving aspects of the displayed game scene
    • A63F13/525Changing parameters of virtual cameras
    • A63F13/5258Changing parameters of virtual cameras by dynamically adapting the position of the virtual camera to keep a game object or game character in its viewing frustum, e.g. for tracking a character or a ball
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/40Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
    • A63F13/42Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle
    • A63F13/422Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle automatically for the purpose of assisting the player, e.g. automatic braking in a driving game
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/52Controlling the output signals based on the game progress involving aspects of the displayed game scene
    • A63F13/525Changing parameters of virtual cameras
    • A63F13/5255Changing parameters of virtual cameras according to dedicated instructions from a player, e.g. using a secondary joystick to rotate the camera around a player's character
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/20Perspective computation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/55Controlling game characters or game objects based on the game progress
    • A63F13/57Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game
    • A63F13/577Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game using determination of contact between game characters or objects, e.g. to avoid collision between virtual racing cars
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/66Methods for processing data by generating or executing the game program for rendering three dimensional images
    • A63F2300/6661Methods for processing data by generating or executing the game program for rendering three dimensional images for changing the position of the virtual camera
    • A63F2300/6676Methods for processing data by generating or executing the game program for rendering three dimensional images for changing the position of the virtual camera by dedicated player input
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/66Methods for processing data by generating or executing the game program for rendering three dimensional images
    • A63F2300/6661Methods for processing data by generating or executing the game program for rendering three dimensional images for changing the position of the virtual camera
    • A63F2300/6684Methods for processing data by generating or executing the game program for rendering three dimensional images for changing the position of the virtual camera by dynamically adapting its position to keep a game object in its viewing frustrum, e.g. for tracking a character or a ball

Abstract

【課題】 障害物の多いフィールドであっても、カメラ位置を柔軟に設定出来るものでありながら、適正な撮影画像を安定的に表示することの出来る、ゲームソフトウェア及びゲーム装置の提供。
【解決手段】 プレーヤは、移動経路を、デフォルト経路MPから自由に変更することが出来る一方、仮想カメラCMが背景オブジェクトWLに近接した際に、仮想カメラCMとその背景オブジェクトWLとの間の距離が所定値以下にならないように、変更された移動経路が補正されるので、仮想カメラCMを背景オブジェクトWLにめり込ませないようにすることが出来る。これにより、障害物の多いフィールドFD、CVであっても、カメラ位置を柔軟に設定出来るものでありながら、適正な撮影画像を安定的に表示することが出来る。
【選択図】 図5

Description

本発明は、障害物の多いフィールドであっても、カメラ位置を柔軟に設定出来るものでありながら、適正な撮影画像を安定的に表示することの出来る、ゲームソフトウェア及びゲーム装置に関する。
本明細書において、「ゲームソフトウェア」とは、プログラムそれ自体及び必要に応じて該プログラムに付随して関連づけられた各種のデータを含む概念である。しかし、「ゲームソフトウェア」は必ずしもデータと関連づけられている必要はないが、プログラムは必ず有している。また、この「関連づけられた各種のデータ」は、プログラムと共にROMディスクなどのメモリ手段に格納されていてもよく、更には、外部のメモリ手段にインターネットなどの通信媒介手段を介して読み出し自在に格納されていてもよい。
従来、この種のゲームソフトウェアでは、例えば幅の狭い通路など、障害物(例えば壁)の多いフィールドを移動するキャラクタを、仮想的なカメラ(以下「仮想カメラ」という。)が追従するといったカメラワークが行われる。このような場合には、仮想カメラの移動経路を通路に固定した形で予め設定しておき、この移動経路に沿って仮想カメラを移動させる手法を取ることがある。このような通路はその幅が狭いため、適正な(つまり仮想カメラが壁などにめり込むことのない)撮影画像を得ることの出来るカメラ位置が限られていることから、仮想カメラの移動経路に自由度を与えることなく、固定した方が都合が良いからである。
なお、本出願人は、出願時において、仮想カメラのカメラワークが行われるゲームについて、体系的に記した技術文献を知らないため、開示すべき先行技術文献情報はない。
しかし、ユーザーの個性は千差万別であることから、上述したように仮想カメラの移動経路を完全に固定してしまっては、ゲームソフトウェアを、各ユーザーの個性に応じた柔軟性のある製品にすることが出来ない。
そこで、仮想カメラの移動経路を固定した形で設定せずに、仮想カメラがキャラクタを自由に追従するようなカメラワークとする仕様も考えられるが、幅の狭い通路などでは、キャラクタのちょっとした動きで仮想カメラが壁などにめり込んでしまい、適正な撮影画像を安定的に得ることが困難な不都合がある。従って、カメラ位置の柔軟な設定と、適正な撮影画像の安定的な表示とを、調和的に実現することが望まれている。
本発明は、上記事情を鑑み、障害物の多いフィールドであっても、カメラ位置を柔軟に設定出来るものでありながら、適正な撮影画像を安定的に表示することの出来る、ゲームソフトウェア及びゲーム装置を提供することを目的とする。
請求項1の発明は、入力手段(14)からの信号に応じて操作自在な操作オブジェクト(例えばCH1)を3次元仮想空間(3DS)内に生成されたフィールド(FD)上で移動制御するゲームを、コンピュータ(1)に実行させるためのプログラムを有するゲームソフトウェア(GSW)であって、
前記ゲームソフトウェア(GSW)は、前記コンピュータ(1)に、
前記操作オブジェクト(CH1)と、前記フィールド(例えばCV)を構成する背景オブジェクト(例えばWL)とのポリゴンを生成し、前記3次元仮想空間(3DS)内に配置する、ポリゴン生成配置手順(PGP)、
前記入力手段(14)からの信号に応じて、前記ポリゴン生成配置手順(PGP)により背景オブジェクト(WL)が配置された3次元仮想空間(3DS)内で、前記操作オブジェクト(CH1)を移動制御する、操作オブジェクト移動制御手順(PGP)、
前記3次元仮想空間(3DS)内の視野範囲を設定する仮想カメラ(CM)を、該仮想カメラの移動経路(MP)として3次元仮想空間(3DS)内に設定された経路上で、前記操作オブジェクト移動制御手順(PGP)により移動制御された操作オブジェクト(CH1)に追従するように移動制御する、仮想カメラ移動制御手順(CWP)、
前記入力手段(14)からの信号に応じて、前記仮想カメラの前記移動経路(MP)を、前記3次元仮想空間(3DS)内に予め設定されたデフォルト経路(MP)から当該デフォルト経路とは異なる経路(例えば図5に示すMPc1)に変更する、移動経路変更手順(MPP)、
前記仮想カメラ(CM)を、前記デフォルト経路(MP)上から、前記移動経路変更手順(MPP)により変更された移動経路(例えば図5に示すMPc1)上で移動制御するように、前記仮想カメラ移動制御手順(CWP)に対して指令する、変更経路移動指令手順(MPP)、
前記仮想カメラ移動制御手順(CWP)により移動制御された仮想カメラ(CM)が設定する視野範囲内のポリゴンをレンダリングして2次元画像を生成し、ディスプレイ(11)上に表示する、2次元画像生成表示手順(PDP、ANP)、
前記移動経路変更手順(MPP)により変更された移動経路(MP)上を移動する仮想カメラ(CM)と、前記ポリゴン生成配置手順(PGP)により3次元仮想空間(3DS)内に配置された背景オブジェクト(WL)との間の距離を演算する、距離演算手順(SMP)、
前記距離演算手順(SMP)により演算された距離が所定値(例えばX)以下の背景オブジェクト(WL)を検出する、背景オブジェクト検出手順(SMP)、
前記背景オブジェクト検出手順(SMP)により検出された背景オブジェクト(WL)から前記仮想カメラ(CM)を遠ざけた形に、前記変更された移動経路を(例えば図5に示すMPc2に)補正するように、前記移動経路変更手順(MPP)に対して指令する、移動経路補正指令手順(SMP)、
を実行させるためのプログラムであることを特徴として構成される。
請求項2の発明は、前記ゲームソフトウェア(GSW)は、更に前記コンピュータ(1)に、
前記仮想カメラの視線方向(PD)を制御する、視線方向制御手順(CWP)、
前記入力手段(14)からの信号に応じて、前記視線方向制御手順(CWP)に対して、前記仮想カメラの視線方向(PD)を変更するように指令する、視線方向変更指令手順(CWP)、
を実行させるためのプログラムであることを特徴として構成される。
請求項3の発明は、前記移動経路変更手順(MPP)は、前記入力手段(14)からの第1の信号(CS1)に応じて、前記仮想カメラの移動経路(MP)を変更し、
前記ゲームソフトウェア(GSW)は、更に前記コンピュータ(1)に、
前記入力手段(14)からの第2の信号(CS2)に応じて、前記移動経路変更手順(MPP)により補正された移動経路(MP)の変更状態(例えばΔS)を固定する、移動経路固定手順(MPP)、
前記入力手段(14)からの第3の信号(CS3)に応じて、前記仮想カメラの移動経路(MP)を、前記移動経路固定手順(MPP)により変更状態(例えばΔS)が固定された移動経路(MP)から前記デフォルト経路(MP)に変更する、デフォルト経路復帰手順(MPP)、
を実行させるためのプログラムを有することを特徴として構成される。
請求項4の発明は、入力手段(14)からの信号に応じて操作自在な操作オブジェクト(例えばCH1)を3次元仮想空間(3DS)内に生成されたフィールド(FD)上で移動制御することの出来るゲーム装置(1)であって、
前記ゲーム装置は(1)、
前記操作オブジェクト(CH1)と、前記フィールド(例えばCV)を構成する背景オブジェクト(例えばWL)とのポリゴンを生成し、前記3次元仮想空間(3DS)内に配置する、ポリゴン生成配置手段(2、PGP)、
前記入力手段(14)からの信号に応じて、前記ポリゴン生成配置手段(2、PGP)により背景オブジェクト(WL)が配置された3次元仮想空間内(3DS)で、前記操作オブジェクト(CH1)を移動制御する、操作オブジェクト移動制御手段(2、PGP)、
前記3次元仮想空間(3DS)内の視野範囲を設定する仮想カメラ(CM)を、該仮想カメラの移動経路(MP)として3次元仮想空間(3DS)内に設定された経路上で、前記操作オブジェクト移動制御手段(2、PGP)により移動制御された操作オブジェクト(CH1)に追従するように移動制御する、仮想カメラ移動制御手段(2、CWP)、
前記入力手段(14)からの信号に応じて、前記仮想カメラの前記移動経路(MP)を、前記3次元仮想空間内に予め設定されたデフォルト経路(MP)から当該デフォルト経路とは異なる経路(例えば図5に示すMPc1)に変更する、移動経路変更手段(2、MPP)、
前記仮想カメラ(CM)を、前記デフォルト経路(MP)上から、前記移動経路変更手段(2、MPP)により変更された移動経路(例えば図5に示すMPc1)上で移動制御するように、前記仮想カメラ移動制御手段(2、CWP)に対して指令する、変更経路移動指令手段(2、MPP)、
前記仮想カメラ移動制御手段(2、CWP)により移動制御された仮想カメラ(CM)が設定する視野範囲内のポリゴンをレンダリングして2次元画像を生成し、ディスプレイ(11)上に表示する、2次元画像生成表示手段(8、PDP、ANP)、
前記移動経路変更手段(2、MPP)により変更された移動経路(MP)上を移動する仮想カメラ(CM)と、前記ポリゴン生成配置手段(2、PGP)により3次元仮想空間(3DS)内に配置された背景オブジェクト(WL)との間の距離を演算する、距離演算手段(2、SMP)、
前記距離演算手段(2、SMP)により演算された距離が所定値(例えばX)以下の背景オブジェクト(WL)を検出する、背景オブジェクト検出手段(2、SMP)、
前記背景オブジェクト検出手段(2、SMP)により検出された背景オブジェクト(WL)から前記仮想カメラ(CM)を遠ざけた形に、前記変更された移動経路を(例えば図5に示すMPc2に)補正するように、前記移動経路変更手段(2、MPP)に対して指令する、移動経路補正指令手段(2、SMP)、
を有して構成される。
請求項1または4の発明によれば、仮想カメラ(CM)が、背景オブジェクト(例えばWL)に近接した際に、仮想カメラ(CM)がその背景オブジェクト(WL)にそれ以上近接しないように、移動経路(MP)が(例えば図5に示すMPc2に)補正されるので、仮想カメラを背景オブジェクトにめり込ませないようにすることが出来る。これにより、障害物の多いフィールドであっても、カメラ位置を柔軟に設定出来るものでありながら、適正な撮影画像を安定的に表示することの出来る。
請求項2の発明によれば、プレーヤは、仮想カメラの視線方向(PD)を変更することが出来るので、撮影画像を安定的に表示するものでありながら、カメラ操作の柔軟性を更に高めることが出来る。
請求項3の発明によれば、プレーヤは、移動経路(MP)を、背景オブジェクト(例えばWL)から遠ざけた形に補正された移動経路の変更状態(例えばΔS)を、自由に固定することが出来ると共に、変更状態(例えばΔS)を固定した移動経路(MP)をいつでもデフォルト経路(MP)に戻すことが出来るので、カメラ操作を簡単なものにすることが出来る。これにより、カメラ操作の柔軟性を確保しつつ、その操作性を高めることが出来る。
なお、括弧内の番号などは、本発明の理解を助けるために、図面における対応する要素を便宜的に示すものである。従って、本記述は図面上の記載に限定拘束されるものではなく、また、この符号の記載により本発明を解釈すべきでない。
以下、図面に基づき、本発明の実施例を説明する。
図1は、ゲーム装置の制御ブロックの一例を示す図、図2は、右ジョイスティックの(一部省略)側面図、図3は、ゲームソフトウェアの構成の一例を示す図、図4は、仮想カメラの概念図、図5は、フィールドの一例である洞窟の(一部省略)上断面図である。
ゲーム装置1は、図1に示すように、家庭用ゲーム装置であり、マイクロプロセッサを主体として構成されたCPU2を有している。CPU2には、バス3を介して、ROM4、RAM5、画像処理装置8、音声処理装置9、記録ディスク読取装置7、及びインターフェース13が接続される。
記録ディスク6は、記憶媒体として機能するものであり、光学式記憶媒体である。記録ディスク6には、ゲームの実行に必要なプログラムやデータからなるゲームソフトウェアGSWが格納されており、ゲーム装置1は、記録ディスク6に格納されたゲームソフトウェアGSWに従って所定のゲームを実行する。記録ディスク読取装置7は、CPU2からの指示に従ってゲームソフトウェアGSW中のプログラムやデータを読み取り、その読み取った内容に対応した信号を出力する。
なお、記録ディスク6は、光学式記憶媒体に限らず、半導体記憶素子、磁気記憶媒体、光磁気記憶媒体等の各種の記憶媒体を使用してよい。また、このような記憶媒体を用いることなく、例えば、インターネットなどの通信媒介手段を介してゲーム装置1とは独立したサーバから、ゲームソフトウェアGSWを読み取ってもよい。
ROM4及びRAM5は、CPU2に対して主記憶装置として機能するものであり、ROM4には、ゲーム装置1の全体の動作制御に必要なプログラムとしてのマルチタスクオペレーティングシステム(マルチタスクOS)が書き込まれる。RAM5には、記録ディスク6から読み取ったゲームソフトウェアGSW中のプログラムやデータが必要に応じて書き込まれる。
画像処理装置8には、フレームメモリ10及びディスプレイ11が接続され、画像処理回路8は、CPU2から2次元画像データを受け取ってフレームメモリ10上に撮影画像を描画するとともに、その描画された撮影画像を所定のビデオ再生信号に変換して所定のタイミングでディスプレイ11に出力する。ディスプレイ11としては、家庭用のテレビ受像機が一般に使用される。
音声処理装置9には、記録ディスク読取装置7及びスピーカ12が接続され、音声処理装置9は、記録ディスク読取装置7が記録ディスク6から読み取った音声、楽音等のデータや音源データ等を再生して、スピーカ12に出力する。スピーカ12としては、テレビ受像機の内蔵スピーカが一般に使用される。
インターフェース13には、コントローラ14及び外部メモリ15が、適宜な接続ポートを介してそれぞれ着脱自在に接続される。コントローラ14及び外部メモリ15は、インターフェース13に対して複数並列に接続可能である。
コントローラ14は、入力手段として機能するものであり、インターフェース13に接続される本体14aを有している。本体14aには、操作部材として、例えば十字型の方向指示スイッチ14b、左ジョイスティック14c1、右ジョイスティック14c2、及び、例えば4個の押釦スイッチ14dが設けられている。なお、図2に示す右ジョイスティック14c2の詳細については、後述する。
コントローラ14から、各操作部材14b、14c1、14c2、14dの操作状態に対応した操作信号が一定周期(例えば1/60秒)でRAM5に入力され、CPU2は、その操作信号に基づいてコントローラ14の操作状態を判別する。
以上の構成において、ディスプレイ11、スピーカ12、コントローラ14、記録ディスク6、及び外部メモリ15を除く他の構成要素は、所定のハウジング内に一体的に収容されてゲーム装置1の本体を構成し、このゲーム装置1の本体がコンピュータとして機能する。
なお、コンピュータの一例として、家庭用ゲーム装置について説明したが、携帯型ゲーム装置やアーケードゲーム装置などのゲーム装置であってもよく、また、ゲーム専用の装置でなく、一般的な音楽や映像の記憶媒体の再生なども可能な装置であってもよい。更に、パーソナルコンピュータ、携帯電話、PDA(携帯情報端末)などであってもよく、つまりゲームソフトウェアGSWを実行させることのできるものであれば何れのものでもよい。
次いで、ゲームソフトウェアGSWは、図3に示すように、ゲームを進行させる複数のプログラムがモジュール化された階層構造として構成されている。
図3左方に示す下位の階層には、入力処理プログラムINP、サウンド処理プログラムSDP、画像処理プログラムANPなどのユーザインターフェースを処理するプログラムが格納されている。図3中央に示す上位の階層には、シナリオ処理プログラムSNPなどが格納されている。図3右方に示す更に上位の階層には、ポリゴン処理プログラムPGP、画像データ生成プログラムPDP、カメラワーク処理プログラムCWP、移動経路変更プログラムMPP、シフト値補正プログラムSMPなどの、ゲーム進行に必要な各種タスクを実行制御するプログラムが格納されている。また、図3右方に示す上位の階層には、ポリゴンデータファイルPGF、仮想空間データファイルIAFなどのデータ領域が設定されている。
なお、ゲームソフトウェアGSWのデータ領域に格納された各種のデータは、ゲームソフトウェアGSWが読み出し自在に有している限り、その格納態様は任意である。例えば、ゲームソフトウェアGSWと共に記録ディスク6中に格納する他に、ゲーム装置1とは独立したサーバなどの外部のメモリ手段に格納しておき、ゲームソフトウェアGSW中に設けられた読み出しプログラムによって、インターネットなどの通信媒介手段を介して、RAM5などのメモリ手段にダウンロードするようにしてもよい。
また、ゲームソフトウェアGSWの各プログラムPGP、PDP、… に基づいて生成される複数のタスクは、マルチタスクオペレーションシステムによりマルチタスクとしてその優先順位に応じて順次実行されるが、上述した階層構造は、本発明を説明する上で必要なプログラムのみを、簡単な階層構造として示したものであり、実際の階層構造は更に複雑で、並列処理プログラムなどの種々のプログラムを含むものである。また、各プログラム間には、指令やデータの受け渡しを示す矢印を示しているが、該矢印は発明を理解し易くするためのものであり、これらの矢印によってプログラムの処理方法やデータの取り扱いが限定されるものでない。
以上の構成のゲーム装置1では、記録ディスク6に格納されたゲームソフトウェアGSWをRAM5にロードしてCPU2で実行することにより、様々なジャンルのゲームをディスプレイ11上でプレイすることが出来る。
ゲーム装置1において、所定の初期化操作(例えば電源の投入操作)が行われると、CPU2がまずROM4のプログラムに従って所定の初期化処理を実行する。初期化が終わるとCPU2は、記録ディスク6に格納されたゲームソフトウェアGSWをRAM5に読み取り、そのゲームソフトウェアGSWに従ってゲーム処理を開始する。プレーヤがコントローラ14を操作して所定のゲーム開始操作を行うと、CPU2はゲームソフトウェアGSWの手順に従ってゲームの実行に必要な種々の制御を開始する。
本実施形態におけるゲームは、ポリゴンを用いた3DCG(3次元コンピュータグラフィックス)に基づくゲームである。このゲームでは、敵キャラクタなどを配置した各種のフィールドFDが3次元仮想空間内に生成され、プレーヤが、コントローラ14を介して、操作キャラクタCH1を生成されたフィールドFD上で移動させて敵キャラクタを倒すことにより、ゲームが進行するように設定されている。
即ち、CPU2は、まず、RAM5に設定された図3に示す仮想空間データファイルIAFに、X、Y、Z座標からなるワールド座標系の3次元仮想空間を設定する。3次元仮想空間を設定すると、同図のシナリオ処理プログラムSNPが示すシナリオを展開して、ポリゴン処理プログラムPGPに基づき、RAM5に設定されたポリゴンデータファイルPGFを参照する。
ポリゴンデータファイルPGFには、ポリゴンデータPGDが格納されており、ポリゴンデータPGDは、フィールドFDを構成する各種の背景オブジェクトを示している。具体的には、フィールドFDとして、「建物」や「洞窟」などの各種の背景が準備されており、従ってポリゴンデータファイルPGFには、「建物」を構成する、柱、壁面、ドア、天井、床や、「洞窟」を構成する、壁面、天井、地面などの背景オブジェクトを示すポリゴンデータPGDが格納されている。またポリゴンデータファイルPGFには、この他、操作キャラクタCH1や敵キャラクタなどのキャラクタを示すポリゴンデータPGDが格納されている。
CPU2は、ポリゴンデータファイルPGFを参照すると、シナリオに応じたフィールドFDを構成する背景オブジェクトのポリゴンデータPGDを、ポリゴンデータファイルPGFから読み出す。そして、読み出したポリゴンデータPGDに基づいてフィールドFDを生成し、仮想空間データIADとして、3次元仮想空間が設定された仮想空間データファイルIAFに格納する。即ち、フィールドFDが3次元仮想空間内に生成される。
CPU2は、フィールドFDを生成すると、更に、ポリゴン処理プログラムPGPに基づいて、操作キャラクタCH1や敵キャラクタを示すポリゴンデータPGDを、ポリゴンデータファイルPGFから読み出す。そして、読み出したポリゴンデータPGDに基づいてキャラクタを生成し、生成したキャラクタをフィールドFD上の所定の位置に配置する形で、仮想空間データIADを、仮想空間データファイルIAFに更新格納する。即ち、操作キャラクタCH1や敵キャラクタがフィールドFDに配置される。
この状態で、プレーヤが、コントローラ14の左ジョイスティック14c1を介して、所定方向の操作信号を入力すると、CPU2は、ポリゴン処理プログラムPGPに基づいて、操作キャラクタCH1の配置位置を、入力された操作信号の方向に応じて更新する形で、仮想空間データIADを仮想空間データファイルIAFに順次、更新格納する。即ち、操作キャラクタCH1が左ジョイスティック14c1を介してフィールドFD上で移動される。
こうして、操作キャラクタCH1の移動処理と共に、CPU2は、図3に示すカメラワーク処理プログラムCWPに基づいて、図4に示す仮想的なカメラ(以下「仮想カメラCM」という。)のカメラワーク処理を実行する。
図4は、仮想カメラCMの概念図を示している。X、Y、Z座標は、図4左下方に示すように設定されているものとする。仮想カメラCMは、図4に示すように視点PVに配置されている。ここでは、矢印で示す仮想カメラCMの視線方向PDが、+Z方向に向けられており、従って、視点PVから+Z方向の3次元仮想空間3DSが、視野範囲として設定される。なお、同図の破線で示す検出領域DAについては、後述する。
カメラワーク処理では、仮想カメラCMが、操作キャラクタCH1に追従する形で、移動経路MP(図示せず)上を移動するように設定されている。具体的には、デフォルトの移動経路MPとして、デフォルト経路MPがフィールドFD上に設定されており、CPU2が、操作キャラクタCH1の後方に(つまり操作キャラクタCH1が進む方向の反対側に)、所定距離を介したデフォルト経路MP上の位置を、視点PVとして設定するようになっている。また、仮想カメラCMの視線方向PDは、デフォルト経路MPの向きに沿った方向に設定されている。
従って、操作キャラクタCH1が移動すると、CPU2は、カメラワーク処理プログラムCWPに基づいて、仮想空間データIADを仮想空間データファイルIAFから読み出し、仮想空間データIADが示す操作キャラクタCH1の配置位置の後方に、視点PVを設定する。この視点PVの設定処理は、操作キャラクタCH1の移動に伴って繰り返され、CPU2は、順次設定した視点PV上に、仮想カメラCMを、視線方向PDがデフォルト経路MPの向きに沿うように配置してゆく。即ち、操作キャラクタCH1に追従するカメラワークが行われることになる。
こうして、操作キャラクタCH1に追従するカメラワークが行われると、CPU2は、図3に示す画像データ生成プログラムPDPに基づいて、仮想空間データIADを仮想空間データファイルIAFから読み出し、仮想カメラCMが設定する視野範囲内に配置されたポリゴンを示す、2次元画像データを生成する。
画像処理装置8は、図3に示す画像処理プログラムANPに基づいて、生成された2次元画像データからフレームメモリ10内に、撮影画像を生成して、ディスプレイ11上に表示する。即ち、操作キャラクタCH1の背後から見た3次元仮想空間3DSを示す、撮影画像がディスプレイ11上に表示される。
このように、プレーヤが、コントローラ14を介して操作キャラクタCH1をフィールドFD上で移動させると、操作キャラクタCH1に追従するカメラワークが行われて、ゲームが進行する。フィールドFDには、上述したように敵キャラクタが配置されており、プレーヤは適宜コントローラ14を介して敵キャラクタを倒してゆく。
こうして、CPU2が、シナリオ処理プログラムSNPが示すシナリオを展開してゲームを進行させ、図5に示す洞窟CVのフィールドFDを3次元仮想空間3DS内に生成したとする。図5は、フィールドFDの一例である洞窟CVの(一部省略)上断面図を示している。なお、X、Y、Z座標は、図5左下方に示すように設定されている。
洞窟CVは、図5に示すようにZ方向を向いており、図下方に入口ETと、図上方に出口EXとを有している。また洞窟CVは、左壁面WL、右壁面WL、天井CL(図示せず)、及び地面GRなどの背景オブジェクトで、四方が囲まれた形で構成されている。左壁面WLには、円柱状に形成された円柱部CYが左壁面WLから突出する形で設けられている。この円柱部CYの裏側、位置P5には、位置P11に配置された仮想カメラCMの視野範囲から隠れる形で、敵キャラクタCH2が配置されている。
また、洞窟CVの内部には、デフォルト経路MP(実線)が設定されている。このデフォルト経路MPは、仮想カメラCMが不用意に壁面WL、WLにめり込んだりしないように(つまり視点PVが障害物のポリゴン内部に入らないように)、壁面WL、WLの凹凸に応じて適宜屈曲して(ここでは円柱部CYを避ける形に)形成されている。
ここで、プレーヤが、洞窟CVを通り抜けるために、コントローラ14の左ジョイスティック14c1を介して、操作キャラクタCH1を入口ETから洞窟CVに進入させ、+Z方向に移動させるものとする。
従って、CPU2は、カメラワーク処理プログラムCWPに基づいて、図5下方に示すように、仮想カメラCMを、操作キャラクタCH1に追従するようにデフォルト経路MP上で移動させる。例えば、操作キャラクタCH1が位置P1を通過する際に、CPU2は、仮想カメラCMを操作キャラクタCH1後方の、例えば位置P11に配置させる。画像処理装置8は、位置P11に配置された仮想カメラCMに基づいて、洞窟CV内部を示す撮影画像をディスプレイ11上に表示する。なお、この時点では、図5に示す位置P2、P4に配置されている操作キャラクタCH1は、図示されていないものとする。
この状態で、プレーヤが、図2に示す右ジョイスティック14c2を操作すると、右ジョイスティック14c2から操作信号CS1がRAM5に入力され、CPU2は、図3に示す移動経路変更プログラムMPPに基づいて、移動経路MPの変更処理を実行する。
移動経路MPの変更処理では、視点PVが、デフォルト経路MPに対して直角、かつ地面GRに対して水平な方向に移動される形で、変更されるようになっている。この変更量として、シフト値ΔSが設定されており、シフト値ΔSは、視点PVがデフォルト経路MPから移動する(ワールド座標系の)距離を意味する。なお、視点PVのデフォルト経路MPに対する移動方向はこれに限らず、例えば、地面GRの突起に対して+Y方向に移動させてもよい。
このシフト値ΔSは、右ジョイスティック14c2からの操作信号CS1に応じて変化するように設定されている。具体的には、右ジョイスティック14c2を、図2に示すように基準位置BP(一点鎖線)から左右いずれかの方向に倒すと、基準位置BPに対する角度AGに応じた入力値IVを示す、操作信号CS1が入力される。
入力値IVは、右方向に倒す角度AGが大きくなるにつれて、+1→+256と変化し、逆に、左方向に倒す角度AGが大きくなるにつれて、0→−255と変化とする。シフト値ΔSは、+1〜+256の入力値IVにそれぞれ対応して0〜+ΔSのレンジが、また、0〜−255の入力値IVにそれぞれ対応して0〜−ΔSのレンジが設定されている。
なお、移動経路MPの変更処理の際に、視線方向PDを変化させることも可能である。例えば、視線方向PDを所定位置(例えば操作キャラクタCH1の配置位置)に注視させた形で、仮想カメラCMを回転させてもよい。こうすることで、カメラ操作の柔軟性を高めることが出来る。
即ち、操作信号CS1が入力されると、CPU2は、移動経路変更プログラムMPPに基づいて、入力された操作信号CS1が示す入力値IVに対応したシフト値ΔSを換算する。例えば、シフト値ΔSがΔS1になるように、プレーヤが、右ジョイスティック14c2を右方向に倒したとすると、CPU2は、入力された入力値IVからシフト値ΔS1を換算する。そして視点PVを、図5下方に示すように、位置P11から、+X方向にシフト値ΔS1だけ平行移動させた位置P21に設定する。
この際、CPU2は、仮想カメラCMが壁面WL、WLなどの背景オブジェクトに近接した場合に、後述する、シフト値ΔSの補正処理を実行するが、ここでは、仮想カメラCMが壁面WL、WLに近接していないものとし、シフト値ΔSの補正処理を実行することなく、仮想カメラCMを、図5に示すように位置P21に配置する。
右ジョイスティック14c2からの操作信号CS1は、既に述べたように、一定周期(例えば1/60秒)でRAM5に入力されるように設定されているので、右ジョイスティック14c2が倒されている間、即ち、操作信号CS1が入力されている間、上述した移動経路MPの変更処理が継続して実行されることになる。
従って、プレーヤが、右ジョイスティック14c2を右方向に倒した形で角度AGを変化させると、CPU2は、順次入力される操作信号CS1が示す入力値IVに応じて、それぞれのシフト値ΔSを換算する。そして仮想カメラCMを、デフォルト経路MPを+X方向にそれぞれのシフト値ΔSだけ平行移動させた、変更移動経路MPc1(実線)上で移動させる。即ち、移動経路MPが、デフォルト経路MPから変更移動経路MPc1に変更される。
一方、プレーヤが、右ジョイスティック14c2を(例えば手を離して)基準位置BPに戻した場合、操作信号CS1がRAM5に入力されなくなるので、CPU2は、移動経路MPの変更処理を実行することなく、移動経路MPが再び、変更移動経路MPc1からデフォルト経路MPに変更する。従ってこれ以降、仮想カメラCMは、デフォルト経路MP上を移動することになる。ここでは、プレーヤが、右ジョイスティック14c2を基準位置BPに戻したものとし、仮想カメラCMはデフォルト経路MP上を移動してゆく。
こうして、操作キャラクタCH1が、+Z方向に移動すると共に、仮想カメラCMが、デフォルト経路MP上を移動していき、例えば、仮想カメラCMが位置P12を通過する際に、プレーヤが、円柱部CYの裏側を見るために、右ジョイスティック14c2を再び右方向に倒したとする。
例えば、シフト値ΔSがΔS2になるように、プレーヤが、右ジョイスティック14c2を右方向に倒したとすると、CPU2は、上述と同様に入力値IVからシフト値ΔS2を換算する。そして視点PVを、位置P12から、+X方向にシフト値ΔS2だけ平行移動させた位置P22に設定する。
位置P22に設定された視点PVは、図5右方に示すように右壁面WLの内部に設定されることになるが、この際、CPU2は、図3に示すシフト値補正プログラムSMPに基づいて、本発明の要旨である、シフト値ΔSの補正処理を実行する。この補正処理は、図4に示す検出領域DAに基づいて行われる。
仮想カメラCMには、図4の破線で示すように、仮想カメラCMに近接した背景オブジェクトを検出するための、検出領域DAが設定されている。ここでは、検出領域DAは、仮想カメラCMを包含する空間を呈しており、具体的には、3辺の長さを2X、2Y、2Zとする直方体からなり、この直方体の中心位置が、視点PVに一致するように設定されている。
なお、検出領域DAは、仮想カメラCMを包含する空間であれば、特に直方体に限る必要はなく、どのような形状(例えば球体)であってもよい。また、仮想カメラCMに近接した背景オブジェクトを検出することの出来る空間であれば、検出領域DAは、必ずしも仮想カメラCMを包含している必要はない。例えば、仮想カメラCMによる具体的な撮影領域を、検出領域DAとすることも可能である。但し、仮想カメラCMの状態(例えばズーム/ワイド)に応じて撮影領域が可変であるため、検出領域DAは動的に演算されることになる。
シフト値ΔSの補正処理では、検出領域DAが背景オブジェクトに接触したか否かを判定するように設定されており、検出領域DAが接触したと判定すると、シフト値ΔSから一定値ΔSCTを減算し、一方、検出領域DAが接触していないと判定すると、シフト値ΔSを減算することなく、換算したそのままのシフト値ΔSに基づいて、上述した移動経路MPの変更処理を実行する。
即ち、CPU2は、シフト値補正プログラムSMPに基づいて、仮想空間データIADを仮想空間データファイルIAFから読み出し、検出領域DAが、壁面WL、WLなどの背景オブジェクトに接触したか否か判定する。検出領域DAは、図5右方に示すように、右壁面WLに接触しているので、CPU2は、検出領域DAが接触したと判定し、シフト値ΔS2から一定値ΔSCTを減算する。
これらの判定・減算処理は、検出領域DAが背景オブジェクトに接触していないと判定されるまで、繰り返されるように設定されている。従って、シフト値ΔS2が繰り返し減算されて、ΔS3になったところで、検出領域DAが、図5右方に示すように、右壁面WLに接触しなくなるので、CPU2は、検出領域DAが右壁面WLに接触していないと判定する。
検出領域DAが接触していないと判定すると、CPU2は、視点PVを、デフォルト経路MPから、+X方向にシフト値ΔS3だけ平行移動させた位置P23に設定し、仮想カメラCMを位置P23に配置する。即ち、仮想カメラCMは、右壁面WLから略距離Xを介した位置に配置されることになる。
従って、画像処理装置8は、位置P23に配置された仮想カメラCMに基づいて、撮影画像をディスプレイ11上に表示し、撮影画像には、円柱部CYの裏側、位置P5に隠れた敵キャラクタCH2が表示されることになる。
こうして、検出領域DAが右壁面WLに接触する(つまりシフト値ΔSがΔS3より大きい)操作信号CS1が入力されると、上述と同様に、シフト値ΔSはΔS3の一定値に補正演算されるので、仮想カメラCMは、デフォルト経路MPを+X方向にシフト値ΔS3だけ平行移動させた、変更移動経路MPc2(実線)上を移動することになる。即ち、移動経路MPは、背景オブジェクトから遠ざけた形に、変更移動経路MPc2に補正される。
このように、プレーヤは、仮想カメラCMのカメラ位置(視点PV)を自由に設定出来る一方、洞窟CVのような狭い通路では、仮想カメラCMと、壁面WL、WLなどの背景オブジェクトとの間の距離が所定値以下にならないように、カメラ位置の設定が制限される。
これにより、カメラ位置の操作にある程度の自由度を確保する一方、仮想カメラを背景オブジェクトにめり込ませないようにすることが出来るので、フィールドFDの障害物が多い場合であっても、カメラ位置を柔軟に設定出来るものでありながら、適正な撮影画像を安定的に表示することの出来る。
なお、移動経路MPの補正処理として、シフト値ΔSを補正演算する場合について説明したが、変更態様に応じた移動経路MPの補正処理であれば、特にこれに限られない。例えば、シフト値ΔSを演算することなく、フィールドFD上に予め設定されている複数の経路から選択する形で、移動経路MPを変更させる態様では、複数の経路から、検出領域DAと接触していない任意の経路を移動経路MPとして選択すればよい。
シフト値ΔSの補正処理では、更に、右ジョイスティック14c2が倒された方向に押し込まれた場合に、即ち、図2に示す入力値IVが+256または−255を示す操作信号(以下「操作信号CS2」という。)がRAM5に入力された場合に、CPU2が、操作信号CS2が入力された時点のシフト値ΔSを固定する形で、RAM5の所定データ領域に格納するように設定されている。
ここでは、仮想カメラCMが変更移動経路MPc2を移動するに際し、プレーヤが、シフト値ΔSをΔS3に固定するために、右ジョイスティック14c2を、倒している状態から更に右方向に押し込んだとする。
即ち、仮想カメラCMが変更移動経路MPc2上を移動する際のシフト値ΔSは、図5右方に示すようにΔS3なので、上記操作信号CS2を受けてCPU2は、シフト移動経路変更プログラムMPPに基づいて、シフト値ΔS3をRAM5の所定データ領域に格納する。シフト値ΔS3がRAM5に格納されると、右ジョイスティック14c2から入力される操作信号CS1に関係なく、シフト値ΔSがΔS3に固定されるので、プレーヤが例えば、右ジョイスティック14c2を基準位置BPに戻しても、仮想カメラCMは、操作キャラクタCH1の動きに従って変更移動経路MPc2上を移動してゆく。即ち、移動経路MPは、シフト値ΔSで示される変更状態を固定することにより、変更移動経路MPc2に固定されることになる。
また、シフト値の補正処理では、右ジョイスティック14c2から操作信号CS2が入力された後、右ジョイスティック14c2が再度同じ方向に押し込まれた場合に、操作信号CS3が入力されるように設定されており、CPU2は、上記操作信号CS3が入力された場合に、RAM5に格納されたシフト値ΔSをNULLに設定して、移動経路MPを、変更移動経路MPc2からデフォルト経路MPに変更するように設定されている。
ここでは、操作キャラクタCH1が位置P4を通過し、仮想カメラCMが位置P24に到達する際に、プレーヤが、仮想カメラCMをデフォルト経路MPに戻すために、右ジョイスティック14c2を、再度右方向に押し込んだとする。操作信号CS3を受けてCPU2は、移動経路変更プログラムMPPに基づいて、RAM5に格納されたシフト値ΔSをNULLに設定して、移動経路MPを、変更移動経路MPc2からデフォルト経路MPに変更する。
従って、仮想カメラCMは、図5に示すように、位置P24から、デフォルト経路MP上の位置P14に移動され、仮想カメラCMはデフォルト経路MP上を移動して、操作キャラクタCH1は、出口EXから洞窟CVを通り抜けることになる。
このように、プレーヤは、移動経路MPを、操作信号CS2により、プレーヤの希望する変更移動経路MPc2に自由に固定することが出来ると共に、更に操作信号CS3により、変更移動経路MPc2をいつでもデフォルト経路MPに戻すことが出来るので、右ジョイスティック14c2の簡単な操作で、適正な画像を安定的に表示させることが出来る。これにより、カメラ操作の柔軟性を確保しつつ、その操作性を高めることが出来る。
なお、上述した実施形態において、ゲームソフトウェアGSWとして本発明を説明したが、ゲームソフトウェアGSW中の各種プログラムPGP、PDP、… からなるプログラムと、そのプログラムを機能させるハードウェアを備えるものであれば上述したゲームソフトウェアGSW中に限らず、例えばゲーム装置として構成されていても本発明を適用することが出来るのはもちろんである。
本発明の活用例としては、仮想カメラのカメラワークを行うことの出来るゲームソフトウェアに適用することが出来、また、ゲーム装置としては、家庭用ゲーム装置のみならず、携帯型ゲーム装置、アーケードゲーム装置、また、携帯電話、PDA(携帯情報端末)、パーソナルコンピュータなどにも適用することが出来る。
図1は、ゲーム装置の制御ブロックの一例を示す図である。 図2は、右ジョイスティックの(一部省略)側面図である。 図3は、ゲームソフトウェアの構成の一例を示す図である。 図4は、仮想カメラの概念図である。 図5は、フィールドの一例を示す洞窟の(一部省略)上断面図である。
符号の説明
1……コンピュータ、ゲーム装置(ゲーム装置)
2……ポリゴン生成配置手段、操作オブジェクト移動制御手段、仮想カメラ移動制御手段、移動経路変更手段、変更経路移動指令手段、距離演算手段、背景オブジェクト検出手段、移動経路補正指令手段(CPU)
3DS……3次元仮想空間
8……2次元画像生成表示手段(画像処理装置)
11……ディスプレイ
14……入力手段(コントローラ)
ANP……2次元画像生成表示手順、2次元画像生成表示手段(画像処理プログラム)
CH1……操作オブジェクト(操作キャラクタ)
CM……仮想カメラ
CS1……第1の信号(操作信号)
CS2……第2の信号(操作信号)
CS3……第3の信号(操作信号)
CV……フィールド(洞窟)
CWP……仮想カメラ移動制御手順、視線方向制御手順、視線方向変更指令手順、仮想カメラ移動制御手段(カメラワーク処理プログラム)
FD……フィールド
GSW……ゲームソフトウェア
MP……移動経路
MP……デフォルト経路
MPP……移動経路変更手順、変更経路移動指令手順、移動経路固定手順、デフォルト経路復帰手順、移動経路変更手段、変更経路移動指令手段(移動経路変更プログラム)
PD……視線方向
PDP……2次元画像生成表示手順、2次元画像生成表示手段(画像データ生成プログラム)
PGP……ポリゴン生成配置手順、操作オブジェクト移動制御手順、ポリゴン生成配置手段、操作オブジェクト移動制御手段(ポリゴン処理プログラム)
SMP……距離演算手順、背景オブジェクト検出手順、移動経路補正指令手順、距離演算手段、背景オブジェクト検出手段、移動経路補正指令手段(シフト値補正プログラム)
WL……背景オブジェクト(右壁面)
ΔS……変更状態(シフト値)

Claims (4)

  1. 入力手段からの信号に応じて操作自在な操作オブジェクトを3次元仮想空間内に生成されたフィールド上で移動制御するゲームを、コンピュータに実行させるためのプログラムを有するゲームソフトウェアであって、
    前記ゲームソフトウェアは、前記コンピュータに、
    前記操作オブジェクトと、前記フィールドを構成する背景オブジェクトとのポリゴンを生成し、前記3次元仮想空間内に配置する、ポリゴン生成配置手順、
    前記入力手段からの信号に応じて、前記ポリゴン生成配置手順により背景オブジェクトが配置された3次元仮想空間内で、前記操作オブジェクトを移動制御する、操作オブジェクト移動制御手順、
    前記3次元仮想空間内の視野範囲を設定する仮想カメラを、該仮想カメラの移動経路として3次元仮想空間内に設定された経路上で、前記操作オブジェクト移動制御手順により移動制御された操作オブジェクトに追従するように移動制御する、仮想カメラ移動制御手順、
    前記入力手段からの信号に応じて、前記仮想カメラの前記移動経路を、前記3次元仮想空間内に予め設定されたデフォルト経路から当該デフォルト経路とは異なる経路に変更する、移動経路変更手順、
    前記仮想カメラを、前記デフォルト経路上から、前記移動経路変更手順により変更された移動経路上で移動制御するように、前記仮想カメラ移動制御手順に対して指令する、変更経路移動指令手順、
    前記仮想カメラ移動制御手順により移動制御された仮想カメラが設定する視野範囲内のポリゴンをレンダリングして2次元画像を生成し、ディスプレイ上に表示する、2次元画像生成表示手順、
    前記移動経路変更手順により変更された移動経路上を移動する仮想カメラと、前記ポリゴン生成配置手順により3次元仮想空間内に配置された背景オブジェクトとの間の距離を演算する、距離演算手順、
    前記距離演算手順により演算された距離が所定値以下の背景オブジェクトを検出する、背景オブジェクト検出手順、
    前記背景オブジェクト検出手順により検出された背景オブジェクトから前記仮想カメラを遠ざけた形に、前記変更された移動経路を補正するように、前記移動経路変更手順に対して指令する、移動経路補正指令手順、
    を実行させるためのプログラムを有することを特徴とするゲームソフトウェア。
  2. 前記ゲームソフトウェアは、更に前記コンピュータに、
    前記仮想カメラの視線方向を制御する、視線方向制御手順、
    前記入力手段からの信号に応じて、前記視線方向制御手順に対して、前記仮想カメラの視線方向を変更するように指令する、視線方向変更指令手順、
    を実行させるためのプログラムを有することを特徴とする請求項1記載のゲームソフトウェア。
  3. 前記移動経路変更手順は、前記入力手段からの第1の信号に応じて、前記仮想カメラの移動経路を変更し、
    前記ゲームソフトウェアは、更に前記コンピュータに、
    前記入力手段からの第2の信号に応じて、前記移動経路変更手順により補正された移動経路の変更状態を固定する、移動経路固定手順、
    前記入力手段からの第3の信号に応じて、前記仮想カメラの移動経路を、前記移動経路固定手順により変更状態が固定された移動経路から前記デフォルト経路に変更する、デフォルト経路復帰手順、
    を実行させるためのプログラムを有することを特徴とする請求項1記載のゲームソフトウェア。
  4. 入力手段からの信号に応じて操作自在な操作オブジェクトを3次元仮想空間内に生成されたフィールド上で移動制御することの出来るゲーム装置であって、
    前記ゲーム装置は、
    前記操作オブジェクトと、前記フィールドを構成する背景オブジェクトとのポリゴンを生成し、前記3次元仮想空間内に配置する、ポリゴン生成配置手段、
    前記入力手段からの信号に応じて、前記ポリゴン生成配置手段により背景オブジェクトが配置された3次元仮想空間内で、前記操作オブジェクトを移動制御する、操作オブジェクト移動制御手段、
    前記3次元仮想空間内の視野範囲を設定する仮想カメラを、該仮想カメラの移動経路として3次元仮想空間内に設定された経路上で、前記操作オブジェクト移動制御手段により移動制御された操作オブジェクトに追従するように移動制御する、仮想カメラ移動制御手段、
    前記入力手段からの信号に応じて、前記仮想カメラの前記移動経路を、前記3次元仮想空間内に予め設定されたデフォルト経路から当該デフォルト経路とは異なる経路に変更する、移動経路変更手段、
    前記仮想カメラを、前記デフォルト経路上から、前記移動経路変更手段により変更された移動経路上で移動制御するように、前記仮想カメラ移動制御手段に対して指令する、変更経路移動指令手段、
    前記仮想カメラ移動制御手段により移動制御された仮想カメラが設定する視野範囲内のポリゴンをレンダリングして2次元画像を生成し、ディスプレイ上に表示する、2次元画像生成表示手段、
    前記移動経路変更手段により変更された移動経路上を移動する仮想カメラと、前記ポリゴン生成配置手段により3次元仮想空間内に配置された背景オブジェクトとの間の距離を演算する、距離演算手段、
    前記距離演算手段により演算された距離が所定値以下の背景オブジェクトを検出する、背景オブジェクト検出手段、
    前記背景オブジェクト検出手段により検出された背景オブジェクトから前記仮想カメラを遠ざけた形に、前記変更された移動経路を補正するように、前記移動経路変更手段に対して指令する、移動経路補正指令手段、
    を有して構成したことを特徴とするゲーム装置。
JP2004059697A 2004-03-03 2004-03-03 ゲームプログラム及びゲーム装置 Expired - Lifetime JP3700857B2 (ja)

Priority Applications (7)

Application Number Priority Date Filing Date Title
JP2004059697A JP3700857B2 (ja) 2004-03-03 2004-03-03 ゲームプログラム及びゲーム装置
KR1020057022296A KR20060126349A (ko) 2004-03-03 2004-07-29 게임 소프트웨어 및 게임장치
PCT/JP2004/010817 WO2005084766A1 (ja) 2004-03-03 2004-07-29 ゲームソフトウエア及びゲーム装置
CN200480014888A CN100579615C (zh) 2004-03-03 2004-07-29 游戏控制方法和游戏机
EP04771030A EP1721643A4 (en) 2004-03-03 2004-07-29 GAME SOFTWARE AND GAME DEVICE
TW093125763A TWI265041B (en) 2004-03-03 2004-08-27 Game software and game machine
US10/958,501 US20050195184A1 (en) 2004-03-03 2004-10-05 Game software and game machine

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004059697A JP3700857B2 (ja) 2004-03-03 2004-03-03 ゲームプログラム及びゲーム装置

Publications (2)

Publication Number Publication Date
JP2005250800A true JP2005250800A (ja) 2005-09-15
JP3700857B2 JP3700857B2 (ja) 2005-09-28

Family

ID=34909170

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004059697A Expired - Lifetime JP3700857B2 (ja) 2004-03-03 2004-03-03 ゲームプログラム及びゲーム装置

Country Status (7)

Country Link
US (1) US20050195184A1 (ja)
EP (1) EP1721643A4 (ja)
JP (1) JP3700857B2 (ja)
KR (1) KR20060126349A (ja)
CN (1) CN100579615C (ja)
TW (1) TWI265041B (ja)
WO (1) WO2005084766A1 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011255119A (ja) * 2010-06-11 2011-12-22 Nintendo Co Ltd 情報処理プログラム、情報処理装置、情報処理システム及び情報処理方法
JP2015039490A (ja) * 2013-08-21 2015-03-02 株式会社三共 遊技機
KR101659782B1 (ko) 2016-03-25 2016-09-27 (주)이지스 벽면 충돌을 고려한 사용자 시점의 3차원 실내공간정보 제공방법
JP2017211912A (ja) * 2016-05-27 2017-11-30 株式会社コロプラ 表示制御方法および当該表示制御方法をコンピュータに実行させるためのプログラム
JP2019000137A (ja) * 2017-06-09 2019-01-10 株式会社カプコン ゲームプログラム、ゲーム装置およびサーバ装置
JP2020042857A (ja) * 2019-12-06 2020-03-19 株式会社コーエーテクモゲームス 情報処理装置、動作制御方法及び動作制御プログラム

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4123187B2 (ja) * 2004-05-13 2008-07-23 ソニー株式会社 アニメーション生成装置、アニメーション生成方法およびアニメーション生成プログラム
JP4244040B2 (ja) * 2005-03-10 2009-03-25 任天堂株式会社 入力処理プログラムおよび入力処理装置
JP4125760B2 (ja) * 2006-03-15 2008-07-30 株式会社スクウェア・エニックス ビデオゲーム処理装置、ビデオゲーム処理方法、およびビデオゲーム処理プログラム
WO2007129477A1 (ja) * 2006-05-09 2007-11-15 Sega Corporation 画像処理装置および画像処理プログラム
JP5174908B2 (ja) * 2008-06-30 2013-04-03 株式会社ソニー・コンピュータエンタテインメント 携帯型ゲーム装置及び携帯型ゲーム装置の制御方法
CN104395936B (zh) * 2012-06-28 2018-03-09 索尼电脑娱乐公司 信息处理系统、信息处理装置、信息终端装置、信息处理方法和信息处理程序
US9332285B1 (en) * 2014-05-28 2016-05-03 Lucasfilm Entertainment Company Ltd. Switching modes of a media content item
JP6788327B2 (ja) * 2015-02-27 2020-11-25 株式会社ソニー・インタラクティブエンタテインメント 表示制御プログラム、表示制御装置、及び表示制御方法
JP6742869B2 (ja) * 2016-09-15 2020-08-19 キヤノン株式会社 画像処理装置および画像処理方法
GB2554914B (en) * 2016-10-14 2022-07-20 Vr Chitect Ltd Virtual reality system and method
CN110431600A (zh) * 2017-03-17 2019-11-08 犹尼蒂知识产权有限公司 用于自动相机碰撞的方法和系统以及合成保存

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3544268B2 (ja) * 1995-10-09 2004-07-21 任天堂株式会社 三次元画像処理装置およびそれを用いた画像処理方法
US6267673B1 (en) * 1996-09-20 2001-07-31 Nintendo Co., Ltd. Video game system with state of next world dependent upon manner of entry from previous world via a portal
AU718608B2 (en) * 1996-03-15 2000-04-20 Gizmoz Israel (2002) Ltd. Programmable computer graphic objects
US6226008B1 (en) * 1997-09-04 2001-05-01 Kabushiki Kaisha Sega Enterprises Image processing device
JP4105788B2 (ja) * 1997-11-14 2008-06-25 任天堂株式会社 ビデオゲーム装置およびその記憶媒体
US6346938B1 (en) * 1999-04-27 2002-02-12 Harris Corporation Computer-resident mechanism for manipulating, navigating through and mensurating displayed image of three-dimensional geometric model
JP3306397B2 (ja) * 1999-11-25 2002-07-24 株式会社ソニー・コンピュータエンタテインメント エンタテインメント装置、画像生成方法および記憶媒体
JP2001204958A (ja) * 2000-01-28 2001-07-31 Square Co Ltd カメラ制御方法、ゲーム装置及び記録媒体
US6724385B2 (en) * 2000-03-08 2004-04-20 Sony Computer Entertainment Inc. Method of replaying game, recording medium, program, and entertainment system
US6618054B2 (en) * 2000-05-16 2003-09-09 Sun Microsystems, Inc. Dynamic depth-of-field emulation based on eye-tracking
JP3338021B2 (ja) * 2000-07-10 2002-10-28 コナミ株式会社 3次元画像処理装置及び3次元画像処理プログラムを記録した可読記録媒体
TW510127B (en) * 2001-02-19 2002-11-11 Ulead Systems Inc Editing device and method for animation path of multimedia objects
JP4145512B2 (ja) * 2001-08-09 2008-09-03 株式会社コナミデジタルエンタテインメント 画像処理システム及びそのプログラム
JP3816375B2 (ja) * 2001-11-15 2006-08-30 株式会社スクウェア・エニックス ビデオゲーム装置、ビデオゲームにおけるキャラクタの表示方法、プログラム及び記録媒体
US20030227453A1 (en) * 2002-04-09 2003-12-11 Klaus-Peter Beier Method, system and computer program product for automatically creating an animated 3-D scenario from human position and path data
JP2004005452A (ja) * 2002-04-16 2004-01-08 Sony Computer Entertainment Inc 画像処理装置、画像処理方法、半導体デバイス、コンピュータプログラム、記録媒体
JP3642779B2 (ja) * 2003-03-24 2005-04-27 株式会社ナムコ 3次元シミュレータ装置及び画像合成方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011255119A (ja) * 2010-06-11 2011-12-22 Nintendo Co Ltd 情報処理プログラム、情報処理装置、情報処理システム及び情報処理方法
JP2015039490A (ja) * 2013-08-21 2015-03-02 株式会社三共 遊技機
KR101659782B1 (ko) 2016-03-25 2016-09-27 (주)이지스 벽면 충돌을 고려한 사용자 시점의 3차원 실내공간정보 제공방법
JP2017211912A (ja) * 2016-05-27 2017-11-30 株式会社コロプラ 表示制御方法および当該表示制御方法をコンピュータに実行させるためのプログラム
JP2019000137A (ja) * 2017-06-09 2019-01-10 株式会社カプコン ゲームプログラム、ゲーム装置およびサーバ装置
JP2020042857A (ja) * 2019-12-06 2020-03-19 株式会社コーエーテクモゲームス 情報処理装置、動作制御方法及び動作制御プログラム

Also Published As

Publication number Publication date
US20050195184A1 (en) 2005-09-08
CN100579615C (zh) 2010-01-13
EP1721643A4 (en) 2010-10-13
KR20060126349A (ko) 2006-12-07
JP3700857B2 (ja) 2005-09-28
TWI265041B (en) 2006-11-01
CN1798593A (zh) 2006-07-05
WO2005084766A1 (ja) 2005-09-15
EP1721643A1 (en) 2006-11-15
TW200529910A (en) 2005-09-16

Similar Documents

Publication Publication Date Title
JP3700857B2 (ja) ゲームプログラム及びゲーム装置
US9283473B2 (en) Game providing device
EP1722334B1 (en) A method, an apparatus and a computer program product for generating an image
JP4335160B2 (ja) 衝突判定プログラムおよび衝突判定装置
US7922588B2 (en) Storage medium having game program stored thereon and game apparatus
US6377264B1 (en) Game screen display control method and character movement control method
JP6085411B2 (ja) 画像処理装置、画像処理方法、および画像処理装置の制御プログラム
JP2007260157A (ja) ゲーム装置、ゲーム装置の制御方法及びプログラム
JP2007299330A (ja) 画像表示装置、その制御方法及びプログラム
WO2023065949A1 (zh) 虚拟场景中的对象控制方法、装置、终端设备、计算机可读存储介质、计算机程序产品
US6390918B1 (en) Video game apparatus, model display method for video games, and readable recording medium for storing model display program for video games
JP2008264276A (ja) ゲームプログラム、ゲーム装置及び記憶媒体
CN112699208B (zh) 地图寻路方法、装置、设备及介质
JP6936913B1 (ja) プログラムおよび設定方法
JP2008041013A (ja) 画像表示制御装置、画像表示方法及びプログラム
JP5224535B2 (ja) 衝突判定プログラム、衝突判定装置、衝突判定システムおよび衝突判定方法
JP2015163218A (ja) ゲーム提供装置
WO2009101663A1 (ja) ゲーム装置、ゲーム制御方法、及びゲーム制御プログラム
WO2009104227A1 (ja) ゲーム装置、ゲーム制御方法、及びゲーム制御プログラム
JP3822882B2 (ja) ゲームプログラム及びゲーム装置
JP5506158B2 (ja) ゲーム装置、ゲーム制御方法、及びゲーム制御プログラム
JP2007229506A (ja) ゲーム画面の表示制御方法、キャラクタの移動制御方法およびゲーム機並びにプログラムを記録した記録媒体
JP2006116330A (ja) ゲーム画面の表示制御方法、キャラクタの移動制御方法およびゲーム機並びにプログラムを記録した記録媒体
JP2008154777A (ja) ゲーム装置、ゲーム装置の制御方法及びプログラム
JP2009213721A (ja) ゲーム装置、ゲーム制御方法、及びゲーム制御プログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050602

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20050628

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050706

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 3700857

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090722

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090722

Year of fee payment: 4

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090722

Year of fee payment: 4

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090722

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100722

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110722

Year of fee payment: 6

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110722

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120722

Year of fee payment: 7

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130722

Year of fee payment: 8

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130722

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140722

Year of fee payment: 9

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S802 Written request for registration of partial abandonment of right

Free format text: JAPANESE INTERMEDIATE CODE: R311802

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250