(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-07-04
(45)【発行日】2023-07-12
(54)【発明の名称】ゲームプログラム及びゲーム装置
(51)【国際特許分類】
A63F 13/52 20140101AFI20230705BHJP
A63F 13/53 20140101ALI20230705BHJP
G06T 15/40 20110101ALI20230705BHJP
【FI】
A63F13/52
A63F13/53
G06T15/40 500
(21)【出願番号】P 2021197464
(22)【出願日】2021-12-06
(62)【分割の表示】P 2019097529の分割
【原出願日】2019-05-24
【審査請求日】2022-01-18
(73)【特許権者】
【識別番号】000129149
【氏名又は名称】株式会社カプコン
(74)【代理人】
【識別番号】100097113
【氏名又は名称】堀 城之
(74)【代理人】
【識別番号】100162363
【氏名又は名称】前島 幸彦
(74)【代理人】
【識別番号】100194283
【氏名又は名称】村上 大勇
(72)【発明者】
【氏名】黒羽 祐介
(72)【発明者】
【氏名】高木 康行
【審査官】西村 民男
(56)【参考文献】
【文献】特開2013-97473(JP,A)
【文献】特開2012-38132(JP,A)
【文献】特開2011-221851(JP,A)
【文献】特開2007-26112(JP,A)
【文献】特開2003-290550(JP,A)
【文献】特開2003-85581(JP,A)
【文献】米国特許第11443404(US,B1)
(58)【調査した分野】(Int.Cl.,DB名)
A63F 9/24,13/00-13/98
G06F 3/01, 3/048-3/04895
G06T 1/00,11/00-11/40,
11/60-13/80,
15/00-17/00,17/05,17/10-17/30,
19/00-19/20
(57)【特許請求の範囲】
【請求項1】
記憶部及び表示部を備えるゲーム装置により実行されるゲームプログラムであって、前記ゲーム装置を、
描画バッファの座標値に対応して、描画されている複数のオブジェクトを識別するための識別値を含む識別バッファを作成する識別バッファ作成手段と、
三次元空間内の前記複数のオブジェクトを、仮想カメラからみたシーンに変換し、深度テストをしながら前記描画バッファへ描画するシーン描画手段と、
前記識別バッファ作成手段により作成された前記識別バッファの前記識別値に対応して、前記シーン描画手段による前記シーンの描画後に、
特定オブジェクトのうち他のオブジェクトに隠蔽された
箇所を再描画する再描画手段として機能させ、
前記再描画手段は、
前記識別バッファの前記識別値に対応して
前記隠蔽された箇所を再描画するか否かを判断し、再描画すると判断した場合は前記
隠蔽された箇所を前記描画バッファに描画
する
ゲームプログラム。
【請求項2】
前記再描画手段は、前記特定オブジェクトのうち前記他のオブジェクトの前記識別値に対応する箇所を再描画する
請求項1に記載のゲームプログラム。
【請求項3】
前記再描画手段は、
前記深度テストを実行することなく 前記再描画を実行する
請求項
1又は2に記載のゲームプログラム。
【請求項4】
前記再描画手段は、
前記識別値が第一値である場合には前記隠蔽された箇所を再描画し、前記識別値が第二値である場合には前記隠蔽された箇所を再描画しない
請求項
1乃至3のいずれか1項に記載のゲームプログラム。
【請求項5】
請求項1乃至
4のいずれか1項に記載のゲームプログラムを記憶した記憶部と、
前記ゲームプログラムを実行するコンピュータとを備える
ゲーム装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ゲームプログラム及びゲーム装置に関する。
【背景技術】
【0002】
従来、3D(三次元)空間のアクションゲーム等では、仮想カメラを用いて、プレイヤキャラクタや敵キャラクタ等を含むオブジェクトが三次元空間に描画される。
このような三次元空間に描画されるゲームでは、建物、壁、地形等のオブジェクト(以下、単に「地形」という。)に、プレイヤキャラクタが隠されてしまうと、見づらくなることがある。
【0003】
これについて、特許文献1には、地形のオブジェクト上に、単色の目印の画像を別途描画して、プレイヤキャラクタの位置をユーザに知らせる技術が記載されている。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、特許文献1の技術では、地形以外の敵キャラクタ等のオブジェクトの奧にプレイヤキャラクタ等が隠蔽された場合、この位置が分かるように描画することはできなかった。
【0006】
本発明は、このような状況に鑑みてなされたものであって、上述の問題点を解消するゲームプログラムを提供することを課題とする。
【課題を解決するための手段】
【0007】
本発明のゲームプログラムは、記憶部及び表示部を備えるゲーム装置により実行されるゲームプログラムであって、前記ゲーム装置を、描画バッファの座標値に対応して、描画されている複数のオブジェクトを識別するための識別値を含む識別バッファを作成する識別バッファ作成手段と、三次元空間内の前記複数のオブジェクトを、仮想カメラからみたシーンに変換し、深度テストをしながら前記描画バッファへ描画するシーン描画手段と、前記識別バッファ作成手段により作成された前記識別バッファの前記識別値に対応して、前記シーン描画手段による前記シーンの描画後に、特定オブジェクトのうち他のオブジェクトに隠蔽された箇所を再描画する再描画手段として機能させ、前記再描画手段は、前記識別バッファの前記識別値に対応して前記隠蔽された箇所を再描画するか否かを判断し、再描画すると判断した場合は前記隠蔽された箇所を前記描画バッファに描画するゲームプログラムであることを特徴とする。
本発明のゲームプログラムは、前記再描画手段は、前記特定オブジェクトのうち前記他のオブジェクトの前記識別値に対応する箇所を再描画するゲームプログラムであることを特徴とする。
本発明のゲームプログラムは、前記再描画手段は、前記深度テストを実行することなく 前記再描画を実行するゲームプログラムであることを特徴とする。
本発明のゲームプログラムは、前記再描画手段は、前記識別値が第一値である場合には前記隠蔽された箇所を再描画し、前記識別値が第二値である場合には前記隠蔽された箇所を再描画しないゲームプログラムであることを特徴とする。
本発明のゲーム装置は、前記ゲームプログラムを記憶した記憶部と、前記ゲームプログラムを実行するコンピュータとを備えるゲーム装置であることを特徴とする。
【発明の効果】
【0008】
本発明によれば、描画バッファの座標値に対応してオブジェクトを識別するための識別値を含む識別バッファを作成し、識別バッファの識別値に対応して再描画することで、敵キャラクタ等のオブジェクト単位でプレイヤキャラクタ等の位置が分かるように描画することが可能なゲームプログラムを提供することができる。
【図面の簡単な説明】
【0009】
【
図1】本発明の実施の形態に係るゲームシステムのハードウェア構成を示すブロック図である。
【
図2】
図1に示すゲームシステムの機能的構成を示すブロック図である。
【
図3】本発明の実施の形態に係る識別描画処理のフローチャートである。
【
図4】
図3に示す識別描画処理におけるシーン及び各バッファの概念図である。
【発明を実施するための形態】
【0010】
[実施形態]
本発明の実施形態に係るゲーム装置1について説明する。
ゲーム装置1は、例えば、PC(Personal Computer)、ゲーム専用機、スマートフォン等である。ゲーム装置1は、アプリケーションソフトウェア(Application Software、ネイティブ(Native)アプリ、以下、単に「アプリ」という。)をインストールし、実行することでユーザにゲームを実行(プレイ)させることが可能である。
【0011】
本実施形態で説明されるゲームの概要について、簡単に説明する。本実施形態のゲームは、仮想カメラに対応して描画される仮想空間上でプレイされる、アクションゲームの要素を含んだロールプレイングゲームである。このゲームにおいては、ユーザの分身となるプレイヤキャラクタの外観等を特定範囲で設定し、更に、多数の装備品を装備させることで、個性的に表示させることが可能である。この上で、戦闘シーンにおいて、これらの装備品を装備したプレイヤキャラクタと、モンスター(敵キャラクタ)とが戦闘する。この敵キャラクタは、巨大であったり、複数であったり、個々の動きが速かったりすることがある。
【0012】
<ハードウェア構成について>
本実施形態のゲームシステムのハードウェア構成について説明する。
【0013】
・ゲーム装置1のハードウェア構成
ゲーム装置1には、制御部10、記憶部11、接続部12、画像処理部13、音声処理部14、操作部15、表示部16、及び音声入出力部17を含む。
記憶部11、接続部12、画像処理部13、及び音声処理部14は、専用のバス及びインターフェイス等を介して、制御部10に接続される。
ゲーム装置1は、インストールされたゲームプログラム200及びゲームデータ210(
図2)に基づいてゲームを進行させる。
【0014】
制御部10は、ゲーム装置1の動作を制御する。
【0015】
記憶部11は、主にHDD(Hard Disk Drive)、RAM(Random Access Memory)、及びROM(Read Only Memory)で構成される。
記憶部11は、制御部10用の記録媒体と、画像処理部13用の記録媒体とを含んでいいてもよい。これらは、同一種類のRAMがUMA(Uniform Memory Access)でアクセスされても、画像処理部13専用の広帯域のRAMを含んで構成されてもよい。さらに、各記録媒体は、統一されたアドレス空間で、制御部10及び画像処理部13からアクセス可能であってもよい。
【0016】
接続部12は、LAN(Local Area Network)、インターネット等のネットワークNに接続される。
【0017】
画像処理部13は、GPU(Graphics Processing Unit)
制御部10の指示に従って、仮想空間及び各オブジェクト等を含む二次元又は三次元のゲーム画像であるシーンを、例えば、フレーム単位で描画(レンダリング、レイトレース等)する。
画像処理部13にて描画されたシーンは、表示部16に表示される。
【0018】
音声処理部14は、制御部10の指示に対応して、音声データを再生及び合成し、D/A(Digital to Analog)変換してゲーム音声として出力する。ゲーム音声は、音声処理部14に接続された音声入出力部17のスピーカやイヤホン出力端子等から音声出力される。音声処理部14は、音声入出力部17のマイクロフォンから入力した音声信号をA/D(Analog to Digital)変換して、入力することも可能である。
【0019】
操作部15は、キーボード、マウス等のポンティングデバイス、専用又は汎用のゲーム用コントローラ、タッチパネル、加速度センサ等である。操作部15は、操作入力に関するデータを送受信することが可能である。ユーザは、操作部15により、ゲーム装置1への操作指示を行う。
【0020】
表示部16は、LCD(Liquid Crystal Display)や有機ELディスプレイ等のドットマトリクスティスプレイである。
【0021】
音声入出力部17は、スピーカ、イヤホン出力端子、マイクロフォン等である。
【0022】
上述のゲーム装置1の各部は、本実施形態のゲームプログラム200(
図2)を実行するハードウェア資源となる。
【0023】
・ゲーム装置1の制御の流れについて
次に、ゲーム装置1における、ゲーム実行時の制御の流れについて説明する。
【0024】
まず、ゲーム装置1は、ユーザの操作に基づいて、ゲームアプリであるゲームプログラム200を、光学記録媒体、フラッシュメモリ媒体、アプリがダウンロード可能なサーバー(図示せず)等からダウンロードし、インストールする。
【0025】
その後、ゲーム装置1は、ゲームプログラム200及びゲームデータ210に基づいて、ゲーム進行を行う。
ゲーム装置1は、操作部15によりユーザの指示を取得してゲームを実行する。この際に、ゲーム装置1は、ゲーム進行に伴うゲーム演出として、ゲーム画像及びゲーム音声を、表示部16及び音声入出力部17等に出力する。
【0026】
このようにして、ゲーム装置1は、ゲームを進行させる。
【0027】
<ゲームシステムXの機能的構成について>
次に、ゲームシステムXを実現するゲーム装置1の制御部10及び画像処理部13の機能的構成、及びデータの詳細構成について説明する。
【0028】
・ゲーム装置1の制御部10の機能的構成
ゲーム装置1の制御部10及び画像処理部13は、記憶部11に格納されたゲームプログラム200を実行することにより、シーン描画手段100、識別バッファ作成手段101、及び再描画手段102として機能する。
【0029】
シーン描画手段100は、オブジェクトデータ111を読み込み、三次元空間内の複数のオブジェクトを、仮想カメラからみたシーンに変換する。そして、シーン描画手段100は、深度バッファ112を作成し、これを用いて深度テストをしながらオブジェクトのポリゴンをピクセル毎に描画バッファ113へ描画する。この描画は、通常のレンダリングでもレイトレーシングでもよく、各種プログラマブルシェーダーも適用可能である。
さらに、シーン描画手段100は、操作部15からユーザの指示を取得して、このユーザの指示によりゲームの他の処理も実行する。この際、シーン描画手段100は、ゲームデータ210を基に、ゲームを進行させる。
【0030】
識別バッファ作成手段101は、識別バッファ114を作成する。本実施形態では、識別バッファ作成手段101は、シーン描画手段100による描画バッファ113の描画の際に、描画バッファ113のピクセル毎に、どのオブジェクトが描画されているかを判断する。そして、識別バッファ作成手段101は、判断したオブジェクトのID(Identification、識別値)を、当該ピクセル単位で識別バッファ114に設定する。
【0031】
再描画手段102は、識別バッファ114の識別値に対応して、特定オブジェクトを再描画する。本実施形態では、特定オブジェクトとしては、オブジェクトデータ111に含まれるプレイヤキャラクタのオブジェクトを用いる例について説明する。具体的には、再描画手段102は、特定オブジェクトの各ピクセルについて識別バッファ114の識別値を参照し、再描画するか否かを判断する。再描画手段102は、特定オブジェクトの各ピクセルについて再描画すると判断した場合は、特定のブレンド率で描画バッファ113に描画し、再描画しないと判断した場合は描画しないで破棄する。
この特定のブレンド率として、再描画手段102は、特定オブジェクトの輪郭付近では、ブレンド率を低くすることが可能である。さらに、再描画手段102は、特定オブジェクトと他のオブジェクトとの距離が近い場合には、ブレンド率を高くすることも可能である。より具体的には、再描画手段102は、ブレンド率を、描画バッファ113のピクセル深度、ピクセル法線、仮想カメラの方向、シーンの深度からなる群の一種又は任意の組み合わせから計算を行うことも可能である。
【0032】
・ゲーム装置1の記憶部11に格納されたデータの説明
ゲーム装置1は、記憶部11に、オブジェクトデータ111、深度バッファ112、描画バッファ113、識別バッファ114、ゲームプログラム200、及びゲームデータ210を格納する。
【0033】
オブジェクトデータ111は、複数のオブジェクトのデータである。この複数のオブジェクトは、プレイヤキャラクタ、敵キャラクタ、地形、背景等のシーンを構成するオブジェクト(以下、「シーンオブジェクト」と呼ぶ。)を含む。オブジェクトデータ111は、例えば、オブジェクト毎に三次元の仮想空間上の多角形(ポリゴン、メッシュ)の種類及び座標、変形用のボーン(bone)、テクスチャの画像データ、素材やライティングの設定、その他の描画に必要な情報を含んでいる。加えて、オブジェクトデータ111は、物理エンジン用やエフェクト用のデータ、その他のモデリングデータ等も含んでいる。さらに、各オブジェクトデータ111は、シーンオブジェクト毎の識別値に対応する値が設定されている。
【0034】
深度バッファ112は、描画バッファ113の各ピクセルにおける深度を示すバッファである。深度バッファ112は、例えば、仮想カメラから見た各ポリゴンについて、手前側から奥側への距離(Z値、奥行き)を示す深度値を含むZバッファ又はデプス(depth)バッファ形式のバッファを用いてもよい。この深度値のビット数は、例えば、各ピクセルについて、整数値で16~32ビット、16~32ビット浮動小数点等の値を設定可能である。
【0035】
描画バッファ113は、表示部16に表示されるゲーム画像に対応した画像データのバッファ(カラーバッファ)等である。描画バッファ113は、例えば、表示部16の性能や設定された画質に対応した解像度や色深度に設定される。加えて、描画バッファ113は、複数回描画されたり、高解像度で描画されたりしてから、アンチエイリアス処理等が行われてもよい。加えて、描画バッファ113は、表示部16が複数の視差に対応した立体視描画が可能である場合、これらの視差の数に対応して、設定することも可能である。または、描画バッファ113は、中間的な状態の画像データのバッファであってもよい。この中間的な状態としては、例えば、各種ステータス値やメニュー等が記載されていない、シーンのみの描画された状態であってもよい。
【0036】
識別バッファ114は、描画バッファ113の各ピクセルの座標値に対応して、描画されているオブジェクトを識別するための識別値を含むバッファである。この識別値は、オブジェクトを識別(区別)することを可能とする値である。具体的には、識別値は、例えば、シーンオブジェクトの番号を示す値として構成されてもよい。この際、識別値として、必ずしも一つのオブジェクトについて一つの番号を割り振るのではなく、特定のモンスター等の種別、グループ等を示す値を用いることも可能である。すなわち、識別値は、オブジェクト毎にユニークに設定されていても、種別やグループ単位で識別可能な範囲にまとめられてもよい。識別値は、例えば、識別バッファ114のビット数と対応して、4~32ビット等の単位で設定されてもよい。
【0037】
ゲームプログラム200は、ゲーム装置1を上述の機能的手段として動作させ、本実施形態のゲームを実現するためのゲームのアプリケーションソフトウェア及びミドルウェア等を含むプログラムである。ゲームプログラム200は、ゲーム自体を進行させるプログラムに加え、主に画像処理部13でシーンの描画における画像処理、陰影処理(シェーディング)を行うためのプログラマブルシェーダーのプログラムも含んでいる。このプログラマブルシェーダーは、例えば、頂点シェーダー、ピクセルシェーダー、及びレイトレーシング用のシェーダー等を含んでいる。
【0038】
ゲームデータ210は、ゲームのプレイ上に必要なデータである。このゲームデータ210は、ゲーム進行状況に関するデータを含む。ゲームデータ210により、ゲームプログラム200に含まれる各種データが選択されて、ユーザのアカウント情報に対応したゲームのプレイが実現可能となる。これに加え、ゲームデータ210は、アカウント毎のアカウント設定を含んでいてもよい。アカウント設定は、ユーザのアカウント毎のアカウントのゲーム進行状況に関する情報を含む。
【0039】
本実施形態においては、ゲームデータ210は、再描画設定211を含む。
再描画設定211は、プレイヤキャラクタ等、隠れた場合に識別可能なように再描画する特定オブジェクトの識別値を含む。さらに、再描画設定211は、この特定オブジェクトを再描画する際に隠蔽が判断される他のオブジェクトの識別値である再描画用識別値を含む。すなわち、再描画用識別値は、隠蔽された際に特定オブジェクトを再描画するかどうかの判断に用いられる他のオブジェクトの識別値である。
【0040】
加えて、ゲームデータ210は、例えば、各オブジェクトに対応する識別値、経験値、名称、攻撃や防御のパラメータ、ドロップアイテム、その他のゲームの進行に必要な値等も含んでいる。さらに、ゲームデータ210は、例えば、サムネイル等の画像データ、メニューやホーム画面のデータ、文字データ、音声データ等、ゲームをプレイするために必要な各種データを含んでいる。
【0041】
ゲーム装置1の制御部10及び画像処理部13は、記憶部11に格納されたゲームプログラム200を実行することにより、シーン描画手段100、識別バッファ作成手段101、及び再描画手段102として機能する。
【0042】
これら以外にも、記憶部11には、例えば、他のゲーム装置1に送信するアカウント情報、フレンドに関する情報、及び他ゲーム装置1から受信した他のアカウント情報等が含まれていてもよい。
【0043】
<識別描画処理について>
次に、
図3~
図6により、本実施形態のゲーム装置1の制御部10及び画像処理部13により実行される識別描画処理について説明する。
本実施形態の識別描画処理では、ゲームデータ210の再描画設定211に、特定オブジェクトとしてプレイヤキャラクタのオブジェクトが設定され、他のオブジェクトとして巨大なモンスター等の敵キャラクタが設定された例について説明する。この上で、シーンの描画が行われた際に、識別バッファ114も作成される。この際、プレイヤキャラクタのオブジェクトが、設定された敵キャラクタ等のオブジェクトに隠蔽されているか判断し、隠蔽されていた場合には、再描画して、ユーザに位置を知らせる。つまり、プレイヤキャラクタが敵キャラクタに隠蔽された場合には、特定のブレンド率で描画される。
【0044】
本実施形態の識別描画処理では、ゲーム装置1の制御部10及び画像処理部13が、ROMやHDDに格納されたゲームプログラム200をRAMに展開し、ハードウェア資源を用いて実行する。
以下で、
図3のフローチャートを参照して、ゲーム装置1による識別描画処理の詳細を、ステップ毎に説明する。
【0045】
(ステップS100)
まず、ゲーム装置1のシーン描画手段100が、シーン描画処理を行う。
シーン描画手段100は、ゲームの進行に従い、三次元空間内の複数のオブジェクトを、仮想カメラからみたシーンに変換し、深度テストをしながら描画バッファ113へ描画する、いわゆるレンダリングパイプラインを実行する。
この際、シーン描画手段100は、全てのシーンオブジェクトについて深度テストを行って描画する。
【0046】
図4により具体例について説明する。
図4(a)は、本実施形態のシーンSを示す概念図である。このシーンSでは、シーンオブジェクトとして、敵キャラクタのオブジェクトM、プレイヤキャラクタであり特定オブジェクトでもあるオブジェクトP、地形のオブジェクトであるオブジェクトGが、仮想カメラCの向きで描画される。
【0047】
具体的には、例えば、シーン描画手段100は、オブジェクトデータ111からシーンオブジェクトのデータを読み込む。そして、シーン描画手段100は、例えば、ユーザに設定された仮想カメラの位置で、オブジェクトの各ポリゴンについて頂点シェーダーの適用、ボーンによる変形、回転、物理エンジンの適用、アフィン変換等を行って描画するポリゴンの座標を算出する。そして、各ポリゴンの各ピクセルを描画する際に、深度バッファ112作成に対して深度テストを行う。この深度テストは、ピクセル毎に、深度バッファ112上の深度値を参照し、この深度値より手前(一番手前)であるか否かを判断する処理である。シーン描画手段100は、一番手前であった場合にのみ、ピクセルシェーダーを適用し、このピクセルを描画バッファ113に書き込む。この際、シーン描画手段100は、新たな深度を深度バッファ112へ書き込む。なお、シーン描画手段100は、この描画の際、レイトレーシングを行うことも可能である。
【0048】
図4(b)の例では、描画されたシーンオブジェクトについて、手前側の深度が小さい値になるよう深度バッファ112が描画される。この深度バッファ112は、描画バッファ113の座標に対応する深度バッファ112の一部を示している。この例の状態では、描画バッファ113-1において、例えば、敵キャラクタの奧にいるプレイヤキャラクタが、当該敵キャラクタに一部、隠れて描画される。すなわち、プレイヤキャラクタのオブジェクトについても、手前にオブジェクトがなく、隠れていない箇所のピクセルについては描画される。
【0049】
(ステップS101)
次に、識別バッファ作成手段101が、識別バッファ作成処理を行う。
識別バッファ作成手段101は、描画バッファ113の座標値に対応して、シーンオブジェクトを識別する識別値を設定した識別バッファ114を作成する。すなわち、識別バッファ作成手段101は、描画バッファ113の各ピクセルについて、どのオブジェクトの種類やグループ等が描画されているかを識別可能な識別値を、識別バッファ114に書き込む。つまり、識別値は、描画バッファ113の各ピクセルに描画された一番手前のオブジェクトに対応する値となる。このため、識別バッファ作成手段101は、深度テストの進行に連動して、識別バッファ114を更新することが可能である。
【0050】
図4(b)の例では、識別バッファ作成手段101は、プレイヤキャラクタ、敵キャラクタ、地形等のオブジェクトである、それぞれ「P」「M」「G」等に対応した識別値を識別バッファ114に書き込む。
【0051】
(ステップS102)
次に、再描画手段102は、特定オブジェクトの各ピクセルについて、再描画するか否かを判断する。
本実施形態の例では、再描画手段102は、再描画設定211の特定オブジェクト識別値に設定されたプレイヤキャラクタのオブジェクトを、上述のシーン描画処理と同様に、アフィン変換等し、各ポリゴンをピクセル単位で描画バッファ113上の座標に変換する。再描画手段102は、これらの各ピクセルについて、当該座標に対応する識別バッファ114の識別値を参照する。そして、再描画手段102は、この参照した識別値が、再描画設定211の再描画用識別値に設定された他のオブジェクトの識別値であるかどうか判断する。すなわち、再描画手段102は、プレイヤキャラクタと敵キャラクタとの重なり判断等を行う。
【0052】
再描画手段102は、参照した識別値が、他のオブジェクトの識別値であった場合、Yesと判断する。すなわち、再描画手段102は、例えば、プレイヤキャラクタの手前に敵キャラクタ等が描画されているピクセル(以下、「重なるピクセル」という。)であった場合、Yesと判断する。
再描画手段102は、それ以外の、参照した識別値が、再描画用識別値に設定された他のオブジェクトの識別値に含まれない場合、Noと判断する。すなわち、再描画手段102は、プレイヤキャラクタ自体が描画されていたり、地形や敵キャラクタ以外のオブジェクト等が描画されていたりするピクセル(以下、「重ならないピクセル」という。)であった場合、Noと判断する。
【0053】
Yesの場合、再描画手段102は、処理をステップS103に進める。
Noの場合、再描画手段102は、処理をステップS105に進める。この場合、再描画手段102は、重ならないピクセルには、特定オブジェクトの再描画をしない。すなわち、再描画手段102は、例えば、地形等のオブジェクト、既に描画されたプレイヤキャラクタの箇所のピクセル等については、再描画を行わない。このため、描画バッファ113は、シーン描画時の状態で保たれる。
【0054】
(ステップS103)
再描画する場合、再描画手段102が、ブレンド率算出処理を行う。
再描画手段102は、上述の重なるピクセルについて、描画バッファ113に再描画する際の特定のブレンド率を算出する。
再描画手段102は、例えば、特定オブジェクトの輪郭等のエッジ付近で低くなるように、ブレンド率を算出してもよい。
加えて、再描画手段102は、特定オブジェクトと、他のオブジェクトとの距離が近い場合には低くなるように、ブレンド率を算出してもよい。すなわち、例えば、プレイヤキャラクタと敵キャラクタとの距離が近い場合も、ブレンド率を低くすることが可能である。
【0055】
さらに、再描画手段102は、ブレンド率を、ピクセル深度、ピクセル法線、仮想カメラの方向、シーンの深度等に対応して算出してもよい。
より具体的には、再描画手段102は、例えば、ピクセルの深度が大きい場合、ブレンド率を高めにすることで、特定オブジェクトを濃く描画する。これにより、プレイヤキャラクタ等を識別しやすくすることができる。
再描画手段102は、例えば、ピクセル法線が大きい、すなわち、重なるピクセルの座標における他オブジェクトのポリゴンの向きが、仮想カメラの向きに対して水平に近い場合、ブレンド率を高めにする。これにより、プレイヤキャラクタの装備や輪郭等を際立たせることが可能となる。
再描画手段102は、例えば、仮想カメラの方向が特定オブジェクトの正面から離れている場合に、ブレンド率を高めにする。これにより、特定オブジェクトの凹凸を識別しやすくすることも可能となる。
再描画手段102は、例えば、シーンの深度が奥側の場合、ブレンド率を高めにすることで、より特定オブジェクトを識別しやすくすることも可能である。
【0056】
(ステップS104)
次に、再描画手段102は、再描画処理を行う。
本実施形態において、再描画手段102は、再度、特定オブジェクトを、深度テストなしで、算出されたブレンド率で描画バッファ113へブレンド描画する。
本実施形態においては、再描画手段102は、例えば、プレイヤキャラクタのオブジェクトの重なるピクセルのそれぞれについて、シーン描画時に使用されるテクスチャの色とは異なる単色等でブレンド描画してもよい。
【0057】
図4(b)の描画バッファ113-2は、特定オブジェクトがこのように再描画された状態を示す。このように、プレイヤキャラクタのオブジェクトPが、敵キャラクタのオブジェクトMに隠蔽されている箇所のみ、再描画がされ、識別しやすくなる。
【0058】
(ステップS105)
次に、再描画手段102が、特定オブジェクトの描画が終了したか否かを判断する。
再描画手段102は、特定オブジェクトの全てのピクセルについての上述の処理を終了した場合に、Yesと判断する。再描画手段102は、それ以外の場合には、Noと判断する。
Yesの場合、再描画手段102は、識別描画処理を終了する。
Noの場合、再描画手段102は、処理をステップS102に戻して、特定オブジェクトの再描画の判断を続ける。
【0059】
図5(a)(b)に、ゲーム画面として実際に描画された状態の画面例500、501をそれぞれ示す。画面例500では、オブジェクトMにオブジェクトPが完全に隠蔽されている状態である。画面例501は、一部のみ隠蔽されている状態である。
このように、プレイヤキャラクタのような特定オブジェクトが、巨大なモンスター等の敵キャラクタに隠蔽されて見えなくなっている場合でも、ユーザが容易に識別可能となるよう表示することができる。
【0060】
図6の画面例502は、敵キャラクタに近接しているプレイヤキャラクタであるオブジェクトPの身体の左腕等の一部が手前で、脚部等が敵キャラクタのオブジェクトMにより隠蔽されている状態の拡大図を示す。このように、隠蔽された箇所が、単なるシルエット(影)表示ではなく、濃淡のついた状態で再描画される。このため、プレイヤキャラクタが奥側にあることを、ユーザが識別しやすくなる。
【0061】
その後、シーン描画手段100は、取得したゲームデータ210に基づいて、描画バッファ113に、プレイヤキャラクタのステータス値やメニュー等を描画して、ゲーム進行を行う。
以上により、本発明の実施の形態に係る識別描画処理を終了する。
【0062】
[発明の効果]
以上のように構成することで、以下のような効果を得ることができる。
近年、仮想カメラを用いた三次元空間で、巨大なモンスター等をハンティングするようなアクションゲームが存在する。このように、仮想カメラを用いた方式では、周囲の敵キャラクタ等のオブジェクトの位置関係を把握しやすくなり、ゲーム性を高めることができる。
このようなゲームでは、通常、地形によりプレイヤキャラクタが隠蔽されないよう、プレイヤが仮想カメラを自ら操作してプレイヤキャラクタのオブジェクトの見える位置を操作する。しかしながら、モンスター等の敵キャラクタは激しく動くため、プレイヤキャラクタが敵キャラクタの奥に隠蔽されると、操作しづらいという問題があった。
【0063】
しかしながら、特許文献1の技術では、深度バッファ112を参照して隠蔽されているかどうかを判断するため、地形や敵キャラクタの区別なく単色のシルエット画像を表示することしかできなかった。このため、動きの激しいアクションゲームに適用しようとしても、地形、敵キャラクタ、背景オブジェクト、プレイヤキャラクタ等の位置関係が、かえって分かりにくくなっていた。
よって、敵キャラクタ等のオブジェクト単位でプレイヤキャラクタ等の位置が分かるように描画し、ユーザに知らせるような技術が求められていた。
【0064】
これに対して、本実施形態のゲームプログラム200は、記憶部11及び表示部16を備えるゲーム装置1により実行されるゲームプログラムであって、ゲーム装置1を、描画バッファ113の座標値に対応して、描画されている複数のオブジェクトを識別するための識別値を含む識別バッファ114を作成する識別バッファ作成手段101と、識別バッファ作成手段101により作成された識別バッファ114の識別値に対応して、特定オブジェクトを再描画する再描画手段102として機能させることを特徴とする。
【0065】
このように構成することで、敵キャラクタ等のオブジェクト単位でプレイヤキャラクタ等の位置が分かるように描画することができる。すなわち、プレイヤキャラクタ等の特定オブジェクトが敵キャラクタ等の他のオブジェクトの奥にいる時に、この敵キャラクタ等のオブジェクトの識別値を指定して、特定オブジェクトを再描画させることができる。
これにより、プレイヤキャラクタが巨大なモンスター等と戦う際に、このモンスターの奧にいる場合はプレイヤキャラクタを識別可能にブレンドして再描画するものの、他の地形や背景オブジェクトの奧にいる場合には再描画しないといった処理が可能となる。結果として、ゲームの操作性やゲーム性等を高めることができる。
【0066】
本実施形態のゲームプログラム200は、ゲーム装置1を、更に、三次元空間内の複数のオブジェクトを、仮想カメラからみたシーンに変換し、深度テストをしながら描画バッファ113へ描画するシーン描画手段100として機能させ、再描画手段102は、複数のオブジェクトに含まれる特定オブジェクトを再描画するか否かを、識別バッファ作成手段101により作成された識別バッファ114の識別値に対応して判断し、再描画すると判断した場合は特定オブジェクトを特定のブレンド率で描画バッファ113に描画し、再描画しないと判断した場合は描画しないことを特徴とする。
このように構成することで、三次元空間に描画されるゲームのシーンにて、オブジェクト単位で、特定オブジェクトであるプレイヤキャラクタ等の位置をユーザに知らせるか否か変更することが可能となる。つまり、三次元空間のアクションゲーム等で、地形、敵キャラクタ、背景オブジェクト、プレイヤキャラクタ等の手前と奥の位置関係が分かりやすくなり、激しいアクションゲーム等においても、ユーザを混乱させにくくすることができる。
【0067】
従来、特許文献1のように単色のシルエットやエッジのみ描画すると、特に、アクションゲームのように敵キャラクタとプレイヤキャラクタの位置関係が動的に変化しやすいゲームでは、立体的な位置関係が非常に分かりにくくなっていた。
本実施形態のゲームプログラム200は、再描画手段102は、特定オブジェクトの輪郭付近では、ブレンド率を低くすることを特徴とする。
このように構成し、特定オブジェクトの輪郭で薄く、内部で濃く描画されることで、特定オブジェクトが奥側に隠蔽されている状態であることが感覚的に分かりやすくなる。よって、プレイヤキャラクタの立体的な位置関係を分かりやすくすることができる。
【0068】
本実施形態のゲームプログラム200は、再描画手段102は、特定オブジェクトと他のオブジェクトとの距離が近い場合には、ブレンド率を高くすることを特徴とする。
このように構成することで、特定オブジェクトと他のオブジェクトとの位置関係が分かりやすくなる。すなわち、例えば、ユーザに、プレイヤキャラクタが、どの程度、敵キャラクタの近くにいるのかを推測する手がかりを与えることができる。これにより、プレイヤキャラクタ及び敵キャラクタの三次元空間での位置関係を分かりやすく提示することができ、ユーザによるアクションの選択をしやすくさせて操作性を高めることができる。
【0069】
従来、特許文献1のように単色のシルエットやエッジのみ描画したり、単純にブレント描画したりすると、プレイヤキャラクタの装備品やその動作状態等がよく分からなくなり、特にアクションゲームでは操作性が低下していた。
本実施形態のゲームプログラム200は、再描画手段102は、ブレンド率を、描画バッファ113のピクセル深度、ピクセル法線、仮想カメラの方向、シーンの深度からなる群の一種又は任意の組み合わせから計算を行うことを特徴とする。
このように構成することで、プレイヤキャラクタの装備品やその動作状態が再描画でブレンド表示されるため、ユーザに分かりやすく提示することができる。これにより、操作性を高めることができる。
【0070】
本実施形態のゲーム装置1は、上述のゲームプログラム200を記憶した記憶部11と、ゲームプログラム200を実行するコンピュータである制御部10並びに画像処理部13とを備えることを特徴とする。
このように構成することで、本実施形態のゲームプログラム200を適用可能となる。
【0071】
[他の実施形態]
図2~
図6において説明した制御手段及び処理手順は一例であり、本発明の実施形態はこれらには限られない。処理手順等は、本発明の要旨を変更しない範囲で適宜設計変更が可能である。
【0072】
上述の実施形態では、特定オブジェクトとしてプレイヤキャラクタのオブジェクトを、その他のオブジェクトとして敵キャラクタのオブジェクトを設定する例について説明した。
しかしながら、特定オブジェクトとして、コンパニオン(仲間)のキャラクタ、プレイヤキャラクタの武器、射出した魔法や矢等のエフェクト、目標を示す標識等のオブジェクトを設定することも可能である。または、他のユーザと協力又は対戦を行うオンラインゲームである場合は、特定オブジェクトは、他のユーザが操作するキャラクタであってもよい。
加えて、全ての敵キャラクタを、再描画を判断する際の、その他のオブジェクトとして設定するのではなく、例えば、ボス敵等の特定の敵キャラクタのみを、その他のオブジェクトとして設定してもよい。さらに、その他のオブジェクトとして、背景のオブジェクト等を設定することも可能である。これらについて、複数の種類のオブジェクトを、それぞれ、特定オブジェクトやその他のオブジェクトとして設定することも可能である。
このように構成することで、ゲームで使用される様々なオブジェクトについて、必要に応じて、ユーザに識別させやすく、見やすく表示することが可能となる。
【0073】
上述の実施の形態では、再描画の際に、特定オブジェクトの輪郭付近では、ブレンド率を低くするように記載した。
しかしながら、輪郭付近では、ブレンド率を高くすることも可能である。
このように構成することで、輪郭を際立たせ、特定オブジェクトを分かりやすく表示することも可能となる。
【0074】
上述の実施の形態では、特定オブジェクトを単色で再描画する例について記載した。
しかしながら、特定オブジェクトを実際のテクスチャの色を色変換や明度変換等して再描画するように構成することも可能である。
さらに、再描画の際にも、単にブレンド描画するのではなく、白抜きや反転等の各種画像処理を行って描画するように構成してもよい。
このように構成することで、ゲームのシーンの色調や明度等に対応して、特定オブジェクトの適切な再描画が可能となる。
【0075】
上述の実施の形態では、深度バッファ112を用いた深度テストを行う例について記載した。
しかしながら、深度バッファ112を用いずに、ポリゴン単位で深度テストを行うZソートのような深度テストを行うような構成についても適用可能である。さらに、レイトレーシングを行う場合でも、最前(手前)でレイが交差したポリゴン、NURBS、メタボール等の属するオブジェクトを設定した識別バッファ114を作成し、上述のように描画バッファ113に再描画するように構成してもよい。
このように構成することで、様々な構成に対応可能となる。
【0076】
上述の実施の形態では、識別バッファ114を描画バッファ113のピクセルに一対一で対応した解像度の二次元のバッファとして作成するように記載した。
しかしながら、識別バッファ114は、描画バッファ113と同じ解像度のバッファでなくてもよい。たとえば、識別バッファ114の解像度は、描画バッファ113の解像度よりも低く設定し、数~数十ピクセル単位で識別値を格納するようにしてもよい。
または、例えば、描画バッファ113に特定オブジェクトが描画される座標に対応した矩形領域のみを識別バッファ114として設定してもよい。上述のレイトレーシングを行う場合でも、このように構成することも可能である。さらに、識別バッファ114は、変更箇所の差分を格納するようなデータ構造であったり、ツリー構造であったり、コリジョンを検出するバッファを基に作成されたりしてもよい。
このように構成することで、識別バッファ114に必要な記憶部11の記憶容量を削減することができる。また、様々な構成に適用可能となる。
【0077】
上述の実施の形態では、三次元空間の描画について、再描画を行う例について記載した。
しかしながら、描画の優先順位が設定されているスプライト等の二次元でのオブジェクトの描画においても、上述の構成で再描画することが可能である。
このように構成すると、複数のスプライト同士が重なるような環境であっても、特定オブジェクトをユーザに見やすく提示することが可能になる。
【0078】
上述の実施形態では、三次元のアクションゲームの要素のあるロールプレイングゲームを例にして記載されているが、本発明の実施形態はこれに限られない。例えば、格闘アクションゲーム、シューティングゲーム、シミュレーションゲーム、ボードゲーム、及びパズルゲーム等、様々な種類のゲームに適用することができる。
【0079】
・ハードウェア構成のバリエーション
なお、制御部10は、CPU(Central Processing Unit、中央処理装置)、MPU(Micro Processing Unit)、DSP(Digital Signal Processor)、ASIC(Application Specific Processor、特定用途向けプロセッサー)等を含む情報処理部を含んでいてもよい。
【0080】
記憶部11は、一時的でない記録媒体であり、主記憶部11のRAMとしては、DRAMやSRAM等を用いてもよい。ROMは、補助記憶部11として、EEPROM、フラッシュメモリ、3D Xポイント等の各種不揮発性で書き換え可能な半導体メモリを用いてもよい。加えて、補助記憶部11として、RAMやHDDの代わりに、SSD(Solid State Drive)やeMMC(embedded Multi Media Card)を用いることも可能である。
【0081】
接続部12は、LAN、無線LAN、WAN、携帯電話網等のネットワークNに接続するためのLANボードや無線送受信機等を含むネットワーク接続部12である。
【0082】
画像処理部13は、DSP(Digital Signal Processor)等の情報処理部を含んでいてもよい。
【0083】
操作部15は、無線又は有線で接続されてもよい。この無線又は有線の接続は、USB、Bluetooth(登録商標)等であってもよい。
【0084】
なお、ゲーム装置1において、制御部10及び画像処理部13は、GPU内蔵CPU等やチップ・オン・モジュールパッケージのように、一体的に形成されていてもよい。
また、制御部10及び画像処理部13は、RAMやROMやフラッシュメモリ等を内蔵していてもよい。
【0085】
・システム構成のバリエーション
ゲーム装置1の制御部10及び画像処理部13の動作は、上述の実施形態に記載された例に限られない。
上述の実施形態のゲーム装置1は単体で動作するように記載したものの、ゲーム装置1と他のゲーム装置とサーバー等とを備えたゲームシステムとして構成することも可能である。この場合、上述の識別描画処理を含む画像処理をサーバー上で行って、ゲーム装置1へストリーミング配信するような構成も可能である。
【0086】
上述の実施形態では、本実施形態のゲームプログラム200がネイティブアプリである例について記載されたものの、ウェブアプリとして構成されていてもよい。すなわち、ゲームプログラム200は、ウェブブラウザー等で実行可能なアプリであってもよい。この場合は、記憶部11に格納されるゲームプログラム200及びゲームデータ210は、毎回、RAM等に一時的に格納されてもよい。
【0087】
上述の実施形態には、ゲーム装置1としてPC等を用いた例が記載されているが、本発明の実施形態はこれには限られない。たとえば、ゲームセンター等に提供されるアーケードゲーム筐体を用いて本発明を実現することもできる。
【0088】
これらの他の実施形態を採用した場合においても、本発明の作用効果は発揮される。また、本実施形態と他の実施形態、及び他の実施形態同士を適宜組み合わせることも可能である。
【0089】
また、上記実施の形態の構成及び動作は例であって、本発明の趣旨を逸脱しない範囲で適宜変更して実行することができることは言うまでもない。
【符号の説明】
【0090】
1 ゲーム装置
10 制御部
11 記憶部
12 接続部
13 画像処理部
14 音声処理部
15 操作部
16 表示部
17 音声入出力部
100 シーン描画手段
101 識別バッファ作成手段
102 再描画手段
111 オブジェクトデータ
112 深度バッファ
113、113-1、113-2 描画バッファ
114 識別バッファ
200 ゲームプログラム
210 ゲームデータ
211 再描画設定
500、501、502 画面例
C 仮想カメラ
G、P、M オブジェクト
N ネットワーク
S シーン