IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社スクウェア・エニックスの特許一覧

特許7341801ビデオゲーム処理プログラム、及びビデオゲーム処理システム
<>
  • 特許-ビデオゲーム処理プログラム、及びビデオゲーム処理システム 図1
  • 特許-ビデオゲーム処理プログラム、及びビデオゲーム処理システム 図2
  • 特許-ビデオゲーム処理プログラム、及びビデオゲーム処理システム 図3
  • 特許-ビデオゲーム処理プログラム、及びビデオゲーム処理システム 図4
  • 特許-ビデオゲーム処理プログラム、及びビデオゲーム処理システム 図5
  • 特許-ビデオゲーム処理プログラム、及びビデオゲーム処理システム 図6
  • 特許-ビデオゲーム処理プログラム、及びビデオゲーム処理システム 図7
  • 特許-ビデオゲーム処理プログラム、及びビデオゲーム処理システム 図8
  • 特許-ビデオゲーム処理プログラム、及びビデオゲーム処理システム 図9
  • 特許-ビデオゲーム処理プログラム、及びビデオゲーム処理システム 図10
  • 特許-ビデオゲーム処理プログラム、及びビデオゲーム処理システム 図11
  • 特許-ビデオゲーム処理プログラム、及びビデオゲーム処理システム 図12
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-09-01
(45)【発行日】2023-09-11
(54)【発明の名称】ビデオゲーム処理プログラム、及びビデオゲーム処理システム
(51)【国際特許分類】
   A63F 13/56 20140101AFI20230904BHJP
   A63F 13/35 20140101ALI20230904BHJP
   A63F 13/45 20140101ALI20230904BHJP
【FI】
A63F13/56
A63F13/35
A63F13/45
【請求項の数】 5
(21)【出願番号】P 2019161518
(22)【出願日】2019-09-04
(65)【公開番号】P2021037167
(43)【公開日】2021-03-11
【審査請求日】2022-09-05
(73)【特許権者】
【識別番号】308033283
【氏名又は名称】株式会社スクウェア・エニックス
(74)【代理人】
【識別番号】100188662
【弁理士】
【氏名又は名称】浅見 浩二
(72)【発明者】
【氏名】三宅 陽一郎
(72)【発明者】
【氏名】長谷川 誠
【審査官】遠藤 孝徳
(56)【参考文献】
【文献】特許第4297915(JP,B2)
【文献】特開2010-68872(JP,A)
【文献】特許第3699718(JP,B2)
【文献】特許第5265232(JP,B2)
【文献】特許第6135794(JP,B1)
【文献】特許第4376292(JP,B2)
【文献】特開2010-268853(JP,A)
【文献】特許第5584670(JP,B2)
【文献】特許第6387239(JP,B2)
【文献】特開2005-334128(JP,A)
【文献】特開2017-29275(JP,A)
【文献】特許第5372116(JP,B2)
【文献】特許第4176455(JP,B2)
【文献】特許第6343048(JP,B1)
【文献】特許第5584566(JP,B2)
【文献】特許第5447718(JP,B1)
【文献】特許第5627526(JP,B2)
(58)【調査した分野】(Int.Cl.,DB名)
A63F 13/00 - 13/98
(57)【特許請求の範囲】
【請求項1】
ビデオゲームの進行を制御する機能をサーバに実現させるためのビデオゲーム処理プログラムであって、
前記サーバに、
仮想空間におけるキャラクタの移動可能範囲を所定規則に基づいてグループ分けすることで複数の領域を設定する領域設定機能と、
前記仮想空間における所属の異なる2以上のキャラクタがそれぞれ何れかの前記領域に位置している場合に、それぞれのキャラクタが位置する領域に対して各キャラクタの所属を表す所属パラメータとして絶対値が最大となる所定値を設定する所属パラメータ設定機能と、
それぞれの前記所属パラメータについて隣接する前記領域に対して移動するごとに所定値だけ絶対値が減少するように伝播させて、他の所属パラメータが既に設定されていない限りにおいてそれぞれの領域に減少後の所属パラメータを設定する伝播機能と、
それぞれの前記所属パラメータを伝播させた結果、所属の異なる2つのキャラクタがそれぞれ位置する領域からの領域の移動数が略均等の領域又は領域の境界であって異なる所属パラメータの伝播がぶつかる領域又は領域の境界において、異なる2つの所属パラメータの絶対値の和を算出して、絶対値の和が所定条件を満たす領域又は領域の境界部分について、当該領域、領域の境界又は領域の境界に隣接する領域を前記キャラクタの行動の指標となる指標箇所に設定する指標設定機能とを
実現させるためのビデオゲーム処理プログラム。
【請求項2】
前記サーバに、
前記キャラクタの行動に基づいて、所属の異なる前記キャラクタに対して効果を発揮するオブジェクトが何れかの前記領域内において設置された場合、当該領域内の所定位置に対する当該オブジェクトの設置を登録する設置登録機能を実現させ、
前記所属パラメータ設定機能は、前記オブジェクトが設置された領域に対して設置したキャラクタとは所属の異なるキャラクタの所属パラメータとして所定値を設定するようにし、
前記伝播機能は、前記オブジェクトが設置された領域からも前記所属パラメータを伝播させるようにし、
前記指標設定機能は、前記オブジェクトが設置された領域から伝播させた前記所属パラメータとの間でも伝播がぶつかる領域又は領域の境界を判定して前記指標箇所の設定を行うようにした
請求項1に記載のビデオゲーム処理プログラム。
【請求項3】
前記指標設定機能は、異なる所属パラメータの伝播がぶつかる領域又は領域の境界において算出した絶対値の和が最大となる領域又は領域の境界部分を判定し、当該領域、領域の境界又は領域の境界に隣接する領域を前記キャラクタの行動の指標となる指標箇所に設定する
請求項1または請求項2に記載のビデオゲーム処理プログラム。
【請求項4】
通信ネットワークと、サーバと、ユーザ端末とを備え、ビデオゲームの進行を制御する処理を行うビデオゲーム処理システムであって、
仮想空間におけるキャラクタの移動可能範囲を所定規則に基づいてグループ分けすることで複数の領域を設定する領域設定手段と、
前記仮想空間における所属の異なる2以上のキャラクタがそれぞれ何れかの前記領域に位置している場合に、それぞれのキャラクタが位置する領域に対して各キャラクタの所属を表す所属パラメータとして絶対値が最大となる所定値を設定する所属パラメータ設定手段と、
それぞれの前記所属パラメータについて隣接する前記領域に対して移動するごとに所定値だけ絶対値が減少するように伝播させて、他の所属パラメータが既に設定されていない限りにおいてそれぞれの領域に減少後の所属パラメータを設定する伝播手段と、
それぞれの前記所属パラメータを伝播させた結果、所属の異なる2つのキャラクタがそれぞれ位置する領域からの領域の移動数が略均等の領域又は領域の境界であって異なる所属パラメータの伝播がぶつかる領域又は領域の境界において、異なる2つの所属パラメータの絶対値の和を算出して、絶対値の和が所定条件を満たす領域又は領域の境界部分について、当該領域、領域の境界又は領域の境界に隣接する領域を前記キャラクタの行動の指標となる指標箇所に設定する指標設定手段とを含む
ことを特徴とするビデオゲーム処理システム。
【請求項5】
ビデオゲームの進行を制御する機能をユーザ端末に実現させるためのビデオゲーム処理プログラムであって、
前記ユーザ端末に、
仮想空間におけるキャラクタの移動可能範囲を所定規則に基づいてグループ分けすることで複数の領域を設定する領域設定機能と、
前記仮想空間における所属の異なる2以上のキャラクタがそれぞれ何れかの前記領域に位置している場合に、それぞれのキャラクタが位置する領域に対して各キャラクタの所属を表す所属パラメータとして絶対値が最大となる所定値を設定する所属パラメータ設定機能と、
それぞれの前記所属パラメータについて隣接する前記領域に対して移動するごとに所定値だけ絶対値が減少するように伝播させて、他の所属パラメータが既に設定されていない限りにおいてそれぞれの領域に減少後の所属パラメータを設定する伝播機能と、
それぞれの前記所属パラメータを伝播させた結果、所属の異なる2つのキャラクタがそれぞれ位置する領域からの領域の移動数が略均等の領域又は領域の境界であって異なる所属パラメータの伝播がぶつかる領域又は領域の境界において、異なる2つの所属パラメータの絶対値の和を算出して、絶対値の和が所定条件を満たす領域又は領域の境界部分について、当該領域、領域の境界又は領域の境界に隣接する領域を前記キャラクタの行動の指標となる指標箇所に設定する指標設定機能とを
実現させるためのビデオゲーム処理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態の少なくとも1つは、ユーザの操作対象外のキャラクタに対して目的に沿った行動を実行させるための適切な指標を設定する機能をサーバに実現させるためのビデオゲーム処理プログラム、及びビデオゲーム処理システムに関する。
【背景技術】
【0002】
従来、ビデオゲームにおいてキャラクタを移動させるための技術が種々提案されている。
【0003】
このような技術には、ビデオゲームを構成する仮想空間に関する位置情報を用いてキャラクタの移動経路を探索するものがあり、ナビゲーションメッシュとウェイポイントが利用される。そして、移動経路の探索に要する処理負荷の増大を抑制するために、探索領域の所定範囲に配される経由候補位置の間隔よりも、所定範囲外に配される経由候補位置の間隔の方が大きくなるように、探索領域の経由候補位置の配置を決定するものもある(特許文献1参照)。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2012-213485号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
ところで、ユーザの操作対象外のキャラクタ(ノンプレイヤキャラクタ:NPC)の行動を自動制御する場合、上記ナビゲーションメッシュとウェイポイントがあれば移動経路を探索することは可能であるが、NPCに対して目的に沿った適切な行動を実行させるために仮想空間内に行動の指標となる箇所を設定することがある。例えば、ユーザの操作対象のキャラクタ(プレイヤキャラクタ:PC)の所属する勢力と敵キャラクタとしてのNPCが所属する勢力とが仮想空間内において銃撃戦を行うようなビデオゲームにおいては、相手勢力の位置するエリアに闇雲に移動するような行動をとってしまうNPCがいては不自然に見えてしまうため、ここから先は敵のいる可能性が高いエリアであるため慎重に行動する必要があるといった緊張感を持った行動をしているように見える制御を行いたいという要望がある。しかし、不適切な指標設定をしてしまうと目的に沿った行動となるように制御できないという問題がった。
【0006】
本発明の少なくとも1つの実施形態の目的は、上記課題を解決し、ユーザの操作対象外のキャラクタに対して目的に沿った行動を実行させるための適切な指標設定を行うことである。
【課題を解決するための手段】
【0007】
非限定的な観点によると、本発明の一実施形態に係るビデオゲーム処理プログラムは、ビデオゲームの進行を制御する機能をサーバに実現させるためのビデオゲーム処理プログラムであって、前記サーバに、仮想空間におけるキャラクタの移動可能範囲を所定規則に基づいてグループ分けすることで複数の領域を設定する領域設定機能と、前記仮想空間における所属の異なる2以上のキャラクタがそれぞれ何れかの前記領域に位置している場合に、それぞれのキャラクタが位置する領域に対して各キャラクタの所属を表す所属パラメータとして絶対値が最大となる所定値を設定する所属パラメータ設定機能と、それぞれの前記所属パラメータについて隣接する前記領域に対して移動するごとに所定値だけ絶対値が減少するように伝播させて、他の所属パラメータが既に設定されていない限りにおいてそれぞれの領域に減少後の所属パラメータを設定する伝播機能と、それぞれの前記所属パラメータを伝播させた結果、所属の異なる2つのキャラクタがそれぞれ位置する領域からの領域の移動数が略均等の領域又は領域の境界であって異なる所属パラメータの伝播がぶつかる領域又は領域の境界において、異なる2つの所属パラメータの絶対値の和を算出して、絶対値の和が所定条件を満たす領域又は領域の境界部分について、当該領域、領域の境界又は領域の境界に隣接する領域を前記キャラクタの行動の指標となる指標箇所に設定する指標設定機能とを実現させることを特徴とする。
【0008】
非限定的な観点によると、本発明の一実施形態に係るビデオゲーム処理システムは、通信ネットワークと、サーバと、ユーザ端末とを備え、ビデオゲームの進行を制御する処理を行うビデオゲーム処理システムであって、仮想空間におけるキャラクタの移動可能範囲を所定規則に基づいてグループ分けすることで複数の領域を設定する領域設定手段と、前記仮想空間における所属の異なる2以上のキャラクタがそれぞれ何れかの前記領域に位置している場合に、それぞれのキャラクタが位置する領域に対して各キャラクタの所属を表す所属パラメータとして絶対値が最大となる所定値を設定する所属パラメータ設定手段と、それぞれの前記所属パラメータについて隣接する前記領域に対して移動するごとに所定値だけ絶対値が減少するように伝播させて、他の所属パラメータが既に設定されていない限りにおいてそれぞれの領域に減少後の所属パラメータを設定する伝播手段と、それぞれの前記所属パラメータを伝播させた結果、所属の異なる2つのキャラクタがそれぞれ位置する領域からの領域の移動数が略均等の領域又は領域の境界であって異なる所属パラメータの伝播がぶつかる領域又は領域の境界において、異なる2つの所属パラメータの絶対値の和を算出して、絶対値の和が所定条件を満たす領域又は領域の境界部分について、当該領域、領域の境界又は領域の境界に隣接する領域を前記キャラクタの行動の指標となる指標箇所に設定する指標設定手段とを含むことを特徴とする。
【0009】
非限定的な観点によると、本発明の一実施形態に係るビデオゲーム処理プログラムは、ビデオゲームの進行を制御する機能をユーザ端末に実現させるためのビデオゲーム処理プログラムであって、前記ユーザ端末に、仮想空間におけるキャラクタの移動可能範囲を所定規則に基づいてグループ分けすることで複数の領域を設定する領域設定機能と、前記仮想空間における所属の異なる2以上のキャラクタがそれぞれ何れかの前記領域に位置している場合に、それぞれのキャラクタが位置する領域に対して各キャラクタの所属を表す所属パラメータとして絶対値が最大となる所定値を設定する所属パラメータ設定機能と、それぞれの前記所属パラメータについて隣接する前記領域に対して移動するごとに所定値だけ絶対値が減少するように伝播させて、他の所属パラメータが既に設定されていない限りにおいてそれぞれの領域に減少後の所属パラメータを設定する伝播機能と、それぞれの前記所属パラメータを伝播させた結果、所属の異なる2つのキャラクタがそれぞれ位置する領域からの領域の移動数が略均等の領域又は領域の境界であって異なる所属パラメータの伝播がぶつかる領域又は領域の境界において、異なる2つの所属パラメータの絶対値の和を算出して、絶対値の和が所定条件を満たす領域又は領域の境界部分について、当該領域、領域の境界又は領域の境界に隣接する領域を前記キャラクタの行動の指標となる指標箇所に設定する指標設定機能とを実現させることを特徴とする。
【発明の効果】
【0010】
本願の各実施形態により1または2以上の不足が解決される。
【図面の簡単な説明】
【0011】
図1】本発明の実施形態の少なくとも一つに対応するビデオゲーム処理システムの構成の例を示すブロック図である。
図2】本発明の実施形態の少なくとも一つに対応するサーバ装置の構成を示すブロック図である。
図3】本発明の実施形態の少なくとも一つに対応するゲーム処理の例を示すフローチャートである。
図4】本発明の実施形態の少なくとも一つに対応するゲーム処理におけるサーバ側の動作の例を示すフローチャートである。
図5】本発明の実施形態の少なくとも一つに対応するゲーム処理における端末側の動作の例を示すフローチャートである。
図6】本発明の実施形態の少なくとも一つに対応するサーバ装置の構成を示すブロック図である。
図7】本発明の実施形態の少なくとも一つに対応するゲーム処理の例を示すフローチャートである。
図8】本発明の実施形態の少なくとも一つに対応するサーバ装置の構成を示すブロック図である。
図9】本発明の実施形態の少なくとも一つに対応するゲーム処理の例を示すフローチャートである。
図10】本発明の実施形態の少なくとも一つに対応する指標設定について説明するための説明図である。
図11】本発明の実施形態の少なくとも一つに対応する指標設定について説明するための説明図である。
図12】本発明の実施形態の少なくとも一つに対応する指標設定について説明するための説明図である。
【発明を実施するための形態】
【0012】
以下、本発明の実施形態の例について図面を参照して説明する。なお、以下で説明する各実施形態の例における各種構成要素は、矛盾等が生じない範囲で適宜組み合わせ可能である。また、ある実施形態の例として説明した内容については、他の実施形態においてその説明を省略している場合がある。また、各実施形態の特徴部分に関係しない動作や処理については、その内容を省略している場合がある。さらに、以下で説明する各種フローを構成する各種処理の順序は、処理内容に矛盾等が生じない範囲で順不同である。
【0013】
[第1の実施形態]
図1は、本発明の一実施の形態におけるビデオゲーム処理システム100の構成の例を示すブロック図である。図1に示すように、ビデオゲーム処理システム100は、サーバ装置10と、ビデオゲーム処理システムのユーザが使用するユーザ端末201~20n(nは任意の整数。以下、これらを代表して単にユーザ端末20と表現する場合がある。)とを含む。なお、ビデオゲーム処理システム100の構成はこれに限定されず、単一のユーザ端末を複数のユーザが使用する構成としてもよいし、複数のサーバ装置を備える構成としてもよい。
【0014】
サーバ装置10と複数のユーザ端末201~20nは、それぞれインターネットなどの通信ネットワーク30に接続されている。なお、図示しないが、複数のユーザ端末201~20nは、例えば、通信業者によって管理される基地局と無線通信回線によるデータ通信を行うことによって、通信ネットワーク30と接続する。
【0015】
ビデオゲーム処理システム100は、サーバ装置10と複数のユーザ端末201~20nとを備えることにより、ユーザの操作に応じて各種処理を実行するための各種機能を実現する。
【0016】
サーバ装置10は、ビデオゲーム処理システム100の管理者によって管理され、複数のユーザ端末201~20nに対して各種処理に関する情報を提供するための各種機能を有する。本例において、サーバ装置10は、WWWサーバなどの情報処理装置によって構成され、各種情報を格納する記憶媒体を備える。なお、サーバ装置10は、制御部や通信部などコンピュータとして各種処理を行うための一般的な構成を備えるが、ここでの説明は省略する。また、ビデオゲーム処理システム100においては、複数のユーザ端末201~20nそれぞれにかかる処理負荷を軽減させるといった観点から、各種情報はサーバ装置10が管理することが好ましい。ただし、各種情報を記憶する記憶部は、サーバ装置10がアクセス可能な状態で記憶領域を備えていればよく、例えば専用の記憶領域をサーバ装置10の外部に有する構成とされていてもよい。
【0017】
複数のユーザ端末201~20nは、それぞれ、ユーザによって管理され、例えば携帯電話端末やPDA(Personal Digital Assistants)などの通信端末が挙げられ、ユーザが動画及び/又は静止画の撮影を行うためのカメラ装置を搭載しており、かつ、撮影画像データ等を表示するためのディスプレイを備えた構成である必要がある。ユーザ端末の構成の他の例には、スマートウォッチなどの所謂ウェアラブルデバイスや、ウェアラブルデバイスと通信端末等との組み合わせがある。また、カメラ装置は、光学式カメラの他、3次元カメラ装置を併用するものであってもよい。また、ユーザ端末201~20nは、描画情報を入力するためのマウス、タッチパネル、タッチペン等の入力手段を備えている。
【0018】
また、複数のユーザ端末201~20nは、それぞれ、通信ネットワーク30に接続し、サーバ装置10との通信を行うことにより各種処理を実行するためのハードウェアおよびソフトウェアを備える。なお、複数のユーザ端末201~20nそれぞれは、サーバ装置10を介さずに互いに直接通信を行うこともできる構成とされていてもよい。
【0019】
情報処理を行う過程においては、サーバ装置10は適宜ユーザ端末201~20nに対して処理過程を送信するものとし、ユーザ端末201~20n側では、受信した処理過程の内容に基づいた画面内容を表示装置の表示画面に表示させるものとする。画面内容の生成は、サーバ装置10側で行ってもよいし、ユーザ端末201~20n側で行ってもよい。
【0020】
図2は、本発明の実施形態の少なくとも一つに対応するサーバ装置の構成を示すブロック図である。図2に示すように、サーバ装置10Aは、領域設定部11と、所属パラメータ設定部12と、伝播部13と、指標設定部14と、記憶部15とを少なくとも備える。
【0021】
領域設定部11は、仮想空間におけるキャラクタの移動可能範囲を所定規則に基づいてグループ分けすることで複数の領域を設定する機能を有する。ここで、キャラクタとは、仮想空間に登場するオブジェクトのうち能動的に移動可能なものをいい、ユーザが操作可能なキャラクタ(プレイヤキャラクタ)や、ユーザが操作不能なキャラクタ(ノンプレイヤキャラクタ)を含むものである。また、移動可能範囲とは、仮想空間においてキャラクタによる移動が許容された範囲を意味する。移動可能範囲の構成は特に限定されず、2Dマップであってもよいし、3Dマップであってもよい。また、領域とは、キャラクタを配置可能(移動可能)な箇所を少なくとも1以上備えた仮想空間の所定範囲のことをいう。配置可能箇所の設定はどのようなものであってもよく、1つの領域に1つの配置可能箇所が設定される構成であってもよいし、複数の配置可能箇所を備えた領域としてもよい。例えば、仮想空間上にナビゲーションメッシュを配置する構成の場合には、メッシュの交差点が配置可能箇所となり得る。
【0022】
所属パラメータ設定部12は、仮想空間における所属の異なる2以上のキャラクタがそれぞれ何れかの領域に位置している場合に、それぞれのキャラクタが位置する領域に対して各キャラクタの所属を表す所属パラメータとして絶対値が最大となる所定値を設定する機能を有する。ここで、キャラクタの所属とは、ビデオゲームにおける課題を共有する少なくとも1以上のキャラクタで構成されるグループのことをいう。すなわち、所属が異なるとは、ビデオゲームにおける課題を互いに共有しない状態のことをいう。所属パラメータとは、所属ごとに設定される固有のパラメータのことをいう。各所属パラメータに対して上限としての絶対値の最大値を設定しておく。なお、所属パラメータは正の値に設定してよいし、負の値に設定してもよい。異なる所属に対して異なる絶対値の所属パラメータを設定してもよいし、絶対値の最大値が同じとなる所属パラメータとしてもよい。
【0023】
伝播部13は、それぞれの所属パラメータについて隣接する領域に対して移動するごとに所定値だけ絶対値が減少するように伝播させて、他の所属パラメータが既に設定されていない限りにおいてそれぞれの領域に減少後の所属パラメータを設定する機能を有する。所属パラメータをどのように伝播させるかについては適宜設定可能であるが、例えば、領域同士が接している箇所を跨ぐごとに所定値だけ絶対値が減少するように伝播させることが考えられる。異なる所属であるか同じ所属であるかを問わず何らかの所属パラメータが既に設定されている領域に対しては伝播させないようにする。すなわち、この伝播処理は、キャラクタの所在地から所属パラメータを伝播させることで仮想空間を所属パラメータによって分類する分類処理であるともいえる。なお、伝播速度については適宜設定可能な構成としてもよく、所属に応じて速度を異ならせる構成としてもよい。
【0024】
指標設定部14は、それぞれの所属パラメータを伝播させた結果、所属の異なる2つのキャラクタがそれぞれ位置する領域からの領域の移動数が略均等の領域又は領域の境界であって異なる所属パラメータの伝播がぶつかる領域又は領域の境界において、異なる2つの所属パラメータの絶対値の和を算出して、絶対値の和が所定条件を満たす領域又は領域の境界部分について、当該領域、領域の境界又は領域の境界に隣接する領域をキャラクタの行動の指標となる指標箇所に設定する機能を有する。ここで、異なる所属パラメータの伝播がぶつかるとは、異なる所属パラメータがそれぞれ伝播した領域が1つの領域を挟んで対峙した状態、または、異なる所属パラメータがそれぞれ伝播した領域が接している場合のことをいう。また、所属の異なる2つのキャラクタがそれぞれ位置する領域からの領域の移動数が略均等の領域とは、領域の所属の異なる2つのキャラクタがそれぞれ位置する領域からの移動数が略均等の2つの領域の間に位置する領域のことをいい、移動数が略均等の領域の境界とは、領域の所属の異なる2つのキャラクタがそれぞれ位置する領域からの移動数が略均等の2つの領域の境界部分のことをいう。指標箇所は、領域を設定するものであってもよいし、領域の境界を設定するものであってもよいし、領域内の一地点を指標箇所に設定するものであってもよい。また、絶対値の和についての所定条件は、少なくとも1つの指標箇所を設定し得る条件であれば、どのような条件であってもよい。一例としては、絶対値の和をとった箇所を比較して最大値の一箇所を指標箇所に設定することが考えられる。なお、絶対値の和を用いて判断を行うようにすることで、所属パラメータの符号が異なる場合であっても同じ条件で判定することが可能となる。
【0025】
記憶部15は、サーバ装置10において行われる様々な処理で必要なデータ及び処理の結果として得られたデータを記憶させる機能を有する。
【0026】
次に、本例のビデオゲーム処理システム100(システム100)において行われる処理の流れについて説明を行う。図3は、本発明の実施形態の少なくとも一つに対応するゲーム処理の例を示すフローチャートである。
【0027】
ゲーム処理は、指標箇所を設定する必要が生じた状況において開始される。ビデオゲーム処理システム100は、ゲーム処理において、先ず、複数の領域を設定する(ステップS11)。次に、ビデオゲーム処理システム100は、仮想空間におけるキャラクタが位置する領域に対して各キャラクタの所属を表す所属パラメータとして絶対値が最大となる所定値を設定する(ステップS12)。そして、ビデオゲーム処理システム100は、それぞれの所属パラメータについて隣接する領域に対して移動するごとに所定値だけ絶対値が減少するように伝播させて、他の所属パラメータが既に設定されていない限りにおいてそれぞれの領域に減少後の所属パラメータを設定する(ステップS13)。最後に、ビデオゲーム処理システム100は、所属の異なる2つのキャラクタがそれぞれ位置する領域からの領域の移動数が略均等の領域又は領域の境界であって異なる所属パラメータの伝播がぶつかる領域又は領域の境界において、異なる2つの所属パラメータの絶対値の和を算出して、絶対値の和が所定条件を満たす領域又は領域の境界部分を指標箇所に設定して(ステップS14)、処理を終了する。
【0028】
図4は、本発明の実施形態の少なくとも一つに対応するキャラクタ制御処理におけるサーバ側の動作の例を示すフローチャートである。ここでは、システム100におけるサーバ装置10Aの動作について説明する。
【0029】
ゲーム処理は、指標箇所を設定する必要が生じた状況において開始される。サーバ装置10Aは、ゲーム処理において、先ず、複数の領域を設定する(ステップS101)。次に、サーバ装置10Aは、仮想空間におけるキャラクタが位置する領域に対して各キャラクタの所属を表す所属パラメータとして絶対値が最大となる所定値を設定する(ステップS102)。そして、サーバ装置10Aは、それぞれの所属パラメータについて隣接する領域に対して移動するごとに所定値だけ絶対値が減少するように伝播させて、他の所属パラメータが既に設定されていない限りにおいてそれぞれの領域に減少後の所属パラメータを設定する(ステップS103)。最後に、サーバ装置10Aは、所属の異なる2つのキャラクタがそれぞれ位置する領域からの領域の移動数が略均等の領域又は領域の境界であって異なる所属パラメータの伝播がぶつかる領域又は領域の境界において、異なる2つの所属パラメータの絶対値の和を算出して、絶対値の和が所定条件を満たす領域又は領域の境界部分を指標箇所に設定して(ステップS104)、処理を終了する。
【0030】
図5は、本発明の実施形態の少なくとも一つに対応するキャラクタ制御処理におけるユーザ端末側の動作の例を示すフローチャートである。なお、ユーザ端末20の構成については、サーバ装置10Aから各種情報を受信することを除きサーバ装置10の構成と同様の機能を備えるものであるため、重複説明を避ける観点から記載を省略する。
【0031】
ゲーム処理は、指標箇所を設定する必要が生じた状況において開始される。ユーザ端末20は、ゲーム処理において、先ず、複数の領域を設定する(ステップS201)。次に、ユーザ端末20は、仮想空間におけるキャラクタが位置する領域に対して各キャラクタの所属を表す所属パラメータとして絶対値が最大となる所定値を設定する(ステップS202)。そして、ユーザ端末20は、それぞれの所属パラメータについて隣接する領域に対して移動するごとに所定値だけ絶対値が減少するように伝播させて、他の所属パラメータが既に設定されていない限りにおいてそれぞれの領域に減少後の所属パラメータを設定する(ステップS203)。最後に、ユーザ端末20は、所属の異なる2つのキャラクタがそれぞれ位置する領域からの領域の移動数が略均等の領域又は領域の境界であって異なる所属パラメータの伝播がぶつかる領域又は領域の境界において、異なる2つの所属パラメータの絶対値の和を算出して、絶対値の和が所定条件を満たす領域又は領域の境界部分を指標箇所に設定して(ステップS204)、処理を終了する。
【0032】
以上に説明したように、第1の実施形態の一側面として、サーバ装置10Aが、領域設定部11と、所属パラメータ設定部12と、伝播部13と、指標設定部14とを備える構成とし、仮想空間におけるキャラクタの移動可能範囲を所定規則に基づいてグループ分けすることで複数の領域を設定し、仮想空間における所属の異なる2以上のキャラクタがそれぞれ何れかの領域に位置している場合に、それぞれのキャラクタが位置する領域に対して各キャラクタの所属を表す所属パラメータとして絶対値が最大となる所定値を設定し、それぞれの所属パラメータについて隣接する領域に対して移動するごとに所定値だけ絶対値が減少するように伝播させて、他の所属パラメータが既に設定されていない限りにおいてそれぞれの領域に減少後の所属パラメータを設定し、それぞれの所属パラメータを伝播させた結果、所属の異なる2つのキャラクタがそれぞれ位置する領域からの領域の移動数が略均等の領域又は領域の境界であって異なる所属パラメータの伝播がぶつかる領域又は領域の境界において、異なる2つの所属パラメータの絶対値の和を算出して、絶対値の和が所定条件を満たす領域又は領域の境界部分について、当該領域、領域の境界又は領域の境界に隣接する領域をキャラクタの行動の指標となる指標箇所に設定するようにしたので、ユーザの操作対象外のキャラクタに対して目的に沿った行動を実行させるための適切な指標設定を行うことが可能となる。
【0033】
なお、上述した実施の形態の例では特に言及していないが、領域設定部11による処理の時機は特に限定されず、ビデオゲームの開発時であってもよいし、ビデオゲームのプレイ時であってもよい。すなわち、プレイヤがビデオゲームをプレイするより前に生成された領域の情報を読み出し、読みだした領域の情報に基づいて処理を行うものであってもよい。
【0034】
[第2の実施形態]
図6は、本発明の実施形態の少なくとも一つに対応するサーバ装置の構成を示すブロック図である。図6に示すように、サーバ装置10Bは、領域設定部11と、所属パラメータ設定部12Bと、伝播部13Bと、指標設定部14Bと、記憶部15と、設置登録部16とを少なくとも備える。なお、所属パラメータ設定部12B、伝播部13B、指標設定部14Bについては、第1の実施形態における所属パラメータ設定部12、伝播部13、指標設定部14が備える機能に加えて下記の機能を有するものとして説明を行う。
【0035】
設置登録部16は、キャラクタの行動に基づいて、所属の異なるキャラクタに対して効果を発揮するオブジェクトが何れかの領域内において設置された場合、当該領域内の所定位置に対する当該オブジェクトの設置を登録する機能を有する。ここで、所属の異なるキャラクタに対して効果を発揮するオブジェクトとは、ビデオゲームにおいて他の所属のキャラクタに対して所定の効果を発揮するように設定されたものをいう。例えば、敵キャラクタを捕獲する効果、敵キャラクタにダメージを与える効果などを有した罠などのアイテムが該当する。キャラクタの行動に基づいてオブジェクトが設置された場合、その位置に対するオブジェクトの設置を登録する。
【0036】
所属パラメータ設定部12Bは、登録されたオブジェクトが設置された領域に対して設置したキャラクタとは所属の異なるキャラクタの所属パラメータとして所定値を設定する機能を有する。
【0037】
伝播部13Bは、オブジェクトが設置された領域からも所属パラメータを伝播させる機能を有する。なお、オブジェクトが設置されたことが登録されたタイミングを指標位置の再設定のタイミングとすることが好ましく、それぞれのキャラクタと当該オブジェクトとから所属パラメータを同時に伝播させるようにする。
【0038】
指標設定部14Bは、オブジェクトが設置された領域から伝播させた所属パラメータとの間でも伝播がぶつかる領域又は領域の境界を判定して指標箇所の設定を行う機能を有する。
【0039】
図7は、本発明の実施形態の少なくとも一つに対応するキャラクタ制御処理におけるサーバ側の動作の例を示すフローチャートである。ここでは、システム100におけるサーバ装置10Bの動作について説明する。
【0040】
ゲーム処理は、指標箇所を設定する必要が生じた状況において開始される。サーバ装置10Bは、ゲーム処理において、先ず、複数の領域を設定する(ステップS301)。次に、サーバ装置10Bは、キャラクタによってオブジェクトが設置された場合に、その設置位置を登録する(ステップS302)。次に、サーバ装置10Bは、仮想空間におけるキャラクタが位置する領域に対して各キャラクタの所属を表す所属パラメータとして絶対値が最大となる所定値を設定する(ステップS303)。このとき、オブジェクトが設置された領域に対して、オブジェクトを設置したキャラクタとは異なる所属パラメータを設定する。そして、サーバ装置10Bは、それぞれの所属パラメータについて隣接する領域に対して移動するごとに所定値だけ絶対値が減少するように伝播させて、他の所属パラメータが既に設定されていない限りにおいてそれぞれの領域に減少後の所属パラメータを設定する(ステップS304)。この伝播処理は、オブジェクトを設置した領域からも所属パラメータを伝播させる。最後に、サーバ装置10Bは、所属の異なる2つのキャラクタがそれぞれ位置する領域からの領域の移動数が略均等の領域又は領域の境界であって異なる所属パラメータの伝播がぶつかる領域又は領域の境界において、異なる2つの所属パラメータの絶対値の和を算出して、絶対値の和が所定条件を満たす領域又は領域の境界部分を指標箇所に設定して(ステップS305)、処理を終了する。
【0041】
以上に説明したように、第2の実施形態の一側面として、サーバ装置10Bが、領域設定部11と、所属パラメータ設定部12Bと、伝播部13Bと、指標設定部14Bと、記憶部15と、設置登録部16とを備える構成とし、キャラクタの行動に基づいて、所属の異なるキャラクタに対して効果を発揮するオブジェクトが何れかの領域内において設置された場合、当該領域内の所定位置に対する当該オブジェクトの設置を登録し、オブジェクトが設置された領域に対して設置したキャラクタとは所属の異なるキャラクタの所属パラメータとして所定値を設定するようにし、オブジェクトが設置された領域からも所属パラメータを伝播させるようにし、オブジェクトが設置された領域から伝播させた所属パラメータとの間でも伝播がぶつかる領域又は領域の境界を判定して指標箇所の設定を行うようにしたので、キャラクタが設置したオブジェクトに基づいて指標箇所を変化させることが可能となる。
【0042】
[第3の実施形態]
図8は、ビデオゲーム処理システム100(図1参照)におけるサーバ装置10の例であるサーバ装置10Cの構成を示すブロック図である。本例において、サーバ装置10Cは、領域設定部11Cと、所属パラメータ設定部12Cと、伝播部13Cと、指標設定部14Cと、記憶部15Cと、設置登録部16Cとを少なくとも備える。なお、本例ではサーバ装置Cにおいて主に処理を実行するものとして説明を行うが、あくまで一例であり、ユーザ端末において主に処理を実行する構成であってもよいし、オフライン環境下のユーザ端末上にてプログラムを実行することで実現される構成であってもよい。
【0043】
領域設定部11Cは、仮想空間におけるキャラクタの移動可能範囲を所定規則に基づいてグループ分けすることで複数の領域を設定する機能を有する。
【0044】
所属パラメータ設定部12Cは、仮想空間における所属の異なる2以上のキャラクタがそれぞれ何れかの領域に位置している場合に、それぞれのキャラクタが位置する領域に対して各キャラクタの所属を表す所属パラメータとして絶対値が最大となる所定値を設定する機能を有する。また、所属パラメータ設定部12Cは、登録されたオブジェクトが設置された領域に対して設置したキャラクタとは所属の異なるキャラクタの所属パラメータとして所定値を設定する機能を有する。
【0045】
伝播部13Cは、それぞれの所属パラメータについて隣接する領域に対して移動するごとに所定値だけ絶対値が減少するように伝播させて、他の所属パラメータが既に設定されていない限りにおいてそれぞれの領域に減少後の所属パラメータを設定する機能を有する。また、伝播部13Cは、オブジェクトが設置された領域からも所属パラメータを伝播させる機能を有する。
【0046】
指標設定部14Cは、それぞれの前記所属パラメータを伝播させた結果、所属の異なる2つのキャラクタがそれぞれ位置する領域からの領域の移動数が略均等の領域又は領域の境界であって異なる所属パラメータの伝播がぶつかる領域又は領域の境界において、異なる2つの所属パラメータの絶対値の和を算出して、絶対値の和が所定条件を満たす領域又は領域の境界部分について、当該領域、領域の境界又は領域の境界に隣接する領域を前記キャラクタの行動の指標となる指標箇所に設定する機能を有する。また、指標設定部14Cは、オブジェクトが設置された領域から伝播させた所属パラメータとの間でも伝播がぶつかる領域又は領域の境界を判定して指標箇所の設定を行う機能を有する。さらに、指標設定部14Cは、異なる所属パラメータの伝播がぶつかる領域又は領域の境界において算出した絶対値の和が最大となる領域又は領域の境界部分を判定し、当該領域、領域の境界又は領域の境界に隣接する領域をキャラクタの行動の指標となる指標箇所に設定する機能を有する。
【0047】
記憶部15Cは、サーバ装置10において行われる様々な処理で必要なデータ及び処理の結果として得られたデータを記憶させる機能を有する。
【0048】
設置登録部16Cは、キャラクタの行動に基づいて、所属の異なるキャラクタに対して効果を発揮するオブジェクトが何れかの領域内において設置された場合、当該領域内の所定位置に対する当該オブジェクトの設置を登録する機能を有する。
【0049】
図9は、本発明の実施形態の少なくとも一つに対応するキャラクタ制御処理におけるサーバ側の動作の例を示すフローチャートである。ここでは、システム100におけるサーバ装置10Cの動作について説明する。
【0050】
ゲーム処理は、指標箇所を設定する必要が生じた状況において開始される。サーバ装置10Cは、ゲーム処理において、先ず、複数の領域を設定する(ステップS401)。次に、サーバ装置10Cは、キャラクタによってオブジェクトが設置された場合に、その設置位置を登録する(ステップS402)。次に、サーバ装置10Cは、仮想空間におけるキャラクタが位置する領域に対して各キャラクタの所属を表す所属パラメータとして絶対値が最大となる所定値を設定する(ステップS403)。このとき、オブジェクトが設置された領域に対して、オブジェクトを設置したキャラクタとは異なる所属パラメータを設定する。そして、サーバ装置10Cは、それぞれの所属パラメータについて隣接する領域に対して移動するごとに所定値だけ絶対値が減少するように伝播させて、他の所属パラメータが既に設定されていない限りにおいてそれぞれの領域に減少後の所属パラメータを設定する(ステップS404)。この伝播処理は、オブジェクトを設置した領域からも所属パラメータを伝播させる。最後に、サーバ装置10Cは、所属の異なる2つのキャラクタがそれぞれ位置する領域からの領域の移動数が略均等の領域又は領域の境界であって異なる所属パラメータの伝播がぶつかる領域又は領域の境界において、異なる2つの所属パラメータの絶対値の和を算出して、絶対値の和が所定条件を満たす領域又は領域の境界部分を指標箇所に設定して(ステップS405)、処理を終了する。
【0051】
図10乃至図12は、本発明の実施形態の少なくとも一つに対応する指標設定について説明するための説明図である。図10乃至図12においては、説明の簡略化のために、格子状に区切られた同一サイズの正方形を領域設定部11によって設定された領域とみなしているが、実際にはビデオゲームにおける仮想空間の地形条件等に合わせて適宜設定されるものである。
【0052】
図10において、Pはプレイヤキャラクタの位置を表し、Eは敵キャラクタの位置を表している。プレイヤキャラクタと敵キャラクタは所属が異なるキャラクタである。このような状況において、所属パラメータ設定部12Cは、Pの位置する領域とEの位置する領域に異なる所属パラメータを設定する。図10の例では、Pの領域にプレイヤキャラクタの所属パラメータとして「10」を設定し、Eの領域に敵キャラクタの所属パラメータとして「-10」を設定している。次に、設定した所属パラメータを伝播させる。それぞれの所属パラメータは、移動するごとに絶対値が1つ減少するようにして伝播していく。この図10において伝播処理を完了させると、ちょうど中央の縦一列の領域全てが異なる所属パラメータの伝播がぶつかる領域になる。これらの縦一列の領域のそれぞれにおいて、ぶつかった異なる2つの所属パラメータの絶対値の和を演算する。このようにして求めた絶対値の和が所定条件を満たす箇所を指標箇所に設定する。所定条件の一例として、絶対値の和が最大となる1つのみを指標箇所に設定する場合、中央の領域1つのみが指標箇所に設定される。
【0053】
次に、図11に示すように、指標箇所に設定された領域に対してプレイヤキャラクタが罠を設置した上で元の位置に戻ったものとする。ここで、罠は、所属の異なるキャラクタに対して効果を発揮するオブジェクトの一例である。罠が設置されると指標箇所を再設定することになる。罠が設置されると、所属パラメータ設定部12Cの機能に基づいて、罠を設置した位置に対しても所属パラメータが設定される。この罠を設置した箇所に設定される所属パラメータは、罠を設置したプレイヤとは異なる所属である敵キャラクタの所属パラメータが設定される。
【0054】
そして、罠を設置した中央の位置に設定された「-10」の所属パラメータに基づいて伝播処理を実行すると、図12に示すように、プレイヤキャラクタの位置する領域により近い位置に「-10」を設定しているため、よりプレイヤキャラクタに近い側に異なる所属パラメータの伝播がぶつかる箇所が移動している。これらの異なる所属パラメータの伝播がぶつかる箇所のうち絶対値の和が最も大きいのは、「9」と「-9」が接している境界部分になるので、この境界、又は、境界に隣接する領域を指標箇所に設定する。結果として、罠を設置したことにより、図10の指標箇所から図12の指標箇所に指標箇所が移動したことになる。
【0055】
ここで、より具体的な状況を挙げて説明を行う。以下においては、本例による指標設定が実行されるビデオゲームの一例として、兵士や兵器が登場する3Dカバーシューティングゲームにおける仮想空間にナビゲーションメッシュを設定し、さらに領域の設定を行う場合を例にして説明する。
【0056】
本例において、敵兵は、マップの端からプレイヤを捜索できる。また、マップ上のどこでも戦闘ができる。そのため、歩きや走りなど、普通の移動はナビゲーションメッシュ上で行われる。
【0057】
ここで、敵の機能を実現するため、ビデオゲームを制御するサーバ装置10Cは、マップの端から端の長大なパスを検索できる。本例では、パスの検索負荷を抑制するため、階層型のパス検索を行う。また、敵は配置位置の付近だけでなく、プレイヤが行ける所に行ける。すなわち、カバーの乗り越えやよじ登り、ドア、窓、はしごを移動できる。本例では、移動の自由度を担保するため、ナビゲーションメッシュが連続していない場所をジャンプリンクで通行させる。
【0058】
また、ナビゲーションに関する機能として、本例では、ナビゲーションメッシュ(ナビメッシュ)による地続き箇所の移動と、ジャンプリンクによるメッシュ外の移動と、長大なパス検索負荷を下げるための階層構造と、上記のデータを自動生成する機能とについても説明する。
【0059】
ここで、上記機能に用いる地形表現の例には、ナビメッシュと、ウェイポイントと、接続グラフと、ウェイポイントを元にした上位層グラフとがある。
【0060】
ナビメッシュについては、公知の技術(例えば、recast navigation)を使用するので、ここでの詳細な説明は省略する。なお、本例では、プレイヤ初期位置から地続きのポリゴンに対して通行可能フラグを立てること等を行う。プレイヤは一定の高さの壁をよじ登る事ができるので、地続きじゃないよじ登った先のポリゴンにも、通行可能フラグを立てる。この場合、例えば、隣り合うポリゴンが無いエッジから登れる高さ分ずらした位置付近にあるメッシュを検索し、該当するメッシュが有ればそこから地続きフラグを設定する
【0061】
次に、設定したナビゲーションメッシュ上に、所定の配置規則に従って複数のウェイポイントを配置する。以下、ナビメッシュ上にオフラインでウェイポイントを自動配置する場合を例にして説明する。
【0062】
ここで、ウェイポイントとは、ゲーム上必要な情報を埋め込んでおく土台としての役割を担う。本例において、ウェイポイントには、XYZ位置、ポイントの下のナビメッシュポリゴンID、LOF(Line of Fire)、ポイント属性、ポイント接続情報、近くのカバーID、近くのドアID、近くのハシゴ・窓ID、射撃カバーリスト、ポイント位置から天井までの高さ、近くのカバーを乗り越えるときの高さ、壁までの距離、ポイントの上に乗っている壊れるギミックID、などの情報が必要に応じて対応付けされる。
【0063】
また、本例では、プレイヤ初期位置を基準として、塗りつぶしアルゴリズム(Floodfill)でポイントを配置していくことで、ウェイポイントを自動配置する。なお、グリッド状だと必要な位置にポイントが出来ていない場合があるので、任意に追加する構成としてもよい。この場合、仮想空間において各種オブジェクト(例えば、ドア、低カバー、高カバー端、ハシゴ取り付き位置)が位置する場所について、ウェイポイントの追加を受け付ける構成としてもよい。
【0064】
なお、配置した複数のウェイポイントのうち、所定の選択規則に従って選択されたウェイポイントを間引くようにしてもよい。以下、ポイントを敷き詰めたあとの処理としてウェイポイントを間引く場合を例にして説明する。なお、間引き後はインデックスが16bit以内に収まる数にすることが好ましい。ポイントのインデックスはあちこちで保存するため増やしたくないためであり、単純に数が多いと検索時の負荷が上がりすぎるためである。
【0065】
本例では、複数のウェイポイントを、プレイヤ初期位置を基準に自動配置した後、ランダムでポイントを選ぶことで、配置したウェイポイントを間引く。また、本例では、間引いてはいけないポイントは間引かない。すなわち、例えば、間引くと間引き後の距離が開きすぎるポイント、間引くとグラフが切断されるポイント、間引くと遠回りになりすぎるポイント、上位層グラフノードの境界、ドアなどのアクションのトリガーになる場所、などに対応するウェイポイントが選択された場合には、当該ウェイポイントを間引かない。
【0066】
間引き後の複数のウェイポイントの配置に基づいて、オブジェクトの移動経路を探索する。以下、敵位置からプレイヤ位置までの経路や、敵位置から目標オブジェクトまでの経路、あるいはプレイヤからプレイヤに選択された位置までの経路など、始点から終点までの経路について、配置されたウェイポイントを経由候補地とする公知の経路探索技術を利用して経路探索を実現する場合を例にして説明する。
【0067】
仮想空間に配置した複数のウェイポイント(あるいはナビゲーションメッシュ)を、所定の分類規則に従ってグループ分けすることで複数の領域を設定する。以下、階層型のパス検索のための最上層の構造として、位置的に近いポイントをある程度固めてラベル付けした領域(AI領域)を生成する場合を例にして説明する。なお、接続情報はラベル境界のポイント接続のものを使用する。
【0068】
本例においてAI領域は、ポイントをある程度のカタマリとして扱う役割を担う。細かすぎず、ざっくりと位置を表現する構成であることが好ましい。また、AI領域は、同じパスを通らないようにするコスト付対象としての役割があり、プレイヤや敵の影響度合いマップ(インフルエンスマップ)などにも利用できる。さらに、AI領域は、位置表現の階層化によるパス検索負荷低減が期待できる。
【0069】
地形から領域(本例におけるAI領域)を生成する場合、地形にウェイポイントを敷き詰め、ウェイポイントを接続し、ウェイポイント毎に壁からの距離を設定し、設定した距離を分水嶺(Watershed)アルゴリズムで分割することによって、自動的に領域の分割が可能となる。また、本例では、生成した領域を所定の調整規則に基づいて調整する。すなわち、複数の領域のうち、所定の分割条件を満たす領域を分割し、所定の併合条件を満たす領域を他の領域に併合する。このような構成とすることで、小さすぎる領域は隣の大きい領域にくっつけ、大きすぎる領域は「長い辺を半分に切る」を繰り返し、一定サイズにすることでゆるく「単位」として扱えるようになる。
【0070】
生成した複数の領域の配置に基づいて、オブジェクトが移動する領域(移動領域)を決定する。このように設定した領域を用いることによって、例えば、各領域をノードとして公知の経路探索技術を利用することが可能となる。
【0071】
以上より、ナビメッシュ、ウェイポイントグラフ、上位層グラフ、の順でデータ作成を行い、上位層グラフ、ウェイポイントグラフ、ナビメッシュ、の順でパス検索を実現できるようになる。
【0072】
なお、パス検索で最終的にほしい移動経路は、ビデオゲームの設計者が意図した程度になめらかな移動経路である。すなわち、オブジェクトの種類に応じて、ベジェ曲線、真っ直ぐな線、あるいはオブジェクトの現在位置から目標位置まで地続きじゃなくアクションが必要な線、を導出できる構成であることが好ましい。本例では、上位層グラフレベルで必要なアクションと位置を特定し、ウェイポイントレベルで必要なアクションと位置を特定し、特定した位置の間を地続き移動する移動経路を検索することで、各種線を導出可能にしている。なお、地続き移動の経路については、上位層パスを通し、上位層ノード内でウェイポイントのパスを作成し、全てのノードのウェイポイントを結合し、ポイントパスに沿ったナビメッシュポリゴンリストを作成し、通過するエッジのリストを作成し、エッジの中間点を使用してベジェ曲線を作成することで導出できる。
【0073】
また、上記の手法によって生成した領域は、指標箇所の設定に利用可能である。兵士や兵器が登場する3Dカバーシューティングゲームにおいては、味方エリアと敵エリアがせめぎ合う個所として「前線」を設定することがある。「前線」の設定には、本例の指標設定を適用することが可能である。すなわち、プレイヤキャラクタの所属パラメータと敵キャラクタの所属パラメータをそれぞれの滞在領域から伝播させて、異なる2つの所属パラメータがぶつかる箇所において絶対値の和を求め、絶対値の和が最も大きい個所を「前線」に設定する。なお、同じ所属の複数のキャラクタが存在する場合に、全てのキャラクタの滞在位置それぞれに所属パラメータを設定して伝播処理を実行するようにしてもよいし、所属のリーダーの滞在位置(代表する一人のキャラクタの滞在位置)を所属パラメータの設定位置として伝播処理を実行するようにしてもよいし、所属を代表する拠点箇所(拠点を設定可能としてもよい)を所属パラメータの設定位置として伝播処理を実行するようにしてもよい。プレイヤキャラクタの味方としてのNPCや敵キャラクタとしてのNPCは、自身の所属に該当する所属パラメータが設定された領域については自身の所属のエリアであると判断して、ある程度ゆとりをもって行動するように制御を行うが、前線の領域を超えて自身と異なる所属パラメータが設定された領域に移動する際には、いつ相手方キャラクタと対峙するか分からない、或いは、いつ狙撃されるか分からないという緊張感のもとで行動しているように制御を行う。なお、前線の設定は、一度設定した後は一定期間設定した位置に固定してビデオゲームの進行を制御するようにしてもよいし、キャラクタが移動することに応じて前線の位置も関連して変動する構成としてもよい。また、「前線」の位置において戦闘が発生する可能性が高いといえるので、NPCの自動制御を行う際に、敵を狙撃する任務が与えられている場合には前線を目指すように制御することが考えられる。
【0074】
上記のように、自身の所属に該当する所属パラメータが設定された領域群(プレイヤキャラクタから見て前線よりも手前側のエリア)はゆとりをもって行動することが可能であるが、自身の所属とは異なる所属パラメータが設定された領域群(プレイヤキャラクタから見て前線よりも奥側のエリア)は攻撃される危険性が上がるため可能なら侵入したくないエリアであるといえる。よって、敵キャラクタに対して罠を仕掛けたいと考えたとしても、敵のエリアまで行ってから罠を設置することは容易ではない。とはいえ、味方のエリアにおいて罠を設置しても敵キャラクタが罠に嵌まってくれないという問題があった。かといって、敵キャラクタを罠に対して直接向かわせる制御はあまりに不自然過ぎてプレイヤに違和感を与えてしまうことになるので採用し得ない。
【0075】
そこで、罠などの他の所属のキャラクタに対して効果を発揮するオブジェクトを何れかの領域に設置した場合、罠が設置された領域に対して設置したキャラクタとは異なる所属の所属パラメータを設定して、罠の位置からも所属パラメータを伝播させるようにする。これにより、例えばプレイヤキャラクタが自身の所属のエリア(プレイヤキャラクタから見て前線よりも手前側のエリア)において罠を設置した場合に、その罠の位置まで敵キャラクタの所属エリアが拡張されたように変化することになる。敵キャラクタにとって自身の所属エリアはゆとりをもって探索できるエリアであるため、探索行動の結果として罠の位置まで移動してきて罠に掛かる可能性がある。このように、敵キャラクタが罠に掛かるようになるという効果を自然に演出することが可能となる。なお、罠を設置した領域に所属パラメータを設定するための条件として、罠を設置したキャラクタが当該罠から所定距離以上離れる(退避する)ことを条件としてもよい。このような条件設定とすることで、罠を設置した直後に設置したキャラクタが即座に他の所属エリア内に侵入してしまっている状況が発生することを回避できる。
【0076】
以上に説明したように、第3の実施形態の一側面として、サーバ装置10Cが、領域設定部11Cと、所属パラメータ設定部12Cと、伝播部13Cと、指標設定部14Cと、記憶部15Cと、設置登録部16Cとを備える構成とし、キャラクタの行動に基づいて、所属の異なるキャラクタに対して効果を発揮するオブジェクトが何れかの領域内において設置された場合、当該領域内の所定位置に対する当該オブジェクトの設置を登録し、オブジェクトが設置された領域に対して設置したキャラクタとは所属の異なるキャラクタの所属パラメータとして所定値を設定するようにし、オブジェクトが設置された領域からも所属パラメータを伝播させるようにし、オブジェクトが設置された領域から伝播させた所属パラメータとの間でも伝播がぶつかる領域又は領域の境界を判定して指標箇所の設定を行うようにし、さらに、異なる所属パラメータの伝播がぶつかる領域又は領域の境界において算出した絶対値の和が最大となる領域又は領域の境界部分を判定し、当該領域、領域の境界又は領域の境界に隣接する領域をキャラクタの行動の指標となる指標箇所に設定するようにしたので、キャラクタが設置したオブジェクトに基づいて指標箇所を変化させることが可能となる。
【0077】
なお、第3の実施形態の例では、罠などの他の所属のキャラクタに対して効果を発揮するオブジェクトが何れかの領域に設置された場合、オブジェクトが設置された領域に対して設置したキャラクタとは異なる所属の所属パラメータを設定して、オブジェクトの位置からも所属パラメータを伝播させるようにしていたが、これに限定されるものではない。例えば、オブジェクトが設置された領域から所定範囲の領域に対して、伝播しない所属パラメータを直接に設定して、オブジェクトが設置された領域から所定範囲の領域を直接的に設置したキャラクタとは異なる所属のエリアに設定するようにしてもよい。すなわち、伝播処理を行わなくとも、オブジェクトの位置から所定範囲の領域が必ず設置したキャラクタとは異なる所属のエリアに変更される構成とすることによっても、キャラクタが設置したオブジェクトに基づいて指標箇所を変化させることが可能となる。
【0078】
なお、第1乃至第3の実施形態の例では、キャラクタが位置する領域に対して各キャラクタの所属を表す所属パラメータとして絶対値が最大となる所定値を設定する際に、異なる所属に対して異なる絶対値の所属パラメータを設定してもよいし、絶対値の最大値が同じとなる所属パラメータとしてもよいとして説明を行った。ここで、異なる所属に対して異なる絶対値の所属パラメータを設定する構成とすれば、指標位置を意図的に何れかの所属側に近づけることが可能となる。これを利用することで、例えば、所属の勢力、強さ、好戦的か否かなどを所属の特徴を表現したり、所属間の関係性を表現したりすることが可能となる。
【0079】
なお、第1乃至第3の実施形態の例では、キャラクタが位置する領域に対して各キャラクタの所属を表す所属パラメータとして絶対値が最大となる所定値を設定し、領域を移動して所属パラメータを伝播させるごとに所定値を減少させた値を設定するものとして説明していたが、これに限定されるものではない。大小を逆転させて、キャラクタが位置する領域に対して各キャラクタの所属を表す所属パラメータとして絶対値が最小となる所定値(0でもよい)を設定して、領域を移動して所属パラメータを伝播させるごとに所定値を増加させた値を設定する構成とすることも可能である。
【0080】
以上に説明したように、本願の各実施形態により1または2以上の不足が解決される。なお、夫々の実施形態による効果は、非限定的な効果または効果の一例である。
【0081】
なお、上述した各実施形態では、複数のユーザ端末201~20nとサーバ装置10は、自己が備える記憶装置に記憶されている各種制御プログラム(例えば、ビデオゲーム処理プログラム)に従って、上述した各種の処理を実行する。
【0082】
また、システム100の構成は、上述した各実施形態の例として説明した構成に限定されず、例えばユーザ端末が実行する処理として説明した処理の一部または全部をサーバ装置10が実行する構成としてもよいし、サーバ装置10が実行する処理として説明した処理の一部または全部を複数のユーザ端末201~20nの何れかが実行する構成としてもよい。また、サーバ装置10が備える記憶部の一部または全部を複数のユーザ端末201~20nの何れかが備える構成としてもよい。すなわち、システム100におけるユーザ端末20とサーバ装置10のどちらか一方が備える機能の一部または全部を、他の一方が備える構成とされていてもよい。
【0083】
また、プログラムが、上述した各実施形態の例として説明した機能の一部または全部を、通信ネットワークを含まない装置単体に実現させる構成としてもよい。
【0084】
[付記]
上述した実施形態の説明は、少なくとも下記発明を、当該発明の属する分野における通常の知識を有する者がその実施をすることができるように記載した。
[1]
ビデオゲームの進行を制御する機能をサーバに実現させるためのビデオゲーム処理プログラムであって、
前記サーバに、
仮想空間におけるキャラクタの移動可能範囲を所定規則に基づいてグループ分けすることで複数の領域を設定する領域設定機能と、
前記仮想空間における所属の異なる2以上のキャラクタがそれぞれ何れかの前記領域に位置している場合に、それぞれのキャラクタが位置する領域に対して各キャラクタの所属を表す所属パラメータとして絶対値が最大となる所定値を設定する所属パラメータ設定機能と、
それぞれの前記所属パラメータについて隣接する前記領域に対して移動するごとに所定値だけ絶対値が減少するように伝播させて、他の所属パラメータが既に設定されていない限りにおいてそれぞれの領域に減少後の所属パラメータを設定する伝播機能と、
それぞれの前記所属パラメータを伝播させた結果、所属の異なる2つのキャラクタがそれぞれ位置する領域からの領域の移動数が略均等の領域又は領域の境界であって異なる所属パラメータの伝播がぶつかる領域又は領域の境界において、異なる2つの所属パラメータの絶対値の和を算出して、絶対値の和が所定条件を満たす領域又は領域の境界部分について、当該領域、領域の境界又は領域の境界に隣接する領域を前記キャラクタの行動の指標となる指標箇所に設定する指標設定機能とを
実現させるためのビデオゲーム処理プログラム。
[2]
前記サーバに、
前記キャラクタの行動に基づいて、所属の異なる前記キャラクタに対して効果を発揮するオブジェクトが何れかの前記領域内において設置された場合、当該領域内の所定位置に対する当該オブジェクトの設置を登録する設置登録機能を実現させ、
前記所属パラメータ設定機能は、前記オブジェクトが設置された領域に対して設置したキャラクタとは所属の異なるキャラクタの所属パラメータとして所定値を設定するようにし、
前記伝播機能は、前記オブジェクトが設置された領域からも前記所属パラメータを伝播させるようにし、
前記指標設定機能は、前記オブジェクトが設置された領域から伝播させた前記所属パラメータとの間でも伝播がぶつかる領域又は領域の境界を判定して前記指標箇所の設定を行うようにした
[1]に記載のビデオゲーム処理プログラム。
[3]
前記指標設定機能は、異なる所属パラメータの伝播がぶつかる領域又は領域の境界において算出した絶対値の和が最大となる領域又は領域の境界部分を判定し、当該領域、領域の境界又は領域の境界に隣接する領域を前記キャラクタの行動の指標となる指標箇所に設定する
[1]または[2]に記載のビデオゲーム処理プログラム。
[4]
前記領域設定機能は、それぞれの大きさが略均等になるように前記複数の領域を設定する
[1]から[3]のうち何れかに記載のビデオゲーム処理プログラム。
[5]
[1]から[4]のうち何れかに記載のビデオゲーム処理プログラムが前記サーバに実現させる機能のうち少なくとも1つの機能を、当該サーバと通信可能なユーザ端末に実現させるためのビデオゲーム処理プログラム。
[6]
[1]から[5]のうち何れかに記載のビデオゲーム処理プログラムがインストールされたサーバ。
[7]
通信ネットワークと、サーバと、ユーザ端末とを備え、ビデオゲームの進行を制御する処理を行うビデオゲーム処理システムであって、
仮想空間におけるキャラクタの移動可能範囲を所定規則に基づいてグループ分けすることで複数の領域を設定する領域設定手段と、
前記仮想空間における所属の異なる2以上のキャラクタがそれぞれ何れかの前記領域に位置している場合に、それぞれのキャラクタが位置する領域に対して各キャラクタの所属を表す所属パラメータとして絶対値が最大となる所定値を設定する所属パラメータ設定手段と、
それぞれの前記所属パラメータについて隣接する前記領域に対して移動するごとに所定値だけ絶対値が減少するように伝播させて、他の所属パラメータが既に設定されていない限りにおいてそれぞれの領域に減少後の所属パラメータを設定する伝播手段と、
それぞれの前記所属パラメータを伝播させた結果、所属の異なる2つのキャラクタがそれぞれ位置する領域からの領域の移動数が略均等の領域又は領域の境界であって異なる所属パラメータの伝播がぶつかる領域又は領域の境界において、異なる2つの所属パラメータの絶対値の和を算出して、絶対値の和が所定条件を満たす領域又は領域の境界部分について、当該領域、領域の境界又は領域の境界に隣接する領域を前記キャラクタの行動の指標となる指標箇所に設定する指標設定手段とを含む
ことを特徴とするビデオゲーム処理システム。
[8]
前記サーバが、前記領域設定手段と、前記所属パラメータ設定手段と、前記伝播手段と、前記指標設定手段とを含み、
前記ユーザ端末が、前記指標設定手段により設定された前記指標に基づいてキャラクタ制御を実行した状態を表すゲーム画面を表示装置の表示画面に出力する出力手段を含む
[7]に記載のビデオゲーム処理システム。
[9]
ビデオゲームの進行を制御する機能をユーザ端末に実現させるためのビデオゲーム処理プログラムであって、
仮想空間におけるキャラクタの移動可能範囲を所定規則に基づいてグループ分けすることで複数の領域を設定する領域設定機能と、前記仮想空間における所属の異なる2以上のキャラクタがそれぞれ何れかの前記領域に位置している場合に、それぞれのキャラクタが位置する領域に対して各キャラクタの所属を表す所属パラメータとして絶対値が最大となる所定値を設定する所属パラメータ設定機能と、それぞれの前記所属パラメータについて隣接する前記領域に対して移動するごとに所定値だけ絶対値が減少するように伝播させて、他の所属パラメータが既に設定されていない限りにおいてそれぞれの領域に減少後の所属パラメータを設定する伝播機能と、それぞれの前記所属パラメータを伝播させた結果、所属の異なる2つのキャラクタがそれぞれ位置する領域からの領域の移動数が略均等の領域又は領域の境界であって異なる所属パラメータの伝播がぶつかる領域又は領域の境界において、異なる2つの所属パラメータの絶対値の和を算出して、絶対値の和が所定条件を満たす領域又は領域の境界部分について、当該領域、領域の境界又は領域の境界に隣接する領域を前記キャラクタの行動の指標となる指標箇所に設定する指標設定機能とを有するサーバから、当該サーバが備える機能に関する情報を受信して当該機能に対応する入出力を行う機能を前記ユーザ端末に
実現させるためのビデオゲーム処理プログラム。
[10]
ビデオゲームの進行を制御する機能をユーザ端末に実現させるためのビデオゲーム処理プログラムであって、
前記ユーザ端末に、
仮想空間におけるキャラクタの移動可能範囲を所定規則に基づいてグループ分けすることで複数の領域を設定する領域設定機能と、
前記仮想空間における所属の異なる2以上のキャラクタがそれぞれ何れかの前記領域に位置している場合に、それぞれのキャラクタが位置する領域に対して各キャラクタの所属を表す所属パラメータとして絶対値が最大となる所定値を設定する所属パラメータ設定機能と、
それぞれの前記所属パラメータについて隣接する前記領域に対して移動するごとに所定値だけ絶対値が減少するように伝播させて、他の所属パラメータが既に設定されていない限りにおいてそれぞれの領域に減少後の所属パラメータを設定する伝播機能と、
それぞれの前記所属パラメータを伝播させた結果、所属の異なる2つのキャラクタがそれぞれ位置する領域からの領域の移動数が略均等の領域又は領域の境界であって異なる所属パラメータの伝播がぶつかる領域又は領域の境界において、異なる2つの所属パラメータの絶対値の和を算出して、絶対値の和が所定条件を満たす領域又は領域の境界部分について、当該領域、領域の境界又は領域の境界に隣接する領域を前記キャラクタの行動の指標となる指標箇所に設定する指標設定機能とを
実現させるためのビデオゲーム処理プログラム。
[11]
[10]記載のビデオゲーム処理プログラムが前記ユーザ端末に実現させる機能のうち少なくとも1つの機能を、当該ユーザ端末と通信可能なサーバに実現させるためのビデオゲーム処理プログラム。
[12]
[10]または[11]記載のビデオゲーム処理プログラムがインストールされたユーザ端末。
[13]
ビデオゲームの進行を制御する処理を行うビデオゲーム処理方法であって、
仮想空間におけるキャラクタの移動可能範囲を所定規則に基づいてグループ分けすることで複数の領域を設定する領域設定処理と、
前記仮想空間における所属の異なる2以上のキャラクタがそれぞれ何れかの前記領域に位置している場合に、それぞれのキャラクタが位置する領域に対して各キャラクタの所属を表す所属パラメータとして絶対値が最大となる所定値を設定する所属パラメータ設定処理と、
それぞれの前記所属パラメータについて隣接する前記領域に対して移動するごとに所定値だけ絶対値が減少するように伝播させて、他の所属パラメータが既に設定されていない限りにおいてそれぞれの領域に減少後の所属パラメータを設定する伝播処理と、
それぞれの前記所属パラメータを伝播させた結果、所属の異なる2つのキャラクタがそれぞれ位置する領域からの領域の移動数が略均等の領域又は領域の境界であって異なる所属パラメータの伝播がぶつかる領域又は領域の境界において、異なる2つの所属パラメータの絶対値の和を算出して、絶対値の和が所定条件を満たす領域又は領域の境界部分について、当該領域、領域の境界又は領域の境界に隣接する領域を前記キャラクタの行動の指標となる指標箇所に設定する指標設定処理とを含む
ことを特徴とするビデオゲーム処理方法。
[14]
通信ネットワークと、サーバと、ユーザ端末とを備えるビデオゲーム処理システムが、ビデオゲームの進行を制御する処理を行うビデオゲーム処理方法であって、
仮想空間におけるキャラクタの移動可能範囲を所定規則に基づいてグループ分けすることで複数の領域を設定する領域設定処理と、
前記仮想空間における所属の異なる2以上のキャラクタがそれぞれ何れかの前記領域に位置している場合に、それぞれのキャラクタが位置する領域に対して各キャラクタの所属を表す所属パラメータとして絶対値が最大となる所定値を設定する所属パラメータ設定処理と、
それぞれの前記所属パラメータについて隣接する前記領域に対して移動するごとに所定値だけ絶対値が減少するように伝播させて、他の所属パラメータが既に設定されていない限りにおいてそれぞれの領域に減少後の所属パラメータを設定する伝播処理と、
それぞれの前記所属パラメータを伝播させた結果、所属の異なる2つのキャラクタがそれぞれ位置する領域からの領域の移動数が略均等の領域又は領域の境界であって異なる所属パラメータの伝播がぶつかる領域又は領域の境界において、異なる2つの所属パラメータの絶対値の和を算出して、絶対値の和が所定条件を満たす領域又は領域の境界部分について、当該領域、領域の境界又は領域の境界に隣接する領域を前記キャラクタの行動の指標となる指標箇所に設定する指標設定処理とを含む
ことを特徴とするビデオゲーム処理方法。
【産業上の利用可能性】
【0085】
本発明の実施形態の一つによれば、オブジェクトの移動経路の探索に要する処理負荷を軽減させるのに有用である。
【符号の説明】
【0086】
100 ビデオゲーム処理システム
10 サーバ装置
201~20n ユーザ端末
11、11C 領域設定部
12、12B、12C 所属パラメータ設定部
13、13B、13C 伝播部
14、14B、14C 指標設定部
15、15C 記憶部
16、16C 設置登録
30 通信ネットワーク
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12