(57)【特許請求の範囲】
【請求項１】
属性値を有する画像要素：セルの集合で構成された背景画面上をプレーヤーが操作するプレーヤーキャラクタが移動する画像処理方法において、前記プレーヤーキャラクタに複数の階層の属性値を設定し、前記背景画の画像要素において前記プレーヤーキャラクタの階層の属性値に応じて行動範囲、表示の優先順位などを示す構造の属性値を設定し、前記プレーヤーキャラクタの属性値と対応する前記背景画の画像要素の属性値に基づいて画面処理を行うことを特徴とする階層変換画像処理方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、テレビジョンやパソコンディスプレイ等の表示装置を有する家庭用ゲーム機またはパーソナルコンピュータ（パソコン）に関する。
【０００２】
【従来の技術】
図１は家庭用テレビゲーム機本体１の基本ハードウェア構成である。ＣＰＵ６は中央演算処理装置で、ゲーム機の核となる部分である。外部記憶装置２から読み取ったプログラムやデータはいったんＲＡＭ７に展開され、ＣＰＵ６の解析によってプログラムが実行する。外部記憶装置２から読み取った画像データあるいはプログラムで作成された画像データはＶＤＣ８（ビデオディスプレイコントローラ）に送られて、ディスプレイに表示できるような画像データに加工（定義）される。
【０００３】
ＶＤＣ８で加工されたデータはＶＲＡＭ１０にいったん蓄えられる。ＶＤＣ８で定義され、ＶＲＡＭ１０に蓄えられるデータはバックグラウンド（背景画）とスプライト（ゲームの主人公等）別に分けられ、表示パターン、ディスプレイ３上の表示位置、表示色などの情報が付加される。ＶＣＥ９（ビデオカラーエンコーダ）は、ビデオ出力ポートを通じてＶＤＣ８から送られてくるデジタルカラー画像信号を、ＶＣＥ９内にもっているカラーパレット情報をもとにＣＲＴアナログＲＧＢ信号および映像色信号にし、インターフェイス５（Ｉ／Ｆ）を通して外部の映像装置３に出力する。
【０００４】
一方、ＣＰＵで解析された音楽とか擬音などの音情報はＰＳＧ１１（プログラムサウンドジェネレータ）で、ステレオ回路構成、ノイズ発生回路、低周波数発生回路などの機能によって画像と一体になった効果音としてスピーカ４に出力される。一般に家庭用テレビゲーム機１では出力装置としてテレビが使用されるから、画像表示装置３とスピーカ４は同一装置ということになる。このようなことから、家庭用テレビゲーム機１はテレビゲーム機あるいはビデオゲーム機ともよばれている。
【０００５】
家庭用テレビゲーム機では画像と音は重要な要素である。そこでＣＰＵの性能をカバーするために、ゲーム機では画像処理用と音声処理用に専用のＬＳＩを備えている。図１で示したＶＤＣ８、ＰＳＧ１１は専用ＬＳＩである。たとえば、先にも触れたスプライトとは一定サイズ（通常１６×１６ドット）のグラフィックデータのことであり、画面上に自由に配置し、高速で動かすことができる機能である。この機能をスプライト機能といい、画像処理ＬＳＩがこの機能をサポートしている。
【０００６】
また家庭用テレビゲーム機ではメモリ容量が少ないために、１枚の絵をパーツに分け、それをジグソーパズルのように張り合わせて絵を完成している。このパーツをＢＧまたはキャラクタとよび、８×８ドット構成のデータとして管理している。これをＢＧ機能とよぶ。安価な家庭用テレビゲーム機で多く画像データを高速で動かせるのは、このスプライト機能とＢＧ機能専用のＬＳＩを登載しており、ハードウェア的に画像データを処理しているからである。
【０００７】
多くのゲームにおいては、プレーヤーが通常、キャラクタとよばれる表示物を操作することによってゲームが進行する。このキャラクタは人間だけでなく、怪物、レーシングカー、戦闘機等、ゲームの種類によって様々な種類がある。そこでここでは、プレーヤーが操作するキャラクタ（主人公）をプレーヤーキャラクタ、すなわちＰＣとよぶことにする。
【０００８】
ＰＣが移動しようとする場合、移動できないような箇所が設定されることがある。例えば、川や崖のような障害物である。これまでの方法では、地形の絵（マップ）に地形の属性（アトリビュート）を設定し、プログラム上ではＰＣの座標（ｘ，ｙ，ｚ）と地形の座標（Ｘ，Ｙ，Ｚ）と属性をチェックして通行が可能かどうかを判断していた。
【０００９】
図２は背景のアトリビュートの値を示す図である。図中、数値はセルごとのアトリビュートの値：属性値であり、００の部分は通行可能な場所、０１は通行不可能な場所、０２は踏むとダメージを受ける場所というように、それぞれの属性をもっており、背景と対応した位置でセルのアトリビュートが設定されている。
【００１０】
プログラムは、ＰＣが隣のセルに動こうとしたときに、動こうとする先のアトリビュートを検出し、それが０１ならＰＣをその方向に向くだけで動かさないという処理を行う。０１以外なら動かす。ただし０２の場合には、動かしたあとでＰＣにダメージを与えるという処理を行う。このように、セルとそのアトリビュートとの関係だけでＰＣの行動パターンを記述できる。
【００１１】
このようにしてＰＣの移動を表示できるが、厄介なのは背景に立体的な階層がある場合である。たとえば図３のような立体交差の道があるとすると、ＰＣの現在地と道の属性を常に把握しておき、通行可能かどうかを判断しなければならない。図の例では、まる印で記述した部分が通行可能であり、ばつ印で記述した部分は通行不可能である。
【００１２】
橋の部分では道が十字路のようになっているために、単に平面的に判断すると通行可能となる。上記のように常に地形の座標と種類を判断してプログラムを組めばよいが、それではプログラムが煩雑になるし、またプログラム実効時の処理時間が掛かる。そこで従来はプログラム的に簡単にするために、以下のような処理をしてきた。
【００１３】
まず、図４のように上の道と下の道を分けるブロックを設ける。図では格子模様で記したところがブロックで、このブロックを横切っては通行できないことを表す。また斜線部分が橋になっていることを表している。つぎにＰＣがどこを通るか、どの位置にいるかによってマップのアトリビュートを書き換える。図の例ではＰＣは上の道と通る場合と下の道を通る場合が考えられる。すなわち行動として、
【００１４】
0003571452.tif 000002
【００１５】
のように分けられる。ここでＰＣはばつ印のアトリビュートをもつセルを越えて行動することができない。プログラムであらかじめＰＣの位置または行動によってアトリビュートを書き換えておき、ＰＣの行動を規制するのである。このようにしておけば、プログラム上でいちいちＰＣの座標や地形をチェックしなくても、通る位置が自動的に、といってもアトリビュートのチェックは必要であるが、ＰＣの行動範囲を規定することができる。
【００１６】
なお表示優先順位とは画面上の表示優先順位を示すもので、ＰＣが橋に差し掛かったとき、Ａ（橋の上を通過）の場合にはＰＣを優先的に表示し、Ｂ（橋の下を通過）の場合は橋を優先表示する。すなわち、橋の下を通過するときには、一時的にＰＣが見えない状態になる。
【００１７】
【発明が解決しようとする課題】
従来技術で、画面上に表示された地形（マップ）上をキャラクタ（とくにプレーヤーキャラクタ＜ＰＣ＞）が動作するときのプログラム上の扱い方を説明したが、マップ上の構成物の座標と種類をＰＣの動作ごとにチェックすることは、プログラム上は非常に煩雑なロジックになり、処理時間の掛かるものである。
【００１８】
またそれを改良した形として、ＰＣの行動または位置によってあらかじめ行動範囲を規制するマップアトリビュートの書き換えは、ＰＣを動作させるには便利な記述方法であり、この部分だけを考えればプログラムの記述は簡略され、処理速度も速い。
【００１９】
しかし、マップアトリビュートを状況に合わせて書き換えるチェックは依然として残るために、この処理記述の煩雑さは依然として残されている。また状況の変わるごとに、チェックとマップアトリビュートの書き換えが必要となり、時間が掛かる処理となっている。
【００２０】
以上の理由から、従来は複雑な地形をマップ化することはプログラム的にも、また処理時間的にも負荷の多いものとなり、簡略化された地形にせざるを得なかった。とくに家庭用ゲーム機ではＣＰＵの処理能力から、この制約は大きな負担となていた。そこで本発明の課題としては、マップを記述する背景画の構造をそのつど複雑な判定方法を行わずに、プログラム記述が簡素化できる方法を得ることである。
【００２１】
【課題を解決するための手段】
上記の課題を解決するために、属性：アトリビュートを有する画像要素：セルの集合で構成された背景画面上をプレーヤーが操作するプレーヤーキャラクタが移動する画像表示方法において、前記プレーヤーキャラクタに複数の階層の属性値を設定し、前記背景画の画像要素：セルについて前記プレーヤーキャラクタの階層の属性値に応じて、行動範囲、表示の優先順位などを示す属性値を設定する。そしてプレーヤーキャラクタの属性値と対応する背景画の画像要素の属性値に基づいて画面処理を行うことで、階層構造を有する箇所における個別処理を行うことなく、プレーヤーキャラクタを正しく移動あるいは表示させることができる。
【００２２】
【発明の実施の形態】
本発明の実施の形態を従来技術で挙げた立体構造をもったマップの例で説明する。まず表１〜３のようにマップとＰＣに意味をもたせる。
【００２３】
【表１】
0003571452.tif 000003
【００２４】
【表２】
0003571452.tif 000004
【００２５】
【表３】
0003571452.tif 000005
【００２６】
表１および表３は、ＰＣのいる位置によってＰＣに設定される属性を表している。すなわち、ＰＣが橋より上（この場合は上の道）にいる場合は３０が設定され、地面の上（この場合は下の道）にいる場合は１０が設定される。
【００２７】
表２はセルの属性値で、ＰＣの行動を規制する。属性値の１桁目は通行可能か不可能を表し、０なら通行可能、１なら不可能とする。００は全面的に通行可能、０１は全面的に通行不可能を表す。また属性値の２桁目は種類と階層を表し、０は地面または下の道、２は橋または上の道を表す。この場合、階層とは高さを表し、表示の優先順位を示す。２０は橋、００は地面を表す。
【００２８】
表２と表３は連動しており、各層におけるＰＣの行動を規制する属性を表２で示してあり、ＰＣの位置関係を表３で示してある。ＰＣが上の道にいる場合は３０、地面にいる場合は１０と定義する。表２の１１はＰＣの属性が１０のときに通行不可を表し、３１はＰＣの属性が３０のときに通行不可を表す。
【００２９】
以上のように属性を定義しておき、従来技術で見てきた立体交差を本発明の方法で書き換えると、図７に示すようなマップアトリビュートで背景を表す。なお図中、空白部分は００が埋められているとする。ＰＣが地面（下の道）にいるときの属性は１０であるから、図８のような動きになる。
【００３０】
図中、○は通行可能を表し、×は通行不可能を表している。ＰＣの属性が１０のときは上層のマップアトリビュート２０や３１に影響を受けない。また図９はＰＣの属性が３０のときのＰＣの動きを表している。ＰＣの属性が３０のときは下層のマップアトリビュート１１には影響を受けない。ただし、０１は全面通行不可能を表すから、下層、上層にかかわらず通行できない。
【００３１】
マップアトリビュートは背景を定義するときに同時に設定されるものであるから、プログラム上ではＰＣがそのセルに来たときにＰＣの属性とマップの属性をチェックするだけで通行可能かどうかの判定が行える。すなわち、従来例で見てきたようなマップアトリビュートの書き換えやそのつど障害物の属性や種類を判断する必要はない。
【００３２】
本発明の属性値の長所は、属性だけでなく、背景の構成物の種類とその階層（高さ）が表せることである。表１に従えば、３Ｘ、２Ｘ、１Ｘ、０Ｘの順で表示の優先順序が決まっているから、ＰＣが地上にいる場合、すなわちＰＣの属性が１０の場合、橋の下（図８の２０の部分）を通過するときには、ＰＣは表示されない。ところが上の道、すなわちＰＣの属性が３０の場合、橋を通過するときには、ＰＣは表示される。プログラムでは、
0003571452.tif 000006
とする記述するだけでよいから、いたって簡単なプログラムとなる。
【００３３】
【発明の効果】
本発明の方法によれば、マップ（背景）と対応した属性をセル単位で管理でき、属性（アトリビュート）を表す属性値は、背景の構成物の性質のほかに、表示の優先順位や種類等が表現できる。また、属性値は平面的表現された背景に対しても、立体的な表現可能である。プログラミングが簡単になり、処理時間が速くなる。さらに考え方がわかりやすくなっているためにデバッグがしやすく、プログラムの開発時間が大幅に短縮できる。
【図面の簡単な説明】
【図１】従来の家庭用テレビゲーム機の基本ハードウェア構成である。
【図２】従来技術における属性値の機能を説明する図である。
【図３】従来技術における立体交差のあるマップとＰＣの行動範囲を説明する図である。
【図４】従来技術における立体交差のあるマップとＰＣの行動範囲を説明する図である。
【図５】従来技術で立体交差のあるマップとＰＣの行動範囲をプログラミングするときのアルゴリズムを説明する図である（ＰＣが上の道を通過するとき）。
【図６】従来技術で立体交差のあるマップとＰＣの行動範囲をプログラミングするときのアルゴリズムを説明する図である（ＰＣが下の道を通過するとき）。
【図７】本発明の実施例において、立体交差のあるマップと属性値を示す図である。
【図８】本発明の実施例における、ＰＣの属性とＰＣの行動範囲を説明する図である（地面上にＰＣがいる場合）。
【図９】本発明の実施例における、ＰＣの属性とＰＣの行動範囲を説明する図である（上の道にＰＣがいる場合）。
【符号の説明】
１    家庭用テレビゲーム機本体
２    外部記憶装置
３    画像表示装置
４    スピーカー
５    インターフェイス（Ｉ／Ｆ）
６    ＣＰＵ
７    ＲＡＭ
８    ＶＤＣ
９    ＶＣＥ
１０  ＶＲＡＭ
１１  ＰＳＧ
【図１】
0003571452.tif 000007
【図２】
0003571452.tif 000008
【図３】
0003571452.tif 000009
【図４】
0003571452.tif 000010
【図５】
0003571452.tif 000011
【図６】
0003571452.tif 000012
【図７】
0003571452.tif 000013
【図８】
0003571452.tif 000014
【図９】
0003571452.tif 000015