JP2000153061A - ビデオゲーム装置およびビデオゲーム用情報記憶媒体 - Google Patents

ビデオゲーム装置およびビデオゲーム用情報記憶媒体

Info

Publication number
JP2000153061A
JP2000153061A JP10329805A JP32980598A JP2000153061A JP 2000153061 A JP2000153061 A JP 2000153061A JP 10329805 A JP10329805 A JP 10329805A JP 32980598 A JP32980598 A JP 32980598A JP 2000153061 A JP2000153061 A JP 2000153061A
Authority
JP
Japan
Prior art keywords
program
player object
code
data
camera
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.)
Pending
Application number
JP10329805A
Other languages
English (en)
Inventor
Shigeru Miyamoto
茂 宮本
Yoshiaki Koizumi
歓晃 小泉
Yoichi Yamada
洋一 山田
Toshio Iwawaki
敏夫 岩脇
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.)
Nintendo Co Ltd
Original Assignee
Nintendo Co Ltd
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
Application filed by Nintendo Co Ltd filed Critical Nintendo Co Ltd
Priority to JP10329805A priority Critical patent/JP2000153061A/ja
Priority to TW088111330A priority patent/TW461820B/zh
Priority to KR1019990030750A priority patent/KR100583513B1/ko
Priority to EP99309037A priority patent/EP1002561B1/en
Priority to DE69940493T priority patent/DE69940493D1/de
Priority to AU59457/99A priority patent/AU774918B2/en
Priority to CA002289952A priority patent/CA2289952C/en
Priority to BR9905645-3A priority patent/BR9905645A/pt
Priority to US09/443,869 priority patent/US6712703B2/en
Priority to CNB991248678A priority patent/CN100375970C/zh
Publication of JP2000153061A publication Critical patent/JP2000153061A/ja
Priority to HK00107392A priority patent/HK1028964A1/xx
Priority to US10/757,510 priority patent/US7783535B2/en
Pending legal-status Critical Current

Links

Classifications

    • A63F13/10
    • 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/45Controlling the progress of the video 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/5252Changing parameters of virtual cameras using two or more virtual cameras concurrently or sequentially, e.g. automatically switching between fixed virtual cameras when a character changes room or displaying a rear-mirror view in a car-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/55Controlling game characters or game objects based on the game progress
    • A63F13/56Computing the motion of game characters with respect to other game characters, game objects or elements of the game scene, e.g. for simulating the behaviour of a group of virtual soldiers or for path finding
    • 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
    • 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/6045Methods for processing data by generating or executing the game program for mapping control signals received from the input arrangement into game commands
    • A63F2300/6054Methods for processing data by generating or executing the game program for mapping control signals received from the input arrangement into game commands by generating automatically game commands to assist 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
    • 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/64Methods for processing data by generating or executing the game program for computing dynamical parameters of game objects, e.g. motion determination or computation of frictional forces for a virtual car
    • 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
    • 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/6669Methods for processing data by generating or executing the game program for rendering three dimensional images for changing the position of the virtual camera using a plurality of virtual cameras concurrently or sequentially, e.g. automatically switching between fixed virtual cameras when a character change rooms
    • 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
    • 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/80Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game specially adapted for executing a specific type of game
    • A63F2300/807Role playing or strategy games

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • Processing Or Creating Images (AREA)
  • Pinball Game Machines (AREA)
  • Storage Device Security (AREA)

Abstract

(57)【要約】 【構成】 CPUが、ステップS408でプレイヤオブ
ジェクトの近傍の地形オブジェクトの動作コードを検出
し、ステップS409,S411,S413,S415
で、その地形オブジェクトの種類を判別する。地形オブ
ジェクトが「穴」であった場合、CPUは「穴動作」サ
ブルーチンを実行する(S410)。同様に、地形オブ
ジェクトが「壁面」,「ドア」または「はしご」であっ
た場合、CPUは、ステップS412,S414または
S416において、「壁面動作」,「ドア動作」または
「はしご動作」のサブルーチンを実行する。 【効果】 地形オブジェクトに設定された動作コードに
従って、プレイヤオブジェクトが自動的に所定動作を実
行でき、プレイヤの操作およびプログラム設定が簡単に
なる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、ビデオゲーム装置お
よびゲームプログラム記憶媒体に関し、特にたとえばプ
レイヤオブジェクトデータおよび地形オブジェクトデー
タによって仮想三次元空間中の地形オブジェクト上に存
在するプレイヤオブジェクトを表示するための画像信号
を発生してディスプレイに供給するビデオゲーム装置お
よびそれに用いられるゲームプログラム記憶媒体に関す
る。
【0002】
【従来の技術】従来のビデオゲーム機では、プレイヤが
プレイヤオブジェクトをたとえばジャンプさせようとす
るとき、プレイヤはコントローラのジャンプボタンを押
し、そのジャンプボタンの操作に応じてCPUがプレイ
ヤオブジェクトにジャンプ動作を行わせる。つまり、プ
レイヤオブジェクトに窪みや穴等の障害を飛び越えさせ
ようとするときは、プレイヤはジョイスティックや十字
ボタンのような移動方向指示手段を操作しながら窪みや
穴等の手前でジャンプボタンを押す。ただし、ジャンプ
ボタンを押すタイミングつまりジャンプボタンを操作し
たときのプレイヤオブジェクトの位置によっては、プレ
イヤオブジェクトはその障害を飛び越えるのに失敗する
ことがある。すなわち、プレイヤオブジェクトをジャン
プさせて障害を越えさせるためには、ジャンプボタンの
操作などに熟練を要した。
【0003】また、ジャンプ以外の動作(たとえばドア
の開閉や階段登り等)をプレイヤオブジェクトに行わせ
るときも、複雑なボタン操作を必要とし、プレイヤがボ
タン操作に気をとられるために、ゲームの進行を楽しみ
ながらゲームをプレイすることが困難な場合もある。
【0004】
【発明が解決しようとする課題】このようなアクション
ゲームと呼ばれるゲームは年々難度を増しているので、
プレイヤにとって難しくなり、特に初心者はその種のゲ
ームを敬遠してしまう傾向が見えている。それゆえに、
この発明の主たる目的は、新規なビデオゲーム装置およ
びそれに用いられるプログラム記憶媒体を提供すること
である。
【0005】この発明の他の目的は、プレイヤがプレイ
ヤオブジェクトを簡単に操作できる、新規なビデオゲー
ム装置およびそれに用いられるゲームプログラム記憶媒
体を提供することである。この発明の他の目的は、プレ
イヤオブジェクトが容易に障害を越せる、ビデオゲーム
装置およびそれに用いられるゲームプログラム記憶媒体
を提供することである。
【0006】この発明の他の目的は、プレイヤオブジェ
クトや仮想カメラ等に自動的にジャンプ,カメラ切換等
の所要動作を行わしめることのできる、ビデオゲーム装
置およびそれに用いられるゲームプログラム記憶媒体を
提供することである。この発明の他の目的は、簡単なプ
ログラムによって複雑な制御ができる、ビデオゲーム装
置およびそれに用いられるゲームプログラム記憶媒体を
提供することである。
【0007】
【課題を解決するための手段】この発明に従ったビデオ
ゲーム装置は、プレイヤオブジェクトおよび地形オブジ
ェクトの画像データをプログラムに従って処理すること
によって、仮想三次元空間中の地形オブジェクト上に存
在するプレイヤオブジェクトを表示するための、画像信
号を発生してディスプレイに供給するビデオゲーム装置
であって、プレイヤオブジェクトの表示のためにプレイ
ヤオブジェクト画像データを発生するプレイヤオブジェ
クト画像データ発生手段、および地形オブジェクトを表
示するために地形オブジェクト画像データを発生する地
形オブジェクト画像データ発生手段を備え、地形オブジ
ェクト画像データはプログラム制御コードを含み、ビデ
オゲーム装置はさらに、プレイヤオブジェクトの位置に
関連してプログラム制御コードを検出するプログラム制
御コード検出手段、および検出したプログラム制御コー
ドに応じて画像信号に変化を生じさせる画像変化手段を
備える、ビデオゲーム装置である。
【0008】プログラム制御コードはプレイヤオブジェ
クトの動作を制御する動作コードを含む場合、画像変化
手段は、動作コードに応じた動作を自動的にプレイヤオ
ブジェクトに行わせるアニメーションデータを出力する
アニメーションデータ出力手段を含む。具体的に、地形
オブジェクトは窪みないし穴でありかつ動作コードが
「ジャンプ」であるとき、アニメーションデータ出力手
段はプレイヤオブジェクトに窪みないし穴をジャンプに
よって越える動作を行わせるアニメーションデータを出
力する。
【0009】或る実施例では、ビデオゲーム装置にはプ
レイヤオブジェクトの移動方向を指示する方向指示手段
を含むコントローラが関連的に設けられ、プレイヤオブ
ジェクトはそれによって移動方向へ移動し、ビデオゲー
ム装置は、さらにプレイヤオブジェクトの移動速度を検
出する移動速度検出手段、および移動速度に基づいてプ
レイヤオブジェクトのジャンプ距離を計算するジャンプ
距離計算手段を備え、アニメーションデータ出力手段は
プレイヤオブジェクトがジャンプ距離に従ってジャンプ
する動作を行わせるアニメーションデータを出力する。
【0010】地形オブジェクトが壁面でありかつ動作コ
ードが「よじ登り」であるとき、アニメーションデータ
出力手段は、プレイヤオブジェクトが壁面をよじ登る動
作をするようなアニメーションデータを出力する。だだ
し、動作コードが「よじ登り」でないとき壁面高さを計
算する壁面高さ計算手段をさらに備え、アニメーション
データ出力手段はプレイヤオブジェクトが壁面高さに応
じた最適動作たとえば「階段登り」,「跳躍登り」,
「小よじ登り」,「中よじ登り」あるいは「大よじ登
り」を行うようなアニメーションデータを出力する。
【0011】この発明の実施例では、プログラム制御コ
ードはカメラ制御コードを含み、画像変化手段は三次元
仮想空間に設けられる仮想カメラを制御するカメラ制御
手段を含む。なお、仮想カメラが複数の仮想カメラを含
む場合、カメラ制御コードはカメラ切換コードを含み、
カメラ制御手段はカメラ切換コードに応じて複数の仮想
カメラを切り換えるカメラ切換手段を含む。
【0012】プログラム制御コードが音声コードを含む
場合、ビデオゲーム装置はさらに音声データを発生する
音声データ発生手段、および音声コードに応じて音声デ
ータ発生手段から出力すべき音声を制御する音声制御手
段を備える。音声データ発生手段が複数の音声の音声デ
ータを発生できるとき、音声コードは音声切換コードを
含み、音声制御手段は音声切換コードに応じて音声デー
タを切り換える音声切換手段を含む。
【0013】なお、プログラム制御コードに応じて音声
のみを制御するようにしてもよい。この場合、ビデオゲ
ーム装置は、プレイヤオブジェクトおよび地形オブジェ
クトの画像データをプログラムに従って処理することに
よって、仮想三次元空間中の地形オブジェクト上に存在
するプレイヤオブジェクトを表示するための、画像信号
を発生し、さらに音声データをプログラムに従って処理
することによって、音声信号を音声出力手段に供給する
ビデオゲーム装置であって、プレイヤオブジェクトの表
示のためにプレイヤオブジェクト画像データを発生する
プレイヤオブジェクト画像データ発生手段、および 地
形オブジェクトを表示するために地形オブジェクト画像
データを発生する地形オブジェクト画像データ発生手段
を備え、地形オブジェクト画像データはプログラム制御
コードを含み、ビデオゲーム装置はさらに、プレイヤオ
ブジェクトの位置に関連してプログラム制御コードを検
出するプログラム制御コード検出手段、および検出した
プログラム制御コードに応じて音声信号に変化を生じさ
せる音声変化手段を備える、ビデオゲーム装置である。
【0014】また、ビデオゲーム装置には一般にゲーム
プログラムや画像データを予め記憶しておく記憶媒体が
用いられる。この発明に従った記憶媒体は、プレイヤオ
ブジェクトおよび地形オブジェクトの画像データをプロ
グラムに従って処理することによって、仮想三次元空間
中の地形オブジェクト上に存在するプレイヤオブジェク
トを表示するための、画像信号を発生してディスプレイ
に供給するビデオゲーム装置に適用され、かつそのビデ
オゲーム装置に含まれる情報処理手段によって処理され
るプログラムを記憶する記憶媒体であって、プレイヤオ
ブジェクトの表示のためにプレイヤオブジェクト画像デ
ータを発生するプレイヤオブジェクト画像データ発生プ
ログラム、および 地形オブジェクトを表示するために
地形オブジェクト画像データを発生する地形オブジェク
ト画像データ発生プログラムを備え、地形オブジェクト
画像データはプログラム制御コードを含み、さらにプレ
イヤオブジェクトの位置に関連してプログラム制御コー
ドを検出するプログラム制御コード検出プログラム、お
よび検出したプログラム制御コードに応じて画像信号に
変化を生じさせる画像変化プログラムを備える、記憶媒
体である。
【0015】
【作用】ゲームプログラム記憶媒体に、画像データ領域
が形成され、その画像データ領域には、プレイヤオブジ
ェクトデータおよび地形オブジェクトデータが記憶され
る。プレイヤオブジェクトデータは、形状を示すポリゴ
ンデータと動作状態を表すアニメーションデータとを含
み、地形オブジェクトデータは形状を表すポリゴンデー
タおよび属性データを含む。この属性データに、プレイ
ヤオブジェクトの動作を規定する動作コード,カメラコ
ードあるいは音声コード等を含むプログラム制御コード
が含まれる。ゲーム記憶媒体は、さらに、画像データを
処理するプログラムを含み、ビデオゲーム装置はその画
像データとプログラムとに従って必要に応じてコントロ
ーラからのコントローラデータを考慮してゲームを進行
させ、応じて、ディスプレイ画面上には、仮想三次元空
間中の地形オブジェクト上にプレイヤオブジェクトが存
在するゲーム画像が表示される。
【0016】プレイヤオブジェクトが該当の地形オブジ
ェクトに接近しまたはその地形オブジェクト上に存在す
るとき、地形オブジェクト画像データに含まれるプログ
ラム制御コードが検出手段によって検出される。したが
って、画像変化手段は、通常のプログラムとは異なり、
プレイヤオブジェクトの動作を制御し、または仮想カメ
ラを制御する。
【0017】プレイヤオブジェクトが存在する地形オブ
ジェクトまたはその近傍の地形オブジェクトを示す地形
オブジェクトデータに動作コードが含まれる場合、その
動作コードが動作コード検出手段(動作コード検出プロ
グラム)によって検出される。そして、アニメーション
データ出力手段(アニメーションデータ出力プログラ
ム)は、その検出した動作コードに従った動作をプレイ
ヤオブジェクトに行わせるようなアニメーションデータ
を出力する。したがって、プレイヤオブジェクトは、検
出した動作コードに従って自動的に最適動作を行うこと
ができる。
【0018】具体的に、地形オブジェクトは窪みないし
穴でありかつ動作コードが「ジャンプ」であるとき、ア
ニメーションデータ出力手段(アニメーションデータ出
力プログラム)はプレイヤオブジェクトに窪みないし穴
をジャンプによって越える動作を行わせるアニメーショ
ンデータを出力する。プレイヤオブジェクトがコントロ
ーラの方向指示手段に従って移動しているとき、移動速
度検出手段(移動速度検出プログラム)がプレイヤオブ
ジェクトの移動速度を検出し、ジャンプ距離検出手段
(ジャンプ距離検出プログラム)がプレイヤオブジェク
トのジャンプ距離を計算する。この場合、アニメーショ
ンデータ出力手段(アニメーションデータ出力プログラ
ム)はプレイヤオブジェクトがジャンプ距離に従ってジ
ャンプする動作を行わせるアニメーションデータを出力
する。
【0019】地形オブジェクトが壁面でありかつ動作コ
ードが「よじ登り」であるとき、アニメーションデータ
出力手段(アニメーションデータ出力プログラム)は、
プレイヤオブジェクトが壁面をよじ登る動作をするよう
なアニメーションデータを出力する。壁面高さ計算手段
(壁面高さ検出プログラム)によって壁面高さが検出さ
れると、その壁面高さ(H)が、0<H≦25、25<
H≦50、50<H≦100、100<H≦150、ま
たは150<H≦250の範囲のいずれであるか判断さ
れ、アニメーションデータ出力手段(アニメーションデ
ータ出力プログラム)は、その壁面高さ範囲に応じた最
適動作を行うようなアニメーションデータを出力する。
【0020】さらに、プログラム制御コードがカメラコ
ードである場合、たとえば仮想三次元空間中に適宜配置
された複数の仮想カメラが、そのカメラコード(カメラ
切換コード)によって選択的にに有効化される。また、
プログラム制御コードが音声コードである場合、たとえ
ば音声データ発生手段によって発生される音声データが
切り換えられる。
【0021】
【発明の効果】この発明によれば、地形オブジェクト画
像データに含まれるプログラム制御コードに応じて、必
要な制御、たとえばプレイヤオブジェクトの動作制御,
仮想カメラの切換等の画像変化制御、あるいは音声デー
タの切換等の音声制御を自動的に実行するようにしたの
で、プレイヤオブジェクトやカメラをプレイヤオブジェ
クトの存在する場所に応じて複雑に制御する場合であっ
ても、そのためのプログラムの設計が簡単に行える。
【0022】たとえば、プログラム制御コードが動作コ
ードであれば、プレイヤはプレイヤオブジェクトを非常
に簡単に操作することができる。動作コードが「ジャン
プ」であれば、プレイヤオブジェクトは自動的にジャン
プし、したがって、プレイヤオブジェクトが容易に穴や
窪みの障害を越えることができる。動作コードが「よじ
登り」であれば、プレイヤオブジェクトは自動的に壁面
をよじ登ることができ、動作コードが「ドア」であれ
ば、ドアが自動的に開閉しプレイヤオブジェクトはドア
内に進入できる。さらに、動作コードが「はしご」であ
る場合、プレイヤオブジェクトは自動的にはしご登りを
する。
【0023】この発明のその他の目的,特徴および利点
は、添付図面に関連して行われる以下の実施例の詳細な
説明から一層明らかとなろう。
【0024】
【実施例】図1に示す実施例のビデオゲームシステム
は、ビデオゲーム機10と、情報記憶媒体の一例のRO
Mカートリッジ20と、ビデオゲーム機10に接続され
るディスプレイ30と、コントローラ40とを含んで構
成される。コントローラ40には、コントローラパック
50が着脱自在に装着される。
【0025】コントローラ40は、両手または片手で把
持可能な形状のハウジング41に、複数のスイッチない
しボタンを設けて構成される。具体的には、コントロー
ラ40は、ハウジング41の左右端部および中央部に、
それぞれ下方に延びて形成されるハンドル41L,41
Cおよび41Rを含み、ハウジング41の上面が操作領
域である。操作領域には、中央下部にアナログ入力可能
なジョイスティック(以下、「アナログジョイスティッ
ク」という。)45が設けられ、左側に十字形のディジ
タル方向スイッチ(以下、「十字スイッチ」という。)
46が設けられ、右側に複数のボタンスイッチ47A,
47B,47C,47D,47Eおよび47Fが設けら
れる。
【0026】アナログジョイスティック45は、スティ
ックの傾き量と方向とによって、プレイヤオブジェクト
(プレイヤがコントローラ40によって操作可能なオブ
ジェクト)の移動方向および/または移動速度ないし移
動量を入力するために用いられる。十字スイッチ46
は、アナログジョイスティック45に代えてプレイヤオ
ブジェクトの移動方向を指示するために用いられる。ボ
タンスイッチ47Aおよび47Bは、プレイヤオブジェ
クトの動作を指示するために利用され、ボタンスイッチ
47C−47Dは、三次元画像のカメラの視点を切り換
えたり、プレイヤオブジェクトのスピード調節等に用い
られる。
【0027】操作領域のほぼ中央部にはスタートスイッ
チ47Sが設けられ、このスタートスイッチ47Sは、
ゲームを開始させるときに操作される。中央部のハンド
ル41Cの裏側にスイッチ47Zが設けられ、このスイ
ッチ47Zは、たとえばシューティングゲームにおいて
トリガスイッチとして利用される。ハウジング41の左
右上部側面にはスイッチ47Lおよび47Rが設けられ
る。
【0028】なお、上述のボタンスイッチ47C−47
Fは、カメラの視点切換え以外の用途として、シューテ
ィングまたはアクションゲームにおいてプレイヤオブジ
ェクトの動作および/または移動速度を制御(たとえ
ば、加速または減速)するためにも使用できる。しかし
ながら、これらのスイッチ47A−47F,47S,4
7Z,47Lおよび47Rの機能は、ゲームプログラム
によって任意に定義することができる。
【0029】図2は図1実施例のビデオゲームシステム
のブロック図である。ビデオゲーム機10には、中央処
理ユニット(以下、「CPU」という。)11およびコ
プロセッサ(リアリティ・コプロセッサ:以下、「RC
P」という。)12が内蔵される。RCP12には、バ
スの制御を行うためのバス制御回路121と、ポリゴン
の座標変換や陰影処理等を行うための信号プロセサ(リ
アリティ・シグナル・プロセサ;以下、「RSP」とい
う。)122と、ポリゴンデータを表示すべき画像にラ
スタライズしかつフレームメモリに記憶可能なデータ形
式(ドットデータ)に変換するための描画プロセサ(リ
アリティ・ディスプレイ・プロセッサ;以下、「RD
P」という。)46とが含まれる。
【0030】RCP12には、外部ROM21を内蔵す
るROMカートリッジ20を着脱自在に装着するための
カートリッジ用コネクタ13と、ディスクドライブ29
を着脱自在に装着するためのディスクドライブ用コネク
タ197と、RAM14とが接続される。また、RCP
12には、CPU11によって処理された音声信号およ
び映像信号をそれぞれ出力するためのDAC(ディジタ
ル/アナログ変換器)15および16が接続される。さ
らに、RCP12には、1つまたは複数のコントローラ
40の操作データおよび/またはコントローラパック5
0のデータをシリアル転送するためのコントローラ制御
回路17が接続される。
【0031】RCP12に含まれるバス制御回路121
は、CPU11からバスを介してパラレル信号で与えら
れたコマンドをパラレル/シリアル変換して、シリアル
信号としてコントローラ制御回路17に供給する。ま
た、バス制御回路121は、コントローラ制御回路17
から入力されたシリアル信号をパラレル信号に変換し、
バスを介してCPU11へ出力する。コントローラ40
から読み込まれた操作状態を示すデータ(操作信号ない
し操作データ)は、CPU11によって処理されたり、
RAM14に一時記憶される等の処理が行われる。換言
すれば、RAM14は、CPU11によって処理される
データを一時記憶する記憶領域を含み、バス制御回路1
21を介してデータの読出または書込を円滑に行うこと
に利用される。
【0032】音声用DAC15には、ビデオゲーム機1
0の後面に設けられるコネクタ19aが接続される。画
像用DAC16には、ビデオゲーム機10の後面に設け
られるコネクタ19bが接続される。コネクタ19aに
は、ディスプレイ30のスピーカ31が接続される。コ
ネクタ19bには、テレビジョン受像機またはCRT等
のディスプレイ30が接続される。
【0033】コントローラ制御回路17には、ビデオゲ
ーム機10の前面に設けられるコントローラ用コネクタ
18が接続される。コネクタ18には、接続用ジャック
を介してコントローラ40が着脱自在に接続される。こ
のように、コネクタ18にコントローラ40を接続する
ことにより、コントローラ40がビデオゲーム機10と
電気的に接続され、相互間のデータの送受信または転送
が可能とされる。
【0034】コントローラ制御回路17は、RCP12
とコントローラ用コネクタ18との間でデータをシリア
ルで送受信するために用いられ、図3に示すように、デ
ータ転送制御回路171,送信回路172,受信回路1
73および送受信データを一時記憶するためのRAM1
74を含む。データ転送制御回路171は、データ転送
時にデータフォーマットを変換するためにパラレル/シ
リアル変換回路とシリアル/パラレル変換回路を含み、
さらにRAM174の書込/読出制御を行う。シリアル
/パラレル変換回路は、RCP12から供給されるシリ
アルデータをパラレルデータに変換してRAM174ま
たは送信回路172に与える。パラレル/シリアル変換
回路は、RAM174または受信回路173から供給さ
れるパラレルデータをシリアルデータに変換して、RC
P12に与える。送信回路172は、データ転送制御回
路171から供給されるコントローラ40の信号読込の
ためのコマンドおよびコントローラパック50への書込
データ(パラレルデータ)をシリアルデータに変換し
て、各コントローラ40のそれぞれに対応するチャンネ
ルCH1〜CH4へ送出する。受信回路173は、各コ
ントローラ40に対応するチャンネルCH1〜CH4か
ら入力される各コントローラの操作データおよびコント
ローラパック50からの読出データをシリアルデータで
受信し、パラレルデータに変換してデータ転送制御回路
171に与える。データ転送制御回路171は、RCP
12から転送されたデータまたは受信回路173で受信
されたコントローラデータやコントローラパック50の
読出データをRAM174に書込んだり、RCP12か
らの命令に基づいてRAM174のデータを読み出して
RCP12へ転送する。
【0035】なお、RAM174は、図示を省略してい
るが、各チャネルCH1〜CH4毎の記憶場所を有し、
各記憶場所に当該チャネルのコマンド,送信データおよ
び/または受信データがそれぞれ記憶される。図4はコ
ントローラ40およびコントローラパック50の詳細な
回路図である。コントローラ40のハウジングには、ジ
ョイスティック45,各スイッチ46,47等の操作状
態を検出しかつその検出データをコントローラ制御回路
17へ転送するために、操作信号処理回路44等が内蔵
される。操作信号処理回路44は、受信回路441,制
御回路442,スイッチ信号検出回路443,カウンタ
回路444,ジョイポート制御回路446,リセット回
路447およびNORゲート448を含む。受信回路4
41は、コントローラ制御回路17から送信される制御
信号やコントローラパック50への書込データ等のシリ
アル信号をパラレル信号に変換して制御回路442に与
える。制御回路442は、コントローラ制御回路17か
ら送信される制御信号がジョイスティック45のX,Y
座標のリセット信号であるとき、リセット信号を発生し
てNORゲート448を介してカウンタ444内のX軸
用カウンタ444XとY軸用カウンタ444Yの計数値
をリセット(0)させる。
【0036】ジョイスティック45は、レバーの傾き方
向のX軸方向とY軸方向に分解して傾き量に比例したパ
ルス数を発生するように、X軸用とY軸用のフォトイン
タラプトを含み、それぞれのパルス信号をカウンタ44
4Xおよびカウンタ444Yに与える。カウンタ444
Xは、ジョイスティック45がX軸方向に傾けられたと
き、その傾き量に応じて発生されるパルス数を計数す
る。カウンタ444Yは、ジョイスティック45がY軸
方向に傾けられたとき、その傾き量に応じて発生される
パルス数を計数する。したがって、カウンタ444Xと
カウンタ444Yとの計数値によって決まるX軸とY軸
の合成ベクトルによって、プレイヤオブジェクトまたは
主人公キャラクタもしくはカーソルの移動方向と座標位
置とが決定される。なお、カウンタ444Xおよびカウ
ンタ444Yは、電源投入時にリセット信号発生回路4
47から与えられるリセット信号、またはプレイヤが所
定の2つのスイッチを同時に押圧したときにスイッチ信
号検出回路443から与えられるリセット信号によっ
て、リセットされる。
【0037】スイッチ信号検出回路443は、制御回路
442から一定周期(たとえばテレビジョンのフレーム
周期である1/30秒間隔)で与えられるスイッチ状態
を出力するためのコマンドに応答して、十字スイッチ4
6およびスイッチ47A〜47Zの押圧状態によって変
化する信号を読込み、それを制御回路442へ与える。
制御回路442は、コントローラ制御回路17からの操
作状態データの読出指令信号に応答して、各スイッチ4
7A〜47Zの操作状態データおよびカウンタ444X
および444Yの計数値を所定のデータフォーマットで
送信回路445に与える。送信回路445は、制御回路
442から出力されたパラレル信号をシリアル信号に変
換して、変換回路43および信号線42を介してコント
ローラ制御回路17へ転送する。制御回路442には、
アドレスバスおよびデータバスならびにポートコネクタ
46を介してジョイポート制御回路446が接続され
る。ジョイポート制御回路446は、コントローラパッ
ク50がポートコネクタ46に接続されているとき、C
PU11の命令に従ってデータの入出力(または送受
信)制御を行う。
【0038】コントローラパック50は、アドレスバス
およびデータバスにRAM51を接続し、RAM51に
電池52を接続して構成される。RAM51は、ゲーム
に関連するバックアップデータを記憶するものであり、
コントローラパック50がポートコネクタ46から抜き
取られても電池52からの電力供給を受けてバックアッ
プデータを保持する。
【0039】図5はROMカートリッジ20(図1,図
2)に内蔵される外部ROM21のメモリ空間を示すメ
モリマップである。外部ROM21は、複数の記憶領域
(以下、単に「領域」と呼ぶこともある)、すなわちプ
ログラム領域22,画像データ領域23およびサウンド
メモリ領域24を含み、各種のプログラムを予め固定的
に記憶している。
【0040】プログラム領域22は、ゲーム画像を処理
するために必要なプログラムや、ゲーム内容に応じたゲ
ームデータ等を記憶している。具体的には、プログラム
領域22は、CPU11の動作プログラムを予め固定的
に記憶するための記憶領域22a〜22iを含む。メイ
ンプログラム領域22aには、後述の図7に示すゲーム
等のメインルーチンの処理プログラムが記憶される。コ
ントローラデータ判断プログラム領域22bには、コン
トローラ40の操作データを処理するためのプログラム
が記憶される。地形オブジェクトプログラム領域22c
には、プレイヤオブジェクトがその上またはその近傍に
存在する地形オブジェクトの表示および制御のためのプ
ログラムが記憶される。プレイヤオブジェクトプログラ
ム領域22dには、プレイヤによって操作されるオブジ
ェクト(単に、「プレイヤオブジェクト」と呼ぶ。)の
表示および制御のためのプログラムが記憶される。
【0041】プログラム領域22は、さらに制御コード
検出プログラム領域22eを含み、この領域22eに
は、地形オブジェクトの画像データに含まれる制御コー
ド(後述)を検出するプログラムが設定されている。カ
メラ制御プログラム領域22fには、プレイヤオブシェ
クトを含む移動オブジェクトや背景オブジェクトを三次
元空間中のどの方向および/または位置で撮影させるか
を制御するためのカメラ制御プログラムが記憶される。
実施例では、三次元空間中に複数の仮想カメラを設置
し、したがって、カメラ制御プログラム領域22fに
は、第1仮想カメラから第N仮想カメラのそれぞれを個
別的に制御する第1カメラ制御プログラム,第2カメラ
制御プログラム,…,第Nカメラ制御プログラムが含ま
れる。
【0042】動作制御プログラム領域22gは、制御コ
ード検出プログラムによって検出した制御コードに従っ
てプレイヤオブジェクトを動作させるように、プレイヤ
オブジェクトの画像データに含まれるアニメーションデ
ータを読み出すプログラムが記憶されている。動作制御
プログラムは、具体的には、各種計算プログラムを含
み、計算プログラムとしては、プレイヤオブジェクトの
移動速度を検出する移動速度検出プログラム,移動速度
に基づいてプレイヤオブジェクトのジャンプ距離を計算
するジャンプ距離計算プログラム,壁面高さを計算する
壁面高さ計算プログラム等が含まれる。また、この動作
制御プログラムは、動作コードないし制御コードや計算
プログラムに従ってプレイヤオブジェクトの動作を決定
し、その動作に応じたアニメーションデータを画像デー
タ領域23から読み出す。したがって、動作制御プログ
ラム22gが、画像データ領域23と協働してアニメー
ションデータ出力プログラムを構成する。
【0043】イメージバッファおよびZバッファ書込プ
ログラム領域22hには、CPU11がRCP12に書
込処理させるべきイメージバッファおよびZバッファへ
の書込プログラムが記憶される。たとえば、書込プログ
ラム領域22hには、1つの背景画面で表示すべき複数
の移動ブジェクトまたは背景オブジェクトのテクスチュ
アデータに基づく画像データとして、色データをRAM
14のフレームメモリ領域203(図6)に書き込むプ
ログラムと、奥行データをZバッファ領域204(図
6)に書き込むプログラムとが記憶される。
【0044】なお、音声処理プログラム領域22iに
は、効果音や音楽や音声によるメッセージを発生するた
めのプログラムが記憶される。画像データ領域23は、
図5に示すように、2つの記憶領域23aおよび23b
を含む。記憶領域23aには、プレイヤオブジェクトを
表示するために、各オブジェクト毎に、複数のポリゴン
の座標データおよびアニメーションデータ等の画像デー
タをそれぞれ記憶するとともに、これらのオブジェクト
を所定の位置に固定的に表示しまたは移動表示させるた
めの表示制御プログラムを記憶している。記憶領域23
bには、地形オブジェクトを表示するために、各オブジ
ェクト毎に、複数のポリゴンデータおよび属性データ等
の画像データを記憶し、かつそれらの地形オブジェクト
の表示のための表示制御プログラムを記憶している。属
性データには、プレイヤオブジェクトがすべき動作(た
とえば、ジャンプ,壁登り,ドア開閉,およびはしご登
り等)を示す動作コード,地形ポリゴンの種類(穴,
氷, 砂,および溶岩等)を示す種類コード,BGMの種
類を示す音楽コード,敵が存在するか否かおよび敵の種
類を示す敵コード,カメラ切換を指示するカメラコード
等が含まれる。これらのコードを総称して「制御コー
ド」というが、その制御コードは、それぞれを設定する
必要がある地形オブジェクトを構成するすべてのポリゴ
ンのポリゴンデータ中に予め設定されている。なお、必
要な地形オブジェクトとしては、プレイヤオブジェクト
がその上に存在する地形オブジェクト,プレイヤオブジ
ェクトが近くに存在する地形オブジェクト等が考えられ
る。
【0045】サウンドメモリ領域24には、場面毎に対
応して、その場面に適した上記メッセージを音声で出力
するためのセリフや効果音やゲーム音楽等のサウンドデ
ータが記憶される。具体的には、後に説明するように、
ゲーム音楽としてBGM1やBGM2を、そして効果音
として「叫び声」等の音声データを記憶している。な
お、記憶媒体ないし外部記憶装置としては、ROMカー
トリッジ20に代えてまたはROMカートリッジ20に
加えて、CD−ROMや磁気ディスク等の各種記憶媒体
を用いてもよい。その場合、CD−ROMや磁気ディス
ク等の光学式または磁気式等のディスク状記憶媒体から
ゲームのための各種データ(プログラムデータおよび画
像表示のためのデータを含む)を読み出しまたは必要に
応じて書き込むために、ディスクドライブ(図示せず)
が設けられる。このディスクドライブは、外部ROM2
1と同様のプログラムデータが磁気的または光学的に記
憶された磁気ディスクまたは光ディスクに記憶されたデ
ータを読み出し、そのデータをRAM14に転送する。
【0046】このように、プログラム領域22には、従
来のビデオゲーム装置の場合と同様に、画像データ領域
23に設定されている画像データを処理することによっ
てゲーム画像信号を作成し、さらにサウンドメモリ領域
24に設定されている音声データを処理することによっ
て音声信号を作成する、プログラムが設定されている。
この実施例では、さらに、画像データ領域23に記憶さ
れるれている画像データ、たとえば地形オブジェクトの
画像データにプログラム制御コードを必要に応じて予め
設定しておき、プレイヤオブジェクトの位置に応じてプ
ログラム制御コードを検出したとき、検出したプログラ
ム制御コードに応じて、プレイヤオブジェクトのアニメ
ーションを変化させ、仮想カメラを切り換え、さらには
音声信号を切り換える。したがって、プログラム制御コ
ードは、プログラム制御因子ないしプログラム変更因子
として機能する。
【0047】このため、プログラム制御コードを検出し
たときプレイヤオブジェクトのアニメーションを変化さ
せたりカメラを切り換えたりすれば、通常のプログラム
を実行しているときとは異なる画像変化を生じさせるこ
とができる。また、プログラム制御コードを検出したと
き音声信号を切り換えるようにすれば、通常のプログラ
ムを実行しているときとは異なる音声変化を生じさせる
ことができる。
【0048】なお、制御コードについてより詳細に説明
する。上述のように、地形オブジェクトデータは、属性
データを含み、制御コードは、その属性データに含まれ
る。属性データは、該当の地形オブジェクトが何である
か、たとえば穴,床,壁面,階段,草原等のオブジェク
トの種類を示す所定ビット数のデータである。したがっ
て、CPU11は、その属性データを検出することによ
って、地形オブジェクトの種類を判断することができ
る。
【0049】制御コードは、属性データ中の1または2
以上のビットからなり、属性データが地形オブジェクト
を構成するすべてのポリゴンに含まれるので、制御デー
タも結局すべてのポリゴンに含まれる。制御コードは上
記1または2以上のビットによって、たとえば「ジャン
プ」,「よじ登り」,「ドア進入」,「はしご」,「カ
メラ切換」,「音声切換」等の制御内容を示す。
【0050】なお、上の説明では、地形オブジェクトの
種類を属性データを参照することによって判断するもの
とした。しかしながら、地形オブジェクトの検出方法
は、次のようであってもよい。たとえば、プレイヤオブ
ジェクトが上を移動する地形オブジェクトを床オブジェ
クトとして検出し、その床オブジェクトに対して90度
(垂直)に設けられている地形オブジェクトを壁ないし
壁面オブジェクトとして検出するようにしてもよい。こ
の場合、プレイヤオブジェクトの上に存在する地形オブ
ジェクトは、天井オブジェクトとして検出される。つま
り、プレイヤオブジェクトとの位置関係,角度等によっ
て地形オブジェクトの種類を判断するようにしてもよ
い。
【0051】いずれの場合も、プログラム制御コード
(制御コード,動作コード,カメラコード,音声コード
等を含む)は、属性データ中に設定される。図6はRA
M14のメモリ空間全体を図解的に示したメモリマップ
であり、RAM14は、各種の記憶領域201〜209
を含む。たとえば、RAM14には、表示リスト領域2
01と、プログラム領域202と、1フレーム分の画像
データを一時記憶するフレームメモリ(またはイメージ
バッファメモリ)領域203と、フレームメモリ領域の
ドット毎の奥行データを記憶するZバッファ領域204
と、画像データ領域205と、サウンドメモリ領域20
6と、コントローラの操作状態データを記憶する領域2
07と、作業用(ワーキング)メモリ領域208と、レ
ジスタ・フラグ領域209とが含まれる。各記憶領域2
01〜209は、CPU11がバス制御回路121を介
して、またはRCP12が直接アクセスできるメモリ空
間であって、使用されるゲームによって任意の容量(又
はメモリ空間)に割り当てられる。また、画像データ領
域205,サウンドメモリ領域206は、ROM21の
記憶領域22に記憶されている1つのゲームの全場面
(又はステージ)のゲームプログラムのうち一部のデー
タ、たとえば或る1つのコースまたはステージに必要な
ゲームプログラムがプログラム領域202に転送された
とき、そのプログラムを実行するに必要な画像データお
よび音声データを一時記憶するものである。このよう
に、或る場面に必要な各種プログラムやデータの一部を
各記憶領域202,205,206に記憶させておけ
ば、CPU11が必要の生じる毎に直接ROM21から
読み出して処理するよりも、データ処理の効率を高める
ことができ、画像処理速度を高速化できる。
【0052】具体的には、フレームメモリ領域203
は、ディスプレイ30(図1)の画素(ピクセル又はド
ット)数×1画素当たりの色データのビット数に相当す
る記憶容量を有し、ディスプレイ30の画素に対応して
ドット毎の色データを記憶する。フレームメモリ領域2
03は、画像データ領域205に記憶されているプレイ
ヤオブジェクト,仲間オブジェクト,敵オブジェクト,
ボスオブジェクト等の移動オブジェクトと地形オブジェ
クトや背景(または静止)オブジェクト等の各種オブジ
ェクトを表示する際にドット毎の色データを一時記憶す
る。
【0053】Zバッファ領域204は、ディスプレイ3
0の画素(ピクセル又はドット)数×1画素当たりの奥
行データのビット数に相当する記憶容量を有し、ディス
プレイ30の各画素に対応してドット毎の奥行データを
記憶するものである。Zバッファ領域204は、移動及
び/又は静止の各オブジェクトすなわち、画像データ領
域205に記憶されているプレイヤオブジェクト,仲間
オブジェクト,敵オブジェクト,ボスオブジェクト等の
移動オブジェクトと地形オブジェクトや背景(または静
止)オブジェクト等の各種オブジェクトを表示する際に
ドット毎の奥行データを一時記憶する。
【0054】画像データ領域205は、ROM21に記
憶されているゲーム表示のための静止及び/又は移動の
各オブジェクト毎に複数の集合体で構成されるポリゴン
の座標データおよびテクスチュアデータを記憶するもの
であって、画像処理動作に先立ってたとえば1コース又
はステージ分のデータがROM21から転送される。な
お、この画像データ領域205には、外部ROM21の
画像データ領域23から必要に応じて読み出したアニメ
ーションデータも記憶される。
【0055】サウンドメモリ領域206は、ROM21
の記憶領域に記憶されている音声データ(セリフ,音
楽,効果音のデータ)の一部が転送され、音声発生装置
32から発生される音声のデータとして一時記憶する。
コントローラデータ(操作状態データ)記憶領域207
は、コントローラ40から読み込まれた操作状態を示す
操作状態データを一時記憶する。
【0056】作業用メモリ領域208は、CPU11が
プログラムを実行中にパラメータ等のデータを一時記憶
する。レジスタ・フラグ領域209は、レジスタ領域2
09rとフラグ領域209fを含む。レジスタ領域20
9rには図示しないが複数のレジスタが個別にデータを
ロードできるように形成される。レジスタ領域209r
には図示しないが複数のフラグが個別にセットまたはリ
セットできるように形成される。
【0057】図7はこの実施例のビデオゲームシステム
のメインフロー図であり、電源が投入されると、最初の
ステップS1において、CPU11はスタートに際して
ビデオゲーム機10を所定の初期状態に設定する。たと
えば、CPU11は、外部ROM21のプログラム領域
22に記憶されているゲームプログラムのうちの立ち上
げプログラムをRAM14のプログラム領域202に転
送し、各パラメータを初期値に設定した後、図7の各ス
テップを順次実行する。
【0058】図7のメインフロー図の動作は、たとえば
1フレーム(1/60秒)毎または2ないし3フレーム
毎に行われるものであり、コースをクリアするまではス
テップS2〜S12が繰り返し実行される。コースクリ
アに成功することなくゲームオーバになると、ステップ
S13に続いて、ステップS14においてゲームオーバ
処理が行われる。コースクリアに成功するとステップS
12からステップS1へ戻る。
【0059】すなわち、ステップS1において、ゲーム
のコース画面および/またはコース選択画面の表示が行
われるが、電源投入後にゲームを開始する場合は、最初
のコース画面の表示が行われる。最初のコースをクリア
すると、次のコースが設定される。ステップS1に続い
て、ステップS2において、コントローラ処理が行われ
る。この処理は、コントローラ40のジョイスティック
45,十字スイッチ46,およびスイッチ47A〜47
Zの何れが操作されたかを検出し、その操作状態の検出
データ(コントローラデータ)を読み込み、読み込んだ
コントローラデータをRAM14のコントローラデータ
領域141に書き込む。
【0060】ステップS3において、地形オブジェクト
の処理が行われる。この処理は、詳細には後に図8のサ
ブルーチンを参照して説明するが、記憶領域22cから
一部転送されたプログラムと記憶領域23(図5)から
転送された地形オブシェクトのポリゴンデータとに基づ
いて、地形オブジェクトの表示位置およびその形状を演
算する。
【0061】ステップS4では、プレイヤオブジェクト
の動作を決定する処理が実行される。詳細には、図9か
ら図26を参照して後に説明するように、先に説明した
制御コードないし動作コードに従ってプレイヤオブジェ
クトの動作を決定する。ステップS5において、プレイ
ヤオブジェクトの表示のための処理が行われる。この処
理は、基本的には、図27に示すように、プレイヤの操
作するジョイスティック45の操作状態(コントローラ
データ)と敵からの攻撃の有無に基づいてその姿勢,方
向,形状および位置を変化させる処理である。たとえ
ば、外部ROM21の記憶領域22e(図5)から転送
されたプログラムと記憶領域23aから転送されたプレ
イヤオブジェクトのポリゴンデータとコントローラデー
タすなわちジョイスティック45の操作状態とに基づい
て、変化後のポリゴンデータを演算によって求める。そ
の結果得られた複数のポリゴンにテクスチャデータによ
って色を付与する。
【0062】ステップS6は、カメラ決定処理を行うス
テップであり、具体的には、先に説明した地形オブジェ
クトの出に含まれるか切換コード(制御コード)に従っ
て、複数の仮想カメラのうちどの仮想カメラを用いて仮
想三次元空間中のオブジェクトを撮影するかを決定す
る。後に、図27から図36を参照して詳細に説明す
る。 ステップS7において、カメラ処理が行われる。
たとえば、仮想カメラのファインダを通して見たときの
視線または視界がプレイヤがジョイスティック45によ
って指定したアングルとなるように、各オブジェクトに
対する視点の座標を演算する。
【0063】ステップS8において、RSP122が描
画処理を行う。すなわち、RCP12は、CPU11の
制御の下に、RAM14の画像データ領域201に記憶
されている敵オブジェクト,プレイヤオブジェクト等の
移動オブジェクトや背景等の静止オブジェクトのそれぞ
れのテクスチュアデータに基づいて、移動オブジェクト
および静止オブジェクトの表示のための画像データの変
換処理(座標変換処理およびフレームメモリ描画処理)
を行う。具体的には、複数の移動オブジェクトや静止オ
ブジェクト毎の複数のポリゴンに色を付与する。
【0064】ステップS9において、CPU11がメッ
セージや音楽や効果音等の音声データに基づいて、音声
処理を行なう。特に、地形オブジェクトに予め設定され
ている音楽コード(制御コード)に従って、図37のサ
ブルーチンに示すように、BGM等を切り換える。次の
ステップS10において、CPU11が、ステップS7
において描画処理された結果により、RAM14のフレ
ームメモリ領域203に記憶されている画像データを読
み出す。したがって、プレイヤオブジェクト,移動オブ
ジェクト,静止オブジェクトおよび敵オブジェクト等が
ディスプレイ30(図1,図2)の表示画面上に表示さ
れる。
【0065】ステップS11において、RCP12がス
テップS18において音声処理した結果得られる音声デ
ータを読み出すことにより、音楽および効果音または会
話等の音声を出力される。ステップS12において、コ
ースをクリアしたか否かが判断(コースクリア検出)さ
れ、コースをクリアしていなければステップS13にお
いてゲームオーバになったか否かが判断され、ゲームオ
ーバでなければステップS2へ戻り、ゲームオーバの条
件が検出されるまでステップS2〜S13が繰り返され
る。そして、プレイヤに許容されているミス回数が所定
の回数になるか、プレイヤオブジェクトのライフを所定
数量使い切る等のゲームオーバ条件になったことが検出
されると、続くステップS14においてゲームの継続ま
たはバックアップデータの記憶の選択等のゲームオーバ
処理が行われる。
【0066】なお、ステップS12において、コースを
クリアした条件(たとえば、ボスを倒す等)が検出され
ると、コースクリアの処理をした後、ステップS1へ戻
る。図8は、図7のステップS3で示した地形オブジェ
クト処理のサブルーチンであり、その最初のステップS
301では、CPU11(図2)は、外部ROM21の
画像データ領域23(図5)から内部RAM14の画像
データ領域205(図6)に転送されている、かつその
とき必要な地形オブジェクトに対応するポリゴンデータ
を読み出す。このポリゴンデータ中には、先に説明した
ように、制御コードが必要に応じて予め設定されてい
る。したがって、ステップS301が実行されると、そ
の制御データも同時に読み出されることになる。なお、
読み出された制御コード(動作コード,カメラ切換コー
ド,音声コード等)を含むポリゴンデータは、内部RA
M14の表示リスト領域201に一時的に保持される。
【0067】ステップS302では、内部RAM14の
画像データ領域205に転送されている、地形オブジェ
クトに対応するテクスチャデータを読み出す。ステップ
S303では、地形オブジェクトに対応するカメラデー
タを同様に画像データ領域205から読み出す。これら
のテクスチャデータおよびカメラデータも、ポリゴンデ
ータと同様にして、表示リスト領域201に記憶され
る。
【0068】そして、ステップS304で地形オブジェ
クトを表示リスト領域201に記憶し、ステップS30
5において、すべての地形オブジェクトについてステッ
プS301からステップS304の処理が実行されるれ
たかどうか判断し、もし“NO”と判定したときは、ス
テップS301から再び実行される。すべての地形オブ
ジェクトの処理が終了していれば、すなわち“YES”
が判断されれば、図8のサブルーチンを終了してメイン
ルーチンにリターンする。
【0069】図7のステップS4の動作決定処理は、具
体的には、図9に示すフロー図に従って実行される。す
なわち、最初のステップS401では、CPU11(図
2)は、プレイヤオブジェクトの状態を検出する。つま
り、プレイヤオブジェクトが何らかの動作中であるか否
かを検出する。そして、プレイヤオブジェクトが動作の
途中であれば、ステップS402において“YES”が
判断され、続くステップS403に進む。
【0070】ステップS403では、CPU11は、図
6に示すRAM14のレジスタ・フラグ領域209を参
照して、そのプレイヤオブジェクトの足下にある地形オ
ブジェクトのオブジェクトデータに含まれる制御コード
ないし動作コードを検出する。制御コードないし動作コ
ードは先に説明したように、図5に示す外部ROM21
の地形オブジェクト領域23bに予め設定されていて、
画像データ領域205に予め転送されている。その地形
オブジェクトデータが各フレーム毎に表示リスト領域2
01に読み出される。したがって、CPU11は、その
表示リスト領域201の動作コードを検出する。
【0071】続いて、CPU11は、ステップS404
において、プレイヤオブジェクトが落下中かどうか検出
する。つまり、先のステップS402においてプレイヤ
オブジェクトが動作中であると判断され、その動作が
「落下」動作であるかどうか判断する。プレイヤオブジ
ェクトが落下中であれば、次のステップS405におい
て、CPU11は、そのときのプレイヤオブジェクトの
地形オブジェクトからの高さを検出する。そして、CP
U11は、ステップS406において、プレイヤオブジ
ェクトの地形オブジェクトからの高さが所定の高さであ
るとき、すなわち高さが十分低いとき、プレイヤオブジ
ェクトが着地すべきであると判断する。このとき、CP
U11は、次のステップS407において、プレイヤオ
ブジェクトに着地動作を開始させる。
【0072】つまり、CPU11は、このステップS4
07において、外部ROM201のプレイヤオブジェク
トデータ領域23aに記憶されている着地動作のための
アニメーションでに基づいて、プレイヤオブジェクトの
形状を変化させて、フレームメモリ領域203に色デー
タを書込むようにRCP12を制御する。なお、このア
ニメーションデータは、プレイヤオブジェクトの骨格の
動きを表すデータであり、プレイヤオブジェクトは、他
のオブジェクトと同様に、そのアニメーションデータと
ポリゴンデータとの組合せによって表示される。したが
って、同じポリゴンデータであってもアニメーションデ
ータが変化すればプレイヤオブジェクトの動作が変化す
る。そのため、このステップS407において「着地動
作」のためのアニメーションデータを読み出すことによ
って、プレイヤオブジェクトに着地動作させることがで
きる。
【0073】先のステップS402においてプレイヤオ
ブジェクトの動作状態が「動作の途中」でないと判断し
たとき、CPU11は、ステップS408で、ステップ
S403と同様にして、プレイヤオブジェクトの近傍
(前方または足下)の地形オブジェクトの制御コードな
いし動作コードを表示リスト領域201から検出する。
そして、次のステップS409では、CPU11は、プ
レイヤオブジェクトの足下の地形オブジェクトの属性デ
ータを参照することによって、その地形オブジェクトが
「窪み」ないし「穴」かどうか判断する。または、プレ
イヤオブジェクトの進行方向に対して0度(平行もしく
は水平)の床オブジェクトがあり、その床オブジェクト
が下方への段差を持って形成されていることから、その
ときの地形オブジェクトが窪みないし穴であると判断し
てもよい。
【0074】地形オブジェクトが「窪み」ないし「穴」
であった場合、CPU11は、続くステップS410に
おいて、図10に示す「穴動作」サブルーチンを実行す
る。ステップS409において“NO”が判断される
と、ステップS411において、属性コードによって、
地形オブジェクトが「壁面」かどうか判断される。ただ
し、前述のように、プレイヤオブジェクトの進行方向ま
たは床オブジェクトに対する角度(90度)によって壁
面オブジェクトであることを検出するようにしてもよ
い。地形オブジェクトが「壁面」であった場合、CPU
11は、続くステップS412において、図16に示す
「壁面動作」サブルーチンを実行する。ステップS41
1において“NO”が判断されると、ステップS413
において、属性コードによってもしくは床オブジェクト
に対する角度によって、地形オブジェクトが「ドア」か
どうか判断される。地形オブジェクトが「ドア」であっ
た場合、CPU11は、続くステップS414におい
て、図23に示す「ドア動作」サブルーチンを実行す
る。ステップS413において“NO”が判断される
と、ステップS415において、属性コードによっても
しくは床オブジェクトに対する角度によって、地形オブ
ジェクトが「はしご」かどうか判断される。地形オブジ
ェクトが「はしご」であった場合、CPU11は、続く
ステップS416において、図25に示す「はしご動
作」サブルーチンを実行する。
【0075】ここで、図10およびそれに関連する図1
1から図15を参照して、「穴動作」について説明す
る。図10の最初のステップS417では、表示リスト
領域201(図6)を参照して、その穴の手前のプレイ
ヤオブジェクトの足下の地形オブジェクトの動作コード
ないし制御コードを検出する。詳しく述べると、「穴」
を構成する床オブジェクトの属性データが、1または2
ビット以上の制御コードを含み、制御コードが「0」で
あるとき、制御コードは、デフォルトとして「ジャン
プ」に設定される。また、穴を構成する床オブジェクト
の制御コードとしては、他に、「ならく」,「場面切
換」,「落ちない」,「進入禁止」等がある。
【0076】そして、ステップS418で検出した制御
コードないし動作コードが「落ちない」コードではない
とき、すなわち、制御コードないし動作コードが「ジャ
ンプ」である場合、ステップS418で“NO”が判断
され、CPU11は、次のステップS419において、
先のステップS405と同様の方法で、プレイヤオブジ
ェクトのそのときの地形オブジェクトからの高さを計算
によって求める。
【0077】ステップS420では、計算したプレイヤ
オブジェクトの高さが所定高さ、たとえば「200c
m」より低いかどうか判断する。ただし、「cm」は、
以下の場合も同様であるが、仮想三次元空間中において
の仮想長さ単位である。このステップS420で“N
O”を判断したとき、CPU11は、次のステップS4
21において、そのときのプレイヤオブジェクトの移動
速度を計算する。そして、ステップS422では、CP
U11は、ステップS419で計算した高さとステップ
S421で計算した速さとに基づいて、プレイヤオブジ
ェクトがジャンプすべき距離を計算する。次のステップ
S423では、そのジャンプ距離に従ったジャンプ動作
を開始させる。
【0078】図11は穴の距離L1が短いためにプレイ
ヤオブジェクトが穴を飛び越して向こう岸に到達するよ
うなジャンプ動作の一例を示し、図12穴の距離L2が
やや大きいためにプレイヤオブジェクトが穴を飛び越せ
ずに穴の向こう岸に手だけをかけることができるような
ジャンプ動作の一例を示し、図13は穴の距離L3が大
きすぎるのでプレイヤオブジェクトが穴を飛び越せずか
つ向こう岸に手さえもかけることができず、結局穴に落
ちてしまうようなジャンプの一例を示す。いずれの場合
にも、プレイヤオブジェクトがその上に存在する地形オ
ブジェクトに含まれるジャンプコードに従って自動的に
所要のジャンプ動作が実行される。
【0079】プレイヤオブジェクトが飛び越せる距離
は、プレイヤオブジェクトの移動速さに相関する。つま
り、プレイヤオブジェクトが速く走っていれば、距離L
のより大きな穴も飛び越すことができるが、プレイヤオ
ブジェクトが歩いて移動しているときには、制御コード
「ジャンプ」が設定されていても、プレイヤオブジェク
トが穴を飛び越えられない場合もある。したがって、プ
レイヤオブジェクトが歩いている場合、プレイヤオブジ
ェクトがジャンプできずそのまま穴の中に落ちたり、穴
に落ちかけるが手だけを穴の手前側の崖にかけてぶら下
がった格好になったりする。
【0080】このようなそれぞれのジャンプ動作は、先
に説明したように、外部ROM221のプレイヤオブジ
ェクトデータ領域23aから相当するアニメーションデ
ータを読み出すことによって達成される。なお、ステッ
プS418において“YES”が判断されたとき、すな
わち、穴の手前の地形オブジェクトの制御コードないし
動作コードが「落ちない」コードである場合には、CP
U11は、ステップS424で、プレイヤオブジェクト
が落ちない動作を開始させる。この場合、プレイヤオブ
ジェクトは、穴に落ちかけるが手だけを穴の手前側の崖
にかけてぶら下がった格好になったりする。
【0081】また、ステップS420でプレイヤオブジ
ェクトの高さが200m以下であると判断した場合に
は、ジャンプさせるべきではないと判断して、ステップ
S425において、CPU11は、プレイヤオブジェク
トを落下させる動作を開始する。つまり、穴の高さない
し深さが200cm(仮想長さ)以上であれば、上述の
ようなジャンプ動作が実行され、200cm以下であれ
ば、図14に示すように、プレイヤオブジェクトはジャ
ンプせずにそのまま穴内に歩行を進めることになる。
【0082】ステップS409で“NO”を判断したと
き、ステップS411で属性データもしくは角度を参照
して地形オブジェクトの種類が「壁面」であるかどうか
が判断される。このステップS411において“YE
S”が判断されると、ステップS412において、CP
U11は、プレイヤオブジェクトが壁面に対面したとき
の動作「壁面動作」を開始する。この壁面動作は、具体
的には、図15に示すフロー図に従って実行される。
【0083】図15の最初のステップS426では、C
PU11は、プレイヤオブジェクトの近傍に「壁面」で
ある地形オブジェクトに含まれている制御コードないし
動作コードが、プレイヤオブジェクトが壁面を越えて進
むのを禁止する「禁止」であるかどうか判断する。「禁
止」コードである場合、メインルーチンにリターンす
る。
【0084】壁面を構成する各ポリゴンに含まれる制御
コードないし動作コードが「よじ登り」であるとき、ス
テップS428において、CPU11は、プレイヤオブ
ジェクトに図16に示す壁面よじ登り動作をさせる。図
16の例では、プレイヤオブジェクトが壁に接触すると
プレイヤオブジェクトは壁面にくっつき、プレイヤのジ
ョイスティック45の操作に応じて壁面上を移動する。
ジョイスティック45を上側に倒せばプレイヤオブジェ
クトは壁面上を上に上り、下に倒せば,プレイヤオブジ
ェクトは下に移動する。そして、プレイヤオブジェクト
が移動した結果制御コード「よじ登り」が設定されてい
ない壁面位置まで達すると、プレイヤオブジェクトは、
壁にくっつくことができないようになり、落下すること
になる。つまり、プレイヤオブジェクトと正対した壁面
オブジェクトに「よじ登り」の動作コードが設定されて
いる場合、プレイヤオブジェクトは、自動的に、壁面を
よじ登る動作を実行する。ただし、プレイヤオブジェク
トの移動方向は、ジョイスティック45によって決定で
きる。
【0085】壁面オブジェクトの制御コードないし動作
コードが「禁止」でなくかつ「よじ登り」ではなくしか
も壁面オブジェクトの前の床オブジェクトについてデフ
ォルトとして制御コード「ジャンプ」が設定されている
場合には、ステップS429において、CPU11は、
壁面の高さを計算する。そして、その計算した壁面高さ
に応じて、後述のように、プレイヤオブジェクトは自動
的に最適動作を実行する。
【0086】先ず、CPU11は、ステップS430に
おいて先に計算した壁面高さが0から25cmの範囲で
あるかどうか、すなわち、0<H≦25であるかどうか
判断する。この範囲の高さは壁面が非常に低いことを意
味し、この場合には、プレイヤオブジェクトは階段を昇
るようにしてその壁面を越えることができる。したがっ
て、次のステップS431では、CPU11は、必要な
アニメーションデータを外部ROM21すなわちRAM
14から読み出して、プレイヤオブジェクトに図17に
示す「階段登り」動作を開始させる。図17の例では、
越えるべき壁面の高さが小さいので、プレイヤオブジェ
クトは、床オブジェクトに設定されている制御コード
「ジャンプ」に従って1歩1歩が段を踏むような動作
で、壁面である階段を越えることができる。この場合、
各壁面オブジェクトすなわち階段の手前の床オブジェク
トに、図17に示すように、制御コード「ジャンプ」が
予め設定されている。
【0087】CPU11は、続くステップS432にお
いて壁面高さが25cmから50cmの範囲であるかど
うか、すなわち、25<H≦50であるかどうか判断す
る。この範囲の高さは壁面が低いことを意味し、この場
合には、プレイヤオブジェクトはジャンプによってその
壁面を越えることができる。したがって、次のステップ
S433では、CPU11は、必要なアニメーションデ
ータをROM21すなわちRAM14から読み出して、
プレイヤオブジェクトに図18に示す「ジャンプ」動作
を開始させる。図18の例では、プレイヤオブジェクト
は越えるべき壁面の手前でジャンプし、そのまま壁面の
上に着地することによって壁面を越える。この場合も、
壁面オブジェクトの手前の地形オブジェクト、すなわち
床オブジェクトに、図18に示すように、制御コード
「ジャンプ」が予め設定されている。
【0088】ステップS434では、CPU11は、壁
面高さが50cmから100cmの範囲であるかどう
か、すなわち、50<H≦100であるかどうか判断す
る。この範囲の高さは壁面がやや高いことを意味し、こ
の場合には、プレイヤオブジェクトは小よじ登りによっ
てその壁面を越えることができる。したがって、次のス
テップS435で、CPU11は、必要なアニメーショ
ンデータを読み出して、プレイヤオブジェクトに図19
に示す「小よじ登り」動作を開始させる。図19の「小
よじ登り」の例では、プレイヤオブジェクトは対象であ
る壁面の上端に手を掛け、その手による懸垂力と足によ
るジャンプ力とで、その壁面の上端に体を押し上げる。
この場合、壁面の手前の床に、図19に示すように、制
御コード「ジャンプ」が予め設定されている。
【0089】ステップS436では、CPU11は、壁
面高さが100cmから150cmの範囲であるかどう
か、すなわち、100<H≦150であるかどうか判断
する。この範囲の高さは壁面が高いことを意味し、この
場合には、プレイヤオブジェトは中よじ登りによってそ
の壁面を越えることができる。したがって、次のステッ
プS437で、CPU11は、必要なアニメーションデ
ータを読み出して、プレイヤオブジェクトに図20に示
す「中よじ登り」動作を開始させる。図20の「中よじ
登り」の例では、壁面の手前の床オブジェクトに含まれ
る「ジャンプ」コードに応答して、プレイヤオブジェク
トは対象である壁面の手前で小さくジャンプすることに
よって壁面の上端に手を掛け、そのときプレイヤオブジ
ェクトの足は浮いた状態であるので、その手による懸垂
力によってのみ、その壁面の上端に体を引き上げる。
【0090】そして、ステップS438では、CPU1
1は、壁面高さが150cmから250cmの範囲であ
るかどうか、すなわち、150<H≦250であるかど
うか判断する。この範囲の高さは壁面が非常に高いこと
を意味し、この場合には、プレイヤオブジェクトは大よ
じ登りによってその壁面を越えることができる。したが
って、次のステップS439で、CPU11は、プレイ
ヤオブジェクトに図21に示す「大よじ登り」動作を開
始させる。図21の「大よじ登り」の例では、プレイヤ
オブジェクトは対象である壁面の手前の床オブジェクト
の制御コード「ジャンプ」に応じて大きくジャンプして
その壁面の上端に手を掛け、そのときプレイヤオブジェ
クトの足は浮いた状態であるので、その手による懸垂力
によってのみ、その壁面の上端に体を引き上げる。
【0091】このようにして、プレイヤオブジェクトの
存在する地形オブジェクトまたはその近傍の地形オブジ
ェクトのオブジェクトデータに含まれる制御コードない
し動作コードを検出して、CPU11はプレイヤオブジ
ェクトに対して、制御コードないし動作コードに応じた
動作、実施例であれば、壁面越え動作をさせる。なお、
壁面オブジェクトに含まれる制御コードないし動作コー
ドが「よじ登り」であるときは、先に説明した「ジャン
プ」ではなく、「よじ登り」によって壁面を越える。ま
た、壁面オブジェクトに「禁止」コードが埋設されてい
れば、プレイヤオブジェクトは、その壁面を越えること
ができない。
【0092】図22に、図9のステップS414に示す
「ドア動作」のためのサブルーチンが示される。この図
22の最初のステップS440では、CPU11は、R
AM14のコントローラデータ領域207を参照して、
Aボタン47A(図1)がプレイヤによって送信される
されるれているかどうか判断する。Aボタン47Aが操
作されていなければ、プレイヤオブジェクトをドア内に
進入させる意思がプレイヤにはないと判断し、そのまま
メインルーチンにリターンする。
【0093】そして、ステップS440においてもし
“YES”が判断されると、CPU11は、次のステッ
プS441において、画像データ領域205(図6)を
参照して、ドアを構成するポリゴンの座標位置から、ド
アの位置を検出する。次のステップS442では、ステ
ップS441で検出したドアの位置に基づいて、プレイ
ヤオブジェクトがドアを開く位置に正しく位置決めされ
るように、プレイヤオブジェクトの位置を補正する。変
更されたプレイヤオブジェクトの位置は、画像データ領
域205に記録される。その後、ステップS443にお
いて、ドア動作を実行する。すなわち、CPU11は、
画像データ領域205から必要なポリゴンデータやアニ
メーションデータを読み出して、プレイヤオブジェクト
が、ドアノブを持ち、ドアを開き、ドア内に入り、そし
てドアを閉じる、という一連のドア動作を実行させる。
図23は、このドア動作において、プレイヤオブジェク
トがドア内に進入しようとする状態を図解的に示す。つ
まり、図9のステップS413で実行される「ドア動
作」では、図23に図示した地形オブジェクト内に予め
設定されるれている「ドアコード」に従って、プレイヤ
オブジェクトにドアの開閉動作を自動的に行わせる。
【0094】なお、上述の実施例では、ドアの直前の床
オブジェクトに制御コードないし動作コードとして「ド
ア」が設定されるれているものとして説明した。これに
対して、ドアオブジェクトに「ドア」コードを設定する
ようにしてもよい。図9のステップS416で実行され
る「はしご動作」の詳細が図24に示される。図24の
最初のステップS444では、画像データ領域205
(図6)を参照して、はしごを構成するポリゴンの座標
位置から、はしごの位置を検出する。次のステップS4
45では、ステップS444で検出したはしごの位置に
基づいて、プレイヤオブジェクトがはしごの下に位置決
めされるように、プレイヤオブジェクトの位置を補正す
る。変更されたプレイヤオブジェクトの位置は、画像デ
ータ領域205に記録される。その後、ステップS44
6において、はしご動作を実行する。すなわち、CPU
11は、画像データ領域205から必要なポリゴンデー
タやアニメーションデータを読み出して、プレイヤオブ
ジェクトが、はしごに手および足を掛け、はしご上にお
いて交互に左右の手および足を運ぶ、という一連のはし
ご登り動作を実行させる。図25は、このはしご動作に
おいて、プレイヤオブジェクトがはしごの途中まで上っ
た状態を図解的に示す。つまり、図9のステップS41
6で実行される「はしご動作」では、図25に図示した
地形オブジェクトすなわち壁面オブジェクト内に予め設
定されるれている「はしご」コードに従って、プレイヤ
オブジェクトにはしご登り動作を自動的に行わせる。
【0095】より詳しく説明すると、図25の例では、
はしごを構成する壁面オブジェクトの手前の床オブジェ
クトに制御コード「進入禁止」が設定されていないの
で、プレイヤオブジェクトは、壁面オブジェクトの制御
コード「はしご」に従って「はしご登り」動作をするこ
とができる。つまり、床オブジェクト内の制御コードが
「進入禁止」でない限り、はしご登り動作に影響しな
い。そして、「はしご」コードが壁面に設定されている
と、プレイヤオブジェクトは、はしごの壁面に正対した
とき、自動的に、はしごをつかむ。その後プレイヤがジ
ョイスティック45(図1)を上に倒すとプレイヤオブ
ジェクトははしご上を上に、下に倒すと、下に、それぞ
れ移動する。そして、プレイヤオブジェクトがはしごの
最上位置に達すると、プレイヤオブジェクトは、自動的
にその部分の床に降り立つ。また、プレイヤオブジェク
トが上の床からはしごの場所に進んできた場合には、は
しごの裏の壁面オブジェクトに設定されている「はしご
進入」コードを検出し、そのコードに従ってプレイヤオ
ブジェクトは、はしごを降りる。
【0096】このようにして、この実施例によれば、プ
レイヤオブジェクトが存在する地形オブジェクト中に予
め含ませておいた制御コードないし動作コードに応じ
て、自動的に、プレイヤオブジェクトをして異なる動作
をさせることができる。したがって、プレイヤオブジェ
クトの動作制御のためのプログラムの設定が極めて簡単
に行える。
【0097】なお、図26に示すフロー図は図7のメイ
ンルーチンのステップS5のプレイヤオブジェクト処理
動作を示し、最初のステップS501で、CPU11
は、プレイヤオブジェクトが動作途中であるかどうか判
断し、もし、動作途中であれば、プレイヤオブジェクト
がその動作を継続するように、プレイヤオブジェクトの
位置およびポーズを決定する。ポーズは先に説明したア
ニメーションデータで決まる。
【0098】プレイヤオブジェクトが動作途中でないと
きは、CPU11は、続くステップS503において、
コントローラ40に含まれるジョイスティック45(図
1,図4)の操作状態を検出する。続いて、ステップS
503,S504およびS505において、ジョイステ
ィック45の操作状態に応じて、それぞれ、プレイヤオ
ブジェクトの移動方向,移動速度および位置およびポー
ズを決定する。そして、ステップS502を経た後と同
様に、ステップS507において、プレイヤオブジェク
トをRAM14の表示リスト領域201(図6)に登録
する。応じて、プレイヤオブジェクトがジョイスティッ
ク45の操作状態に応じて表示されることになる。
【0099】図9のメインルーチンのステップS6での
カメラ決定処理を図27および関連の各図を参照して詳
細に説明する。図27の最初のステップS601では、
CPU11は、画像データ領域205のデータを参照
し、プレイヤオブジェクトの位置に基づいて、そのプレ
イヤオブジェクトが存在する直下の地形オブジェクトの
オブジェクトデータに予め設定されるれている制御コー
ド(カメラコード)を検出する。そして、ステップS6
02,S604,S606,S608,またはS610
のそれぞれにおいて、その検出した制御コードが、第1
カメラコード,第2カメラコード,第3カメラコード,
第4カメラコード,または第5カメラコードのいずれで
あるか判断する。
【0100】ここで、図28に基づいて、実施例での仮
想三次元空間中に配置された第1カメラ,第2カメラ,
第3カメラ,第4カメラおよび第5カメラについて説明
する。図28の例では、平面矩形の空間のほぼ中央に縦
長に壁が設けられ、その壁の一部にドアが形成されてい
る。そして、ドアの一方側(ドアが開く方向の側)にド
アに向けられた第3カメラが固定的に設置されている。
ドアの反対側には、第4カメラが設置されていて、その
第4カメラは、ドアを開けて進入してくるプレイヤオブ
ジェクトを撮影するズームカメラとして設定されてい
る。さらに、空間の2つのコーナに第2カメラおよび第
5カメラがそれぞれ個別に固定的に設定されている。第
1カメラは、プレイヤオブジェクトに追従して移動する
移動カメラとして設定されている。このようにして5つ
の仮想カメラが三次元空間中に設定されているこの実施
例を前提として、以下のカメラ制御を説明する。ただ
し、具体的なカメラの数,カメラの配置あるいは各カメ
ラの機能ないし役割(固定,移動,またはズーム等)
は、必要に応じて適宜変更され得ることはいうまでもな
い。なお、図28において、各ブロック(矩形の桝目)
のそれぞれに記入されている「第1カメラ」,「第2カ
メラ」,…,「第5カメラ」の文字は、この三次元空間
中の地形オブジェクトに予め設定されている制御コード
すなわちカメラコードを示す。したがって、プレイヤオ
ブジェクトがそのブロックに存在するとき、プレイヤオ
ブジェクトは、そのブロックに設定されているカメラコ
ードに相当するカメラによって撮影される。
【0101】図27に戻って、ステップS602で第1
カメラコードで検出されると、続くステップS603で
は、第1カメラ制御プログラムが選択的に設定される。
カメラ制御プログラムは、先に説明したように、外部R
OM21のカメラ制御プログラム領域22f(図5)に
設定されていて、必要に応じて、内部RAM14のプロ
グラム領域202に転送されている。したがって、CP
U11は、ステップS603では、RAM14のプログ
ラム領域202(図6)から第1カメラ制御プログラム
を読み出す。
【0102】第1カメラ制御プログラムは、第1カメラ
のための制御プログラムであり、その第1カメラは、先
に述べたように、プレイヤオブジェクトに追従して移動
する。そこで、図29に詳細に示す第1カメラ制御プロ
グラムでは、まず、ステップS612において、画像デ
ータ領域205(図6)のデータを参照して、プレイヤ
オブジェクトの位置を検出する。次のステップS613
では、CPU11は、第1カメラの位置を、プレイヤオ
ブジェクトから第1カメラのでの距離が一定になるよう
に、決定する。ついで、ステップS614では、第1カ
メラの撮影方向をプレイヤオブジェクトの方向に向け
る。したがって、第1カメラは、図30に示すように、
プレイヤオブジェクトの後姿を一定距離から撮影するこ
とになる。
【0103】ステップS605(図27)で実行される
第2カメラ制御プログラムでは、図31に示すように、
最初のステップS615において、先のステップS61
2(図29)と同様にして、プレイヤオブジェクトの位
置を検出し、ついで、ステップS616において、第2
カメラの撮影方向をプレイヤオブジェクトに向ける。つ
まり、第2カメラでは、図28に示す固定位置から、プ
レイヤオブジェクトを撮影することになる。
【0104】なお、第5カメラも第2カメラと同様に、
固定カメラであるため、ステップS611で選択される
第5カメラ制御プログラムは、図31の第2カメラ制御
プログラムと同じである。第3カメラは、図28に示し
たように、ドアの手前側に固定的に設けられている。し
たがって、第3カメラは、ドアを出入りするプレイヤオ
ブジェクトを一定距離から撮影するだけである。そのた
め、ステップS607(図27)の第3カメラ制御プロ
グラムは、図32のステップS617を含み、このステ
ップS617では、第3カメラの撮影方向をドアの方向
に設定する。したがって、プレイヤオブジェクトがその
ドアを出入りする様子が、図33に示すように、第3カ
メラによって撮影される。
【0105】図27のステップS609で実行される第
4カメラ制御プログラムが図34に詳細に示される。第
4カメラが選択されるのは、図28からよくわかるよう
に、プレイヤオブジェクトがドアを通って進入したブロ
ックに設定されている第4カメラコードを検出したとき
である。そして、図34の最初のステップS618で
は、その第4カメラコードを検出してステップS609
に入ってから、すなわちカメラ切り換えが行われてから
のフレーム数を検出する。これは、第4カメラによって
プレイヤオブジェクトを撮影する方法が2通りあるから
である。そして、フレーム数が所定数以下であるとき、
すなわちカメラ切換の直後である場合、ステップS61
9において“YES”が判断される。この場合、CPU
11は、ステップS620において、予め設定された所
定の位置から、ドア内に進入したプレイヤオブジェクト
を第4カメラで撮影するように、第4カメラを制御す
る。ステップS620で第4カメラによって撮影された
プレイヤオブジェクトが図35に図解される。図35か
らわかるように、図28に図示する位置に固定的に設定
された第4カメラは、ステップS620では、すなわち
カメラ切り換え直後では、ドア内に進入したプレイヤオ
ブジェクトを遠景中に撮影する。つまり、プレイヤオブ
ジェクトを含む比較的広い範囲を第4カメラが撮影す
る。したがって、この実施例のように、ドア内にプレイ
ヤオブジェクトが進入したときには、全景を表示するこ
とによって、主人公たるプレイヤオブジェクトが現在ど
のような場所に存在することになったのかが、プレイヤ
に容易に理解できる。
【0106】カメラ切換直後ではないがカメラ切換から
所定フレーム数すなわち所定時間経過していないときに
は、ステップS621で“NO”が判断される。この場
合、続くステップS622において、CPU11は、図
36に示すように、プレイヤオブジェクトを近景のなか
で撮影するように、第4カメラをズームアップする。つ
まり、プレイヤオブジェクトを含む比較的狭い範囲を撮
影する。
【0107】所定フレーム数が経過していれば、ステッ
プS621において“YES”が判断され、この場合、
CPU11は、ステップS623に示すように、第4カ
メラから第1カメラに切り換える。このようにして、こ
の実施例によれば、プレイヤオブジェクトが存在する地
形オブジェクト中に予め含ませておいた制御コードない
しカメラコードに応じて、自動的に、プレイヤオブジェ
クトを撮影するカメラおよびその機能を切り換えること
ができる。したがって、煩雑なカメラ切換を必要とする
場合であっても、そのためのプログラムの設定が極めて
簡単に行える。また、プレイヤオブジェクトの位置(X
―Y座標位置)に応じてカメラを切り換える場合であれ
ば、そのX―Y座標位置が同じであれば、Z座標すなわ
ち高さのいかんに拘わらず同一のカメラ切換が行われ
る。これに対し、この実施例の方法では、地形オブジェ
クトにカメラ切換コードを埋設しているので、同じX―
Y平面内ではあるが高さ(Z)が異なる場合には、異な
る地形オブジェクトすなわちカメラコードを設定するこ
とができるため、異なるカメラを用いることができる。
つまり、実施例によれば、三次元的なカメラ切換が可能
になる。
【0108】なお、いずれのステップS620,S62
2およびS623が終了した後は、プロセスは、メイン
ルーチンにリターンする。図37を参照して、図7のメ
インルーチンにおけるステップS9すなわち音声処理に
ついて詳細に説明する。この音声処理においても、先に
説明した制御コードを利用する。したがって、図37の
最初のステップS624では、画像データ領域205を
参照して、プレイヤオブジェクトがその上に存在する地
形オブジェクトに設定されている制御コードすなわち音
楽コードを検出する。そして、ステップS625におい
て、その制御コードすなわち音楽コードがBGM1であ
るかどうか判断する。音楽コードBGM1は、第1BG
M(Back-Ground Music) を選択するためのコードであ
り、したがって、ステップS625で“YES”が判断
された後には、ステップS626において、CPU11
は、図6に示すサウンドメモリ領域206から第1BG
Mのための音楽ないし音声データを読み出し、それをバ
ス制御回路121(図2)に出力する。
【0109】ステップS625で“NO”が判断される
と、ステップS627では、制御コードすなわち音楽コ
ードがBGM2であるかどうか判断する。音楽コードB
GM2は、第2BGMを選択するためのコードであり、
したがって、ステップS627で“YES”が判断され
た後には、ステップS628において、CPU11は、
サウンドメモリ領域206から第2BGMのための音楽
ないし音声データを読み出し、それをバス制御回路12
1に出力する。
【0110】ステップS625およびS627でともに
“NO”が判断された後は、ステップS629におい
て、CPU11は、制御コードすなわち音楽コードが
「叫び声」であるかどうか判断する。音楽コード「叫び
声」は、叫び声の効果音を発生させるためのコードであ
り、したがって、ステップS629で“YES”が判断
された後には、ステップS630において、CPU11
は、サウンドメモリ領域206から「叫び声」のための
音声データを読み出し、それをバス制御回路121に出
力する。
【0111】なお、制御コードないし音楽コードもしく
は音声コードが先に挙げたいずれのものとも異なるとき
は、ステップS631において、その他の音声データが
設定される。このようにして、この実施例によれば、プ
レイヤオブジェクトが存在する地形オブジェクト中に予
め含ませておいた制御コードないし音声コードに応じ
て、自動的に、そのとき発生する音声を切り換えること
ができる。したがって、煩雑な音声切り換え制御を必要
とする場合であっても、そのためのプログラムの設定が
極めて簡単に行える。
【図面の簡単な説明】
【図1】この発明の一実施例のビデオゲームシステムを
示す概略図解図である。
【図2】図1システムのビデオゲーム機を詳細に示すブ
ロック図である。
【図3】図2ビデオゲーム機のコントローラ制御回路を
より詳細に示すブロック図である。
【図4】図2ビデオゲーム機のコントローラおよびコン
トローラパックを詳細に示すブロック図である。
【図5】図2ビデオゲーム機の外部ROMのメモリマッ
プを示す図解図である。
【図6】図2ビデオゲーム機のRAMのメモリマップを
示す図解図である。
【図7】図1実施例の全体の動作を示すフロー図であ
る。
【図8】図7フロー図の地形オブジェクト処理を詳細に
示すフロー図である。
【図9】図7フロー図の動作決定処理の一部を詳細に示
すフロー図である。
【図10】図9フロー図の穴の場合の動作決定処理を詳
細に示すフロー図である。
【図11】図10フロー図で達成されるジャンプ(大ジ
ャンプ)動作の一例を示す図解図である。
【図12】図10フロー図で達成されるジャンプ(中ジ
ャンプ)動作の一例を示す図解図である。
【図13】図10フロー図で達成されるジャンプ(小ジ
ャンプ)動作の一例を示す図解図である。
【図14】図10フロー図の「落ちない」動作の一例を
示す図解図である。
【図15】図9フロー図の壁面の場合の動作決定処理を
詳細に示すフロー図である。
【図16】図15フロー図で達成される壁よじ登り動作
の一例を示す図解図である。
【図17】図15フロー図で達成される階段登り動作の
一例を示す図解図である。
【図18】図15フロー図で達成される跳躍登り動作の
一例を示す図解図である。
【図19】図15フロー図で達成される小よじ登り動作
の一例を示す図解図である。
【図20】図15フロー図で達成される中よじ登り動作
の一例を示す図解図である。
【図21】図15フロー図で達成される大よじ登り動作
の一例を示す図解図である。
【図22】図9フロー図のドア動作を詳細に示すフロー
図である。
【図23】図22フロー図で達成されるドア動作の一例
を示す図解図である。
【図24】図9フロー図のはしご動作を詳細に示すフロ
ー図である。
【図25】図24フロー図で達成されるはしご動作の一
例を示す図解図である。
【図26】図7フロー図のプレイヤオブジェクト処理を
詳細に示すフロー図である。
【図27】図7フロー図のカメラ決定処理を詳細に示す
図解図である。
【図28】図27フロー図のカメラ決定処理の前提とな
るカメラ配置の一例を示す図解図である。
【図29】図27フロー図の第1カメラ制御プログラム
を詳細に示すフロー図である。
【図30】図29フロー図に従って第1カメラで撮影し
たプレイヤオブジェクト示す図解図である。
【図31】図27フロー図の第2カメラ(第5カメラ)
制御プログラムを詳細に示すフロー図である。
【図32】図27フロー図の第3カメラ制御プログラム
を詳細に示すフロー図である。
【図33】図32フロー図に従って第3カメラで撮影し
たプレイヤオブジェクトを示す図解図である。
【図34】図27フロー図の第4カメラ制御プログラム
を詳細に示すフロー図である。
【図35】図34フロー図に従って第4カメラで撮影し
たプレイヤオブジェクトを示す図解図である。
【図36】図32フロー図に従って第4カメラで撮影し
たプレイヤオブジェクトを示す図解図である。
【図37】図7フロー図の音声処理を詳細に示すフロー
図である。
【符号の説明】
10 …ビデオゲーム機 11 …CPU 12 …リアリティコプロセサ 14 …RAM 21 …外部ROM 22 …プログラム領域 23 …画像データ領域 40 …コントローラ 45 …ジョイスティック
フロントページの続き (72)発明者 山田 洋一 京都府京都市東山区福稲上高松町60番地 任天堂株式会社内 (72)発明者 岩脇 敏夫 京都府京都市東山区福稲上高松町60番地 株式会社エス・アール・ディー内 Fターム(参考) 2C001 AA00 AA16 AA17 BA00 BA02 BA05 BC00 BC10 CA01 CA06 CB01 CB05 CC02 CC08 5B050 AA10 BA08 BA09 CA07 EA24 EA28 FA02 FA10

Claims (21)

    【特許請求の範囲】
  1. 【請求項1】プレイヤオブジェクトおよび地形オブジェ
    クトの画像データをプログラムに従って処理することに
    よって、仮想三次元空間中の地形オブジェクト上に存在
    するプレイヤオブジェクトを表示するための、画像信号
    を発生してディスプレイに供給するビデオゲーム装置で
    あって、 プレイヤオブジェクトの表示のためにプレイヤオブジェ
    クト画像データを発生するプレイヤオブジェクト画像デ
    ータ発生手段、および地形オブジェクトを表示するため
    に地形オブジェクト画像データを発生する地形オブジェ
    クト画像データ発生手段を備え、 前記地形オブジェクト画像データはプログラム制御コー
    ドを含み、 前記ビデオゲーム装置はさらに、前記プレイヤオブジェ
    クトの位置に関連して前記プログラム制御コードを検出
    するプログラム制御コード検出手段、および検出したプ
    ログラム制御コードに応じて前記画像信号に変化を生じ
    させる画像変化手段を備える、ビデオゲーム装置。
  2. 【請求項2】前記プログラム制御コードは前記プレイヤ
    オブジェクトの動作を制御する動作コードを含み、前記
    画像変化手段は、前記動作コードに応じた動作を自動的
    に前記プレイヤオブジェクトに行わせるアニメーション
    データを出力するアニメーションデータ出力手段を含
    む、請求項1記載のビデオゲーム装置。
  3. 【請求項3】前記地形オブジェクトは窪みないし穴であ
    りかつ前記動作コードが「ジャンプ」であるとき、前記
    アニメーションデータ出力手段は前記プレイヤオブジェ
    クトに前記窪みないし穴をジャンプによって飛び越える
    動作を行わせるアニメーションデータを出力する、請求
    項2記載のビデオゲーム装置。
  4. 【請求項4】前記ビデオゲーム装置にはプレイヤオブジ
    ェクトの移動方向を指示する方向指示手段を含むコント
    ローラが関連的に設けられ、前記プレイヤオブジェクト
    はそれによって前記移動方向へ移動し、前記ビデオゲー
    ム装置は、さらに前記プレイヤオブジェクトの移動速度
    を検出する移動速度検出手段、および前記移動速度に基
    づいて前記プレイヤオブジェクトのジャンプ距離を計算
    するジャンプ距離計算手段を備え、 前記アニメーションデータ出力手段は前記プレイヤオブ
    ジェクトが前記ジャンプ距離に従ってジャンプする動作
    を行わせるアニメーションデータを出力する、請求項3
    記載のビデオゲーム装置。
  5. 【請求項5】前記地形オブジェクトが壁面でありかつ前
    記動作コードが「よじ登り」であるとき、前記アニメー
    ションデータ出力手段は、前記プレイヤオブジェクトが
    前記壁面をよじ登る動作をするようなアニメーションデ
    ータを出力する、請求項2記載のビデオゲーム装置。
  6. 【請求項6】前記動作コードが「よじ登り」でないとき
    前記壁面高さを計算する壁面高さ計算手段をさらに備
    え、 前記アニメーションデータ出力手段は前記プレイヤオブ
    ジェクトが前記壁面高さに応じた最適動作を行うような
    アニメーションデータを出力する、請求項5記載のビデ
    オゲーム装置。
  7. 【請求項7】前記プログラム制御コードはカメラ制御コ
    ードを含み、前記画像変化手段は前記三次元仮想空間に
    設けられる仮想カメラを制御するカメラ制御手段を含
    む、請求項1記載のビデオゲーム装置。
  8. 【請求項8】前記仮想カメラは複数の仮想カメラを含
    み、前記カメラ制御コードはカメラ切換コードを含み、
    前記カメラ制御手段は前記カメラ切換コードに応じて前
    記複数の仮想カメラを切り換えるカメラ切換手段を含
    む、請求項7記載のビデオゲーム装置。
  9. 【請求項9】前記プログラム制御コードは音声コードを
    含み、さらに音声データを発生する音声データ発生手
    段、および前記音声コードに応じて前記音声データ発生
    手段から出力すべき音声を制御する音声制御手段を備え
    る、請求項1記載のビデオゲーム装置。
  10. 【請求項10】前記音声データ発生手段は複数の音声の
    音声データを発生でき、前記音声コードは音声切換コー
    ドを含み、前記音声制御手段は前記音声切換コードに応
    じて前記音声データを切り換える音声切換手段を含む、
    請求項9記載のビデオゲーム装置。
  11. 【請求項11】プレイヤオブジェクトおよび地形オブジ
    ェクトの画像データをプログラムに従って処理すること
    によって、仮想三次元空間中の地形オブジェクト上に存
    在するプレイヤオブジェクトを表示するための、画像信
    号を発生し、さらに音声データをプログラムに従って処
    理することによって、音声信号を音声出力手段に供給す
    るビデオゲーム装置であって、 プレイヤオブジェクトの表示のためにプレイヤオブジェ
    クト画像データを発生するプレイヤオブジェクト画像デ
    ータ発生手段、および地形オブジェクトを表示するため
    に地形オブジェクト画像データを発生する地形オブジェ
    クト画像データ発生手段を備え、 前記地形オブジェクト画像データはプログラム制御コー
    ドを含み、 前記ビデオゲーム装置はさらに、前記プレイヤオブジェ
    クトの位置に関連して前記プログラム制御コードを検出
    するプログラム制御コード検出手段、および検出したプ
    ログラム制御コードに応じて前記音声信号に変化を生じ
    させる音声変化手段を備える、ビデオゲーム装置。
  12. 【請求項12】プレイヤオブジェクトおよび地形オブジ
    ェクトの画像データをプログラムに従って処理すること
    によって、仮想三次元空間中の地形オブジェクト上に存
    在するプレイヤオブジェクトを表示するための、画像信
    号を発生してディスプレイに供給するビデオゲーム装置
    に適用され、かつそのビデオゲーム装置に含まれる情報
    処理手段によって処理されるプログラムを記憶する記憶
    媒体であって、 プレイヤオブジェクトの表示のためにプレイヤオブジェ
    クト画像データを発生するプレイヤオブジェクト画像デ
    ータ発生プログラム、および地形オブジェクトを表示す
    るために地形オブジェクト画像データを発生する地形オ
    ブジェクト画像データ発生プログラムを備え、 前記地形オブジェクト画像データはプログラム制御コー
    ドを含み、さらに前記プレイヤオブジェクトの位置に関
    連して前記プログラム制御コードを検出するプログラム
    制御コード検出プログラム、および検出したプログラム
    制御コードに応じて前記画像信号に変化を生じさせる画
    像変化プログラムを備える、ビデオゲーム装置の記憶媒
    体。
  13. 【請求項13】前記プログラム制御コードは前記プレイ
    ヤオブジェクトの動作を制御する動作コードを含み、前
    記画像変化プログラムは、前記動作コードに応じた動作
    を自動的に前記プレイヤオブジェクトに行わせるアニメ
    ーションデータを出力するアニメーションデータ出力プ
    ログラムを含む、請求項12記載の記憶媒体。
  14. 【請求項14】前記地形オブジェクト画像データ発生プ
    ログラムは窪みないし穴の地形オブジェクトを発生しか
    つ「ジャンプ」の動作コードを発生し、前記アニメーシ
    ョンデータ出力プログラムは前記プレイヤオブジェクト
    に前記窪みないし穴をジャンプによって飛び越える動作
    を行わせるアニメーションデータを出力する、請求項1
    3記載の記憶媒体。
  15. 【請求項15】前記ビデオゲーム装置にはプレイヤオブ
    ジェクトの移動方向を指示する方向指示手段を含むコン
    トローラが関連的に設けられ、前記プレイヤオブジェク
    トはそれによって前記移動方向へ移動し、前記記憶媒体
    は、さらに前記プレイヤオブジェクトの移動速度を検出
    する移動速度検出プログラム、および前記移動速度に基
    づいて前記プレイヤオブジェクトのジャンプ距離を計算
    するジャンプ距離計算プログラムを備え、 前記アニメーションデータ出力プログラムは前記プレイ
    ヤオブジェクトが前記ジャンプ距離に従ってジャンプす
    る動作を行わせるアニメーションデータを出力する、請
    求項14記載の記憶媒体。
  16. 【請求項16】前記地形オブジェクト画像データ発生プ
    ログラムは壁面の地形オブジェクトを発生しかつ「よじ
    登り」の動作コードを発生し、前記アニメーションデー
    タ出力プログラムは、前記プレイヤオブジェクトが前記
    壁面をよじ登る動作をするようなアニメーションデータ
    を出力する、請求項13記載の記憶媒体。
  17. 【請求項17】前記動作コードが「よじ登り」でないと
    き前記壁面高さを計算する壁面高さ計算プログラムをさ
    らに備え、 前記アニメーションデータ出力プログラムは前記プレイ
    ヤオブジェクトが前記壁面高さに応じた最適動作を行う
    ようなアニメーションデータを出力する、請求項16記
    載の記憶媒体。
  18. 【請求項18】前記地形オブジェクト画像データ発生手
    段はカメラ制御コードを含む地形オブジェクト画像デー
    タを発生し、前記画像変化プログラムは前記三次元仮想
    空間に設けられる仮想カメラを制御するカメラ制御プロ
    グラムを含む、請求項12記載の記憶媒体。
  19. 【請求項19】前記仮想カメラは複数の仮想カメラを含
    み、前記カメラ制御コードはカメラ切換コードを含み、
    前記カメラ制御プログラムは前記カメラ切換コードに応
    じて前記複数の仮想カメラを切り換えるカメラ切換プロ
    グラムを含む、請求項18記載の記憶媒体。
  20. 【請求項20】前記地形オブジェクト画像データ発生手
    段は音声コードのプログラム制御コードを含む地形オブ
    ジェクトを発生し、さらに音声データを発生する音声デ
    ータ発生プログラム、および前記音声コードに応じて前
    記音声データ発生手段から出力すべき音声を制御する音
    声制御プログラムを備える、請求項12記載の記憶媒
    体。
  21. 【請求項21】前記音声データ発生プログラムは複数の
    音声の音声データを発生でき、前記音声コードは音声切
    換コードを含み、前記音声制御プログラムは前記音声切
    換コードに応じて前記音声データを切り換える音声切換
    プログラムを含む、請求項20記載の記憶媒体。
JP10329805A 1998-11-19 1998-11-19 ビデオゲーム装置およびビデオゲーム用情報記憶媒体 Pending JP2000153061A (ja)

Priority Applications (12)

Application Number Priority Date Filing Date Title
JP10329805A JP2000153061A (ja) 1998-11-19 1998-11-19 ビデオゲーム装置およびビデオゲーム用情報記憶媒体
TW088111330A TW461820B (en) 1998-11-19 1999-07-03 Video game device and information recording medium for the video game device
KR1019990030750A KR100583513B1 (ko) 1998-11-19 1999-07-28 비디오게임장치 및 비디오게임용 정보기억매체
EP99309037A EP1002561B1 (en) 1998-11-19 1999-11-15 Video game apparatus and information storage medium for video game
DE69940493T DE69940493D1 (de) 1998-11-19 1999-11-15 Videospielgerät und Aufzeichnungsmedium für Videospiel
AU59457/99A AU774918B2 (en) 1998-11-19 1999-11-16 Video game apparatus and information storage medium for video game
CA002289952A CA2289952C (en) 1998-11-19 1999-11-16 Video game apparatus and information storage medium for video game
BR9905645-3A BR9905645A (pt) 1998-11-19 1999-11-18 Aparelho de vìdeo game e meio de armazenamento de informação para o vìdeo game
US09/443,869 US6712703B2 (en) 1998-11-19 1999-11-19 Video game apparatus and information storage medium for video game
CNB991248678A CN100375970C (zh) 1998-11-19 1999-11-19 视频游戏装置和用于视频游戏装置的方法
HK00107392A HK1028964A1 (en) 1998-11-19 2000-11-18 Video game apparatus and information storage medium for video game
US10/757,510 US7783535B2 (en) 1998-11-19 2004-01-15 Video game apparatus and information storage medium for video game

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10329805A JP2000153061A (ja) 1998-11-19 1998-11-19 ビデオゲーム装置およびビデオゲーム用情報記憶媒体

Publications (1)

Publication Number Publication Date
JP2000153061A true JP2000153061A (ja) 2000-06-06

Family

ID=18225453

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10329805A Pending JP2000153061A (ja) 1998-11-19 1998-11-19 ビデオゲーム装置およびビデオゲーム用情報記憶媒体

Country Status (10)

Country Link
EP (1) EP1002561B1 (ja)
JP (1) JP2000153061A (ja)
KR (1) KR100583513B1 (ja)
CN (1) CN100375970C (ja)
AU (1) AU774918B2 (ja)
BR (1) BR9905645A (ja)
CA (1) CA2289952C (ja)
DE (1) DE69940493D1 (ja)
HK (1) HK1028964A1 (ja)
TW (1) TW461820B (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6793576B2 (en) 2000-11-01 2004-09-21 Sony Computer Entertainment Inc. Methods and apparatus for causing a character object to overcome an obstacle object
JP2009095437A (ja) * 2007-10-16 2009-05-07 Copcom Co Ltd プログラム、記憶媒体およびコンピュータ
US7922584B2 (en) 2001-07-27 2011-04-12 Namco Bandai Games, Inc. Image generation method and information storage medium with program for video game in which operation of the controller beyond a predetermined angle causes a character to attack
JP2012010851A (ja) * 2010-06-30 2012-01-19 Kyoraku Sangyo Kk 遊技機、遊技機の制御方法及びプログラム
WO2019223448A1 (zh) * 2018-05-24 2019-11-28 腾讯科技(深圳)有限公司 控制虚拟对象与虚拟场景交互的方法、装置、终端及存储介质

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000153061A (ja) * 1998-11-19 2000-06-06 Nintendo Co Ltd ビデオゲーム装置およびビデオゲーム用情報記憶媒体
JP2008304967A (ja) * 2007-06-05 2008-12-18 Konami Digital Entertainment:Kk 画像表示制御装置、ゲーム装置及びプログラム
JP2009011568A (ja) * 2007-07-04 2009-01-22 Nintendo Co Ltd ゲームプログラム、およびゲーム装置
JP6784022B2 (ja) * 2015-12-18 2020-11-11 ヤマハ株式会社 音声合成方法、音声合成制御方法、音声合成装置、音声合成制御装置およびプログラム
CN109173247B (zh) * 2018-08-27 2022-03-25 广州要玩娱乐网络技术股份有限公司 自动化游戏任务处理方法及存储介质、计算机设备
CN109173260B (zh) * 2018-08-28 2022-04-26 广州要玩娱乐网络技术股份有限公司 游戏单位材料采集控制方法、装置、存储介质及移动终端
CN111068324B (zh) * 2019-11-26 2022-05-17 腾讯科技(深圳)有限公司 虚拟对象控制方法、装置、设备及存储介质
CN111589137B (zh) * 2020-04-29 2021-12-10 腾讯科技(深圳)有限公司 虚拟角色的控制方法、装置、设备及介质
CN111589136B (zh) * 2020-04-29 2021-10-29 腾讯科技(深圳)有限公司 虚拟对象控制方法、装置、计算机设备及存储介质
CN114247132B (zh) * 2022-02-28 2022-05-17 腾讯科技(深圳)有限公司 虚拟对象的控制处理方法、装置、设备、介质及程序产品

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3181808B2 (ja) * 1995-04-17 2001-07-03 株式会社スクウェア ビデオ・ゲーム装置,その制御方法および制御ディバイス
JP3571452B2 (ja) * 1996-02-16 2004-09-29 株式会社ハドソン 階層変換画像処理方法
EP1498844B1 (en) * 1996-06-05 2009-09-30 Kabushiki Kaisha Sega doing business as Sega Corporation Graphics processing device, graphics processing method, game machine, and storage medium
JPH1063470A (ja) * 1996-06-12 1998-03-06 Nintendo Co Ltd 画像表示に連動する音響発生装置
US6149520A (en) * 1996-08-21 2000-11-21 Konami Co., Ltd. Video game method and apparatus for effecting character movement and ball control determination
JP3145064B2 (ja) * 1996-08-21 2001-03-12 コナミ株式会社 ビデオゲーム機及びビデオゲームプログラムを記録した媒体
JPH10137445A (ja) * 1996-11-07 1998-05-26 Sega Enterp Ltd ゲーム装置、画像音響処理装置および記録媒体
EP1642624A3 (en) * 1997-02-18 2007-02-28 Sega Enterprises, Ltd. Image processing device and image processing method
JP3631890B2 (ja) * 1997-09-30 2005-03-23 株式会社セガ 電子遊戯装置
JP3269797B2 (ja) * 1997-12-12 2002-04-02 株式会社ナムコ 画像生成装置及び情報記憶媒体
JP2000153061A (ja) * 1998-11-19 2000-06-06 Nintendo Co Ltd ビデオゲーム装置およびビデオゲーム用情報記憶媒体

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6793576B2 (en) 2000-11-01 2004-09-21 Sony Computer Entertainment Inc. Methods and apparatus for causing a character object to overcome an obstacle object
US7922584B2 (en) 2001-07-27 2011-04-12 Namco Bandai Games, Inc. Image generation method and information storage medium with program for video game in which operation of the controller beyond a predetermined angle causes a character to attack
JP2009095437A (ja) * 2007-10-16 2009-05-07 Copcom Co Ltd プログラム、記憶媒体およびコンピュータ
JP2012010851A (ja) * 2010-06-30 2012-01-19 Kyoraku Sangyo Kk 遊技機、遊技機の制御方法及びプログラム
WO2019223448A1 (zh) * 2018-05-24 2019-11-28 腾讯科技(深圳)有限公司 控制虚拟对象与虚拟场景交互的方法、装置、终端及存储介质
US11077375B2 (en) 2018-05-24 2021-08-03 Tencent Technology (Shenzhen) Company Limited Method, apparatus, and storage medium for controlling virtual object to interact with virtual scene

Also Published As

Publication number Publication date
BR9905645A (pt) 2000-09-05
TW461820B (en) 2001-11-01
AU5945799A (en) 2000-05-25
EP1002561B1 (en) 2009-03-04
CA2289952A1 (en) 2000-05-19
EP1002561A3 (en) 2002-04-03
CN100375970C (zh) 2008-03-19
KR20000034893A (ko) 2000-06-26
CA2289952C (en) 2009-06-23
AU774918B2 (en) 2004-07-15
HK1028964A1 (en) 2003-04-23
KR100583513B1 (ko) 2006-05-24
CN1254893A (zh) 2000-05-31
DE69940493D1 (de) 2009-04-16
EP1002561A2 (en) 2000-05-24

Similar Documents

Publication Publication Date Title
US6712703B2 (en) Video game apparatus and information storage medium for video game
US6612930B2 (en) Video game apparatus and method with enhanced virtual camera control
JP3426105B2 (ja) ビデオゲームシステムおよびビデオゲーム用記憶媒体
US6139433A (en) Video game system and method with enhanced three-dimensional character and background control due to environmental conditions
US6155926A (en) Video game system and method with enhanced three-dimensional character and background control
US6454652B2 (en) Video game system and method with enhanced three-dimensional character and background control due to environmental conditions
US6692357B2 (en) Video game apparatus and method with enhanced player object action control
JP2000153061A (ja) ビデオゲーム装置およびビデオゲーム用情報記憶媒体
JPH11151376A (ja) ビデオゲーム装置およびその記憶媒体
JPH11128533A (ja) ビデオゲーム装置およびその記憶媒体
US6325717B1 (en) Video game apparatus and method with enhanced virtual camera control
JP2000153062A (ja) ビデオゲーム装置およびビデオゲーム用情報記憶媒体
EP1002560B1 (en) Video game apparatus and information storage medium for video game
EP1488834A1 (en) Game machine and storage medium having stored therein a game program
JP5396006B2 (ja) ゲームプログラム及びゲーム装置
JP4148868B2 (ja) ゲームプログラムおよびゲーム装置
JP3515398B2 (ja) 音発生装置
MXPA99010643A (en) Video game device and media storage device for vi game
JP2022124256A (ja) 情報処理プログラム、情報処理装置、情報処理システム、および、情報処理方法
JP2022124257A (ja) 情報処理プログラム、情報処理装置、情報処理システム、および、情報処理方法
JP2004223284A (ja) ゲーム装置およびその記憶媒体
JP2004223285A (ja) ゲーム装置およびその記憶媒体
JP2002263359A (ja) ビデオゲーム装置およびその記憶媒体
JP2004223286A (ja) ゲーム装置およびその記憶媒体
JP2007021235A (ja) ゲーム装置およびその記憶媒体

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20030128