JP2021037140A - ビデオゲーム処理プログラム、及びビデオゲーム処理システム - Google Patents

ビデオゲーム処理プログラム、及びビデオゲーム処理システム Download PDF

Info

Publication number
JP2021037140A
JP2021037140A JP2019161054A JP2019161054A JP2021037140A JP 2021037140 A JP2021037140 A JP 2021037140A JP 2019161054 A JP2019161054 A JP 2019161054A JP 2019161054 A JP2019161054 A JP 2019161054A JP 2021037140 A JP2021037140 A JP 2021037140A
Authority
JP
Japan
Prior art keywords
waypoints
function
video game
game processing
area
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2019161054A
Other languages
English (en)
Other versions
JP2021037140A5 (ja
Inventor
陽一郎 三宅
Yoichiro Miyake
陽一郎 三宅
長谷川 誠
Makoto Hasegawa
誠 長谷川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Square Enix Co Ltd
Original Assignee
Square Enix Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Square Enix Co Ltd filed Critical Square Enix Co Ltd
Priority to JP2019161054A priority Critical patent/JP2021037140A/ja
Priority to US17/006,145 priority patent/US11406898B2/en
Priority to CN202010905349.5A priority patent/CN112439199A/zh
Publication of JP2021037140A publication Critical patent/JP2021037140A/ja
Publication of JP2021037140A5 publication Critical patent/JP2021037140A5/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/55Controlling game characters or game objects based on the game progress
    • A63F13/56Computing the motion of game characters with respect to other game characters, game objects or elements of the game scene, e.g. for simulating the behaviour of a group of virtual soldiers or for path finding
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • A63F13/355Performing operations on behalf of clients with restricted processing capabilities, e.g. servers transform changing game scene into an encoded video stream for transmitting to a mobile phone or a thin client
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/55Controlling game characters or game objects based on the game progress
    • A63F13/57Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game
    • A63F13/573Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game using trajectories of game objects, e.g. of a golf ball according to the point of impact
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/003Navigation within 3D models or images
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/53Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing
    • A63F2300/538Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing for performing operations on behalf of the game client, e.g. rendering
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/57Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of game services offered to the player
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/66Methods for processing data by generating or executing the game program for rendering three dimensional images
    • A63F2300/6607Methods for processing data by generating or executing the game program for rendering three dimensional images for animating game characters, e.g. skeleton kinematics

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • User Interface Of Digital Computer (AREA)
  • Processing Or Creating Images (AREA)

Abstract

【課題】オブジェクトの移動経路の探索に要する処理負荷を軽減させる。【解決手段】ナビゲーションメッシュ上に配置したウェイポイントを、所定の分類規則に基づいてグループ分けすることで複数の領域を生成し、生成した複数の領域の配置に基づいて、オブジェクトの移動領域を決定し、決定した移動領域に含まれるウェイポイントに基づいて当該オブジェクトの移動経路を探索する。移動領域の決定には、複数のウェイポイントのそれぞれと他のウェイポイントとの接続情報を利用する構成としてもよい。【選択図】図3

Description

本発明の実施形態の少なくとも1つは、仮想空間における移動経路の探索に関する機能をサーバに実現させるためのビデオゲーム処理プログラム、及びビデオゲーム処理システムに関する。
従来、ビデオゲームにおいてキャラクタを移動させるための技術が種々提案されている。
このような技術には、ビデオゲームを構成する仮想空間に関する位置情報を用いてキャラクタの移動経路を探索するものがあり、ナビゲーションメッシュとウェイポイントが利用される。そして、移動経路の探索に要する処理負荷の増大を抑制するために、探索領域の所定範囲に配される経由候補位置の間隔よりも、所定範囲外に配される経由候補位置の間隔の方が大きくなるように、探索領域の経由候補位置の配置を決定するものもある(特許文献1参照)。
特開2012−213485号公報
しかし、従来の技術では、探索対象とするウェイポイント(経由候補位置)の数が増えるほど、ウェイポイントの配置および配置されたウェイポイントを対象とする経路探索に要する処理負荷が増大するため、キャラクタなど、仮想空間を移動可能なオブジェクトの移動を制御する際の処理負荷が過大になる場合があった。
本発明の少なくとも1つの実施形態の目的は、上記課題を解決し、オブジェクトの移動経路の探索に要する処理負荷を軽減させることである。
非限定的な観点によると、本発明の一実施形態に係るビデオゲーム処理プログラムは、仮想空間における移動経路の探索に関する機能をサーバに実現させるためのビデオゲーム処理プログラムであって、前記サーバに、仮想空間におけるオブジェクトの移動可能範囲に対応するナビゲーションメッシュを設定する設定機能と、設定した前記ナビゲーションメッシュ上に、所定の配置規則に従って複数のウェイポイントを配置する配置機能と、前記仮想空間に配置した前記複数のウェイポイントを、所定の分類規則に基づいてグループ分けすることで複数の領域を生成する生成機能と、生成した前記複数の領域の配置に基づいて、前記オブジェクトが移動する領域(以下「移動領域」という。)を決定する決定機能と、決定した前記移動領域に含まれるウェイポイントに基づいて、前記オブジェクトの移動経路を探索する探索機能とを実現させるためのものである。
非限定的な観点によると、本発明の一実施形態に係るビデオゲーム処理システムは、通信ネットワークと、サーバと、ユーザ端末とを備え、仮想空間における移動経路の探索に関する処理を行うビデオゲーム処理システムであって、仮想空間におけるオブジェクトの移動可能範囲に対応するナビゲーションメッシュを設定する設定手段と、設定された前記ナビゲーションメッシュ上に、所定の配置規則に従って複数のウェイポイントを配置する配置手段と、前記仮想空間に配置された前記複数のウェイポイントを、所定の分類規則に基づいてグループ分けすることで複数の領域を生成する生成手段と、生成された前記複数の領域の配置に基づいて、前記オブジェクトが移動する領域(以下「移動領域」という。)を決定する決定手段と、決定された前記移動領域に含まれるウェイポイントに基づいて、前記オブジェクトの移動経路を探索する探索手段とを含むことを特徴とする。
非限定的な観点によると、本発明の一実施形態に係るビデオゲーム処理プログラムは、仮想空間における移動経路の探索に関する機能をユーザ端末に実現させるためのビデオゲーム処理プログラムであって、前記ユーザ端末に、仮想空間におけるオブジェクトの移動可能範囲に対応するナビゲーションメッシュを設定する設定機能と、設定した前記ナビゲーションメッシュ上に、所定の配置規則に従って複数のウェイポイントを配置する配置機能と、前記仮想空間に配置した前記複数のウェイポイントを、所定の分類規則に基づいてグループ分けすることで複数の領域を生成する生成機能と、生成した前記複数の領域の配置に基づいて、前記オブジェクトが移動する領域(以下「移動領域」という。)を決定する決定機能と、決定した前記移動領域に含まれるウェイポイントに基づいて、前記オブジェクトの移動経路を探索する探索機能とを実現させるためのものである。
本願の各実施形態により1または2以上の不足が解決される。
本発明の実施形態の少なくとも一つに対応するビデオゲーム処理システムの構成の例を示すブロック図である。 本発明の実施形態の少なくとも一つに対応するサーバの構成を示すブロック図である。 本発明の実施形態の少なくとも一つに対応するゲーム処理の例を示すフローチャートである。 本発明の実施形態の少なくとも一つに対応するゲーム処理におけるサーバ側の動作の例を示すフローチャートである。 本発明の実施形態の少なくとも一つに対応するゲーム処理における端末側の動作の例を示すフローチャートである。 本発明の実施形態の少なくとも一つに対応するサーバの構成を示すブロック図である。 本発明の実施形態の少なくとも一つに対応するゲーム処理の例を示すフローチャートである。 本発明の実施形態の少なくとも一つに対応するサーバの構成を示すブロック図である。 本発明の実施形態の少なくとも一つに対応するゲーム処理の例を示すフローチャートである。 本発明の実施形態の少なくとも一つに対応するサーバの構成を示すブロック図である。 本発明の実施形態の少なくとも一つに対応するウェイポイントの間引きの例について説明するための説明図である。 本発明の実施形態の少なくとも一つに対応する間引いてはいけないウェイポイントの例について説明するための説明図である。 本発明の実施形態の少なくとも一つに対応する領域を生成する方法の例について説明するための説明図である。 本発明の実施形態の少なくとも一つに対応する情報の格納状態の例について説明するための説明図である。 本発明の実施形態の少なくとも一つに対応するゲーム処理の例を示すフローチャートである。
以下、本発明の実施形態の例について図面を参照して説明する。なお、以下で説明する各実施形態の例における各種構成要素は、矛盾等が生じない範囲で適宜組み合わせ可能である。また、ある実施形態の例として説明した内容については、他の実施形態においてその説明を省略している場合がある。また、各実施形態の特徴部分に関係しない動作や処理については、その内容を省略している場合がある。さらに、以下で説明する各種フローを構成する各種処理の順序は、処理内容に矛盾等が生じない範囲で順不同である。
[第1の実施形態]
図1は、本発明の一実施の形態におけるビデオゲーム処理システム100の構成の例を示すブロック図である。図1に示すように、ビデオゲーム処理システム100は、ビデオゲーム処理サーバ10(サーバ10)と、ビデオゲーム処理システム100のユーザが使用するユーザ端末20,201〜20N(Nは任意の整数)とを含む。なお、ビデオゲーム処理システム100の構成はこれに限定されず、単一のユーザ端末を複数のユーザが使用する構成としてもよいし、複数のサーバを備える構成としてもよい。
サーバ10と複数のユーザ端末20,201〜20Nは、それぞれインターネットなどの通信ネットワーク30に接続されている。なお、図示しないが、複数のユーザ端末20,201〜20Nは、通信業者によって管理される基地局と無線通信回線によるデータ通信を行うことによって、通信ネットワーク30と接続する。
ビデオゲーム処理システム100は、サーバ10と複数のユーザ端末20,201〜20Nとを備えることにより、ユーザの操作に応じて各種処理を実行するための各種機能を実現する。
サーバ10は、ビデオゲーム処理システム100の管理者によって管理され、複数のユーザ端末20,201〜20Nに対して各種処理に関する情報を提供するための各種機能を有する。本例において、サーバ10は、WWWサーバなどの情報処理装置によって構成され、各種情報を格納する記憶媒体を備える。なお、サーバ10は、制御部や通信部などコンピュータとして各種処理を行うための一般的な構成を備えるが、ここでの説明は省略する。また、ビデオゲーム処理システム100においては、複数のユーザ端末20,201〜20Nそれぞれにかかる処理負荷を軽減させるといった観点から、各種情報はサーバ10が管理することが好ましい。ただし、各種情報を記憶する記憶部は、サーバ10がアクセス可能な状態で記憶領域を備えていればよく、例えば専用の記憶領域をサーバ10の外部に有する構成とされていてもよい。
図2は、サーバ10の構成の例であるサーバ10Aの構成を示すブロック図である。図2に示すように、サーバ10Aは、設定部11と、配置部12と、生成部13と、決定部14と、探索部15とを少なくとも備える。
設定部11は、仮想空間におけるオブジェクトの移動可能範囲に対応するナビゲーションメッシュを設定する機能を有する。
ここで、オブジェクトとは、仮想空間に配置可能なものを意味する。オブジェクトの構成は特に限定されないが、端末20のユーザ(あるいは、プレイヤ。)が認識し得るものであることが好ましい。オブジェクトの例には、ユーザが操作可能なキャラクタ(プレイヤキャラクタ)や、ユーザが操作不能なキャラクタ(ノンプレイヤキャラクタ)がある。
また、移動可能範囲とは、仮想空間においてオブジェクトによる移動が許容された範囲を意味する。移動可能範囲の構成は特に限定されず、2Dマップであってもよいし、3Dマップであってもよい。
また、移動可能範囲に対応するナビゲーションメッシュを設定するとは、仮想空間における移動可能範囲にナビゲーションメッシュを対応付けることを意味する。ナビゲーションメッシュを設定するための構成は、特に限定されず、例えば、プレイヤの初期位置から地続きのポリゴンに対して通行可能フラグを立てる構成がある。
配置部12は、設定したナビゲーションメッシュ上に、所定の配置規則に従って複数のウェイポイントを配置する機能を有する。
ここで、ウェイポイントとは、ビデオゲームに関する情報が対応付け可能な地点情報を意味する。すなわち、ウェイポイントとは、ゲーム上必要な情報を埋め込んでおく土台としての役割を有する。ウェイポイントの構成は、ナビゲーションメッシュ上の位置を特定可能であれば特に限定されないが、経路探索の目的に応じて有用となり得る情報が対応付け可能な構成であることが好ましい。このような構成の例には、3D空間にけるXYZ位置と、ウェイポイントの下のナビメッシュポリゴンIDとを含む構成がある。
また、所定の配置規則に従って複数のウェイポイントを配置するための構成は特に限定されず、複数の配置規則を使い分ける構成としてよい。配置規則の例には、プレイヤの初期位置を基準として、塗りつぶしアルゴリズム(Floodfill)でウェイポイントを配置していく規則がある。
生成部13は、仮想空間に配置した前記複数のウェイポイントを、所定の分類規則に基づいてグループ分けすることで複数の領域を生成する機能を有する。
ここで、所定の分類規則に従ってグループ分けするための構成は特に限定されず、ウェイポイントの配置に基づいて分類する構成としてもよいし、ウェイポイントに対応付けされた情報に基づいて分類する構成としてもよい。このような構成の例には、各ウェイポイントの移動不可領域(例えば、壁)からの距離を分水嶺(Watershed)アルゴリズムで分類(あるいは、分類後の各ウェイポイントの配置によりナビゲーションメッシュを分割)する構成がある。
また、グループ分けすることで複数の領域を生成するとは、グループに属するウェイポイントが位置する仮想空間(または設定されたナビゲーションメッシュ)における範囲を領域として定義することを意味する。複数の領域を生成するための構成は特に限定されず、グループに属するウェイポイント群を示す情報を領域として生成する構成としてもよいし、グループに属するウェイポイントの配置からナビゲーションメッシュの一部を示す情報を領域として生成する構成としてもよい。
決定部14は、生成した複数の領域の配置に基づいて、オブジェクトが移動する領域(移動領域)を決定する機能を有する。
ここで、移動領域を決定するための構成は特に限定されず、移動開始位置が含まれる領域と、移動終了位置が含まれる領域とを繋ぐ複数の領域を移動領域として決定可能な構成であればよい。このような構成の例には、各領域をノードとして公知の経路探索技術を利用する構成がある。なお、各領域の接続関係を、各領域の境界に位置するウェイポイントに対応付けされた情報を用いて判定する構成としてもよい。
探索部14は、決定した移動領域に含まれるウェイポイントに基づいて、オブジェクトの移動経路を探索する機能を有する。
ここで、移動領域に含まれるウェイポイントに基づいて移動経路を探索するための構成は特に限定されないが、探索条件を満たす1または複数の経路を探索可能な構成であることが好ましい。このような構成の例には、移動領域に含まれる各ウェイポイントをノードとして公知の経路探索技術を採用する構成がある。
複数のユーザ端末20,201〜20Nは、それぞれ、ユーザによって管理され、例えば携帯電話端末やPDA(Personal Digital Assistants)、携帯型ゲーム装置や所謂ウェアラブルデバイスなどのネットワーク配信型のゲームを行うことが可能な通信端末によって構成される。なお、ビデオゲーム処理システム100が含み得るユーザ端末の構成は上述した例に限定されず、ユーザが合成画像を認識し得る構成であればよい。ユーザ端末の構成の他の例には、各種通信端末を組み合わせたものやパーソナルコンピュータ、据置型ゲーム装置がある。
また、複数のユーザ端末20,201〜20Nは、それぞれ、通信ネットワーク30に接続し、サーバ10との通信を行うことにより各種処理を実行するためのハードウェア(例えば、座標に応じたブラウザ画面やゲーム画面を表示する表示装置など)およびソフトウェアを備える。なお、複数のユーザ端末20,201〜20Nそれぞれは、サーバ10を介さずに互いに直接通信を行うこともできる構成とされていてもよい。
次に、本例のビデオゲーム処理システム100(システム100)の動作について説明する。
図3は、システム100が実行するゲーム処理の例を示すフローチャートである。本例におけるゲーム処理では、ビデオゲームの進行を制御することに関連する処理が行われる。以下、サーバ10Aとユーザ端末20(端末20)とが、ゲーム処理を実行する場合を例にして説明する。
ゲーム処理は、例えばサーバ10Aにアクセスした端末20がウェイポイントの配置条件を満たした場合に開始される。以下、端末20を操作するユーザが、移動経路の探索要求を入力した場合を例にして説明する。
サーバ10Aは、ゲーム処理において、先ず、ナビゲーションメッシュを設定する(ステップS11)。本例においてサーバ10Aは、端末20に提供する仮想空間を特定し、特定した仮想空間でオブジェクトが移動可能な範囲に対応するナビゲーションメッシュを設定する。
サーバ10Aは、ナビゲーションメッシュを設定すると、ウェイポイントを配置する(ステップS12)。本例においてサーバ10Aは、設定したナビゲーションメッシュ上に、所定の配置規則に従って複数のウェイポイントを配置する。
サーバ10Aは、ウェイポイントを配置すると、複数の領域を生成する(ステップS13)。本例においてサーバ10Aは、仮想空間に配置した複数のウェイポイントを、所定の分類規則に従ってグループ分けすることで複数の領域を生成する。
サーバ10Aは、複数の領域を生成すると、移動領域を決定する(ステップS14)。本例においてサーバ10Aは、生成した複数の領域の配置に基づいて、移動開始位置が含まれる領域から移動終了位置が含まれる領域までの移動に適した移動領域を決定する。
サーバ10Aは、移動領域を決定すると、移動領域に含まれるウェイポイントに基づいて、移動経路を探索する(ステップS15)。本例においてサーバ10Aは、決定した移動領域に含まれるウェイポイントに基づいて、移動開始位置から移動終了位置までの移動経路を探索する。
図4は、ゲーム処理におけるサーバ10A側の動作の例を示すフローチャートである。ここでは、システム100におけるサーバ10Aの動作について改めて説明する。
サーバ10Aは、ゲーム処理において、先ず、ナビゲーションメッシュを設定し(ステップS101)、設定したナビゲーションメッシュ上にウェイポイントを配置し(ステップS102)、配置した複数のウェイポイントを、所定の分類規則に基づいてグループ分けすることで複数の領域を生成し(ステップ103)、生成した複数の領域の配置に基づいて移動領域を決定し(ステップ104)、移動領域に含まれるウェイポイントに基づいて移動経路を探索する(ステップ105)。
図5は、端末20がゲーム処理を実行する場合の端末20側の動作の例を示すフローチャートである。以下、端末20が、単体でゲーム処理を実行する場合を例にして説明する。なお、端末20の構成については、サーバ10から各種情報を受信することを除きサーバ10の構成と同様の機能を備えるものであるため、重複説明を避ける観点から記載を省略する。
端末20は、ゲーム処理において、先ず、ナビゲーションメッシュを設定し(ステップS201)、設定したナビゲーションメッシュ上にウェイポイントを配置し(ステップS202)、配置した複数のウェイポイントを、所定の分類規則に基づいてグループ分けすることで複数の領域を生成し(ステップ203)、生成した複数の領域の配置に基づいて移動領域を決定し(ステップ204)、移動領域に含まれるウェイポイントに基づいて移動経路を探索する(ステップ205)。本例において端末20は、サーバ10Aと通信することで、各ステップで用いる情報を取得する。なお、端末20が、自身が備える記憶部を参照して各ステップで用いる情報を特定する構成としてもよい。
以上に説明したように、第1の実施形態の一側面として、仮想空間における移動経路の探索に関する機能を備えたサーバ10Aが、設定部11と、配置部12と、生成部13と、決定部14と、探索部15とを備える構成としているので、仮想空間におけるオブジェクトの移動可能範囲に対応するナビゲーションメッシュを設定し、設定したナビゲーションメッシュ上に、所定の配置規則に従って複数のウェイポイントを配置し、仮想空間に配置した複数のウェイポイントを、所定の分類規則に基づいてグループ分けすることで複数の領域を生成し、生成した複数の領域の配置に基づいて、オブジェクトが移動する領域(移動領域)を決定し、移動領域に含まれるウェイポイントに基づいて、オブジェクトの移動経路を探索し、オブジェクトの移動経路の探索に要する処理負荷を軽減させることができる。
すなわち、ウェイポイントを配置するだけでなく、移動領域を決定してから移動経路を探索するため、段階的に移動経路を探索できるようになり、配置した全てのウェイポイントを探索対象とする場合と比べ、移動経路の探索に要する処理負荷を軽減させることができる。
なお、上述した実施の形態の例では特に言及していないが、設定部11と、配置部12と、生成部13と、決定部14とによる処理の時機は特に限定されず、ビデオゲームの開発時であってもよいし、ビデオゲームのプレイ時であってもよい。すなわち、探索部15が、プレイヤがビデオゲームをプレイするより前に生成された情報を読み出し、読みだした情報をビデオゲームの状況に応じて更新して、移動経路を探索する構成としてもよい。また、探索部14が、ビデオゲームの進行に応じてリアルタイムに生成された情報(例えば、ウェイポイントの配置や、生成された領域)を用いて移動経路を探索する構成としてもよい。
[第2の実施形態]
図6は、ビデオゲーム処理サーバ10の例であるビデオゲーム処理サーバ10B(サーバ10B)の構成を示すブロック図である。本例において、サーバ10Bは、設定部11と、配置部12と、生成部13と、決定部14Bと、探索部15とを少なくとも備える。
決定部14Bは、複数のウェイポイントのそれぞれと他のウェイポイントとの接続情報を記憶する所定の記憶部(図示せず)を参照し、複数の領域の境界に配置されたウェイポイントの接続情報に基づいて移動領域を決定する機能を有する。
ここで、接続情報とは、複数のウェイポイントとの接続に関する情報を意味する。接続情報の構成は、1つのウェイポイントから他のウェイポイントへオブジェクトが移動できるか否かを特定可能な構成であれば特に限定されない。接続情報の例には、ウェイポイントから移動可能な他のウェイポイントの識別情報がある。
また、複数の領域の境界とは、仮想空間において隣接条件を満たす複数の仮想空間の境界を意味する。1つの領域に属するウェイポイントが他の領域に属するウェイポイントに接続している場合、当該2つの領域間では移動可能であると判定できる。一方、隣接する2つの領域であっても、各領域に属するウェイポイントが接続されていない場合、当該2つの領域間では移動不能と判定できる。仮想空間における複数の領域の接続関係を特定可能とすることで、移動経路の探索と同様の方法により移動領域を決定できる。
図7は、システム100が実行するゲーム処理の例を示すフローチャートである。以下、サーバ10Bと、端末20の動作を例にして説明する。なお、サーバ10Bと端末20それぞれの動作を示すフローチャートについては、重複説明を避ける観点から記載を省略する。
サーバ10Bは、複数の領域を生成すると、ウェイポイントの接続情報に基づいて移動領域を決定する(ステップS2−11)。本例においてサーバ10Bは、生成した複数の領域に含まれるウェイポイントのうち、各領域の境界に配置されたウェイポイントの接続情報に基づいて、移動開始位置から移動終了位置までの移動経路を探索する。
以上に説明したように、第2の実施形態の一側面として、サーバ10Bが、設定部11と、配置部12と、生成部13と、決定部14Bと、探索部15とを備える構成としているので、複数のウェイポイントのそれぞれと他のウェイポイントとの接続情報を記憶する所定の記憶手段を参照し、複数の領域の境界に配置されたウェイポイントの接続情報に基づいて移動領域を決定し、複数の領域間の接続関係を特定するために新たな情報を生成することなく移動領域を決定できるため、移動経路を探索するための移動領域の決定に要する処理負荷を軽減させることができる。
[第3の実施形態]
図8は、ビデオゲーム処理サーバ10の例であるビデオゲーム処理サーバ10C(サーバ10C)の構成を示すブロック図である。本例において、サーバ10Cは、設定部11と、配置部12と、生成部13Cと、決定部14と、探索部15とを少なくとも備える。
生成部13Cは、複数の領域のうち、所定の分割条件を満たす領域を分割し、所定の併合条件を満たす領域を他の領域に併合する機能を有する。すなわち、生成部13Cは、複数の領域を調整する機能を有する。
ここで、領域を分割するとは、1つの領域に属する複数のウェイポイントを2以上の領域に所属させることを意味する。また、領域を併合するとは、2以上の領域に属する複数のウェイポイントを、1つの領域に所属させることを意味する。すなわち、生成部13Cは、生成した領域に属するウェイポイントの所属を変更する機能を有する。
また、所定の分割条件を満たす領域を分割し、所定の併合条件を満たす領域を他の領域に併合するための構成は特に限定されず、生成した全ての領域を一定の範囲に収まるサイズにする構成としてもよいし、調整後の領域が複数のサイズ条件のうち何れか1つを満たすように分割条件と併合条件が設けられた構成としてもよい。
図9は、システム100が実行するゲーム処理の例を示すフローチャートである。以下、サーバ10Cと、端末20の動作を例にして説明する。なお、サーバ10Cと端末20それぞれの動作を示すフローチャートについては、重複説明を避ける観点から記載を省略する。
サーバ10Cは、複数の領域を生成すると、複数の領域を調整(分割・併合)する(ステップS3−11)。本例においてサーバ10Cは、生成した全ての領域を一定の範囲に収まるサイズにする。
以上に説明したように、第3の実施形態の一側面として、サーバ10Cが、設定部11と、配置部12と、生成部13Cと、決定部14と、探索部15を備える構成としているので、複数の領域のうち、所定の分割条件を満たす領域を分割し、所定の併合条件を満たす領域を他の領域に併合し、生成した領域を単位として扱えるようにでき、領域の有用性を高めることができる。
[第4の実施形態]
図10は、システム100(図1参照)におけるビデオゲーム処理サーバ10の例であるビデオゲーム処理サーバ10Z(サーバ10Z)の構成を示すブロック図である。本例において、サーバ10Zは、設定部11Zと、配置部12Zと、生成部13Zと、決定部14Zと、探索部15Zと、間引き部16Zを少なくとも備える。
設定部11Zは、仮想空間におけるオブジェクトの移動可能範囲に対応するナビゲーションメッシュを設定する機能を有する。以下、兵士や兵器が登場する3Dカバーシューティングゲームにおける仮想空間にナビゲーションメッシュを設定する場合を例にして説明する。
本例において、敵兵は、マップの端からプレイヤを捜索できる。また、マップ上のどこでも戦闘ができる。そのため、歩きや走りなど、普通の移動はナビゲーションメッシュ上で行われる。
ここで、敵の機能を実現するため、サーバ10Zは、マップの端から端の長大なパスを検索できる。本例では、パスの検索負荷を抑制するため、階層型のパス検索を行う。また、敵は配置位置の付近だけでなく、プレイヤが行ける所に行ける。すなわち、カバーの乗り越えやよじ登り、ドア、窓、はしごを移動できる。本例では、移動の自由度を担保するため、ナビゲーションメッシュが連続していない場所をジャンプリンクで通行させる。
また、ナビゲーションに関する機能として、本例では、ナビゲーションメッシュ(ナビメッシュ)による地続き箇所の移動と、ジャンプリンクによるメッシュ外の移動と、長大なパス検索負荷を下げるための階層構造と、上記のデータを自動生成する機能とについても説明する。
ここで、上記機能に用いる地形表現の例には、ナビメッシュと、ウェイポイントと、接続グラフと、ウェイポイントを元にした上位層グラフとがある。
ナビメッシュについては、公知の技術(例えば、recast navigation)を使用するので、ここでの詳細な説明は省略する。なお、本例では、プレイヤ初期位置から地続きのポリゴンに対して通行可能フラグを立てること等を行う。プレイヤは一定の高さの壁をよじ登る事ができるので、地続きじゃないよじ登った先のポリゴンにも、通行可能フラグを立てる。この場合、例えば、隣り合うポリゴンが無いエッジから登れる高さ分ずらした位置付近にあるメッシュを検索し、該当するメッシュが有ればそこから地続きフラグを設定する
配置部12は、設定したナビゲーションメッシュ上に、所定の配置規則に従って複数のウェイポイントを配置する機能を有する。以下、ナビメッシュ上にオフラインでウェイポイントを自動配置する場合を例にして説明する。
ここで、ウェイポイントとは、ゲーム上必要な情報を埋め込んでおく土台としての役割を担う。本例において、ウェイポイントには、XYZ位置、ポイントの下のナビメッシュポリゴンID、LOF(Line of Fire)、ポイント属性、ポイント接続情報、近くのカバーID、近くのドアID、近くのハシゴ・窓ID、射撃カバーリスト、ポイント位置から天井までの高さ、近くのカバーを乗り越えるときの高さ、壁までの距離、ポイントの上に乗っている壊れるギミックID、などの情報が必要に応じて対応付けされる。
また、本例では、プレイヤ初期位置を基準として、塗りつぶしアルゴリズム(Floodfill)でポイントを配置していくことで、ウェイポイントを自動配置する。なお、グリッド状だと必要な位置にポイントが出来ていない場合があるので、任意に追加する構成としてもよい。この場合、仮想空間において各種オブジェクト(例えば、ドア、低カバー、高カバー端、ハシゴ取り付き位置)が位置する場所について、ウェイポイントの追加を受け付ける構成としてもよい。
間引き部16Zは、配置した複数のウェイポイントのうち、所定の選択規則に従って選択されたウェイポイントを間引く機能を有する。以下、ポイントを敷き詰めたあとの処理としてウェイポイントを間引く場合を例にして説明する。なお、間引き後はインデックスが16bit以内に収まる数にすることが好ましい。ポイントのインデックスはあちこちで保存するため増やしたくないためであり、単純に数が多いと検索時の負荷が上がりすぎるためである。
図11は、ウェイポイントの間引きの例について説明するための説明図である。本例では、複数のウェイポイントを(例えば、ウェイポイント1111やウェイポイント1112)、プレイヤ初期位置1101を基準に自動配置した後(図11A参照)、ランダムでポイントを選ぶことで、配置したウェイポイントを間引く(図11B参照)。また、本例では、間引いてはいけないポイントは間引かない。すなわち、例えば、間引くと間引き後の距離が開きすぎるポイント、間引くとグラフが切断されるポイント、間引くと遠回りになりすぎるポイント、上位層グラフノードの境界、ドアなどのアクションのトリガーになる場所、などに対応するウェイポイントが選択された場合には、当該ウェイポイントを間引かない。
図12は、間引いてはいけないウェイポイントの例について説明するための説明図である。図12に示すように、ナビメッシュが設定された範囲1201において、ウェイポイント1211を削ってしまうと、上と下の接続がなくなってしまう。すなわち、ウェイポイント1212とウェイポイント1213からはウェイポイント1211に対してナビメッシュ上のレイキャストが通らない。そのため、ウェイポイント1211は間引かない。
探索部15Zは、間引き後の複数のウェイポイントの配置に基づいて、オブジェクトの移動経路を探索する機能を有する。以下、敵位置からプレイヤ位置までの経路や、敵位置から目標オブジェクトまでの経路、あるいはプレイヤからプレイヤに選択された位置までの経路など、始点から終点までの経路について、配置されたウェイポイントを経由候補地とする公知の経路探索技術を利用して経路探索を実現する場合を例にして説明する。
生成部13Zは、仮想空間に配置した複数のウェイポイントを、所定の分類規則に従ってグループ分けすることで複数の領域を生成する機能を有する。以下、階層型のパス検索のための最上層の構造として、位置的に近いポイントをある程度固めてラベル付けしたもの(AI領域)を生成する場合を例にして説明する。なお、接続情報はラベル境界のポイント接続のものを使用する。
本例においてAI領域は、ポイントをある程度のカタマリとして扱う役割を担う。細かすぎず、ざっくりと位置を表現する構成であることが好ましい。また、AI領域は、同じパスを通らないようにするコスト付対象としての役割があり、プレイヤや敵の影響度合いマップ(インフルエンスマップ)などにも利用できる。さらに、AI領域は、位置表現の階層化によるパス検索負荷低減が期待できる。
図13は、領域を生成する方法の例について説明するための説明図である。図13Aに示すように、地形1301から領域(本例におけるAI領域)を生成する場合、地形1301にウェイポイントを敷き詰め、ウェイポイントを接続し、ウェイポイント毎に壁からの距離を設定し、設定した距離を分水嶺(Watershed)アルゴリズムで分割すると、図13Bに示すように、領域S1と領域S2とを生成できる。なお、分水嶺アルゴリズムについて補足すると、壁からの距離を高さとして考えた場合に、ウェイポイント1311を頂点とする山と、ウェイポイント1312を頂点とする山ができ、一番高いところから評価していくと、ウェイポイント1311に先ずラベルを付けられる(ラベル1)。次いで、評価する高度を下げると、紙面左の山の中腹のポイント2つと、紙面右の山の頂上(ウェイポイント1312)を評価することになる。このとき、紙面右の山は頂上なのでラベルを付ける(ラベル2)。紙面左の山の中腹は、紙面左の山の一部であるので、紙面左の山頂のラベルと同じものを付ける(ラベル1)。なお、山の一部かどうかは、隣り合ったポイントですでにラベル付されているかどうかで判断できる。次いで、また高度を下げ、同じ用に処理をして、紙面左の山の麓、紙面右の山の麓のポイントにラベルを付ける。最後に、山でない部分(すなわち、壁からん距離が0または最小と判定された部分)について、隣り合ったポイントからラベルを付ける。以上より、一番下の高度までラベル付けることができる。すなわち、ラベル1のノードとラベル2のノードとによる上位層グラフを生成できる。
また、本例では、生成した領域を所定の調整規則に基づいて調整する。すなわち、複数の領域のうち、所定の分割条件を満たす領域を分割し、所定の併合条件を満たす領域を他の領域に併合する。このような構成とすることで、小さすぎる領域は隣の大きい領域にくっつけ、大きすぎる領域は「長い辺を半分に切る」を繰り返し、一定サイズにすることでゆるく「単位」として扱えるようになる。
決定部14Zは、生成した複数の領域の配置に基づいて、オブジェクトが移動する領域(移動領域)を決定する機能を有する。本例では、各領域をノードとして公知の経路探索技術を利用する場合を例にして説明する。
以上より、ナビメッシュ、ウェイポイントグラフ、上位層グラフ、の順でデータ作成を行い、上位層グラフ、ウェイポイントグラフ、ナビメッシュ、の順でパス検索を実現できるようになる。
なお、パス検索で最終的にほしい移動経路は、ビデオゲームの設計者が意図した程度になめらかな移動経路である。すなわち、オブジェクトの種類に応じて、ベジェ曲線、真っ直ぐな線、あるいはオブジェクトの現在位置から目標位置まで地続きじゃなくアクションが必要な線、を導出できる構成であることが好ましい。本例では、上位層グラフレベルで必要なアクションと位置を特定し、ウェイポイントレベルで必要なアクションと位置を特定し、特定した位置の間を地続き移動する移動経路を検索することで、各種線を導出可能にしている。なお、地続き移動の経路については、上位層パスを通し、上位層ノード内でウェイポイントのパスを作成し、全てのノードのウェイポイントを結合し、ポイントパスに沿ったナビメッシュポリゴンリストを作成し、通過するエッジのリストを作成し、エッジの中間点を使用してベジェ曲線を作成することで導出できる。
図14は、サーバ10が備える記憶部(図示せず)に記憶される情報の格納状態の例について説明するための説明図である。図14に示すように、記憶部は、領域番号と、領域に属するウェイポイントの識別情報とを対応付けて領域関連情報として記憶する。
ここで、領域番号とは、生成された領域(例えば、AI領域)の識別情報を意味する。領域番号を作成するための構成は特に限定されないが、複数の領域それぞれを一意に特定可能な構成であることが好ましい。領域番号の例には、ウェイポイントに付されるラベルがある。
図15は、サーバ10Zを備えるシステム100Zが実行するゲーム処理の例を示すフローチャートである。本例におけるゲーム処理では、ウェイポイントの配置に関する処理などが行われる。以下、各処理について説明する。なお、各処理の順序は、処理内容に矛盾等が生じない範囲で順不同である。
ゲーム処理は、例えばサーバ10Zにアクセスした端末20がウェイポイントの配置条件を満たした場合に開始される。以下、端末20を操作するユーザが、移動経路の探索要求を入力した場合を例にして説明する。
システム100Zは、ゲーム処理において、先ず、ナビゲーションメッシュを設定する(ステップS301)。本例ではサーバ10Zが、端末20に提供する仮想空間を特定し、特定した仮想空間でオブジェクトが移動可能な範囲に対応するナビゲーションメッシュを設定する。
システム100Zは、ナビゲーションメッシュを設定すると、ウェイポイントを配置する(ステップS302)。本例ではサーバ10Zが、設定したナビゲーションメッシュ上に、所定の配置規則に従って複数のウェイポイントを配置する。
システム100Zは、ウェイポイントを配置すると、ウェイポイントを間引く(ステップS303)。本例ではサーバ10Zが、配置した複数のウェイポイントのうち、所定の選択規則に従って選択されたウェイポイントを間引く。
システム100Zは、ウェイポイントを間引くと、複数の領域を生成する(ステップS304)。本例ではサーバ10Zが、仮想空間に配置した複数のウェイポイントを、所定の分類規則に従ってグループ分けすることで複数の領域を生成する。
システム100Zは、複数の領域を生成すると、移動領域を決定する(ステップS305)。本例ではサーバ10Zが、生成した複数の領域の配置に基づいて、移動開始位置が含まれる領域から移動終了位置が含まれる領域までの移動に適した移動領域を決定する。
システム100Zは、移動領域を決定すると、移動経路を探索する(ステップS306)。本例ではサーバ10Zが、仮想空間に配置された複数のウェイポイントの配置に基づいて、オブジェクトの移動経路を探索する。
以上に説明したように、第4の実施形態の一側面として、仮想空間における移動経路の探索に関する機能を備えたサーバ10Zが、設定部11Zと、配置部12Zと、生成部13Zと、決定部14Zと、探索部15Zと、間引き部16Zを備える構成としているので、仮想空間におけるオブジェクトの移動可能範囲に対応するナビゲーションメッシュを設定し、設定したナビゲーションメッシュ上に、所定の配置規則(例えば、塗りつぶしアルゴリズム)に従って複数のウェイポイントを配置し、仮想空間に配置した複数のウェイポイントを、所定の分類規則(例えば、ランダム選択)に基づいてグループ分けすることで複数の領域を生成し、生成した複数の領域の配置に基づいて、オブジェクトが移動する領域(移動領域)を決定し、移動領域に含まれるウェイポイントに基づいて、オブジェクトの移動経路を探索し、オブジェクトの移動経路の探索に要する処理負荷を軽減させることができる。
すなわち、ウェイポイントを配置するだけでなく、移動領域を決定してから移動経路を探索するため、段階的に移動経路を探索できるようになり、配置した全てのウェイポイントを探索対象とする場合と比べ、移動経路の探索に要する処理負荷を軽減させることができる。
また、上述した第4の実施形態の例では、サーバ10Zが、複数のウェイポイントそれぞれの移動不可領域からの距離をパラメータする分水嶺アルゴリズムを用いることで、当該複数のウェイポイントをグループ分けし、同一グループに属するウェイポイントの位置情報に基づいて、複数の領域それぞれを生成する構成としているので、例えばビデオゲームの開発者がウェイポイント分類して領域を生成する場合と比べ、効率的に複数の領域を生成することができる。
なお、上述した第4の実施形態の例では特に言及していないが、サーバ10Zが、設定部11Zと、配置部12Zと、生成部13Zと、決定部14Zと、間引き部16Zとによる処理の時機は特に限定されず、ビデオゲームの開発時であってもよいし、ビデオゲームのプレイ時であってもよい。具体的には、ナビメッシュの設定、ウェイポイントの配置、AI領域の生成は、経路探索と独立して行われる構成としてもよいし、経路探索と一連の流れで行われる構成としてもよい。すなわち、例えば探索部15Zが、プレイヤがビデオゲームをプレイするより前に生成された情報(例えば、領域関連情報)をビデオゲームの進行に応じて読み出し、読みだした情報をビデオゲームの状況に応じて更新し(例えば、移動可能領域を変更)、更新した情報に基づいて移動経路を探索する構成としてもよい。また、例えば探索部14が、ビデオゲームの進行に応じてナビゲーションメッシュを設定し、リアルタイムに生成した情報を用いて移動経路を探索する構成としてもよい。
なお、上述した第4の実施形態の例では特に言及していないが、サーバ10Zが、仮想空間におけるオブジェクトの移動可能範囲に対応するナビゲーションメッシュを設定し、設定したナビゲーションメッシュ上に、所定の配置規則(例えば、塗りつぶしアルゴリズム)に従って複数のウェイポイントを配置し、配置した複数のウェイポイントのうち、所定の選択規則(例えば、ランダム選択)に従って選択されたウェイポイントを間引き、間引きされたウェイポイントの配置を含む探索用情報(例えば、仮想空間の地形表現)を記憶手段に保存する構成としてもよい。この場合、探索用情報を含むビデオゲーム関連情報を取得したビデオゲーム処理装置が、探索用情報に基づいて、仮想空間におけるオブジェクトの移動経路を探索する構成としてもよい。
以上に説明したように、本願の各実施形態により1または2以上の不足が解決される。なお、夫々の実施形態による効果は、非限定的な効果または効果の一例である。
なお、上述した各実施形態では、複数のユーザ端末20,201〜20Nとサーバ10は、自己が備える記憶装置に記憶されている各種制御プログラム(例えば、ビデオゲーム処理プログラム)に従って、上述した各種の処理を実行する。
また、システム100の構成は、上述した各実施形態の例として説明した構成に限定されず、例えばユーザ端末が実行する処理として説明した処理の一部または全部をサーバ10が実行する構成としてもよいし、サーバ10が実行する処理として説明した処理の一部または全部を複数のユーザ端末20,201〜20Nの何れか(例えば、ユーザ端末20)が実行する構成としてもよい。また、サーバ10が備える記憶部の一部または全部を複数のユーザ端末20,201〜20Nの何れかが備える構成としてもよい。すなわち、システム100におけるユーザ端末20とサーバ10のどちらか一方が備える機能の一部または全部を、他の一方が備える構成とされていてもよい。
また、プログラムが、上述した各実施形態の例として説明した機能の一部または全部を、通信ネットワークを含まない装置単体に実現させる構成としてもよい。
[付記]
上述した実施形態の説明は、少なくとも下記発明を、当該発明の属する分野における通常の知識を有する者がその実施をすることができるように記載した。
[1]
仮想空間における移動経路の探索に関する機能をサーバに実現させるためのビデオゲーム処理プログラムであって、
前記サーバに、
仮想空間におけるオブジェクトの移動可能範囲に対応するナビゲーションメッシュを設定する設定機能と、
設定した前記ナビゲーションメッシュ上に、所定の配置規則に従って複数のウェイポイントを配置する配置機能と、
前記仮想空間に配置した前記複数のウェイポイントを、所定の分類規則に基づいてグループ分けすることで複数の領域を生成する生成機能と、
生成した前記複数の領域の配置に基づいて、前記オブジェクトが移動する領域(以下「移動領域」という。)を決定する決定機能と、
決定した前記移動領域に含まれるウェイポイントに基づいて、前記オブジェクトの移動経路を探索する探索機能とを
実現させるためのビデオゲーム処理プログラム。
[2]
前記決定機能では、前記複数のウェイポイントのそれぞれと他のウェイポイントとの接続情報を記憶する所定の記憶手段を参照し、前記複数の領域の境界に配置されたウェイポイントの接続情報に基づいて、前記移動領域を決定する機能を
実現させるための[1]記載のビデオゲーム処理プログラム。
[3]
前記生成機能では、前記複数の領域のうち、所定の分割条件を満たす領域を分割し、所定の併合条件を満たす領域を他の領域に併合する機能を
実現させるための[1]または[2]記載のビデオゲーム処理プログラム。
[4]
前記生成機能では、前記複数のウェイポイントそれぞれの移動不可領域からの距離をパラメータする分水嶺アルゴリズムを用いることで、当該複数のウェイポイントをグループ分けし、同一グループに属するウェイポイントの位置情報に基づいて、前記複数の領域それぞれを生成する
実現させるための[1]から[3]のうち何れかに記載のビデオゲーム処理プログラム。
[5]
[1]から[4]のうち何れかに記載のビデオゲーム処理プログラムが前記サーバに実現させる機能のうち少なくとも1つの機能を、当該サーバと通信可能なユーザ端末に実現させるためのビデオゲーム処理プログラム。
[6]
[1]から[5]のうち何れかに記載のビデオゲーム処理プログラムがインストールされたサーバ。
[7]
通信ネットワークと、サーバと、ユーザ端末とを備え、仮想空間における移動経路の探索に関する処理を行うビデオゲーム処理システムであって、
仮想空間におけるオブジェクトの移動可能範囲に対応するナビゲーションメッシュを設定する設定手段と、
設定された前記ナビゲーションメッシュ上に、所定の配置規則に従って複数のウェイポイントを配置する配置手段と、
前記仮想空間に配置された前記複数のウェイポイントを、所定の分類規則に基づいてグループ分けすることで複数の領域を生成する生成手段と、
生成された前記複数の領域の配置に基づいて、前記オブジェクトが移動する領域(以下「移動領域」という。)を決定する決定手段と、
決定された前記移動領域に含まれるウェイポイントに基づいて、前記オブジェクトの移動経路を探索する探索手段とを含む
ことを特徴とするビデオゲーム処理システム。
[8]
前記サーバが、前記設定手段と、前記配置手段と、前記生成手段と、前記決定手段と、前記探索手段とを含み、
前記ユーザ端末が、前記探索手段により探索された前記移動経路を表すゲーム画面を表示装置の表示画面に出力する出力手段を含む
[7]記載のビデオゲーム処理システム。
[9]
仮想空間における移動経路の探索に関する機能をユーザ端末に実現させるためのビデオゲーム処理プログラムであって、
仮想空間におけるオブジェクトの移動可能範囲に対応するナビゲーションメッシュを設定する設定機能と、設定した前記ナビゲーションメッシュ上に、所定の配置規則に従って複数のウェイポイントを配置する配置機能と、前記仮想空間に配置した前記複数のウェイポイントを、所定の分類規則に基づいてグループ分けすることで複数の領域を生成する生成機能と、生成した前記複数の領域の配置に基づいて、前記オブジェクトが移動する領域(以下「移動領域」という。)を決定する決定機能と、決定した前記移動領域に含まれるウェイポイントに基づいて、前記オブジェクトの移動経路を探索する探索機能とを有するサーバから、当該サーバが備える機能に関する情報を受信して当該機能に対応する入出力を行う機能を前記ユーザ端末に
実現させるためのビデオゲーム処理プログラム。
[10]
仮想空間における移動経路の探索に関する機能をユーザ端末に実現させるためのビデオゲーム処理プログラムであって、
前記ユーザ端末に、
仮想空間におけるオブジェクトの移動可能範囲に対応するナビゲーションメッシュを設定する設定機能と、
設定した前記ナビゲーションメッシュ上に、所定の配置規則に従って複数のウェイポイントを配置する配置機能と、
前記仮想空間に配置した前記複数のウェイポイントを、所定の分類規則に基づいてグループ分けすることで複数の領域を生成する生成機能と、
生成した前記複数の領域の配置に基づいて、前記オブジェクトが移動する領域(以下「移動領域」という。)を決定する決定機能と、
決定した前記移動領域に含まれるウェイポイントに基づいて、前記オブジェクトの移動経路を探索する探索機能とを
実現させるためのビデオゲーム処理プログラム。
[11]
[10]記載のビデオゲーム処理プログラムが前記ユーザ端末に実現させる機能のうち少なくとも1つの機能を、当該ユーザ端末と通信可能なサーバに実現させるためのビデオゲーム処理プログラム。
[12]
[10]または[11]記載のビデオゲーム処理プログラムがインストールされたユーザ端末。
[13]
仮想空間における移動経路の探索に関する処理を行うビデオゲーム処理方法であって、
仮想空間におけるオブジェクトの移動可能範囲に対応するナビゲーションメッシュを設定する設定処理と、
設定した前記ナビゲーションメッシュ上に、所定の配置規則に従って複数のウェイポイントを配置する配置処理と、
前記仮想空間に配置した前記複数のウェイポイントを、所定の分類規則に基づいてグループ分けすることで複数の領域を生成する生成処理と、
生成した前記複数の領域の配置に基づいて、前記オブジェクトが移動する領域(以下「移動領域」という。)を決定する決定処理と、
決定した前記移動領域に含まれるウェイポイントに基づいて、前記オブジェクトの移動経路を探索する探索処理とを含む
ことを特徴とするビデオゲーム処理方法。
[14]
通信ネットワークと、サーバと、ユーザ端末とを備えるビデオゲーム処理システムが、仮想空間における移動経路の探索に関する処理を行うビデオゲーム処理方法であって、
仮想空間におけるオブジェクトの移動可能範囲に対応するナビゲーションメッシュを設定する設定処理と、
設定した前記ナビゲーションメッシュ上に、所定の配置規則に従って複数のウェイポイントを配置する配置処理と、
前記仮想空間に配置した前記複数のウェイポイントを、所定の分類規則に基づいてグループ分けすることで複数の領域を生成する生成処理と、
生成した前記複数の領域の配置に基づいて、前記オブジェクトが移動する領域(以下「移動領域」という。)を決定する決定処理と、
決定した前記移動領域に含まれるウェイポイントに基づいて、前記オブジェクトの移動経路を探索する探索処理とを含む
ことを特徴とするビデオゲーム処理方法。
[15]
仮想空間における移動経路の探索に関する機能をコンピュータに実現させるためのビデオゲーム処理プログラムであって、
前記コンピュータに、
仮想空間におけるオブジェクトの移動可能範囲に対応するナビゲーションメッシュを設定する設定機能と、
設定した前記ナビゲーションメッシュ上に、所定の配置規則に従って複数のウェイポイントを配置する配置機能と、
前記仮想空間に配置した前記複数のウェイポイントを、所定の分類規則に基づいてグループ分けすることで複数の領域を生成する生成機能とを
実現させるためのビデオゲーム処理プログラム。
[16]
仮想空間における移動経路の探索に関する機能をコンピュータに実現させるためのビデオゲーム処理プログラムであって、
前記コンピュータに、
仮想空間におけるオブジェクトの移動可能範囲に対応するナビゲーションメッシュを設定する設定機能と、設定した前記ナビゲーションメッシュ上に、所定の配置規則に従って複数のウェイポイントを配置する配置機能と、前記仮想空間に配置した前記複数のウェイポイントを、所定の分類規則に基づいてグループ分けすることで複数の領域を生成する生成機能と、を用いて生成された情報に基づいて、前記仮想空間に配置されたオブジェクトの移動領域を決定する決定機能と、
決定した移動領に含まれるウェイポイントに基づいて前記オブジェクトの移動経路を探索する探索機能とを
実現させるためのビデオゲーム処理プログラム。
[17]
仮想空間における移動経路の探索に用いる情報を生成する機能をコンピュータに実現させるためのビデオゲーム処理プログラムであって、
前記コンピュータに、
仮想空間におけるオブジェクトの移動可能範囲に対応するナビゲーションメッシュを設定する設定機能と、
設定した前記ナビゲーションメッシュ上に、所定の配置規則に従って複数のウェイポイントを配置する配置機能と、
前記仮想空間に配置した前記複数のウェイポイントを、所定の分類規則に基づいてグループ分けすることで複数の領域を生成する生成機能と、
生成された複数の領域を含む探索用情報を記憶手段に保存する保存機能とを
実現させるためのビデオゲーム処理プログラム。
本発明の実施形態の一つによれば、オブジェクトの移動経路の探索に要する処理負荷を軽減させるのに有用である。
10 ビデオゲーム処理サーバ
20,201〜20N ユーザ端末
11 設定部
12 配置部
13 生成部
14 決定部
15 探索部
16 間引き部
30 通信ネットワーク
100 ビデオゲーム処理システム

Claims (5)

  1. 仮想空間における移動経路の探索に関する機能をサーバに実現させるためのビデオゲーム処理プログラムであって、
    前記サーバに、
    仮想空間におけるオブジェクトの移動可能範囲に対応するナビゲーションメッシュを設定する設定機能と、
    設定した前記ナビゲーションメッシュ上に、所定の配置規則に従って複数のウェイポイントを配置する配置機能と、
    前記仮想空間に配置した前記複数のウェイポイントを、所定の分類規則に基づいてグループ分けすることで複数の領域を生成する生成機能と、
    生成した前記複数の領域の配置に基づいて、前記オブジェクトが移動する領域(以下「移動領域」という。)を決定する決定機能と、
    決定した前記移動領域に含まれるウェイポイントに基づいて、前記オブジェクトの移動経路を探索する探索機能とを
    実現させるためのビデオゲーム処理プログラム。
  2. 前記決定機能では、前記複数のウェイポイントのそれぞれと他のウェイポイントとの接続情報を記憶する所定の記憶手段を参照し、前記複数の領域の境界に配置されたウェイポイントの接続情報に基づいて、前記移動領域を決定する機能を
    実現させるための請求項1記載のビデオゲーム処理プログラム。
  3. 前記生成機能では、前記複数の領域のうち、所定の分割条件を満たす領域を分割し、所定の併合条件を満たす領域を他の領域に併合する機能を
    実現させるための請求項1または請求項2記載のビデオゲーム処理プログラム。
  4. 通信ネットワークと、サーバと、ユーザ端末とを備え、仮想空間における移動経路の探索に関する処理を行うビデオゲーム処理システムであって、
    仮想空間におけるオブジェクトの移動可能範囲に対応するナビゲーションメッシュを設定する設定手段と、
    設定された前記ナビゲーションメッシュ上に、所定の配置規則に従って複数のウェイポイントを配置する配置手段と、
    前記仮想空間に配置された前記複数のウェイポイントを、所定の分類規則に基づいてグループ分けすることで複数の領域を生成する生成手段と、
    生成された前記複数の領域の配置に基づいて、前記オブジェクトが移動する領域(以下「移動領域」という。)を決定する決定手段と、
    決定された前記移動領域に含まれるウェイポイントに基づいて、前記オブジェクトの移動経路を探索する探索手段とを含む
    ことを特徴とするビデオゲーム処理システム。
  5. 仮想空間における移動経路の探索に関する機能をユーザ端末に実現させるためのビデオゲーム処理プログラムであって、
    前記ユーザ端末に、
    仮想空間におけるオブジェクトの移動可能範囲に対応するナビゲーションメッシュを設定する設定機能と、
    設定した前記ナビゲーションメッシュ上に、所定の配置規則に従って複数のウェイポイントを配置する配置機能と、
    前記仮想空間に配置した前記複数のウェイポイントを、所定の分類規則に基づいてグループ分けすることで複数の領域を生成する生成機能と、
    生成した前記複数の領域の配置に基づいて、前記オブジェクトが移動する領域(以下「移動領域」という。)を決定する決定機能と、
    決定した前記移動領域に含まれるウェイポイントに基づいて、前記オブジェクトの移動経路を探索する探索機能とを
    実現させるためのビデオゲーム処理プログラム。
JP2019161054A 2019-09-04 2019-09-04 ビデオゲーム処理プログラム、及びビデオゲーム処理システム Pending JP2021037140A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2019161054A JP2021037140A (ja) 2019-09-04 2019-09-04 ビデオゲーム処理プログラム、及びビデオゲーム処理システム
US17/006,145 US11406898B2 (en) 2019-09-04 2020-08-28 Non-transitory computer-readable medium and video game processing system
CN202010905349.5A CN112439199A (zh) 2019-09-04 2020-09-01 非暂态计算机可读介质和视频游戏处理系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019161054A JP2021037140A (ja) 2019-09-04 2019-09-04 ビデオゲーム処理プログラム、及びビデオゲーム処理システム

Publications (2)

Publication Number Publication Date
JP2021037140A true JP2021037140A (ja) 2021-03-11
JP2021037140A5 JP2021037140A5 (ja) 2022-11-28

Family

ID=74681138

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019161054A Pending JP2021037140A (ja) 2019-09-04 2019-09-04 ビデオゲーム処理プログラム、及びビデオゲーム処理システム

Country Status (3)

Country Link
US (1) US11406898B2 (ja)
JP (1) JP2021037140A (ja)
CN (1) CN112439199A (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2023011071A (ja) * 2021-07-11 2023-01-23 株式会社スクウェア・エニックス プラン処理プログラムおよびプラン処理システム

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11213179A (ja) * 1998-01-23 1999-08-06 Sony Corp 共有仮想空間提供装置および方法、並びに提供媒体
US20100235608A1 (en) 2004-03-25 2010-09-16 Aiseek Ltd. Method and apparatus for game physics concurrent computations
US7440447B2 (en) 2004-03-25 2008-10-21 Aiseek Ltd. Techniques for path finding and terrain analysis
GB0407336D0 (en) * 2004-03-31 2004-05-05 British Telecomm Pathfinding system
DE102005035908A1 (de) * 2005-07-28 2007-02-08 X-Aitment Gmbh Taktische Analyse von Closed Combat Situationen
US8111257B2 (en) 2007-03-06 2012-02-07 Aiseek Ltd. System and method for the generation of navigation graphs in real-time
JP5627526B2 (ja) 2011-03-31 2014-11-19 株式会社カプコン ゲームプログラム、及びゲームシステム
US11263823B2 (en) 2012-02-24 2022-03-01 Matterport, Inc. Employing three-dimensional (3D) data predicted from two-dimensional (2D) images using neural networks for 3D modeling applications and other applications
JP6081769B2 (ja) * 2012-10-23 2017-02-15 任天堂株式会社 プログラム、情報処理装置、情報処理方法および情報処理システム
JP5887458B1 (ja) * 2015-11-04 2016-03-16 株式会社Cygames プレイヤの移動履歴に基づいてノンプレイヤキャラクタの経路探索を行うゲームシステム等
CN106110656B (zh) 2016-07-07 2020-01-14 网易(杭州)网络有限公司 在游戏场景计算路线的方法和装置
JP6446079B2 (ja) * 2017-03-09 2018-12-26 株式会社カプコン ゲームプログラム及びゲームシステム
JP2021037098A (ja) 2019-09-03 2021-03-11 株式会社スクウェア・エニックス ビデオゲーム処理プログラム、及びビデオゲーム処理システム

Also Published As

Publication number Publication date
CN112439199A (zh) 2021-03-05
US11406898B2 (en) 2022-08-09
US20210060431A1 (en) 2021-03-04

Similar Documents

Publication Publication Date Title
CN106730841B (zh) 一种寻路方法和装置
JP6367450B1 (ja) 位置ゲーム用インターフェースシステム、プログラム及び制御方法
JP2021020114A (ja) 入力インターフェースシステム及び位置ゲームシステム
JP6601947B2 (ja) ナビゲーションシステム、ナビゲーション方法及びプログラム
KR20220110570A (ko) 스패닝 트리를 사용한 셀 병합을 통한 리전 분할
JP2019033876A (ja) 位置ゲーム用インターフェースシステム、プログラム及び制御方法
JP2021037098A (ja) ビデオゲーム処理プログラム、及びビデオゲーム処理システム
KR20120027930A (ko) 유전자 알고리즘을 이용한 이동객체의 최적경로 생성 시스템
JP2021037140A (ja) ビデオゲーム処理プログラム、及びビデオゲーム処理システム
CN113082719B (zh) 三维虚拟场景的寻路方法、装置及电子设备
JP6279136B1 (ja) 位置ゲームにおけるオブジェクト制御システム、プログラム及び方法
CN116036604B (zh) 数据处理方法、装置、计算机及可读存储介质
JP7341801B2 (ja) ビデオゲーム処理プログラム、及びビデオゲーム処理システム
US11969655B2 (en) Generating locations for placement of augmented elements
KR102512268B1 (ko) 지역 채팅을 위한 플레이어 밀도 기반 지역 분할
CN112263836B (zh) 虚拟场景的处理方法和装置以及存储介质
JP2019042139A (ja) ゲームプログラム、記録媒体、ゲーム処理方法
KR20120075527A (ko) 에이전트 기반 게임 서비스 장치 및 방법
KR102473007B1 (ko) 녹지 환경 기반의 보행경로 안내를 위한 장치 및 이를 위한 방법
JP7089005B2 (ja) ビデオゲーム処理プログラム、及びビデオゲーム処理システム
CN114377397A (zh) 虚拟场景中的寻路方法、装置、设备及存储介质
CN116688511A (zh) 用于ai角色的寻路方法、装置、介质和计算机设备
CN117357899A (zh) 虚拟场景的路径处理方法、装置、电子设备及存储介质
JP2004167273A (ja) 群集の移動を表現する方法、記憶媒体、および情報処理装置

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20210901

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220905

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221117

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230627

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230822

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20231121

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240122

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20240423