JP3724569B2 - 表示制御方法 - Google Patents
表示制御方法 Download PDFInfo
- Publication number
- JP3724569B2 JP3724569B2 JP2001402790A JP2001402790A JP3724569B2 JP 3724569 B2 JP3724569 B2 JP 3724569B2 JP 2001402790 A JP2001402790 A JP 2001402790A JP 2001402790 A JP2001402790 A JP 2001402790A JP 3724569 B2 JP3724569 B2 JP 3724569B2
- Authority
- JP
- Japan
- Prior art keywords
- character
- screen
- sprite
- game
- play field
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims description 43
- 230000004044 response Effects 0.000 claims description 11
- 238000013459 approach Methods 0.000 claims description 6
- 230000003111 delayed effect Effects 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 24
- 238000004590 computer program Methods 0.000 description 15
- 230000008859 change Effects 0.000 description 13
- 230000009471 action Effects 0.000 description 12
- 230000009191 jumping Effects 0.000 description 8
- 230000008569 process Effects 0.000 description 7
- 244000025254 Cannabis sativa Species 0.000 description 6
- 230000008901 benefit Effects 0.000 description 4
- 238000009877 rendering Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 206010034719 Personality change Diseases 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000002860 competitive effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000010304 firing Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 241000270281 Coluber constrictor Species 0.000 description 1
- 241001465754 Metazoa Species 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 230000004888 barrier function Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009194 climbing Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000004040 coloring Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- OQZCSNDVOWYALR-UHFFFAOYSA-N flurochloridone Chemical compound FC(F)(F)C1=CC=CC(N2C(C(Cl)C(CCl)C2)=O)=C1 OQZCSNDVOWYALR-UHFFFAOYSA-N 0.000 description 1
- 238000007429 general method Methods 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000007430 reference method Methods 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
- 238000012876 topography Methods 0.000 description 1
Images
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/55—Controlling game characters or game objects based on the game progress
- A63F13/57—Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game
- A63F13/577—Simulating 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
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/50—Controlling the output signals based on the game progress
- A63F13/52—Controlling the output signals based on the game progress involving aspects of the displayed game scene
-
- A63F13/10—
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/45—Controlling the progress of the video game
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G1/00—Control arrangements or circuits, of interest only in connection with cathode-ray tube indicators; General aspects or details, e.g. selection emphasis on particular characters, dashed line or dotted line generation; Preprocessing of data
- G09G1/007—Circuits for displaying split screens
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/42—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of patterns using a display memory without fixed position correspondence between the display memory contents and the display position on the screen
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F11/00—Game accessories of general use, e.g. score counters, boxes
- A63F11/0074—Game concepts, rules or strategies
- A63F2011/0086—Rules
- A63F2011/0093—Rules characterised by the game theory or winning strategy
- A63F2011/0095—Rules characterised by the game theory or winning strategy with cooperation amongst players in competitive games, e.g. non zero sum games
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features 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/20—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of the game platform
- A63F2300/203—Image generating hardware
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features 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/60—Methods for processing data by generating or executing the game program
- A63F2300/64—Methods 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
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features 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/60—Methods for processing data by generating or executing the game program
- A63F2300/66—Methods for processing data by generating or executing the game program for rendering three dimensional images
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features 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/60—Methods for processing data by generating or executing the game program
- A63F2300/66—Methods for processing data by generating or executing the game program for rendering three dimensional images
- A63F2300/6607—Methods for processing data by generating or executing the game program for rendering three dimensional images for animating game characters, e.g. skeleton kinematics
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features 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/80—Features 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/8088—Features 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 involving concurrently several players in a non-networked game, e.g. on the same game console
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Controls And Circuits For Display Device (AREA)
- Processing Or Creating Images (AREA)
Description
本発明は、一般的には、ビデオゲームに関するもので、より詳細には、プレイフィールドをゲームキャラクタに対して相対的にスクロールさせることによって、プレイフィールドにおけるキャラクタの挙動を表示するビデオゲームに係る。
【背景技術】
ビデオゲームは、周知の通り、ゲームキャラクタすなわちスプライトが、プレーヤの操作にしたがってスクロール画面上の決められた通路を動き回るものである。ここで、ゲームキャラクタは、通常人間的外見を有するが、他の外見(例えば、動物・怪物・乗り物・幾何学図形・記号など)を有するものを含む。また、スプライトは、グラフィック画面に表すための画像ブロックで、通常矩形の領域である。スプライトのサイズは自由で、同一ゲーム中に異なったサイズのスプライトが登場することもある。スプライトは、高速な手順(例えば、メモリのブロック転送)によって表示できるので、ゲームの高速化に貢献する。
プレーヤは、キャラクタの動きを制御する「ジョイスティック」等を使う制御卓を含む入力装置を操作する。入力装置を使ってプレーヤがキャラクタを右に動かす命令を出すと、プレイフィールドが左にスクロールし、そのためキャラクタが画面に対して右に動いた印象を与える。反対に、プレーヤがキャラクタを左に動かす命令を出すと、画面が右に動いて、キャラクタが左に動いた印象を与える。この様な画面のスクロールが行われる間、画面上でのキャラクタが動き回る印象を受けるが、キャラクタの画像は通常表示画面の中央近くに固定されている。
このプレイフィールドは、一般に、表示画面よりはるかに広いので、プレーヤが表示画面で同時に見られるのは、常にプレイフィールドの一部のみである。プレーヤのキャラクタは、プレイフィールド内を自在に歩き回ってゲームを行う。このようなゲームは、典型的には、ロールプレイングゲームと呼ばれる。熱心な常習的プレーヤは、しばしばプレーフィールド全体の地図を紙の上に作成する。
典型的なビデオゲームでは、プレーヤは、入力装置を使ってキャラクタに様々な動き、即ちジャンプ、うずくまりあるいは動きを早めたり、遅くしたりする動きを指令することができる。ゲームキャラクタは、様々な動きをするときに見かけ上の形を変えることが多い。例えば、キャラクタがゆっくりと動くときは、足、腕及び身体全体は完全に視認できる。これに反して、動きが早い時は、画面が高速でスクロールするのに対して、キャラクタの像の頭を除く他の大部分はぼやけて見える。さらに、キャラクタがうずくまったときは、ある決まったポーズをとり、ジャンプしたときはそれに応じたポーズをする。さらにまた、転んだり、キックしたり、空中を「飛行」する等、キャラクタが一連の特殊な動きをすることもある。
この様なビデオゲームの実現に関する試みの一つは、様々な映像と障害物のあるプレイフィールドを作りだすことである。障害物は、例えば、登るべき山、飛び越えなければならない谷あるいは打ち勝たなければならない敵である。これらすべての活動の間、キャラクタやプレイフィールドの形態や動きは、円滑かつ素早く処理されねばならない。さもないと、プレーヤが飽きたり、高速なアクションを盛り込んだビデオゲームの興奮がそこなわれるからである。
したがって、ゲームキャラクタやプレイフィールドの動き及び形状を制御するため、一定の表示制御方法が使われることが多い。この様な技術の中には、画面上をキャラクタが動き回る通路を定義する方法がある。キャラクタはプレーヤの命令にしたがってこの通路に沿って移動する。例えば、通路が右上がりで、プレーヤがキャラクタを右に移動させようとすると、画面が左にスクロールするに連れてキャラクタは右に進んで、坂を登るようになっている。次にプレーヤがキャラクタを左に戻す命令を出すと、画面は右にスクロールし、キャラクタは左に坂を下る様子が表示される。
通路に沿って移動するキャラクタの像は、コンピュータプログラムの制御によって生成される。キャラクタの動きはそのプログラムによって制限され、キャラクタが左右に動いても、常に通路から離れないようになっている。例えば、キャラクタがジャンプしても、すぐ元の通路に戻る。その通路が画面上の崖の様なもので中断していると、キャラクタは崖の縁を通り過ぎて谷底の通路に落下するか、又は、崖縁の奈落を飛び越えて向こう岸の通路に着地することになる。プレーヤはキャラクタの動きを制御するが、プログラムは通常キャラクタがその通路から外れないようにしている。
一般的に、プレイフィールド上の通路は、キャラクタの動きを制御する方法として受け入れられたものではあったが、問題がなかった訳ではない。例えば、キャラクタが通路を踏み外さないようにする最も一般的な方法は衝突ブロックを使うことであった。衝突ブロックは、キャラクタが侵入可能な領域(例えば地上)と、キャラクタが侵入不可能な領域(例えば地中)を表す所定のデータブロックで、キャラクタが侵入可能な領域と不可能な領域の境界線を移動すれば、キャラクタは地表を移動することになる。同様に、キャラクタの水平方向の両側に侵入不可能な領域による「壁」を形成すれば、キャラクタは通路の左右に外れることはできない。
すなわち、キャラクタがプレーヤの命令にしたがって動く時、コンピュータプログラムは記憶された衝突ブロックを参照して命令に合った正確な通路を決定する。プレイフィールドは特にグラフィックブロックに分割されている。キャラクタが個々のグラフィック通路ブロックを通るとき、通路コントロールプログラムは、そのようなグラフィック通路ブロックに該当する個々の衝突ブロックを参照する。衝突ブロックは、例えばグラフィック通路ブロック内の通路が平坦か、傾斜しているかあるいは崖から落ちるかどうかを決定するのに用いられる。
この様な先行技術にかかわる問題は、キャラクタが螺旋状、上下が逆転あるいは斜めに傾斜した通路(本明細書において「傾斜路」という)でも進めることが望ましいことである。代表的な先行の通路プログラムは、キャラクタがまるで重力の作用によるかのように通路にしっかりと植え付けられたようにして動かすため、通常ではそのような傾斜あるいは上下が逆さまになった通路からはキャラクタは落下してしまう。
従って、前後に傾斜したり、左右に傾斜したり、上下が逆転した、通路セグメントを表示する、グラフィック技術を開発する必要があった。本発明はこの要求に応えるものである。
また、ビデオゲームに関わる他の試みの一つは、対戦モードにおいて二人のビデオゲームプレーヤが独立して画面上のゲームキャラクタを操作することである。例えば、プレーヤは、画面上のキャラクタを操作して障害物を避けたり、相手を倒し、あるいは「魔法のリング」を集めることによって最高点を取ることを競い合う。対戦ゲームの問題の一つは、二つのキャラクタが画面上で動き回るうちに一人のプレーヤが制御するキャラクタが、別のプレーヤが制御するキャラクタを大きく引き離してしまうことである。ゲームをより刺激的かつ挑戦的なものするためには、2つのキャラクタをより互角に近づけることが必要である。
したがって、あるキャラクタが別のキャラクタをはるかに引き離したとき、両者の間のリードの差を逆転又は短縮する方法を開発する必要があった。本発明はこの問題を解決するものである。
また、前記のような従来技術に係わる問題は、グラフィック通路ブロックの同じ領域において2つの異なる通路を定義できることが望ましいことである。残念なことに、上記のような方法では、通常衝突ブロックは1つの通路しか定義せず、各グラフィック通路ブロックは1つの衝突ブロックにしか対応しない。従って、従来は、通路を交差させるなど、あるグラフィック通路ブロックの同じ領域で複数の通路を使うことは困難であった。
このため、あるグラフィック通路ブロックの同じ領域で複数の通路を使うことができる改良技術が必要であった。本発明はこれらの要求を満たすものである。
また、この様なビデオゲームに係わる試みの一つは、別々のキャラクタを操作する二人のプレーヤが互いにプレイフィールド上を動くゲームキャラクタを競争させることができる競争モードを提供することである。これまでにも、プレイフィールド上を動く二つのゲームキャラクタが競い合う様々な先行のテレビゲームが作られている。そのような競争ゲームにおける問題の一つは、プレイフィールド上で片方のキャラクタが相手をはるかに抜き去り、両方のキャラクタを同じ画面に表示するのが困難になることであった。さらに別の問題は、分割画面においては、プレイフィールドを構成する二つの画面のそれぞれのグラフィックのサイズが画面の分割によって小さくなることである。
従って、分割画面を使うビデオゲーム用の方法を開発する必要があった。本発明はこの要求を満たすものである。
また、ビデオゲームの実施に係わる試みの一つは、未熟なプレーヤが技を磨き、上手なプレーヤとゲームを楽しめるようにすることである。この目的を達成する上での問題は、画面上のゲームキャラクタの進行が、キャラクタの動きを操作するプレーヤの技に掛かっていることである。習熟したプレーヤが操作するゲームキャラクタは、未熟なプレーヤが操作するゲームキャラクタよりも遠くに、早く動き回ることが多い。そのため、習熟したプレーヤが操作するゲームキャラクタが画面上の別のキャラクタよりもはるかに遠くまで進んでしまい、習熟度の違うプレーヤの2つのゲームキャラクタを同じ画面に表示することができなくなることである。
【発明の開示】
まず、本発明は、ディスプレイ画面上の通路をビデオゲームキャラクタが通るときに、キャラクタの外見を制御する方法を含む。この方法は特に、グラフィックコントローラ、デジタルメモリ及びディスプレイ画面を含むビデオゲームシステムに対して効果的である。傾斜路は、画面上に表示される部分(セグメント)に区分されている。ビデオゲームキャラクタは、この傾斜路のある少なくとも1箇所では直立して表示され、また別の少なくとも1箇所にさしかかったときには倒立して表示される。デジタルメモリには多数のスプライトのパターンが記憶されている。それぞれのパターンは、キャラクタが傾斜路を通るときのそれぞれの位置におけるキャラクタの外見に該当する。傾斜路の、キャラクタが居る位置は、キャラクタがそこを通る間追跡される。キャラクタが通路を通る際、傾斜路の各位置に応じたキャラクタを描くために、それぞれ異なったスプライトパターンが用いられる。
かくしてキャラクタは、例えば急角度で傾斜する通路、横にねじれた、果ては上下が逆転した通路すらも、進むことができる。通路がねじれたり、回転してもキャラクタが落下することはなく、キャラクタの像はその通路を進むにつれて変化する。例えば、通路が逆さまになると、キャラクタも倒立する。通路が傾斜した場合は、あたかもキャラクタが画面と平行な通路を通っているように、キャラクタの頭頂部が見える場合もあり得る。
また、本発明は、複数のプレーヤによる対戦ビデオゲームを制御する方法を提供するためのもので、ここでいうビデオゲームは、ビデオ表示画面、グラフィックスコントローラ、デジタルメモリ及び少なくとも1台以上の入力装置を含むシステムである。本実施例においては、分割画面表示を使用し、上の画面はプレイフィールドの第一領域を表示し、下の画面ではプレイフィールドの第二領域を表示する。第一のキャラクタは上の画面に表示され、第二のキャラクタは下の画面に表示される。上の画面のプレイフィールドの第一領域は、画面上の第一キャラクタの進行につれてスクロールし、下の画面のプレイフィールドの第二領域は第二キャラクタの進行を示しながらスクロールする。入替えアイテムは、上下画面の少なくとも一つに表示される。入替えアイテムが作動すると、その結果として、上下の画面の各プレイフィールドの表示が入れ替わり、入替え後には、上の画面がプレイフィールド第二領域にいる第一キャラクタを表示し、下の画面はプレイフィールド第一領域にいる第二キャラクタを表示する。
このように入替えアイテムを作動させることにより、第一、第二キャラクタの位置が入れ換えられる。そのため、相手をはるかに引き離して前進したキャラクタは、今では相手よりはるかに後ろにつくことになる。したがって、この入替えアイテムは、ビデオゲームの遊技に新しい戦術的要素を追加するものである。
また、本発明は、一つの態様において、本発明は、ビデオ表示画面、ユーザーが操作するコントローラ及びデジタルメモリを含むシステムを使って画面上で動き回るビデオゲームキャラクタを表示する方法を含む。プレイフィールドは、次々にスクロールされる一連の表示画面である。またビデオゲームキャラクタは、プレイフィールド上の通路に沿って動作する。プレイフィールド上で動くゲームキャラクタは、キャラクタが置かれたプレイフィールドをスクロールする事によって表示される。
各々の通路セグメントを定義するのに使う複数の衝突ブロックはデジタルメモリに記憶される。プレイフィールドは、その通路を構成する複数のグラフィック通路に分割される。記憶されたキャラクタの衝突のタイプは、特定のキャラクタが第一キャラクタ衝突タイプか第二キャラクタ衝突タイプのどちらかであると見なされる。ここでは個々のグラフィック通路ブロックから個々の衝突ブロックへの参照が行われる。このうち少なくとも一つの参照は、特定のグラフィック通路ブロックの中で動き回るキャラクタのキャラクタ衝突タイプに即して行われる。ユーザーがグラフィックコントローラに入力したものに対するプレイフィールドにおけるキャラクタの動きはディジタル画面に表示される。表示されたキャラクタの像は、通路を構成する個々のグラフィック通路ブロックを参照した個々の衝突ブロックの通路セグメントによって定義される通路を辿る。記憶されたキャラクタ衝突タイプ情報は、キャラクタが既定の位置を通過すると変化し、その変化の後では、記憶されたキャラクタ衝突タイプ情報は変化の前のキャラクタ衝突タイプとは別のものとなる。
従って、例えばそのキャラクタは、通路であって、その通路自体と交差する通路を辿ることが可能になる。キャラクタが初めて交差部分に近づくと、一つの衝突情報を記憶し、交差部分の一方の通路を通り、当該部分の他方の通路と衝突することはない。また、キャラクタがその交差部分に2度目に近付くと、もう一つの衝突情報を記憶し、1度目に通った通路部分に衝突することなく、交差部分の他方の通路を通る。
また、本発明では、ビデオ表示画面を使い、デジタルメモリを有するグラフィックコントローラを含むビデオゲームシステムで使われるビデオゲームにおいて、ゲームキャラクタの表示を制御する方法を提供する。ゲームキャラクタの動きは、二人のユーザが操作する入力装置で操作される。第一のゲームキャラクタは、第一のユーザの入力装置で操作し、第二のゲームキャラクタは第二のユーザの入力装置で操作される。このビデオゲームは、一連のビデオ画面上に表示されるプレイフィールド上で動き回るゲームキャラクタを含む。
分割画面表示を用意する。第一のプレイフィールドは表示画面の上方に表示され、第二のプレイフィールドは表示画面の下方に表示される。最初と第二のプレイフィールドの表示にはインターレースビデオ画面レンダリング技衝が用いられる。ユーザ入力装置は、画面上の第一と第二のキャラクタの動きをコントロールするゲームキャラクタ動作コマンドを出力する。第一のキャラクタの動きは第一のプレイフィールドに表示され、第二のキャラクタは第二のプレイフィールドに表示される。
かくして、各プレーヤは明確に仕切られた分割画面上でゲームキャラクタの動きをそれぞれ独立して操作することが可能となる。第一のプレーヤは、第一のユーザ入力装置を用いて第一のプレイフィールド画面上の第一のゲームキャラクタの動きを操作し、第二のプレーヤは第二のユーザ入力装置を用いて第二のプレイフィールド画面上の第二のキャラクタの動きを操作することができる。
また、本発明では、ビデオゲーム表示画面、デジタルメモリ、第一ユーザ入力装置及び第二ユーザ入力装置を含むシステムで用いられるビデオゲームにおいて二つのゲームキャラクタの動きを制御する方法を提供することである。第一キャラクタは第一入力装置に応答して動き、次のキャラクタは第二入力装置に応答して動く。このビデオゲームでは、一連のビデオ画面像として表示されるプレイフィールドを動き回る二つのゲームキャラクタを含む一連のゲームキャラクタの動きのコマンドは第一プレーヤの入力装置によって与えられる。プレイフィールド上の第一キャラクタの一連の動きは、一連のコマンドに応答して画面上に表示される。この一連のコマンドは一時的にメモリに記憶される。画面上の第二のキャラクタの動きも、同様に一連のコマンドに応答して表示される。
この様にして、第二のキャラクタは第一キャラクタの動きを追って、それに倣って表示される。かくして第二キャラクタは第一キャラクタの動きと歩調を合わせて進行できる。
本発明の他の状態において、一人のユーザは第二キャラクタを周期的に操作して、2つのキャラクタが画面を動き回るときに第二キャラクタを第一キャラクタと競争させることができる。第二キャラクタが第一キャラクタに対して極端に遅れた場合あるいは第二キャラクタが所定時間制御入力がなかった場合は、ゲームは第二キャラクタが第一キャラクタを追い、それに倣うモードに戻る。
以上の内容や、この発明の他の目的や利点は、この種の技術の当業者であれば、以下の技術内容の詳細な説明や添付図面に基づいて、明確に理解できると思われる。
【図面の簡単な説明】
【図1】ビデオディスプレイと優先順位コントローラのブロック図、及び、本発明によるビデオ画像の生成に用いられるスクロール画面の概念図。
【図2】60スクリーン幅で、8スクリーン分の高さのプレイフィールド全体の概念図。
【図3】図2のプレイフィールドの中のある1つの(空白)画面。
【図4】図3の画面の中の8ドット×8ドットのグラフィックセル。
【図5】5Aは、図4のグラフィックセルを表示するのに用いられるカラーパターンを表わし、5Bは、5Aのカラーパターンの2ドットを表示するための8ビットのバイトのカラー情報を表わす。
【図6】図4のグラフィックセルを5Aのカラーパターンと対照するパターン番号表を示す。
【図7】本発明によるグラフィックコントローラのブロック図。
【図8】図6のパターン番号表に記憶したあるパターン番号を示す。
【図9】図6のカラーパターン番号表を使ってカラーパターン情報にアクセスするのに用いるステップの流れ図。
【図10】図7のコントローラのコントロールRAMに記憶できるスプライトの表の一例。
【図11】図7のコントローラのVRAMに記憶されたスプライトの属性表の一例。
【図12】図7のコントローラのTVインターフェース回路の優先エンコーダ25によって実施される優先順位をコード化する規則を示す表。
【図13】図8のパターン番号のVFとhfビットの役割を示す一連のカラーパターンを表す。
【図14】図7のグラフィックコントローラが用いる、優先順位に基づいてスプライトをリンクさせるデータリンク表の一例を示す。
【図15】水平及び垂直方向の様々なサイズのスプライトを作り出すために様々なパターンを記憶できる、一連のパターンジェネレータデータフォーマットを示す。
【図16】16A−Dは、本発明によるシャトルループを示し、16Aはキャラクタの5方向を示し、16Bはキャラクタの相対位置、また16Dはループの中心から相対位置までの距離を示す。
【図17】キャラクタが図16A−Dのループを通るときに画面に表示されるキャラクタの像のパターンの一群を示す。
【図18】18A−Bは、図16A−Dのループのキャラクタの動きの表示を制御するのに用いられるコンピュータプログラムの流れ図を示す。
【図19】図19A−Bは、キャラクタが図16A−Dルーブを通るときのキャラクタパターンを選択し、キャラクタの相対位置を決定するのに用いられる角度の表と相対位置の表。
【図20】図20A−Cは、本発明による通路を構成するオーバラップループ通路の図及びグラフィック通路ブロック。
【図21】図20A−Cのグラフィック通路プロックの通路セグメントを定義するのに用いる一群のグラフィックブロックの図を示す。
【図22】グラフィックプロックと衝突ブロックの対照表。
【図23】衝突ブロックによって定義される通路セグメントを探すプロセスを図解するのに用いられる図21の一群の衝突ブロックの1つを拡大したものを示す。
【図24】キャラクタがプレイフィールドの規定の領域を通るときに、ゲームキャラクタの衝突タイプを変えるのに用いられるプロセスの流れ図。
【図25】25A−Bは、ある先行技術による単一画面グラフィックで、プレイフィールドグラフィックとキャラクタグラフィックを含むもの、及び、ある先行技術による分割画面グラフィックで、プレイフィールドグラフィックの一部が分割画面の映像の中では失われているものを示す。
【図26】26A−Bは、別の先行技術による単一画面グラフィックで、同一画面の2つのキャラクタが互いに矢印の方向に離れて行くものの連続した姿を示す。
【図27】27A−Bは、本発明による単独画面グラフィックと分割画面グラフィックを示す。
【図28】インタレースフレームを示す。
【図29】偶数のスキャンフレームを示す。
【図30】奇数のスキャンフレームを示す。
【図31】31A−Dは、本発明による分割画面の映像の描写における4つのステージ(段階)を示す。
【図32】図31A−Dの4ステージに該当するタイミング図を示す。
【図33】図33A−Bは、インタレースモードにおいて分割画面表示の描写中にデータの移行を説明するコンピュータプログラムの流れ図。
【図34】分割画面表示の描写中にグラフィック情報の説明をコントロールするのに用いられるコンピュータプログラムを示す。
【図35】インタレースモードで用いられるグラフィックパターンを作り出すのに用いられる単一のセルを示す。
【図36】インタレースモードにおいてグラフィックパターンを作り出すのに用いられる単一のセルのもう1つの例を示す。
【図37】図37A−Eは、第1、第2のプレーヤ(キャラクタ)がプレイフィールドを通るときに現れる一連の画面表示を示すことによって協調モードの働きを示す。
【図38】協調モードにおける第2のゲームキャラクタの動きを制御するのに用いられるコンピュータプログラムの働きを説明する流れ図を示す。
【図39】第2のゲームキャラクタが協調モード又は対戦モードのどちらを使うべきかを決定するために用いられるコンピュータプログラムの流れ図を示す。
【図40】第2のキャラクタが第1のキャラクタからはるかに遅れ、表示画面から見えなくなった後で、第2のキャラクタを画面に戻すのに用いられるコンピュータプログラムの流れ図を示す。
【図41】本発明による分割画面表示で、プレイフィールドの領域Aが画面の一番上に、また領域Bが一番下に表示され、第1のプレーヤ(キャラクタ)が画面の一番上に、又第2のプレーヤ(キャラクタ)が画面の一番下に示されるものを示す。
【図42】図41の上と下のプレイフィールド領域が入れ替わった分割画面表示を示す。
【図43】図43A−Bは、画面表示が図41の画面表示から図42の画面表示に変わるときの情報の交換を制御するのに用いられるコンピュータプログラムの流れ図を示す。
【図44】本発明による、動作の前の入替えアイテム(オブジェクト)を示す。
【図45】動作の後の入替えアイテムを示す。
【発明を実施するための最良の形態】
本発明は、ビデオゲームに用いられる新規の装置と方法に関するものである。以下の説明は、当業者が本発明を製作、使用できるようにするために提示するものであり、また特定の適用とその必要条件の文脈で作成されたものである。当業者にとっては、この望ましい実施例に様々な修正を行うことができ、ここに定義されている本発明の原理は、本発明の精神と範囲から逸脱せずにその他の実施態様及び応用に適用できる。従って、本発明はここに示す実施例に限定することを意図するものでなく、ここに開示する原理と特徴から逸脱することなく広い範囲に適用できるものである。
[プレイフィールドと表示データ]
本発明のこの実施例においては、TVディスプレイ画面にグラフィック画像を映し出すためにビデオディスプレイジェネレータが使われる。画像を映し出すのに使われるグラフィック情報は、図1に示す一連の画面で、ある画面の後ろに別の画面が隠されるものと考えることができる。これらの画面は、メモリの所定領域上にデータによって構成される平面である。最初の画面はスプライト画面である。次の2つの画面は、スクロール画面Aとスクロール画面Bである。TV画面に映し出される実際の映像は、それぞれが別々の色で示され、それらのドットが映像を形成するような一連のドットの列で構成される。それぞれのドットがどの様に表示されるかを決めるグラフィック情報は3つの画面から提供される。優先順位コントローラが、個々のドットに対してスプライト画面、スクロール画面A又はスクロール画面Bのどれを使って表示を行うかを決定する。3つの画面のグラフィック情報は、優先順位が与えられており、一番優先順位の高いドットが表示される。
スクロールAは、ビデオゲームが行われるプレイフィールドである。プレイフィールドはゲーム装置内の仮想空間で、例えば、国の領土、迷宮、島、城の中などを表す。スクロールBは、スクロールAの背景である。ビデオ表示は、ある瞬間にはプレイフィールド全体のごく一部だけを表示する。プレイフィールド全体は、480の画面から成る。ビデオゲームは、プレイフィールドの上でビデオゲームのキャラクタが動き回ることを含む。図2の図解は水平方向に60画面、垂直方向に8画面を持つプレイフィールドを示す。本発明のシステムは、単独画面モード又は分割画面モードのいずれかで操作できる。単独画面の操作では、単独のプレイフィールドのみが表示可能である。この場合の表示画面は、ビデオゲームのキャラクタが現在通っているプレイフィールドの部分に該当する。分割画面モードでは、2つの画面が同時に表示され、1つは第1のビデオゲームキャラクタ用、次は第2のキャラクタ用である。それぞれのキャラクタに対し、表示画面はその時そのキャラクタが動いているプレイフィールドに該当する。
ディスプレイ上に現われるプレイフィールドの画像は、スクロールA、B用に記憶されたグラフィック情報によって形成される。スプライトと称する像も画面に現われる。スプライトは、プレイフィールドの上を動き回ることができる対象である。例えば、ゲームキャラクタもスプライトである。スプライトのグラフィック情報はスプライト画面に記憶される。
ノンインタレースモードにおいては、各画面は水平に320ドット、垂直に224ドットで構成される。図3はそのような画面の例を示す。この画面は、例えば図2に示すプレイフィールド上の四角Qで示す位置にある。四角Qは、プレイフィールドの左上隅のプレイフィールドベースアドレスから、水平及び垂直の所定の相対位置(オフセット)に位置する。
プレイフィールド全体はグラフィックブロックに分割される。各グラフィックブロックは、グラフィックセルに分割される。各グラフィックセルは、画素に相当するドットに分割される。各グラフィックセルは、画面の8ドット×8ドットの領域を表わす。この実施例においては、各画面に水平に40のグラフィックセルが、垂直に28のグラフィックセルがある。
典型的なプレイフィールドのグラフィックは、最初、画家によって創作されることは理解に難くない。その後、グラフィックは「デジタル化」される。すなわちグラフィックスはグラフィックセルに分割される。グラフィックセルは、記憶されたカラーパターンと照合されるが、このカラーパターンは、グラフィックセルを色付けする色情報を含む。このように、記憶されたカラーパターン情報は別のグラフィックセルに再利用できる。
例えば、プレイフィールドのスクロールA部分の特定の領域は緑の草を代表することができる。緑の草を表わす各グラフィックセルは、同じ記憶パターン情報を使うことができる。プレイフィールドの緑の草を表わす各グラフィックセルに対して別に記憶した緑の草のグラフィックを使う代わりに、緑の草のパターンを1つ記憶して、個々のグラフィックセルがその記憶されたパターンを使って草の画像を作り出す。
図4の図解は、8ドット×8ドットのグラフィックセルの例を示す。この表示像の各セルに対して、セル中のドットをスクロールA画面、スクロールB画面又はスプライト画面用のどれに記憶したカラーパターンを使って描写するかの決定がなされる。上述のように、同じ記憶パターン情報を多数のグラフィックセルに使うことができる。下記に説明するグラフィックコントローラの機能は、この決定を行うものである。
カラーパターン情報は、スプライト画面、スクロールA及びスクロールB画面に対して記憶させることができる。各パターンは、グラフィックセル全体に対するドットによる色描写パターンを意味する。例えば、図5Aは、a1−h8の64ドットに対する色情報を持つパターンを示す。図5Bに示すように、各ドットに対して4ビットの色情報が使われる。色情報は、8ビットのバイト32個に記憶され、具体的には、各バイトがあるドットに対する4ビットと他のドットに対する4ビットを記憶する。表示画面Qの各グラフィックセルに対して、スプライト画面、スクロールA画面又はスクロールB画面のどれに記憶したカラーパターンを使うかの決定がなされる。次に、このように選択されたパターンのカラーデータを使ってそのセルのドットが点灯される。
記憶されたスクロールAとスクロールBのグラフィックパターンを探すのに使われる一般的な方法は、図6に示す通りである。スクロールAのセルに対するパターン番号表が維持され、スクロールBに対する別の表が維持される。スクロールA表に対しては、画面の各セルに対して1つのパターン番号が記憶される。各パターン番号は、スクロールアドレス表への入力の見出しと一緒に記憶され、このアドレス表は、パターン番号に対応する記憶されたグラフィックパターンにアクセスするのに使われるサブルーチンを指示する。この様にして、スクロールAの各グラフィックセルに対するグラフィックパターンが探される。スクロールB画面のグラフィックセルに対して使われるグラフィックパターンも同じ方法で探すことができる。
スクロールAのグラフィックセルとスクロールBのグラフィックセルに対するカラーパターンを探す方法は、スプライト画面に対するカラーパターンを探すステップの検討と共に以下に説明する。
[グラフィックスコントローラ]
図7には、本発明に基づいて、グラフィックスコントローラ40のブロック図が表示されている。コントローラ40には、RAM42、ビデオRAM(VRAM)43、マイクロプロセッサ44、プロセッサインタフェース45、制御ロジック46、制御RAM48、水平軸カウンタ制御部50、垂直軸カウンタ制御部52が内蔵されている。さらに、コントローラ40には、割り込み制御部57、直接メモリーアクセス(DMA)制御部59、ラインバッファ60、レジスタ61および入出力インタフェース64が内蔵されている。TVインタフェース回路54は、TVシステム56にRGBアナログ信号を供給する。
RAM42は、カートリッジ式のROM58からグラフィックス情報を受信する。本発明に含まれていないカートリッジ63については、1990年4月17日付け申請、米国特許申請番号07/510,070で公開されている。このカートリッジ63は、マツバラ氏によって発明されたものである。ここに引用することにより、前記申請の前明細を本文にも適用する。
第1及び第2外部コントローラ72と74は、入出力インタフェース64を介してコントローラ40に接続されている。コントローラ72と74にはそれぞれ、ゲームキャラクタの動きを制御するためのボタンが装備されている。
第1コントローラの72は、第一のゲームキャラクタ(スプライト)の動きを制御する。第2コントローラの74は、第二のゲームキャラクタ(スプライト)の動きを制御する。S/Pボタンは、ゲームの開始/停止を制御する。A、B、Cの各ボタンはそれぞれ、キャラクタアタックやスペシャシルパワーの対決などの特殊なゲーム機能に使用する。L、R、Up、Dnのラベルの付いたボタンは、ゲームキャラクタを左右上下に移動させるときに使用する。
ビデオRAM45は、動作時には、図5Aに示されているパターンと類似した、スプライト、画面及びスクロールAとスクロールBの両画面に関するグラフィックスパターンを記憶する。TV表示画面を1ラインずつ走査するときに、グラフィックス情報に一致する、スクロールA、スクロールBおよびスプライトの各画面に関するパターンが検索され、3つの独立した信号が生成される。これら信号はそれぞれ、スクロールA、スクロールBおよびスプライトの画面のグラフィックスパターンを表す。TVインタフェース54内の優先順位コントローラは、指定された優先順位に従って1セルずつ適切な信号を選択する。TVインタフェース54内のカラーデコーダとDACは、優先順位コントローラからの出力を受信し、それと一致するRGB信号を生成し、TVシステム56に転送する。
さらに詳しく述べると、制御ロジック46がプレイフィールド内にどのグラフィックスセルを表現すべきかを決定する、水平軸スクロール値と垂直軸スクロール値を受信する。
VRAM内のパターン番号テーブルアドレスは、受信した垂直軸値と水平軸値に基づいて算出される。算出されたアドレスには、グラフィックスセルの彩色に使用されるパターンを識別する番号が記憶される。パターン番号テーブルに記憶される代表的パターン番号は図8のとおりである。検索されたパターン番号は、VRAM45に記憶されているカラーパターンにアクセスするときに使用される。カラーパターンとパターン番号テーブルから検索されたカラーパレット選択情報がともに、カラーRAMアドレスの算出に使用される。図9に、スクロールパターン情報の検索プロセスがさらに詳細に説明されている。このプロセスは、スクロールAとスクロールBの各パターンの検索プロセスと類似している。
以下のパターン番号の記録事項(エントリ)テーブルは、図8のカラーパターン番号のバイトの内容を表している。
パターン番号テーブルの記録事項
pri: 優先順位
cpl: カラーパレット選択ビット
cpo: カラーパレット選択ビット
vf: 垂直軸反転ビット
hf: 水平軸反転ビット
ptlo−pto:パターンジェネレータ番号
優先順位ビットはパターンの優先順位を表す。2つのカラーパレット選択ビットは、適切なカラーパレットの選択を表す。本実施例では、4種類のカラーパレットが使用されている。
vfとhfの両ビットについて、図13の図を参照して説明する。基本的には、vfビットとhfビットを使用すると、セル単位での水平軸反転と垂直軸反転が可能となる。つまり、vf値とhf値に従って、セルの垂直軸方向又は水平軸方向、あるいは垂直軸と水平軸の両方の方向を変更することができる。この方法では、グラフィックス情報をさらに高密度に記憶することができる。vfとhfの両値を使用して、各カラーパターンの方向を変更するだけで、記憶されている同じカラーパターンを使用して各種グラフィックス画像を生成することができる。
コントローラ40は、以下のようにスプライトグラフィックスを処理する。垂直軸カウンタ56から垂直軸カウンタ信号を受信すると、制御RAM48内で、垂直軸カウンタにより指示された垂直軸位置と同じ位置をもつスプライトが探索される。制御RAMには、垂直軸位置、スプライトのサイズ、リンク番号およびパターン番号が記憶される。図10に示されているスプライトテーブル内で、指定された垂直軸位置を持つ1つ又は複数のスプライトが検出されると、その垂直軸位置を共用しているすべてのスプライトに関するサイズとリンク番号が、RAM48から制御ロジック46に返される。ビデオRAM45には、スプライト修飾表(属性テーブル)が記憶される。このスプライト属性テーブルでも、該当する垂直軸アドレスを持つスプライトが検索される。図11は、スプライト属性テーブル内の記録事項(エントリ)のフォーマットを表している。このような垂直軸アドレスを持つ各スプライトのパターン番号と水平軸位置が、VRAM45から制御ロジック46に返される。
なお、図11において、スプライト属性はVRAM上に記憶されており、基準アドレスはレジスタ#5により示される。各スプライトごとに属性表示に8バイト(4ワード)必要であり、この属性は、表示位置、優先順位、スプライトジェネレータ番号及び属性を表す。属性テーブル始めから、スプライト0,1,2,3のように番号が順次割り当てられる。スプライト間の優先順位は、スプライト番号の順序によって決定されるのではなく、各スプライトのリンク・データによって決定されるので、プログラミング可能である。
スプライト間の優先順位は、以下の説明するスプライトリンクテーブルに従って決定される。決定された各スプライト優先順位に従って、特定の垂直ラインに関する、表示するスプライトのパターン番号が決定される。水平軸カウント情報は、水平軸カウンタ50によって提供される。ライン上に複数のスプライトが存在するときには、表示すべきスプライトと表示してはならないスプライトが、スプライトの優先順位の計算結果から決定される。パターン番号は、VRAM45に記憶されている適切なスプライトカラーパターンのアドレス指定に使用される。垂直軸ラインに関するドット単位のイルミネーション情報は、ラインバッファ60に転送される。
TVインタフェース回路54内の優先順位コントローラの役割は、図12のテーブルを参照すればさらに深く理解することができよう。表示画面に写し出される各グラフィックスセルごとに、スプライト、スクロールA、スクロールBの各画面での優先順位が設定される。このテーブルに従って、優先順位が最も高いグラフィックスセルが表示される。いちど優先順位が決定されると、スプライト、スクロールA、又はスクロールBのいずれかの信号のうち優先順位の最も高い信号に対しRGBアナログ信号が生成される。したがって、例えばスクロールAが所定のグラフィックスセルに関して最も高い優先順位を有しているときには、グラフィックスコントローラにより生成された、そのセルに関するスクロールAのカラー情報が、RGBアナログ信号としてTVシステム56に供給される。
[スプライト]
スプライトは、VRAM45に記憶されているスプライト属性テーブルエントリとRAM42に記憶されているスプライトステータステーブルを使用して定義される。以下のスプライトステータステーブルには、主役(ヒーロー)クラスのスプライトと敵又は移動プラットフォームなどの他の各種スプライトに関する、RAM42に記憶されている代表的ステータス情報がリストアップされている。
スプライトステータステーブル
バイト数 内容
1 アクション番号
1 アクションフラグ
2 VRAM内のオフセット
4 パターンテーブルのアドレス
4 プレイフィールド内のX軸方向オフセット
4 プレイフィールド内のY軸方向オフセット
2 ±X軸方向速度
2 ±Y軸方向速度
1 キャラクタの中心からキャラクタのいちばん下までの垂直軸オフセット(ドット数)
1 キャラクタの中心からキャラクタのいちばん下までの水平軸オフセット(ドット数)
1 スプライトの優先順位
1 垂直軸幅(ドット数)
1 パターン番号
1 パターンカウンタ
2 パターン変更番号
1 パターンタイマカウンタ
1 パターンタイママスタ
1 衝突サイズ
1 衝突カウンタ
1 ルーチン番号1
1 ルーチン番号2
2 ルーチン番号1
1 ルーチン番号2
2 ループ(s字ループではない)を通過するキャラクタの角度
1 ライドオンフラグ
1 ヒットフラグ
2 A/Bタイプ衝突設定
アクション番号は、実質的にはスプライトの名称を表す。各スプライトには固有のアクション番号がある。アクションフラグタイプには、8ビットが使用される。そのうちの1ビットは、スプライトを左右どちらの方向に向けるのかを示す。別のバイトは、スプライトをその頭頂部と足元のどちらで固定するのかを示す。さらに別のバイトは、オフセット(相対位置)としてスプライトの上端又は下端までのどちらを使用すべきかを表す。さらに別のバイトは、スプライトを表示画面のフィールド表示内に表示するか否かを指定する。スプライトの生成に使用されるパターンデータの基準アドレスを指示するのに、4バイトが使用される。別の4バイトは、プレイフィールド内のスプライトのX軸方向オフセットを示すのに使用される。また別の4バイトは、プレイフィールド内のスプライトのX軸方向のオフセットを示すのに使用される。スプライトのX軸(左右)方向の移動と速度を表すのに2バイトが使用される。別の2バイトが、スプライトのY軸(上下)方向の移動と速度を表すのに使用される。さらに1バイトが、スプライトの中心からスプライトのいちばん下までの垂直軸オフセットをドット数で設定するときに使用される。さらに別の1バイトが、スプライトの中心から両端までの水平軸オフセットをドット数で設定するときに使用される。スプライトの優先順位を表すバイトや、スプライトの水平軸方向の幅(ドット数)を示すバイトもある。
パターン番号を表すバイトも存在する。画面上に各スプライトパターンの表示時間を指示する1バイトのパターンカウンタがある。スプライトは、一連のパターンを使用して描写することができるが、各パターンの持続期間を設定しなくてはならない。パターン変更番号としても知られるマスターパターン番号を指示するのに2バイトが使用される。例えば、それぞれ移動しているスプライトのイメージシーケンスを表す4つのパターンが存在し、別の4つのパターンが、回転しているスプライトのパターンシーケンスを表すのに使用されると仮定する。パターン変更番号は、パターンのどのセットを使用するかを表す。1バイトのパターンタイマは、パターンカウンタと同じで、それにはパターンを表示する時間数が配置される。別のバイトは、カウントアップ/ダウンしている間、現在のカウントを保持しておく。さらに別のバイトには、ヒットが発生したか否かを判断するために、キャラクタのサイズを決定するヒットテーブルに索引を付与するヒット番号が配置される。このヒット番号は、スプライトの衝突ボックスのサイズを示す。これは、敵とみなす目標の大きさをスプライトが判断できるようにすることなどを目的としている。例えば、ヒーロースプライトは発射用スプライトを発射する敵スプライトにより襲撃される可能性がある。発射物がヒーローに命中したか否かを判断するときには、ヒーローのヒットサイズが検出される。衝突カウントは、スプライトを“消滅”したり勢力を弱めたりするのに必要な衝突回数や命中回数を表す。
サブルーチン0を表すのに1バイトが使用される。例えばスプライトが現在移動していないときには、スプライトを表示するため1つのサブルーチンが呼び出される。スプライトが移動しているときには、そのスプライトを表示するため別のサブルーチンが呼び出される。別のバイトがルーチン番号1を表す。例えば、スプライトが停止し、発射しているときには1つのサブルーチンが呼び出される。スプライトが停止しているが発射していないときには、別のサブルーチンが呼び出される。
キャラクタの角度方向を変更するために2バイトが使用される。これらは、上昇傾斜/下降傾斜面上の通路、あるいは360°のループを通過する通路を追跡するのに使用することができる。ライドオンフラグのステータスを示すのに1バイトが使用される。プレイフィールド内には、スプライトが「乗る」ことができる「物体」が、「イベント」として存在する。例えば、スプライト画面内に移動する台が存在するときには、スプライトはこのような台に乗ることができる。スプライトがこの台に乗っているときには、ライドオンフラグが設定される。クラッシュフラグは、スプライトが壁や敵のような、通路以外のオブジェクトにぶつかったか否かを示す。スプライトがAタイプ衝突スプライトかBタイプ衝突スプライトのどちらであるかを示すのに、さらに1バイトが使用される。
[スプライトデータ属性テーブル]
図11に示されている図は、VRAM45に記憶される代表的スプライト属性テーブルの記録事項を表している。
以下のテーブルには、スプライト属性情報が表されている。
スプライト属性テーブル
vp9〜vp0: 垂直軸位置
hp8〜hp0: 水平軸位置
hs1、hs: スプライトの水平軸沿いのサイズ
vs1、vs0; スプライトの垂直軸沿いのサイズ
id6〜id0: リンクデータ
pri: 優先順位ビット
cp1、cp0: カラーパレット選択ビット
vf: 垂直軸反転ビット1:反転
hf: 水平軸反転ビット1:反転
sn10〜sn0: スプライトパターン番号
スプライトの垂直軸位置と水平軸位置は、スクロール画面の基準アドレスをベースとしている。スプライトの水平軸沿いのサイズは、8、16、24又は32ピクセルのどれかとして設定することができる。同様に、スプライトの垂直軸沿いのサイズも、8、16、24、32のいずれかの画素として設定することができる。スプライト優先順位ビットも設定可能であり、その利用法についてはすでに説明済みである。カラーパレットを選択することが可能である。vfビットとhfビットを使用すると、パターンジェネレータ番号に関して説明した方法と同じ方法で、スプライトの向きを反転させることができる。スプライトパターン番号は、sn10−sn0までの11個のビットによって示される。リンクデータは、スプライト間の優先順位を指示するのに使用される。
[シャトルループの制御]
図16Aは、本発明におけるシャトルループが示されている。そのシャトルループは、スパイラルループの形状で、プレイフィールドの一部である。そのスパイラルループ(以下「スループ」という)は、らせん状又はコクル栓抜き形の通路になっており、その通路に沿ってキャラクタが走ると、そのキャラクタは、360°回転することになる。点E1とE2(入場位置)では当該通路の表面が正常であるから、キャラクタが当該スループ通路に沿って移動しながらそれらの点に来ると、そのキャラクタは矢印が示すように垂直に正立する。点M(中央位置)では当該通路が180°回転しているから、キャラクタが当該通路のこの点に来ると、矢印Mが示すように(完全に)逆立ちになる。点T1では、当該通路がねじれて側方に傾きかけているから、キャラクタは見える状態にあるけれども、本人の身体の向きは矢印T1が示すように斜めになっている。この傾斜する通路は、実物のレーストラックを模倣したもので、実物のレーストラックでは、カーブの部分が勾配や傾斜を有し、レーサーがトラック上から逸走しなくて済むようになっている。キャラクタが矢印T2で示された位置に来るとその姿が隠れて見えなくなるが、それは、傾斜路面が当該スループ通路の下面Uに隠れて見えなくなるようなループ通路の位置を、キャラクタが移動するからである。
当該スループは興味深いグラフィック画像が生じ、その画像では、スプライトは画面上のねじれたスパイラル通路を辿ることができ、スプライトは通路を上り、ついには通路は完全に裏返し、つまり180°逆さまになる。キャラクタは、当該通路がコルク栓抜き状に次の180°回転を続ける時、その通路を辿り続け、一時的に隠れて見えなくなるけれども、キャラクタは当該スループ通路の他方の側で正立して再び現れる。スループの画像を実現するためには、課題が多数存在する。スパイラル通路の各位置ごとに、適切なスプライトパターンを選択することは最小限必要であるが、その他にも以下の処理が必要である。スプライトキャラクタが通路に沿って移動するためには、その足を通路につけておく必要がある。
キャラクタは、多くの異なる向きで示されなければならない。つまり、横向きの姿から通路が90°側方傾斜した時は真上から見た姿になり、また、完全な正立から倒立になり、さらに、通路の側方傾斜に従ってそれ以外の様々な角度の向きになる。図17は、「テールズ」と愛称されるキャラクタスプライトについて、異なった外見のパターンを12種類示している。
スパイラルループのスクロール画面でのパターンに対して、スプライトキャラクタの相対位置は、常に適切に定めなければならず、それは、スプライトキャラクタが、このようなスパイラルループに沿って移動するときには、スプライトキャラクタのしかるべき外見は変化するからである。図16Bの中で110の符号を付けた線は、スプライトがスループ通路を辿る際の、ループからキャラクタの中心までの相対距離を大まかに示す。スプライトがスループのいずれかの端に位置しているとき、スプライトの足は通路に触れており、当該スプライトの中心は、明らかに通路上方に位置する。しかし、スプライトが通路に沿って移動するに伴い、スプライトキャラクタの中心からスループまでの距離が変わり、或る位置でスプライトとスループ通路の中心が一致する。例えば、スパイラルループ通路上で両者の距離がなくなるその位置では、当該通路が90°側方傾斜しているから、キャラクタの頭頂部のパターンの映像が画面に示される。スプライトが途中の位置に来ると、そのスプライトの足が通路に触れており、当該スプライトの中心はスパイラルループ通路の下方の離れた位置にある。スプライトキャラクタが通路を辿り続けるにつれて、スプライトと通路の相対距離は次第に縮小し、スプライトは一時視界から消え、それからスループ通路のやや上方の離れた位置にその中心が来るように現れる。
[シャトルループの制御]
キャラクタがプレイフィールドのシャトルループに接近した時、図18A−Bのプログラムが実行に移される。そのプログラムは、プレイフィールド上のキャラクタの位置を絶えず把握している別のプログラムに応答しながら、実行に移される。その別のプログラムは、キャラクタがシャトルループに接近しているかどうかを判断する。接近している場合は、図18A−Bのプログラムが実行に移され、キャラクタが実際にはまだスパイラルループ通路の上にいるかどうかを判断する。肝心なことは、他方のプログラムが、プレイフィールド上のある位置を記録していることで、この位置は、図18A−Bのプログラム実行を開始するに充分なほどシャトルループに近いと考えられる。
ステップ100において、スプライトキャラクタの搭乗フラグが1に設定されているかどうかが判断される。スループ通路は、スプライトが搭乗可能な物体すなわち「イベント」であると見做される。キャラクタ搭乗フラグは単に、キャラクタがスループ通路上に着地したことを表す。
ステップ102において、キャラクタがジャンプ中であるかどうかの判断が行われる。このステップの必要な理由は、キャラクタが他の位置からのジャンプによって、シャトルループの始端の近傍に来ることが決して起こらないようにすることである。シャトルループに入れるキャラクタは、通路に沿って移動する者に限られ、ジャンプでは入れない。
ステップ103において、キャラクタがシャトルループに入る途中であるかどうかの判断が行われる。図16Aの矩形枠105で示すように、シャトルループのいずれかの端で定義される或る一定の領域がある。図18A−Bのプログラムは、キャラクタがこの入口領域の内部を移動しているかどうかの判断を行う。103によって示されるプログラムステップは、それら二つの領域のいずれかを通るキャラクタの移動を追跡し続けて、キャラクタが左右のどちらからでもよいが、シャトルループに入る途中であるかどうかを判断する。
ステップ103が、キャラクタがシャトルループに入る途中であるかどうかを判断することの重要性は理解されるであろう。以下に説明するように、キャラクタはシャトルループに入る時、非常に敏捷に動作しなければならない。さらに、キャラクタがいったんシャトルループに入ったら、次のセクションで説明するようにキャラクタの動きは、もはや衝突ブロックでは制御されなくなる。もっと正確に言えば、以下に説明するように、本セクションで述べる1個のオフセットテーブルを参照することによって制御される。
ステップ104において、キャラクタ搭乗フラブがその前に1に設定されてなく、しかもプレーヤが左右のどちらかからシャトルループに入る途中であれば、キャラクタ搭乗フラブは1に設定される。ステップ106において、スプライトの速度が予め設定した限界を超えていないかどうかが判断される。本実施例のビデオゲームの規則によれば、スプライトは或る一定の最低速度を維持しなけらばならない。そうしなければ、シャトルループに入ることができない。この特徴によってゲームがいっそう面白くなり、しかも迫真性が高まる。
ステップ108において、もう一度、キャラクタがジャンプ中であるかどうかの判断が行われる。図18A−Bのプログラムが、キャラクタがスループを通過する際に、反復的に実行されることの重要性を理解されたい。キャラクタがシャトルループを通過する途中でジャンプすることは可能である。スループはコルク栓抜きのようにねじれているから、プレーヤがジャンプすると、上方に上がることにならず、キャラクタはループから落下するという結果になりかねない。例えば、スプライトが右に走っている時、そのキャラクタが、左に傾斜、つまりねじれているループ面からジャンプすれば、キャラクタは上向きにジャンプすることにはならずに、図16Cの矢印120によって示す飛翔経路で表すように下方に落ちる結末となるだろう。その一方、キャラクタがシャトルループ上を左に走りながら、そのループの右側の傾斜部分からジャンプした場合は、その左向きの水平速度は維持されながら下方に落ちるから、飛翔経路122を辿ることが判るであろう。その落下は、当該キャラクタが表面124にぶっつかった時、止まる。ステップ111において、キャラクタがシャトルループに搭乗しつつあるかどうかの判断が、再度行われる。搭乗しつつある場合は、ステップ112において、キャラクタのシャトルループ上でのX(水平)位置の判断が行われ、その次に、キャラクタのY位置に関する計算が行われる。ステップ114において、そのX位置に対するキャラクタの回転角度の計算が行われる。ステップ106、108、110において、キャラクタの速度が限界を超えていないこと、又はキャラクタがジャンプ中であること、又はキャラクタがもはやシャトルループ上に乗っていないこと、この条件のいずれかが判れば、図18Bのステップ116への分岐が行われる。キャラクタ搭乗フラブはクリアされる。ステップ118において、数字1がキャラクタの方向カウンターに割り当てられ、ステップ120において、キャラクタの進行方向の速度の限界値が設定される。
方向カウンターは、キャラクタがループの右又は左に傾いた区間でジャンプして、そのループから落下する時の、当人の回転数を設定するために使用される。キャラクタは落下する際にとんぼ返りをする。そのとんぼ返りは、着地区域124の上方に或る大きさの最小距離が存在するループの一区間にキャラクタが居る場合だけ起こる。ジャンプの際に、キャラクタと着地区域124の間に充分な距離が無い場合は、キャラクタはその時点でのパターンのままで、ただ飛び降りる。ステップ120で設定した速度フラブによって、上述のジャンプ中のキャラクタの落下時のとんぼ返り、又は回転の速度が判る。
ループの中心に対するオフセット(相対位置)は、プレイフィールドの底辺のアドレスを基準として垂直方向に測った当該スループの芯から計算される。垂直方法に測った当該スループの高さは64ドットである。従って、Yオフセットは、図16Dに示すように、中心から上下に32ドットである。当該スループの幅は384ドットである。Xドットが1ドット増えるごとに、そのXドットに対するYオフセットを図19A−Bのオフセット表に記憶させる。その表のオフセット値によって、図16Bに示すような、スプライトの中心位置のオフセットが判る。
正しいスプライトのパターンは図17の12種類のパターンから選ばれる。そのオフセット表の各行に対して、方位表の中に1個の記録事項がある。例えば、キャラクタの位置のXオフセットが1ドットである時、Yオフセットは032であり、方位参照値は$00である。例えば、キャラクタの位置のXオフセットが50ドットである時、Yオフセットは030であり、方位参照値は$16である。方位表の記録事項は、その時点でのキャラクタのスパイラルループ上の位置に対するそのキャラクタの適切な外見を表すために、12種のパターンのどれを選ぶかを示す。
その結果、スプライトのオフセットとスプライトの適切な外見との両方が、当該スプライトのスループ上の移動に伴うあらゆる位置に対して、必ず存在する。
[切り替え可能なA/B衝突画像]
本発明のこの実施例において、キャラクタは、ユーザーの命令に応じてプレイフィールドの左右一杯に設けられる、予め決められた通路を辿る。その通路は、プレイフィールド全体にわたって、見えるかも知れないし、一部分しか見えないかも知れないが、いずれにしても存在する。図20Aの説明図は、一つのループを形成し、しかもその一部が重なり合う通路(オーバーラップ通路)の一例を示す。衝突ブロックと称する記憶情報が、当該通路上のキャラクタを維持するために使われる。その衝突ブロックの使用は、シャトルループとの関連で上述した方法以外の、通路上のキャラクタを維持するための別案に相当する。
衝突ブロックのライブラリはROM58に記憶させてある。図21は、図20Aのオーバーラップ通路上にキャラクタを維持するために使うことができる衝突ブロックの収集内容を示す。プレイフィールドの通路は、複数の画像用通路ブロックに分割されている。図20Bは、オーバーラップループを含む画像用通路ブロックを示す。
キャラクタが通路に沿って進む時、キャラクタが当該時点でいずれの画像用通路ブロックを通過中であるかについての記録が維持される。図22に示すような衝突表が、画像用ブロックから衝突ブロックへの相互参照を行うために使われる。その衝突ブロックは、実際には、キャラクタが辿る通路区間を定義する。画像用通路ブロックは単なる画像であって、それらの中には、衝突ブロックによって定義される通路区間の画像を含むものもあるし、含まないものもある。キャラクタは、通路に沿って移動しながら、或る画像用通路ブロックから別の画像用通路ブロックに移る時、衝突表を経由して画像用通路ブロックに照会して求めた衝突ブロックの個別の通路区間によって定義される通路に入る。
本システムの斬鮮な特徴は、画像用通路ブロックから衝突ブロックへの相互参照が、キャラクタ状態表に記憶させてある衝突の型の情報を頼りにして行えることである。キャラクタ衝突の型を変えることによって、画像用通路ブロックに別の衝突ブロックを参照させることができる。従って、キャラクタが辿る通路区間が、キャラクタの状態表の情報次第で決まるようにすることができる。
図22を参照すると、通路ブロックから衝突ブロックへの相互参照に使われる衝突表が示されている。その表では、第一欄に通路ブロック番号が示されている。第二欄と第三欄に、同じ行の通路ブロックを参照することによって求められる衝突ブロックが示されている。第二欄に記載されている参照内容は、キャラクタ自体が“A”型衝突情報を担っている場合に使われ、第三欄に記載されている参照内容は、キャラクタ自体が“B”型衝突情報を担っている場合に使われる。その表の参照内容の大多数は、キャラクタが担う衝突情報の型(AまたはB)とは無関係に同じであるが、画像用通路ブロックとの相互参照の一部は、キャラクタの衝突の型に従って決まる。
具体的に述べれば、画像用通路ブロックG6からの相互参照によって、衝突ブロックは、キャラクタの衝突型次第で、C1またはC8の両者のいずれかに決まることになり得る。それと同様に、画像用通路ブロックG11からの相互参照によって衝突ブロックは、キャラクタの衝突型次第で、C4またはC5の両者のいずれかに決まることになり得る。オーバーラップ通路ブロックを構成する画像用通路ブロックの中の上記以外のものの参照先は、キャラクタの衝突型とは無関係に、同じ衝突ブロックになる。例えば、画像用通路ブロックG5から相互参照すれば、衝突ブロックは必ずC0になり、画像用通路ブロックG12から相互参照すれば、衝突ブロックは必ずC3になる。
図23の説明図を参照すると、図21の衝突ブロックC1の拡大図が示されている。衝突ブロックC1は、キャラクタがA型の衝突情報を持っている時、画像用通路ブロックG6を参照することによって得られる。登場人物200が通路に沿って左から右へ進んでいると仮定すれば、当人は画像用通路ブロックG6を通過する時は登坂している。当該キャラクタがブロックG6を通過する時の、表示画面上の実際の動きは、衝突ブロックC1を参照することによって制御される。A型の衝突情報を持つ同一キャラクタが、ブロックG6を右から左へ通過するとすれば、そのキャラクタは降坂することになる。
もっと具体的に述べれば、衝突ブロックC1内には陰影付き領域と、無衝突陰影無し領域が示されている。その衝突領域(地)は、予め指定された論理情報、例えば論理“1”を記憶させることによって、ROM内部のディジタル形式として表され、無衝突領域(空)は、予め指定された別の値、例えば“0”を記憶させることによって表される。衝突領域と無衝突領域の間の境界線によって一つの通路区間が定義される。キャラクタがA型衝突情報を持ちながら、画像用通路ブロックG6を進む時は、当人は衝突ブロックC1内部で定義される通路区間を辿る。ゲームキャラクタが辿るその通路は、複数個のそのような通路区間で構成されるが、それらの通路区間は、当該ライブラリ内の様々な衝突ブロックによって定義されている。
図23において、ゲームキャラクタの輪郭が線200によって示されている。ユーザーが、キャラクタ200に対して左または右に動くよう、指示を与えると、キャラクタが通路区間との接触を保つためには、水平に動くべきか、斜めに動くべきか、上方に動くべきか、下方に動くべきかについて判断が行われる。
入力用制御装置72または74を操作するユーザーは、LまたはRの印が付いているボタンを押して、キャラクタが左に動くべきか右に動くべきかを示すだけでよい。例えば、画像制御部が、キャラクタが或る画像用通路ブロックに入り、それを参照すれば図23に示された衝突ブロックC1になり、しかもキャラクタがA型の衝突情報を持っていると判断した場合は、次に、当該制御部は、ブロックC1によって定義される通路区間を使って、当該画像用通路ブロックの端から端までのキャラクタの正確な動きを決めることになるだろう。例えば、ユーザーが、図23内のキャラクタ200に対して、左から右へ動くように指示したと仮定しよう。その移動後もキャラクタが通路区間上に残っていられるためには、当人が右に水平に動くべきか、右斜め上方に動くべきか、右斜め下方に動くべきかについての判断が行われる。
個々の通路区間に沿ったキャラクタの動きを制御する方法には、当該衝突ブロック内のゲームキャラクタのその時点での位置を把握することが含まれる。起こり得る幾つかのキャラクタの動きの中のどれが、キャラクタを衝突無しの空間に宙ぶらりんにするか、あるいは禁止された衝突領域に入り込ませるか、あるいは当該通路区間に乗せているかについての判断が行われる。キャラクタを当該通路区間に留めておけるような動きが選択される。
例えば、ここでも図23を参照すると、予め指定した試験位置202、204、206が、結果の見込みを試すために使われるが、それは、キャラクタの先端20Bが通路区間の表面に留まっていられるか、無衝突空間に入り込むか、あるいは衝突領域に入り込むかを判断することによって行われる。記憶させてある論理ビット(複数)で衝突領域を示すものは、キャラクタが入ることを禁止する領域である。位置204に向かってキャラクタが水平方向に動けば、禁止された衝突領域に入り込みことになるから、その選択は除かれる。位置206に向かって右斜め下方に動けば、キャラクタが禁止された衝突領域に入り込むことになるから、その選択もやはり除かれる。しかし、位置202に向かって右斜め上方に動けば、キャラクタはちょうど良く通路上に乗せられてそこに残ることになるから、それが選択される。
或る衝突ブロック内部の通路区間の位置特定に関して、つい先ほど記述した手法が、それと類似する各衝突ブロックごとの試験位置のセットも扱えることの重要性は理解されるであろう。手法がこのように統一されているので、高速画像表示がし易くなり、しかも、ゲーム通路の選定と作成に関する融通性が容易に高められる。その上、その手法の詳細にはプレイフィールド内の画像用通路ブロックのオフセット(位置)の把握が含まれるが、そのような詳細は、当該技術分野に精通している人達であれば理解することであるから、ここに詳述する必要はない。
図20Bの線210によって示されるオーバーラップループの頂点で、図24の流れ図で図解したやり方に従い、キャラクタの衝突型の情報の変更が行われる。すなわち、キャラクタがプレイフィールドの線210の近傍の領域を通過するたびに、キャラクタの衝突型が変えられる。キャラクタが、画像用通路ブロックG11を右から左へ端から端まで移動した場合は、衝突型はAからBに変わり、キャラクタが、画像用通路ブロックG11を左から右へ端から端まで移動した場合は、衝突型はBからAに変わる。それ故、その変更後、キャラクタの衝突型は衝突前の衝突型と異なる。図22を参照すると、相互参照によってブロックG11から求められる相手が、キャラクタの型の変化に伴って変わることを認めることができる。キャラクタがA型衝突情報を持つ時は、相互参照によってブロックC4が求められる。キャラクタがB型衝突情報を持つ時は、相互参照によってブロックC5が求められる。その代案として、画像用ブロックG11に対して、キャラクタの衝突型とは無関係に、相互参照によって単一の衝突ブロックが求められるようにすることもできるが、それは、このブロックには通路区間の交差が無いので、通路がキャラクタの方向と無関係になるからである。
例えば、一人のキャラクタが当初は衝突型Aを持ち、左から画像用通路G5を通過してオーバーラップループに入ると仮定しよう。キャラクタが画像用通路ブロックG6を通過する時、参照が行われて衝突ブロックC1が求められる。キャラクタが画像用通路ブロックG11の頂点に到達した時、キャラクタが担っていた衝突型はAからBに変わる。キャラクタが左から右に降坂して再度画像用通路ブロックG6を通過しようとする際、この時は参照によって、衝突ブロックC8が求められる。その結果、画像用通路ブロックC6を最初に通過する際は、参照によって或る一つの衝突ブロックが求められるが、2回目に通過する際は、参照によって別の衝突ブロックが求められる。
それと逆に、キャラクタが当初に衝突型Bを持ち、当初は右から左にオーバーラップループに入る場合は、当人が画像用通路ブロックG6を通過する際に、参照によって衝突ブロックC8が求められる。キャラクタがそのループに従いながら上方に移動して、画像用通路ブロックG11の線210で示された領域を横断する時、キャラクタが担っている衝突型情報はBからAに変わる。キャラクタが降坂して、再度、画像用通路ブロックG6を通過する際は、参照によって衝突ブロックC1が求められる。キャラクタが線210で示される領域を横ぎりながら前後に移動する場合は、キャラクタが担う衝突型情報がAとBの間を行ったり来たりしながら変化し続けることの重要性を理解するべきである。
キャラクタの衝突型によって決まる衝突ブロックを求めるために、参照手法を用いることにすれば、その利点として、互いに交差する通路の使用が可能になる。その上、キャラクタの衝突型に支配される参照手法の使用は、キャラクタが異なる方向から特定の通路ブロックに接近する時は、異なる衝突ブロックを引き出そうとする場合に特に有用である。
[分割画面対戦グラフィックス]
分割画面対戦グラフィックスの利点は、2つのスクロールする画面を表示し、各画面が、同じプレイフィールドの異なった部分にスクロールできることである。2つの画面のキャラクタスプライトは、それぞれ別個独立に2つの画面上で動くことができる。このことによる利点は、それぞれ独立してスクロール(する)スクリーン上で、完全な対戦が可能になることである。さらに、上方のスクロールスクリーンも下方のスクロールスクリーンも、スプライトグラフィックス情報を完全に含むことができる。なぜならば、2つのスクリーンは、単一スクロールスクリーンモードで占有されていた画面を半分ずつ占有し、2つの各スクロールスクリーンの画像は、垂直方向へ圧縮つまり縮められるからである。各画面のスクロール速度は、各キャラクタが画面を通る速度によって決まる。一方のキャラクタは他方のキャラクタのはるか引き離して前進することができる。また、本実施例においては、2つのスプライトキャラクタはそれぞれ独立してゲームポイントを加算していくことができる。
本分割スクリーンモードは、従来技術(先行技術)の限界を克服するものである。例えば、図25A−Bに初期の分割画面に内在する問題が例示されている。すなわち、図25Aに示す単一画面モードから図25Bに示す分割図面モードへ移行する際に、プレーフィールド画面情報が一部失われてしまう。例えば大きな顔のグラフィックは、分割画面モードで部分的に失われるプレーフィールドグラフィックの例の一部である。図26A−Bは、従来のスクロール対戦ゲームのもう1つの内在的欠陥を示している。すなわち、対抗キャラクタがプレーフィールドにおいて距離が離れ過ぎると、視界から消えてしまうことがある。
図27Aは単一画面モードを示し、図27Bは本発明に係る分割画面モードを示している。図26Bにおける2つの分割画面は、図27Aにおける単一画面と比較して、垂直に圧縮したものとなっている。しかしながら、分割画面モードにおいて情報は全く失われておらず、すべてのスクロール情報およびスプライト情報が、それぞれ独立してスクロールする2つの画面のそれぞれにおいて使用できるものとして存在している。さらに表示は、2つのスプライトキャラクタがプレーフィールドにおいて離間した場合もいずれか一方の姿を決して失うことがない。
[インタレースモードの制御]
インタレースモードにおける動作の間、図28に示すインタレース表示領域には、実対角線によって示す偶数走査線102と破水平線104によって示す奇数走査線の両方が含まれる。インタレースモードは、当業者には理解されるTV動作における周知のモードである。1つのインタレース表示領域の全体は、2つの走査フレーム上を進むことにより生成される。図29に示す1つの走査フレームの間に、偶数走査線が追跡される。図30に示す1つの奇数走査フレーム間に、奇数線104が追跡される。
分割画面モードには、上側画面106と下側画面108がある。その2つの画面は、両者間の境界110によって分離されている。上側画面106と下側画面108はプレーフィールドの異なる領域を描き、かつ異なるスプライトキャラクタを描くことができるので、その2つのプレーフィールドを実行するためには、異なるスプライトグラフィック情報および異なるグラフィックプレーフィールド情報にアクセスしなければならない。現在の装置においては、上側および下側プレーフィールド106、108におけるスプライト情報のすべてを維持するために要求されるメモリ容量は膨大なものとなるおそれがある。したがって、本発明の本実施例によれば、記憶されたスプライトグラフィック情報を単一の偶数フレームを追跡している間に変更し、単一奇数フレームの追跡間に記憶されたスプライトグラフィック情報を再び変更する技術が用いられている。
より詳細には、図31A−Dの図面の説明に、単一フレーム追跡の4時点のセグメントの図が示されている。図31Aに示す第1のセグメントは、プロセッサ44の垂直割り込みが呼び出される再追跡を表している。図31Bに示す第2のセグメントは、上側画面の図面追跡を表している。図31Cに示す第3のセグメントは、プロセッサ44の水平割り込みが呼び出されるセグメントを表している。図31Dに示す第4のセグメントは、下側画面が追跡される期間を表している。
図32のタイミング図に、上記セグメントが発生する時間間隔を示す。1つのインタレースフィールドの全体の生成に使用される2つのフレームの各々は1/60秒(16ミリ秒)の間に実行される。したがって、1つの完全なインタレースフィールドは、1/30秒(32ミリ秒)内に生成される。上記タイミング図を参照して説明すれば、1フレームを実行する最初の3ミリ秒の間に、ビームが画面の右下部から左上部へ再追跡しながら、垂直割り込みが呼び出される。その期間に、上側画面におけるスプライトグラフィック情報がRAM42からVRAM45へ転送される。次の6ミリ秒の間に、記憶されたグラフィック情報により上側画面106が実行される。続く1ミリ秒の直前に水平割り込みが呼び出される。この期間において、下側画面に対してRAMからVRAMへスプライトグラフィック情報が転送される。最後の6ミリ秒が経過する直前に画面は元に戻り、下側画面108が実行される。当然ながら、上記手順は偶数フレームおよび奇数フレームの両者に対して発生することが理解されるであろう。したがって、1つの全インタレースフィールドを実行するためにこの手順は2回発生する。
図33A−Bおよび34の説明図は、単一インタレースフィールドを生成するために使用される2つのフレームのそれぞれにおいて発生するグラフィックデータ転送の詳細を説明するフロー図である。
図35および図36の説明図には、インタレースモードで使用する単一セルと対応グラフィックパターンが示されている。なお、インタレースモード2では、単一のセルは、8×16ドットから構成され、それに係る64バイト(16ロングワード)を要する。から構成される。図25のグラフィックパターンを実行する場合、偶数追跡フレーム間には列00、08、10、18、20、28、30および38を、奇数追跡フレーム間には列04、0C、14、1C、24、2C、34および3Cを実行する。分割画面モードにおいて上側画面および下側画面の両者に現れるドット列の数は、非インタレースモードにおいて全画面に現れるドット列の数と同じであることが理解されよう。各分割画面において224のドット列がある。しかしながら、インタレースモードにおいてはドットがより接近しているため、上側および下側分割画面における画像は垂直に圧縮されたように見える。このことはスクロールされるプレーフィールドおよびスプライトの両方についていえる。
[複数プレーヤ協調モードおよび複数プレーヤ対戦モードの概要]
本実施例において、本発明に係るシステムは2つのモード、すなわち協調モードと対戦モードを備えている。協調モードでは、第1のキャラクタは第1のコントローラに加えられる入力に応答し、第2のキャラクタはプレーフィールドを通じて第1のキャラクタに追従する。第1のキャラクタがプレーフィールドを通じて第2のキャラクタを先導するという意味において、2つのゲームキャラクタは協調するということができる。第2のキャラクタはまた第1のキャラクタに追従するだけでなく、第2のキャラクタはまた第1のキャラクタの動きを模倣する。この結果、第1および第2のゲームキャラクタは、第2のキャラクタが第1のキャラクタの後方に追従し、かつそれを模倣しているように見える状態において、その両者に与えられる入力に応答する。
図37A−Eは、協調モードおよび対戦モードの動作の説明に使用される、全く説明のみのための画面である。各図はプレーフィールドを通じての規定の通路の一部を示している。見られる通り、通路は山部と谷部を含んでいる。ある箇所には、溝がある。台(“イベント”)が、矢印で示す通り、溝を通って前後に移動する。ゲームキャラクタが溝を越えるには、キャラクタはフラットフォーム上へジャンプし、台に乗って溝を越え、さらに台から反対側へジャンプしなければならない。台上へ、またそこからジャンプするには熟練を要する。これは初心者のプレーヤにとって困難を生じさせるかもしれない挑戦的なタイプのものである。
図37A−Eにおいて、三角形のキャラクタが第1のコントローラによって制御される第1のキャラクタであり、円形のキャラクタが協調モードにおいて第1のキャラクタに追従する第2のキャラクタである。図37Aにおいて、第2のキャラクタは第1のキャラクタの後方に追従する。図37Aのボックスは通路の一部を包囲しており、この通路の一部はこのとき表示画面上において可視状態にある。この結果、ボックスの左右への通路の一部は画面表示の外部にあり、ゲームプレーヤには見えない。
図37Bにおいて、第1および第2のキャラクタは右側へ進んでおり、従って画面上において可視である通路の一部は変化している。また、第1のキャラクタはジャンプしているところが示されている。図37Cにおいて、第1および第2のキャラクタは、プレーフィールド上の図面表示の位置によって示される通り右側へさらに遠く進んでいる。図37Cでは、第2のキャラクタが第1のキャラクタがすでにジャンプしたのと同様にジャンプしていることが分かる。協調モードにおいては、第2のキャラクタのジャンプは、図37Bにおいて第1のキャラクタをジャンプさせた第1のコントローラに対するジャンプ命令に応答している。図37Dにおいては、第1のキャラクタが溝をうまく通ったところが示されている。第2のキャラクタはまだ溝の左端部にあってそれを横断していない。
この時点で、第2のコントローラを使用する第2のプレーヤが、溝を越えようと試みて第2のキャラクタの動作の制御を開始することを決心したと仮定しよう。第2のプレーヤは、第2のキャラクタを台上へジャンプさせようとして第2のコントローラへ入力を加える。ゲームは対戦モードに切り換わる。ジャンプが失敗したとすると、その結果、図37Eにおいて、第1のキャラクタは進み続けており、第2のキャラクタは視界から消えて取り残される。このとき、第1のキャラクタは視界内にある画面表示によって示されているが、(点線で示される)第2のキャラクタは画面表示の視界の外部にある画面表示によって示されている。その結果、本実施例において動作は中止され、第2のキャラクタは、画面表示内において第1のキャラクタの真上に現れ、図40のコンピュータプログラムに対し、以下に述べるように下方に移動し始める。
対戦モードにおいては、各ゲームキャラクタは異なるコントローラの別個の制御下にある。第1のゲームキャラクタは、第1のコントローラ72に加えられる入力に応答し、第2のゲームキャラクタは第2のコントローラ74に加えられる入力に応答する。2つのゲームキャラクタは、プレーフィールドを通るとき対戦する。
一定のゲーム環境においては、プレーフィールドを通ってゲームキャラクタが進む距離は、ゲームキャラクタの制御に使用するコントローラを操作するプレーヤの熟練度に依存して決まる。熟練のプレーヤは制御対象であるキャラクタの通路における障害を克服するのがうまいので、熟練のプレーヤが制御するキャラクタはより遠くに進むことができる。協調モード制御の部分で説明したように、協調モードでは、初心者が、熟練度の高い方の第1のプレーヤの技術の効果を利用することが可能となる。技術を完成したプレーヤは、第1のキャラクタを制御して、その技術により、プレーフィールドを通って大幅に進ませることが可能である。第2のキャラクタもまた、第1のキャラクタに追従し、かつその動作を模倣することにより大きく前進することになる。
対戦モードの制御およびモード切り換えの部分においては以下に説明するように、初心者のプレーヤは、第2のコントローラ上のボタンを押して第2のキャラクタの動作制御を行うことができる。システムはこのとき、各キャラクタが別個のコントローラによって制御される対戦モードで動作する。しかしながら、本好適実施例においては、第2のプレーヤが規定の期間、例えば10秒の間に第2のコントローラを操作しなければ、システムは再び協調モードに戻り、第2のキャラクタは再度第1のキャラクタに追従する。この他、もし第2のプレーヤは第2のキャラクタ制御を操作し続けるが、第2のキャラクタがある規定の距離だけ第1のキャラクタの後方、画面上で見えなくなる程遠く後方にある場合、システムは第2のキャラクタを第1のキャラクタに追いつかせることとなり、システムは協調モードに再び戻ることとなる。
[協調モードの制御]
図38を参照して、協調モードにおいて第2のゲームキャラクタの動きの制御に使用されるコンピュータプログラムにおけるフロー図が示されている。本フロー図において、第1のプレーヤは、第1のキャラクタのプレーフィールドを通じての動きを制御するために、一連の命令を第1のコントローラへ与えているものと仮定している。ステップ510において、16/60秒前に記憶された入力データに対し、第1のコントローラの入力データが読み出される。ステップ512において、記憶された入力データが右ボタンが操作されたことを示しているか否かが判定される。右ボタンが操作されたことを示している場合、ステップ514においてキャラクタの第2のスプライトが両面表示上の右側に動く。ステップ516において、入力データが左ボタンが操作されたことを示すか否かが判定される。作動されていれば、ステップ518においてキャラクタスプライトは左へ動く。ステップ520においては、ジャンプボタンが操作されたかどうかが判定される。作動されている場合、ステップ522において第2のキャラクタスプライトが画面上でジャンプする。ステップ524において、下ボタンが操作されたか否かが判定される。操作された場合、ステップ526においてキャラクタスプライトは下方にかがむ。ステップ528において、第2のキャラクタスプライトの通路に障害となる物体がないかどうか、判定される。もしあれば、ステップ530において第2のスプライトはその物体を飛び越えようとジャンプする。こうして、第2のキャラクタは、第1のキャラクタを追いかけながらその通路の障害を克服しようと試みるのであり、これはその特定の目的に対して第1のコントローラ入力が加えられなくても行われる。
ステップ532において、第1および第2のキャラクタの間に距離があるか否かが判定される。距離があれば、第2のキャラクタは第1のキャラクタの方へドット単位で動く。図38に表されるコンピュータプログラムは割り込みルーチンにより1/60秒ごとに呼び出されている。第2のキャラクタは、代表的な場合として、そのルーチンが呼び出される数ドット前にしか動く機会をもたない。この結果、第2のキャラクタが第1のキャラクタに追いつこうと努力して非常に遠くに移動する前に、第2のキャラクタが模倣すべき第1のキャラクタの動きが他にあるかどうか、判定される。
第2のキャラクタスプライトは、第1のキャラクタスプライトに追従し、その動きを真似る。しかしながら、もし第1のキャラクタスプライトが動かない場合は、第2のキャラクタスプライトはステップ534の動作を通じて彼に追いつく。その結果、第1のキャラクタは、第1のコントローラの制御下においてプレーフィールドを通って前進する。第2のキャラクタは、後方にぴったりと追従して第1および第2のキャラクタが画面表示上に可視状態となる。第1のキャラクタが動かなければ、第2のキャラクタが、必要に応じて左または右へ第1のキャラクタに向かって動く。このルーチンは、システムが協調モードにあるとき、周期的に実行される。
[対戦モードの制御]
対戦モードにおいては、第1のコントローラ72が第1のキャラクタスプライトの動きを制御するために使用され、第2のコントローラ74が第2のキャラクタスプライトの動きを制御するために使用される。第1および第2のコントローラを操作するプレーヤは、第1および第2のキャラクタがプレーフィールドを横断してゆく状態において、互いに対戦する。対戦は、例えば最も早くプレーフィールドを横断して最高得点を加算してゆこうとする試みを含めることができる。
[モードの切り換え]
図39の説明図を参照すると、協調モードが使用されるか対戦モードが使用されるかを判定するために使用するコンピュータプログラムにおけるフロー図が示されている。ステップ540において、ゲームがプレーヤ一人だけで制御されるように設定されているか否かが判定される。もしそのように設定されていれば、ゲームは自動的に協調モードに入り、ステップ542において、第2のコントローラに加えられる制御入力があるか否かが判定される。もしなければ、ステップ544において、10秒以上の間、第2のコントローラからの入力がないかどうかが判定される。10秒以上入力がなければ、ゲームは、ステップ546で示されるように協調モードのままの状態が続く。
ステップ542において第2のコントローラからの制御入力があれば、ステップ548において第2のキャラクタスプライトが画面から消えたか否かが判定される。もし消えていれば、第2のキャラクタスプライトはステップ550で画面上の視界に戻され、ゲームは協調モードに維持される。ステップ548において第2のキャラクタスプライトが画面から消えていない場合は、ステップ552で第2のキャラクタスプライトは第2のコントローラの制御下に置かれ、ゲームは対戦モードに戻る。
図39のプログラムは定期的に実行される。その結果、もし第2のキャラクタが第1のキャラクタの十分後方にあって画面から消えている場合、あるいは第2のプレーヤが規定の期間の間に第2のコントローラを操作しなかった場合、ゲームは協調モードに戻る。反対に、第2のプレーヤが第2のコントローラを操作し、第2のキャラクタが画面上に依然として見えている場合、ゲームは対戦モードに戻る。
図40のフロー図は、第2のキャラクタスプライトが第1のスプライトのずっと後方にあって画面から消えた場合、第2のキャラクタスプライトを視界に戻すために使用するコンピュータプログラムを表している。図40のプログラムは、第1および第2のキャラクタスプライトが共に画面表示上に可視状態にとどまることを確実にするために対戦モードにおいて使用される。その目的は初心者のプレーヤが制御するキャラクタが主キャラクタのはるか後方に遅れ過ぎないようにすることである。
ステップ560において、初期フラグがセットされているか否かが判定される。この初期フラグは、続く4つのステップがすでに行われたかどうかを示すものである。初期フラグは、第2のキャラクタスプライトに対するスプライトステータス情報の一部をなす。ステップ562において、第2のキャラクタスプライトが空を飛んでいる画像パターンが選ばれる。ステップ564においては、第1のスプライトの水平方向位置と調和するように第2のスプライトの水平方向位置が選ばれる。代表的な例として、コントローラ40は第1のキャラクタスプライトを画面の中心に保つ。この結果、第2のキャラクタもまた画面の水平方向中心に位置する。第1のキャラクタは画面上で凍結され、第2のキャラクタの動きを除き画面の動きはすべて凍結される。ステップ566において、第2のキャラクタスプライトの垂直方向位置が、第1のプレーヤより192ドット上方になるように選択される。ステップ568において初期フラグがセットされ、ステップ570において第2のキャラクタがゆっくりと下方に動き始める。ステップ572において、第2のキャラクタがゲームの通路に降りたかどうか、判定される。もし降りていなければ、第2のキャラクタが着地するまでサイクルを繰り返し、ステップ574において第2のキャラクタが立ち姿勢で表示される。この時点で図38に示すプログラムが開始され、そのプログラムに示されているステップが実行される。図39のプログラムは、協調モードと対戦モード間の切り換えを制御する。
[プレーフィールド位置交換グラフィックの概要]
本発明は、上記の動作の分割図面モードを含むものである。画面表示は2つの等しいサイズの画面表示に上下に分割され、そこでゲームキャラクタは互いに対戦が可能となる。2つの画面の各々は同一プレーフィールドの異なる領域を表示することができる。上側画面表示は、1つのゲームキャラクタを表示する。下側画面表示は、もう1つのゲームキャラクタを表示する。第1のキャラクタは、1つのコントローラを操作する一人のユーザによって制御される。第2のキャラクタは、もう1つのコントローラを操作するもう一人のユーザによって制御される。上側および下側画面はプレーフィールドの異なる領域を表示することができる。上側画面は、下側画面とは別個にスクロールを表示する。
ある種のビデオゲームにおいては、例えば、対戦するプレーヤは別々のコントローラを操作して異なるキャラクタの動きをプレーフィールドを通じて制御する。二人のプレーヤは、例えば、彼らのキャラクタをプレーフィールドを通じて対戦させたり、障害を乗り越えて得点を積み上げたり、敵を殺害したり、“魔法のリング”を集めたりすること、等によって対戦する。そのキャラクタがプレーフィールドの最大領域を渡ったプレーヤ、あるいは最大得点を得たプレーヤが勝ちとなる。
図42を参照して説明する。例えば、上側画面はAと表示されたプレーフィールド領域を表示することができ、下側画面はBで表示されたプレーフィールド領域を表示することができる。この例においては、領域Aと領域Bが重なり合っている。図41の説明図においては、上側画面がプレーフィールド領域Aにおける第1のキャラクタを描き、下側画面領域がプレーフィールド領域Bにある第2のキャラクタを描いている分割画面表示が示されている。そのプレーフィールド内には、テレポートボックスと呼ぶ入替えアイテム(Exchange Object)がある。キャラクタスプライトの1つが入替えアイテムの規定の近接範囲内にあるとき、プレーフィールドの2つのキャラクタの位置およびそれらのステータス情報の多くが交換される。このようにして、後方に遅れたキャラクタはもう一方のキャラクタとプレーフィールド位置を交代することができる。入替えアイテムはしたがって、ゲームの対戦に新たな戦略の検討を強いるものとなる。
図41において、上側画面の第1のキャラクタは下側画面の第2のキャラクタの後方にある。これは2つの画面表示における地形から明らかである。キャラクタは左から右へ動きながら、プレーフィールドを通じて前進する。上側画面においては、第1のキャラクタはまだ同じ山を横断していない。下側画面では、第2のキャラクタは同じ山をちょうど横断したところである。上側画面には1つの入替えアイテムがある。第1のキャラクタがそれに接触すると、図43A−Bのコンピュータプログラムのフロー図との関連で以下に述べるように、第1および第2のキャラクタは図42に示す通り逆転されることになる。
[入替えアイテムの制御]
図43A−Bを参照して説明すると、ステップ610において、いずれかのゲームキャラクタが入替えアイテムにアクセスしたかどうか、判定される。もしアクセスしていれば、ステップ612において第1および第2のキャラクタに対する一定のカレントステータス情報が交換される。すべてのステータス情報が交換されるわけではなく、例えば、交換される情報には外観を決定づけているグラフィックパターンのような各々のキャラクタに固有の情報は含まれない。例えば、スプライト動画を表すスプライトパターンの数は交換されない。ステップ612の間に、キャラクタスプライトステータス情報は、RAM42における1つのキャラクタのステータス情報バッファとRAM42におけるもう1つのキャラクタのステータス情報バッファとの間で転送が実際に行われる。
ステップ614において、各プレーヤにおけるマスタ数とパターン数が初期化されて2つの第1および第2のキャラクタが交換の後に続く立ち姿勢で示される。ステップ616において、上側画面スクロールバッファと下側画面スクロールバッファとの間でスクロールパターン情報が転移される。ステップ618において、上側画面スクロールバッファと下側画面スクロールバッファとの間で動作設定数が交換される。動作設定数は、任意の与えられた時間においてRAM42に実際に記憶された画面を表す。本実施例においては、1つのプレーフィールドは図2に示すように水平方向に60画面、垂直方向に8画面であることが思い出されよう。各プレーフィールドは、動作設定数によって識別される領域数を備えている。1つの動作設定数によって指定されるプレーフィールド領域は、任意の与えられた瞬間において単一の分割画面もしくは全画面上に表示することのできるプレーフィールドの一部より大きい。本実施例においては、一度に1画面しか表示されないが、任意の与えられた時間において複数の動作設定数領域がRAM42に記憶される。この追加プレーフィールド表示情報は、高速のキャラクタの動きや方向変化を収容するようにRAM42に記憶される。例えば、キャラクタが、それ以前には表示されていなかった新しいプレーフィールドへ移動する場合、新しいプレーフィールド領域表示情報はRAM42において簡単に利用できる状態となる。新しいプレーフィールド表示情報をROM58からRAM42へ転送する必要は生じない。したがって、キャラクタが新しいプレーフィールド領域へ移動する際、認められるような遅延あるいは不連続は発生しない。
ステップ620において、キャラクタ間で優先情報が交換される。ステップ622において、ある種のイベントについてはフラグが調整される。より詳細には、キャラクタの衝突情報に変化を生ぜしめるA/Bの衝突切り換えの後でのキャラクタの通過といったイベントがある。また、キャラクタに特殊な外観をとらせるプレーフィールドのある領域に進入したキャラクタといったイベントもある。例えば、本実施例においては、画面の1つは“カジノの夜”として知られている。第1のキャラクタがカジノの夜の画面にあるとき、カジノの夜はピンボール機の形をとるのでキャラクタはピンボールの形状となる。こうして、キャラクタがカジノの夜の画面を通る際には、ピンボール像を作成するのに使用されるパターン情報がキャラクタを描写するために使用される。ステップ622でセットされるフラグは、上記のような特殊なイベントのトラックを保持するフラグである。特定のプレーフィールドあるいはビデオゲームのそれぞれの固有の表現形式に応じてセットされるべき他の特殊なイベントフラグが存在しうることは、当業界の通常の技術を有する者には理解されるであろう。
ステップ624において、バリヤおよび無敵として知られるモードがキャラクタに対して設定される。本実施例においては、キャラクタの1つに対してこれらのモードを設定するには、キャラクタを無敵として描くある一定のグラフィックを用いてキャラクタが表示されることとなるルーチンが呼び出される。あるキャラクタが無敵モードにあるとき、例えばそのキャラクタは容易に“殺される”ものとはなることがない。ステップ626において、第1のキャラクタが旋回しているかどうかが判定される。もし旋回していれば、第1のキャラクタの激突模様がステップ628で低減され、ステップ630において、第2のキャラクタが旋回しているかどうかが選定される。もし旋回していれば、ステップ632において第2のキャラクタの激突規模が減される。繰り返せば、ゲームの特定の特徴に応じて他の特殊なモードが存在しうることは当業界の通常の技術を有する者には理解されるであろう。
図43Bを参照し、ステップ634において、キャラクタがある“イベント”上に乗っているかどうかが判定される。本実施例においては、1つのイベントとは、動いているプラットフォームやシャトルループなどのプレーフィールド物体あるいは障害物を指す用語である。キャラクタがあるイベントに乗っているとき、その期間におけるキャラクタ動作に対しては特別な考慮を払わなければならない。例えば、もしキャラクタがシャトルループを横断している場合、その制御は衝突情報でなくオフセットテーブル入力に応じて決まってくる。
第1のキャラクタがあるイベントに乗っている場合、ステップ636で第1のキャラクタ乗車フラグがセットされる。ステップ638において、第2のキャラクタがあるイベントに乗っているかどうかが判定される。もし乗っていれば、ステップ640で第2のキャラクタの乗車フラグがセットされる。ステップ642において、TV画面表示を不活性化するフラグがセットされ、その間にスクロールフィールドが交換される。ステップ644では、設定動作停止フラグが両キャラクタに対してセットされ、両キャラクタは一時停止する。ステップ648および650において、そのカウントが1つずつカウントダウンされ、さらにステップ652において、カウントが完了しスクロール画面が更新されたとき、TV画面表示が再びオンとなる。TV画面表示は、情報交換を収容するため、また交換がいま発生したことを気づかせる時間を人間プレーヤに与えるためという2つの目的において一時的にオフされる。ステップ654において、2つのキャラクタに対する動作フラグが再びセットされる。
図44はテレポートボックスを図示している。本実施例において、このテレポートボックスは画面上に見ることのできる入替えアイテムである。キャラクタがそれに飛び乗ってこのボックスに接触すると、ボックスは“破壊”される。キャラクタがそれに接触する前にはボックスは図44のような外観であるが、キャラクタがそれに接触し、“破壊”した後ではボックスは図45のような外観となる。ボックスは、ある高さに到達するまで上方に浮遊する。その高さに達すると、上に述べた交換が発生する。これにより、ゲームプレーヤは、交換がいま発生しようとしているということを知る。
本発明の特定の実施例についで詳細に述べてきたが、本発明の精神および範囲を逸脱することなく上記実施例に対する種々の変更態様が可能である。例えば、シャトルループは、360度以上または以下にねじれた通路を画定するものであってもよいであろう。かくして、本発明は添付の請求の範囲によってのみ限定される。
【産業上の利用可能性】
以上のように、本発明によれば、前後に傾斜したり、左右に傾斜したり、上下が逆転した、通路セグメントを表示することができるので、ビデオゲームの内容が飛躍的に高度化し、また、リアリティも向上する。
Claims (3)
- ゲームプログラムを制御部が実行することにより、ゲームキャラクタがプレイフィールドを移動する画像を表示するように構成され、第1及び第2のコントローラを有するゲーム装置における、キャラクタ動作制御方法であって、
前記ゲーム装置が、第1のコントローラからの入力信号に基づくコマンドに応答して第1のキャラクタを動作させ、該第1のキャラクタが動作する画像を表示手段に表示させる第1ステップと、前記コマンドをメモリに格納する第2ステップと、前記第1のキャラクタを前記コマンドに応答して動作させる画像を表示した所定時間後に、前記格納されたコマンドに応答して第2のキャラクタを動作させ、該第2のキャラクタが動作する画像を表示手段に表示させる第3ステップと、を実行する第1のモードと、
前記ゲーム装置が、第1のコントローラからの入力信号に基づくコマンドに応答して第1のキャラクタを動作させ、該第1のキャラクタが動作する画像を表示手段に表示させる第4ステップと、第2のコントローラからの入力信号に基づくコマンドに応答して第2のキャラクタを動作させ、該第2のキャラクタが動作する画像を表示手段に表示させる第5ステップと、を実行する第2のモードと、があり、
さらに、前記ゲーム装置が前記第2のコントローラからの入力信号が入力されたか否かを判断し、入力された場合は第2のモードを実行し、前記ゲーム装置が前記第2のコントローラからの入力信号が所定時間以上なかったか否かを判断し、該所定時間以上前記第2のコントローラからの入力信号が入力されなかった場合、第1のモードを実行するように構成されてなる、
ことを特徴とする、ゲーム装置における、キャラクタ動作制御方法。 - 前記第2のモードの前記第4及び5ステップの際、
前記ゲーム装置が、プレイフィールド内で第2のキャラクタが第1のキャラクタから一定距離以上に遅れてしまったかどうかを周期的に判断する第6ステップを更に実行するように構成され、前記前記プレイフィールド内で第2のキャラクタが第1のキャラクタよりも一定距離以上に遅れたと判断されたときは、前記ゲーム装置が、前記プレイフィールド内で第2のキャラクタを第1のキャラクタに近づくように移動表示する、ように構成された、請求項1記載の方法。 - 前記第2のモードの前記第4及び第5ステップの際、前記プレイフィールド上で前記第2のキャラクタが前記第1のキャラクタよりも遅れて表示画面の視界から消えた場合、前記ゲーム装置は、前記プレイフィールド上で前記第2のキャラクタを第1のキャラクタに近づけて表示画面で見られるように移動する第6ステップをさらに実行するように構成されてなる、請求項1記載の方法。
Applications Claiming Priority (8)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US97957092A | 1992-11-20 | 1992-11-20 | |
US97969892A | 1992-11-20 | 1992-11-20 | |
US97957892A | 1992-11-20 | 1992-11-20 | |
US97957792A | 1992-11-20 | 1992-11-20 | |
US07/979570 | 1992-11-20 | ||
US07/979698 | 1992-11-20 | ||
US07/979578 | 1992-11-20 | ||
US07/979577 | 1992-11-20 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP51297094A Division JP3731164B2 (ja) | 1992-11-20 | 1993-11-19 | 表示制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002355440A JP2002355440A (ja) | 2002-12-10 |
JP3724569B2 true JP3724569B2 (ja) | 2005-12-07 |
Family
ID=27506049
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP51297094A Expired - Fee Related JP3731164B2 (ja) | 1992-11-20 | 1993-11-19 | 表示制御方法 |
JP2001402790A Expired - Fee Related JP3724569B2 (ja) | 1992-11-20 | 2001-12-17 | 表示制御方法 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP51297094A Expired - Fee Related JP3731164B2 (ja) | 1992-11-20 | 1993-11-19 | 表示制御方法 |
Country Status (9)
Country | Link |
---|---|
EP (2) | EP0680776A4 (ja) |
JP (2) | JP3731164B2 (ja) |
KR (1) | KR100308859B1 (ja) |
CN (1) | CN1048908C (ja) |
AU (4) | AU677802B2 (ja) |
BR (1) | BR9307490A (ja) |
CA (3) | CA2149876C (ja) |
DE (1) | DE69334356D1 (ja) |
WO (1) | WO1994012255A1 (ja) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6712703B2 (en) | 1998-11-19 | 2004-03-30 | Nintendo Co., Ltd. | Video game apparatus and information storage medium for video game |
JP3647797B2 (ja) * | 2001-11-28 | 2005-05-18 | コナミ株式会社 | 画像表示プログラム、画像表示方法及びビデオゲーム装置 |
KR20030004256A (ko) * | 2002-12-11 | 2003-01-14 | 주식회사 넥시브 | 현실세계와 같은 자연스러운 움직임을 갖는 실시간 플래시아바타의 구현방법 |
JP4331039B2 (ja) * | 2004-03-31 | 2009-09-16 | 株式会社バンダイナムコゲームス | プログラム、情報記憶媒体及びゲーム装置 |
JP2006271784A (ja) * | 2005-03-30 | 2006-10-12 | Konami Digital Entertainment:Kk | ゲーム装置、ゲーム制御方法、ならびに、プログラム |
KR100724939B1 (ko) * | 2005-06-20 | 2007-06-04 | 삼성전자주식회사 | 카메라부를 이용한 유저 인터페이스 구현 방법 및 이를위한 이동통신단말기 |
CN100410955C (zh) * | 2005-09-30 | 2008-08-13 | 腾讯科技(深圳)有限公司 | 在二维游戏场景中实现跟随的方法及装置 |
JP4799144B2 (ja) * | 2005-11-18 | 2011-10-26 | 任天堂株式会社 | ゲームプログラムおよびゲーム装置 |
US7778492B2 (en) | 2006-04-04 | 2010-08-17 | Oldford Group Limited | System and method for scaling digital images |
JP5247022B2 (ja) * | 2006-12-01 | 2013-07-24 | 株式会社スクウェア・エニックス | ゲーム装置、ゲームプログラム |
CN102663802B (zh) * | 2012-04-20 | 2016-05-18 | 北京像素软件科技股份有限公司 | 一种游戏地形道路生成方法和装置 |
CN110193198B (zh) * | 2019-05-23 | 2023-02-10 | 腾讯科技(深圳)有限公司 | 对象跳跃控制方法、装置、计算机设备及存储介质 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4026555A (en) * | 1975-03-12 | 1977-05-31 | Alpex Computer Corporation | Television display control apparatus |
JPS58121091A (ja) * | 1982-01-14 | 1983-07-19 | 池上通信機株式会社 | 立体感表示方式 |
GB2133257B (en) * | 1982-12-22 | 1987-07-29 | Ricoh Kk | T v game system |
JPH0644950B2 (ja) * | 1984-08-30 | 1994-06-15 | カシオ計算機株式会社 | 電子ゲーム装置 |
JPS61113489A (ja) * | 1984-11-08 | 1986-05-31 | 大平技研工業株式会社 | テレビゲ−ム機 |
JPH0691916B2 (ja) * | 1985-07-30 | 1994-11-16 | カシオ計算機株式会社 | アニメ−シヨン制御装置 |
US4738451A (en) * | 1986-05-20 | 1988-04-19 | Atari Games Corporation | Multi-player, multi-character cooperative play video game with independent player entry and departure |
US5103499A (en) * | 1986-07-18 | 1992-04-07 | Commodore-Amiga, Inc. | Beam synchronized coprocessor |
US4841291A (en) * | 1987-09-21 | 1989-06-20 | International Business Machines Corp. | Interactive animation of graphics objects |
AU5844590A (en) * | 1989-06-02 | 1991-01-07 | Atari Corporation | System and method for sprite control block structure |
US5080377A (en) * | 1990-05-31 | 1992-01-14 | Rare Coin-It, Inc. | Video display system |
JP3274682B2 (ja) * | 1990-08-27 | 2002-04-15 | 任天堂株式会社 | 静止画像表示装置およびそれに用いる外部記憶装置 |
US5317505A (en) * | 1990-12-19 | 1994-05-31 | Raznik Karabed | Game controller capable of storing and executing stored sequences of user playing button settings |
US5415549A (en) * | 1991-03-21 | 1995-05-16 | Atari Games Corporation | Method for coloring a polygon on a video display |
-
1993
- 1993-11-19 JP JP51297094A patent/JP3731164B2/ja not_active Expired - Fee Related
- 1993-11-19 KR KR1019950702050A patent/KR100308859B1/ko not_active IP Right Cessation
- 1993-11-19 EP EP94900293A patent/EP0680776A4/en not_active Withdrawn
- 1993-11-19 CA CA002149876A patent/CA2149876C/en not_active Expired - Fee Related
- 1993-11-19 EP EP02004988A patent/EP1241657B1/en not_active Expired - Lifetime
- 1993-11-19 CA CA002552026A patent/CA2552026C/en not_active Expired - Fee Related
- 1993-11-19 WO PCT/JP1993/001705 patent/WO1994012255A1/ja not_active Application Discontinuation
- 1993-11-19 AU AU55342/94A patent/AU677802B2/en not_active Ceased
- 1993-11-19 BR BR9307490A patent/BR9307490A/pt not_active Application Discontinuation
- 1993-11-19 CA CA002481815A patent/CA2481815C/en not_active Expired - Fee Related
- 1993-11-19 DE DE69334356T patent/DE69334356D1/de not_active Expired - Lifetime
- 1993-11-20 CN CN93114963A patent/CN1048908C/zh not_active Expired - Fee Related
-
1997
- 1997-02-04 AU AU12502/97A patent/AU685719B2/en not_active Ceased
- 1997-02-10 AU AU12503/97A patent/AU699445B2/en not_active Ceased
- 1997-02-10 AU AU12504/97A patent/AU699326B2/en not_active Ceased
-
2001
- 2001-12-17 JP JP2001402790A patent/JP3724569B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
KR950704017A (ko) | 1995-11-17 |
AU5534294A (en) | 1994-06-22 |
EP1241657A3 (en) | 2007-12-26 |
CA2149876A1 (en) | 1994-06-09 |
KR100308859B1 (ko) | 2002-10-25 |
CN1048908C (zh) | 2000-02-02 |
AU699326B2 (en) | 1998-12-03 |
EP1241657A2 (en) | 2002-09-18 |
AU699445B2 (en) | 1998-12-03 |
JP2002355440A (ja) | 2002-12-10 |
AU1250397A (en) | 1997-03-20 |
JP3731164B2 (ja) | 2006-01-05 |
AU1250297A (en) | 1997-03-20 |
EP0680776A1 (en) | 1995-11-08 |
DE69334356D1 (de) | 2011-06-01 |
BR9307490A (pt) | 1999-05-25 |
CN1091989A (zh) | 1994-09-14 |
CA2481815C (en) | 2008-11-18 |
AU677802B2 (en) | 1997-05-08 |
AU1250497A (en) | 1997-03-27 |
WO1994012255A1 (en) | 1994-06-09 |
CA2552026C (en) | 2007-07-10 |
EP1241657B1 (en) | 2011-04-20 |
CA2149876C (en) | 2005-01-18 |
CA2481815A1 (en) | 1994-06-09 |
CA2552026A1 (en) | 1994-06-09 |
AU685719B2 (en) | 1998-01-22 |
EP0680776A4 (en) | 1998-10-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5411270A (en) | Split-screen video game with character playfield position exchange | |
US5513307A (en) | Video game with switchable collision graphics | |
US5405151A (en) | Multi-player video game with cooperative mode and competition mode | |
US5470080A (en) | Multi-player video game apparatus with single screen mode and split screen mode | |
US5411272A (en) | Video game with spiral loop graphics | |
JP3724569B2 (ja) | 表示制御方法 | |
JP3745475B2 (ja) | ゲーム装置及び画像処理装置 | |
US6652384B2 (en) | Image processing device for placing a player character in a virtual space | |
EP0911069B1 (en) | Video game system using radar picture | |
US6280323B1 (en) | Device, method and storage medium for displaying penalty kick match cursors in a video soccer game | |
US6676518B1 (en) | Image generating device, an image generating method, a readable storage medium storing an image generating program and a video game system | |
JP5136742B2 (ja) | 電子遊戯装置、電子遊戯用制御方法およびゲームプログラム | |
JP2538488B2 (ja) | ゲ−ム装置 | |
US20080125220A1 (en) | System and method of a game that shares a specific property of a character with team members | |
US6419580B1 (en) | Player object displayed in second configuration even if cursor moves outside prescribed area | |
Wolf | 5 Narrative in the Video Game | |
Oliveira et al. | A framework for metroidvania games | |
JP2775334B2 (ja) | ゲーム装置 | |
JPH06277361A (ja) | マルチプレーヤ用ゲーム装置 | |
JP7450964B2 (ja) | ゲームプログラム、ゲーム処理方法、及びゲームシステム | |
Adams | Fundamentals of Action and Arcade Game Design | |
Lendino | Adventure: The Atari 2600 at the Dawn of Console Gaming | |
JP4205118B2 (ja) | ゲームプログラム、ゲーム装置及びゲーム制御方法 | |
KR101028336B1 (ko) | 게임 프로그램을 기록한 컴퓨터로 읽을 수 있는 매체, 게임 장치 및 게임 제어 방법 | |
JP4067584B2 (ja) | 3次元ゲーム装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040412 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040611 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050428 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050627 |
|
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: 20050831 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050913 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080930 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090930 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090930 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100930 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100930 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110930 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110930 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120930 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120930 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120930 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120930 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120930 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130930 Year of fee payment: 8 |
|
LAPS | Cancellation because of no payment of annual fees |