JP5767760B2 - 動的障害物のないネットワークゲームシステム及びその処理方法 - Google Patents

動的障害物のないネットワークゲームシステム及びその処理方法 Download PDF

Info

Publication number
JP5767760B2
JP5767760B2 JP2015502088A JP2015502088A JP5767760B2 JP 5767760 B2 JP5767760 B2 JP 5767760B2 JP 2015502088 A JP2015502088 A JP 2015502088A JP 2015502088 A JP2015502088 A JP 2015502088A JP 5767760 B2 JP5767760 B2 JP 5767760B2
Authority
JP
Japan
Prior art keywords
roll
npc
user
coordinate point
field
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2015502088A
Other languages
English (en)
Other versions
JP2015515304A (ja
Inventor
リン リウ
リン リウ
シヤオチュヨン ディーン
シヤオチュヨン ディーン
Original Assignee
テンセント テクノロジー (シェンツェン) カンパニー リミテッド
テンセント テクノロジー (シェンツェン) カンパニー リミテッド
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 テンセント テクノロジー (シェンツェン) カンパニー リミテッド, テンセント テクノロジー (シェンツェン) カンパニー リミテッド filed Critical テンセント テクノロジー (シェンツェン) カンパニー リミテッド
Publication of JP2015515304A publication Critical patent/JP2015515304A/ja
Application granted granted Critical
Publication of JP5767760B2 publication Critical patent/JP5767760B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • 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/358Adapting the game course according to the network or server load, e.g. for reducing latency due to different connection speeds between clients
    • 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
    • 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/577Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game using determination of contact between game characters or objects, e.g. to avoid collision between virtual racing cars
    • 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/80Special adaptations for executing a specific game genre or game mode
    • A63F13/822Strategy games; Role-playing games
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • 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/33Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections
    • A63F13/335Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections using Internet
    • 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/45Controlling the progress of the video game

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Geometry (AREA)
  • Computer Graphics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Processing Or Creating Images (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Transfer Between Computers (AREA)

Description

関連出願の相互参照
本出願は、2012年8月17日に出願された中国特許出願第201210293556.5号の優先権を主張するものであり、その内容は全て本出願に採用される。
本開示は、概してコンピュータデータ処理技術に関し、より詳しくは障害物のないネットワークゲームシステム及びその処理方法に関する。
「オンラインゲーム」とも称されるネットワークゲームは持続可能なマルチプレイヤオンラインゲームであり、伝送媒体としてインターネット、処理端末としてゲートサーバ及びユーザデバイス(例えば、コンピュータ、スマートフォン、タブレットコンピュータなど)、及び情報交換ウィンドウとしてゲームクライアント端末又はウェブページを使用する。ネットワークゲームは、概してエンターテイメント、レクリエーション(recreation)、コミュニケーション及び達成型バーチャルアチーブメント(accomplishing virtual achievements)などの様々な目的を実現することを意図している。
既存のネットワークゲームシステムは、ロール(role)の間に2つの主なインタラクション(interaction)モード、即ちユーザ間のインタラクティブ(interactive)競争モード、及びユーザと環境との間のインタラクティブ競争モードがある。
ユーザ間(PVP又はプレーヤ対プレーヤ)のインタラクティブ競争モードは、ユーザ間の競争を意味する。ネットワークゲームシステムは、PVPモードの下でインタラクション命令及びデータを処理するために、PVPに関連する処理システムを含む必要がある。
ユーザと環境との間(PVE又はプレーヤ対環境)のインタラクティブ競争モードは、ユーザとノンプレーヤ制御キャラクタ(NPC:non−controlled character)との間に形成されるインタラクティブ競争を意味する。NPCは、ネットワークゲームシステム内のNPCシステムで制御される。NPCシステムは人工知能(AI:artificial intelligence)モジュールを含む。AIモジュールは、ゲーム内のNPCの制御ロジックを指し、ゲーム内のNPCに独立の人工知能機能を持たせることができる。ユーザロール及びNPCロールは、対話、サービス取得、戦闘などのゲームインタラクションをすることができる。
既存のネットワークゲームシステム、特にキングダム戦争型(Kingdom Wars type)のネットワークゲームシステムは、PVPモードに基づいている。しかしながら、ロールの成長要求を満たすために、リッチPVEモードもネットワークゲームに提供される必要がある。PVEモードの実行及び処理においても優れたユーザの体験が要求される。
ロールの間を妨害する手法に基づいて、既存のゲームシステムは、動的障害物のあるネットワークゲームシステムと動的障害物のないネットワークゲームシステムに分けられることができる。
動的障害物のあるネットワークゲームシステムにおいて、ロールモデルは、固定の地形(例えば、山、岩、建物など)のみならず、他のロールモデルによっても妨害され得る。ロールモデルはロールのシミュレーティド2D(2次元)又は3D(3次元)画像である。例えば、ロールモデルは、2Dネットワークゲームでは通常2D画像であり、3Dゲームでは通常3D画像である。
動的障害物のないネットワークゲームシステムにおいて、ロールモデルは、固定の地形により妨害され得るが、他の動的ロールモデルにより妨害されてはならない。
キングダム戦争ネットワークゲームでは、ゲームに参加する多数のロールがある。画像内のロールの位置の明確さを保証するとともに、優れた画像操作体験がユーザに与えられることを保証するためには、ネットワークゲームシステムで制御されるロールモデルが近距離インタラクション中に互いに視覚的にオーバラップすることを避けなければならない。例えば、短距離インタラクションは、NPCロールがユーザロールを攻撃する攻撃インタラクション、又は他の対話インタラクションとし得る。
動的障害物のあるネットワークゲームシステムにおいて、ゲームシステムは、ロールモデル間の動的障害物情報をリアルタイムで計算する特定の障害物アルゴリズムを有する。従って、ロールモデルが互いに視覚的にオーバラップ(overlap)する確率が低い。よって、操作体験が良い。しかしながら、動的障害物情報のリアルタイム計算を必要とするため、中央処理装置(CPU)のオーバヘッド(overhead)及び記憶資源のオーバヘッドを含むサーバシステムのオーバヘッドが高くなりすぎ得る。
動的障害物のないネットワークゲームシステムにおいて、動的障害物情報をリアルタイムで計算する必要がないため、システムのコストを動的障害物のあるネットワークゲームシステムと比較して低くすることができる。従って、主としてPVPモードに基づき、PVEモードを補完とする、既存の大規模キングダム戦争ゲームは、通常動的障害物なしである。
既存の動的障害物のないネットワークゲームシステムにおいて、ユーザロールとNPCロールとの間の短距離インタラクション中のロールモデルのオーバラップを低減するという課題を解決し、ユーザに優れた視覚体験を提供するために、NPCシステムのAIモジュールがロール間の相対座標位置をリアルタイムで検出及び計算し、NPCロールの座標を動的に調整する必要がある。このようなリアルタイム検出及び計算の方法は以下の特定のステップを含む。
例えば、NPCロールは(x1,y1)の現在座標及びr1の半径を有し、ユーザロールは(x2,y2)の現在座標及びr2の半径を有する。NPCロールとユーザロールとの間で起こる(例えば、NPCロールがユーザロールを攻撃する)短距離インタラクションの半径はarである。NPCロールが攻撃目標(即ち、目標ロール)を有すると、NPCロール及びユーザロールの座標点間の距離sがNPCロールの駆動クロックサイクル到来時毎に計算される。
s>r1+r2+arである場合、NPCロールは目標ロールに向かって移動し続け、「移動」メッセージパケットを視野界内の全てのロールに送る。
s<r1+r2+arである場合、NPCロールは直ちに移動を停止し、「移動停止」メッセージパケットを視界内の全てのロールに送る。
同じユーザロールを攻撃する別のNPCは自身の位置を、他のNPCロールからの移動又は停止に関するメッセージパケットに従って、他のNPCロールモデルとオーバラップしないように動的に計算し調整することができる。
従って、既存の動的障害物のないネットワークゲームシステムにおいて、ユーザロールとNPCロールとの間の短距離インタラクション中におけるロールモデルのオーバラップの確率を低減するために、各NPCロールは、駆動クロックサイクルの到来時毎にリアルタイムに複雑な動的計算を実行する必要がある。即ち、各NPCロールは、自身と攻撃目標(即ち目標ロール)との間の距離sを計算するのみならず、距離sに従って関連メッセージパケットを送るとともに、他のNPCロールからのメッセージパケットを受信し、自身の座標位置を他のNPCロールの移動状況に基づいて再計算する必要もある。従って、計算量が膨大になり、多量のシステムオーバヘッド、例えばCPUオーバヘッド、ストレージオーバヘッド、帯域幅オーバヘッドなどを必要とし得る。特に大きなネットワークゲームシステムにおいて、サーバ内のNPCロールの数は、通常数万以上になり得る。その結果、NPCロールを駆動するNPCシステムのオーバヘッドは、極めて大きくなり得る。
本開示の一つの態様は、動的障害物のないネットワークゲームシステムのための処理方法を含む。本方法は、ゲームプレイユーザに対応するユーザロールを有するゲームのマップ上の、ノンプレーヤ制御キャラクタ(NPC)ロールの短距離インタラクション状態に対するモニタリングを含む。前記NPCロールが、あるユーザロールを短距離インタラクションの目標として選択すると、本方法は、前記NPCロールが前記ユーザロールを目標として選択する前に、ユーザロールとの短距離インタラクションを行う全てのNPCロールの総数Nを決定する。本方法は、C=N×a(ここで「a」は規定の基準角度である)を用いて回転角度Cを決定するのも含む。更に、本方法は、位置割当操作を実行する。前記位置割当操作は、前記ユーザロールの現在座標点が円の中心として用いられ、前記NPCロールの現在座標点を規定の方向に回転角度Cだけシミュレーティド回転させることによって、前記NPCロールの目的地座標点を計算する。位置割当操作は、更に、マップ上の目的地座標点に静的障害物があるかどうかを決定する。静的障害物がある場合には、現在の回転角度Cに規定の角度を付加することによって新しい回転角度Cを計算し、位置割当操作を繰り返すことができる。静的障害物がない場合には、前記NPCロールは目的地座標点へ移動して前記ユーザロールとの短距離インタラクションを実行することができる。
本発明の別の態様は、動的障害物のないネットワークゲームシステムを含む。動的障害物のない本ネットワークゲームシステムは、状態モニタリングモジュール、シミュレーティド回転角度決定モジュール、及び位置割当モジュールを含む。状態モニタリングモジュールは、ゲームシーンのマップ上のNPCロールの短距離インタラクション状態をモニタするように構成される。状態モニタリングモジュールはまた、前記NPCロールがあるユーザロールを短距離インタラクションの目標として選択した後に、シミュレーティド回転角度決定モジュール及び位置割当モジュールをトリガするように構成される。シミュレーティド回転角度決定モジュールは、回転角度C=N×aを決定するように構成され、ここで、Nは、前記NPCロールが前記ユーザロールを目標として選択する前に前記ユーザロールとの短距離インタラクションを行う全てのNPCロールの総数であり、「a」は規定の基準角度である。前記位置割当モジュールは、位置割当操作を実行するように構成される。前記位置割当操作は、前記ユーザロールの現在座標点を円の中心として用いて、前記NPCロールの現在座標点を規定の方向に回転角度Cだけシミュレーティド回転させることによって、前記NPCロールの目的地座標点を計算する。更に、前記位置割当操作は、マップ上の目的地座標点に静的障害物があるかどうかを決定する。静的障害物がある場合には、現在の回転角度Cに規定の角度を付加することによって新しい回転角度Cを計算して位置割当操作を繰り返すことができる。静的障害物がない場合に、前記NPCロールは、目的地座標点へ移動して前記ユーザロールとの短距離インタラクションを実行することができる。
本開示の詳細な説明、請求の範囲及び図面に照らせば本発明の他の態様も当業者なら理解できるであろう。
以下の図は様々な開示された実施形態に従って本発明を説明するための単なる例示であり、本発明の範囲の限定を意図するものではない。
様々な開示された実施形態による例示的な動的障害物のないネットワークゲームシステムの処理方法を示す図である。 様々な開示された実施形態による例示的な動的障害物のないネットワークゲームシステムの処理方法における目的地座標点の計算を示す図である。 様々な開示された実施形態による例示的な動的障害物のないネットワークゲームシステムを示す構成図である。 様々な開示された実施形態における、NPCロールとユーザロールとの間の短距離インタラクション中の、NPCロールに対する位置割当を示す概略図である。 様々な開示された実施形態による例示的な処理方法における、ユーザロールとの短距離インタラクションを行う全NPCロールに対する位置割当を示す概略図である。 様々な開示された実施形態における視野範囲領域を分類して分割する方法を示す図である。 様々な開示された実施形態による例示的な動的障害物のないネットワークゲームシステムの処理方法における視野探索及びその調整を示す図である。 様々な開示された実施形態による例示的な動的障害物のないネットワークゲームシステムの処理方法における視野探索及び視野リスト内のオブジェクト数の維持を示す図である。 様々な実施形態による別の例示的な動的障害物のないネットワークゲームシステムの構成を示す図である。 特定の開示された実施形態を含む例示的な環境を示す図である。 本開示の実施形態と整合する例示的なサーバを示す図である。
添付図面に示される本発明の例示的な実施形態について詳細に説明する。
図7は、様々な開示された実施形態による例示的な動的障害物のないネットワークゲームシステム及び例示的な処理方法を組み入れる例示的な環境700を示す。図7に示すように、環境700はサーバ704、端末706及び通信ネットワーク702を含むことができる。サーバ704及び端末706は、ネットワーク経由のデータ伝送、ネットワークゲーム中のウェブページ経由の情報交換などの情報交換のために通信ネットワーク702を介して結合することができる。環境700には1つの端末706及び1つのサーバ704しか示されていないが、任意の数の端末706又はサーバ704を含むことができ、他の装置を含むこともできる。
通信ネットワーク702は、サーバ704及び端末706へのネットワーク接続、又は多数のサーバ704又は端末706間のネットワーク接続を提供する任意の適切なタイプの通信ネットワークを含むことができる。例えば、通信ネットワーク702は、インターネット又は他のタイプのコンピュータネットワーク又は電気通信ネットワークを含むことができ、有線又は無線のいずれでもよい。
本明細書で使用する「端末」とは、特定のコンピューティング能力(例えば、ゲームプログラム実行能力)を有する任意の適切なユーザ端末又はユーザ装置を意味し、例えばパーソナルコンピュータ(PC)、ワークステーションコンピュータ、携帯コンピューティング装置(タブレット)、携帯端末(携帯電話又はスマートフォン)、又は任意の他のユーザ側コンピューティング装置を意味する。
本明細書で使用する「サーバ」とは、例えばネットワークゲームシステム内のネットワークゲームサーバとして働く、特定のサーバ機能を提供するように構成された1以上のサーバコンピュータを意味する。サーバはコンピュータプログラムを並列に実行する1以上のプロセッサも含み得る。
サーバ704及び/又は端末706は、任意の適切なコンピューティングプラットフォーム上に実装することができる。図8は、サーバ704及び/又は端末706を実装し得る例示的なコンピューティングシステム800のブロック図を示す。図8に示すように、例示的なコンピュータシステム800は、プロセッサ802、記憶媒体804、モニタ806、通信モジュール808、データベース810、周辺装置812、及びこれらの装置を互いに結合する1以上のバス814を含むことができる。また、特定の装置が無視され、他の装置が含まれることができる。
プロセッサ802は、任意の適切なプロセッサを含むことができる。更に、プロセッサ802はマルチスレッド又は並列処理用に複数のコアを含むことができる。記憶媒体804は、ROM、RAM及びフラッシュメモリモジュールなどのメモリモジュール、及びCD−ROM、U−ディスク、リムーバルハードディスクなどのマスストレージを含むことができる。前記記憶媒体804は、プロセッサ802により実行されると、様々なプロセスを実施させるコンピュータプログラムを記憶することができる。
モニタ806は、ウェブページコンテンツ、ネットワークゲームシーン等の情報を表示する表示装置を含むことができる。通信モジュール808は、通信ネットワーク702を経由する接続を確立するネットワーク装置を含むことができる。データベース810は、特定のデータを格納し、データベース検索のような特定の操作を格納データに対して実行する1以上のデータベースを含むことができる。
更に、周辺装置812は、キーボード及びマウスなどのI/O装置を含むことができる。端末706の周辺装置812は、ネットワークゲームにプレーヤとして参加するなどの特定の操作時にユーザが情報を入力するために使用することができる。
操作中、端末706はサーバ704に、インターネット経由のデータ伝送又は情報交換のような特定のアクション又は他のデータベース操作を実行させることができる。サーバ704は、このようなアクション及び操作のための構造及び機能を提供するように設定されることができる。もっと具体的に言えば、サーバ704及び端末706は(例えばユーザロールとNPCロールとの間)ゲームインタラクションを達成するためにネットワークゲームシステムを構成することができる。
様々な実施形態において、本開示の方法及びシステムに係わるネットワークゲームシステムのユーザ装置等の端末は端末706を含むことができ、本開示の方法及びシステムに係わるサーバはサーバ704を含むことができる。
図1Aは、様々な開示された実施形態による動的障害物のないネットワークゲームシステムの例示的な処理方法を示す。この例示的な方法は、ネットワークゲームシステムによって、即ちサーバ、端末、及び/又はサーバと端末によって実行することができる。一実施形態において、この例示的な方法は、端末のユーザとインタラクトするために、ネットワークゲームシステムのサーバにより実行され得る。
図1Aにつき説明すると、ステップ101において、NPCロールの短距離インタラクション状態がゲームシーンのマップ上でモニタされる。NPCロールが、あるユーザロールを短距離インタラクションの目標として選択した後に、次のステップが実行し得る。ユーザロールは、ユーザ制御ロール、即ちゲームオペレータのロールとし得る。短距離インタラクションは、ゲームロール(例えば、ユーザロール及び/又はNPCロール)間のコマンドの短距離インタラクションを意味し得る。例えば、ユーザロールを攻撃するNPCロールは、短距離インタラクションの一種とし得る。短距離インタラクションは、ロールの攻撃に限定されず、ロール間の対話又は他のアクションのインタラクションのような他の短距離インタラクションでもある。
ステップ102において、NPCロールがあるユーザロールを短距離インタラクションの目標として選択する前に、このユーザロールとの短距離インタラクションを行う全てのロールの総数Nが決定される。シミュレーティド回転角度C=N×aが計算され(ラジアン単位)、ここで「a」は規定の基準角度(ラジアン単位)である。本開示では、特に定めのない限り、「シミュレーティド回転角度C」は「回転角度C」とも言える。
一実施形態において、上述のように(例えば、ステップ102において)総数Nを決定するために使用される「全てのロール」はNPCロールを含むことができる。別の実施形態において、総数Nを決定するために使用される「全てのロール」は、ネットワークゲーム内のNPCロール及び/又は他のロールを含むことができ、それらはネットワークゲームの計画により決められ、本開示により限定されるのではない。
ステッ103において、位置割当操作が実行される。もっと具体的に言うと、シミュレーティド回転処理において、前記ユーザロールの現在座標点が円の中心として用いられ、NPCロールの現在座標点を規定の方向に回転角度Cだけシミュレーティド回転させることによって、NPCロールの目的地座標点が計算される。回転後に、マップ上の目的地座標点に静的障害物があるかどうかが決定されることができる。静的障害物がある場合には、現在の回転角度Cに規定の角度を付加することによって新しい回転角度Cを計算し、位置割当操作を繰り返すことができる。静的障害物がない場合には、NPCロールは、目的地座標点へ移動し、目標ユーザロール(即ち、短距離インタラクションの目標として選択されたユーザロール)と短距離インタラクションを実行するよう命令され得る。規定の方向は、反時計方向又は時計方向とし得る。
本開示において、特に規定していない限り、NPCロールの目的地座標点の計算中及びマップ上の目的地座標点に静的障害物があるかどうかの決定前のNPCロールの回転角度Cの回転は、シミュレーティド回転処理とし得る。
図2は、様々な開示された実施形態における動的障害物のない例示的なネットワークゲームシステムの構成図を示す。図2に示すように、例示的な動的障害物のないネットワークゲームシステム200は、状態モニタリングモジュール201、シミュレーティド回転角度決定モジュール202及び/又は位置割当モジュール203を含む。また、他のコンポーネントを含むこともできる。
状態モニタリングモジュール201は、ゲームシーンのマップ上のNPCロールの短距離インタラクション状態をモニタするように構成される。NPCロールがあるユーザロールを短距離インタラクションとして選択すると、その後シミュレーティド回転角度決定モジュール202及び位置割当モジュール203がトリガされ得る。
シミュレーティド回転角度決定モジュール202は、シミュレーティド回転角度C=N×aを決定するように構成され、ここで、Nは、NPCロールが前記ユーザロールを短距離インタラクションの目標として選択する前に前記ユーザロールとの短距離インタラクションを行う全てのロールの総数である。ここで、「a」は規定の基準角度である。
位置割当モジュール203は位置割当操作を実行する。もっと具体的に言うと、前記ユーザロールの現在座標点を円の中心として用いて、NPCロールの現在座標点を規定の方向に回転角度Cだけ回転させることによって、NPCロールの目的地座標点が計算される。回転後に、マップ上の目的地座標点に静的障害物があるかどうかを決定することができる。
静的障害物がある場合には、現在の回転角度Cに規定の角度を付加することによって新しい回転角度Cを計算し、位置割当操作を繰り返すことができる。静的障害物がない場合には、NPCロールは、目的地座標点へ移動し、目標ユーザロール(即ち、短距離インタラクションの目標として選択されたユーザロール)と短距離インタラクションを実行するよう命令され得る。
様々な開示された実施形態による処理方法は、ネットワークゲームシステム内の主としてNPCロールを相手にしているため、本開示に示されるモジュールは通常、ネットワークゲームシステム内のNPCシステムのAIモジュールの一部としてNPCシステムに設定されることができる。様々な開示された実施形態による動的障害物のないネットワークゲームシステムの他の処理モジュールについては、動的障害物のある既存のネットワークゲームシステムの対応モジュールを使用することができる。
様々な開示された実施形態によれば、基準角度「a」はπ/m(ここでmは正の整数)の形にすることができる。付加される規定の角度もπ/mの形にすることができ、付加される規定の角度は基準角度と同じにしても良く、相違させても良い。一実施形態において、例えば基準角度“a”及び付加される規定の角度は、約π/4とされることができる。
図3は、様々な開示された実施形態におけるNPCロールとユーザロールとの間の短距離インタラクション中のNPCロールに対する位置割当の概要を示す。図3を参照すると、破線の円301及び破線の円302がユーザロールの座標点を中心として同心的に配置されている。破線の円301の半径はユーザロールモデルの半径r1とNPCロールモデルの半径r2の和である。
破線の円302の半径は所定のインタラクションレンジであり、破線の円302と破線の円301との半径差が、NPCロールとユーザロールとの間の短距離インタラクションの実効インタラクションレンジである。例えば、攻撃インタラクションの場合、破線の円302と破線の円301との半径差が、NPCロールの実効攻撃レンジである。NPCロールの短距離インタラクション状態(例えば、ステップ101で記載されているように)をモニタすることができる。
NPCロールがユーザロール310を短距離インタラクションとして選択すると、例えば図3に示すようにNPCロール311がユーザロール310を短距離インストラクションとして選択すると、ステップ102が実行され得る。
ステップ102において、NPCロール311がユーザロール310との短距離インタラクションを行う最初のNPCロールである場合、例えば、NPCロール311がユーザロール310を攻撃する最初のNPCロールである場合、総数Nがゼロであり、即ちN=0である。従って、回転角C=N×a=0である。
よって、ステップ103において、ユーザロール310を攻撃する最初のNPCロール311は、シミュレーティド回転を実行しない。代わりに、NPCロール311の現在座標点は、直接的にNPCロール311の目的地座標点とされることができる。次に、マップ上の目的地座標点に静的障害物があるかどうかを決定することができる。静的障害物は、ロールモデルを妨害し得る、ゲームシステムのマップ上の固定の地形とすることができる。例えば、目的地座標点に静的障害物のアイテム(例えば山、岩、建物など)がある場合には、目的地座標点に静的障害物があることになる。目的地座標点に静的障害物のアイテムがない場合には、目的地座標点に静的障害物がないことになる。
目的地座標点に静的障害物がない場合、NPCロール311は、目標ユーザロール310(即ち、短距離インタラクションの目標として選択されたユーザロール310)との短距離インタラクションのために、目的地座標点に移動するよう命令され得る。NPCロール311は、ユーザロール310を攻撃する最初のNPCであるため、NPCロール311の現在座標点が既にNPCロール311の目的地座標点である。従って、NPCロール311は移動する必要はない。よって、NPCロール311は現在座標点でユーザロール310を攻撃することができる。
目的地座標点に静的障害物がある場合、現在の回転角度C(即ち、現在はC=0)に規定の角度を付加して新しい回転角度Cを計算することができる。例えば、規定角度は、約π/4とされることができる。従って、新しい回転角度C=π/4となり、その後ステップ103を繰り返すことができる。
ステップ103において、ユーザロールの現在座標点を円の中心として用いて、NPCロールの現在座標点を規定方向へ回転角度Cだけ回転させることによってNPCロールの目的地座標点が計算すされることは、以下のステップ131〜133を含む。
図1B及び図3に関して説明すると、ステップ131において、ユーザロール310の現在座標点を原点として用いることにより、角度Aが決定される(ラジアン単位)。角度Aは、接続線(ユーザロール310とNPCロール311を結ぶ線)とマップ基準線(通常、水平線)とのなす角度である。
ステップ132において、角度Aを基準として用いて、NPCロール311を規定の方向(例えば、反時計方向又は時計方向)に角度Cだけシミュレーティド回転させることによって、角度Bが計算される(ラジアン単位)。
ステップ133において、NPCロール311の目的地座標点のx及びy座標が計算され、ここで、
x座標=ユーザロールのx座標+(NPCロールモデルの半径r1+ユーザロールモデルの半径r2+NPCロールの短距離インタラクションの実効距離s1)×cos(B)
y座標=ユーザロールのy座標+(NPCロールモデルの半径r1+ユーザロールモデルの半径r2+NPCロールの短距離インタラクションの実効距離s1)×sin(B)
である。
NPCロールの短距離インタラクションの実効距離s1は、NPCロールの短距離インタラクションの実効距離レンジから選択される値とされることができる。一実施形態において、攻撃インタラクションに対しては、実効距離s1が最適に選択されることができる。例えば、特定のNPCロールの最大実効攻撃距離が約200cm以下である場合、s1は最大実効攻撃距離の約70%〜90%の範囲から無作為に選択される値とされることができる。特定のNPCロールの最大実効攻撃距離が約200cmより大きい場合、s1は最大実効攻撃距離の約35%〜45%の範囲から無作為に選択される値とされることができる。
目的地座標点のx座標及びy座標が計算された後、NPCロール311は目的地座標点に移動するように命令され得る。NPCロール311の移動プロセスで、ユーザロール310も移動し得る。それゆえ、目的地座標点へのNPCロール311の移動は、更に目的地座標点(即ち、NPCロール311の)とユーザロール310の現在座標点との間の距離がNPCロール311の短距離インタラクションの最大実効距離(例えば、NPCロール311の最大実効攻撃距離)より大きいかどうかを決定するステップを含むことができる。
NPCロール311の目的地座標点とユーザロール310の現在座標点との間の距離がNPCロール311の短距離インタラクションの最大実効距離より大きくない場合、NPCロール311は目的地座標点への移動を続けることができる。NPCロール311の目的地座標点とユーザロール310の現在座標点との間の距離がNPCロール311の短距離インタラクションの最大実効距離より大きい場合、NPCロール311の短距離インタラクションの実効距離s1を減少させることができる。
例えば、NPCロール311の短距離インタラクションの最大実効距離が約200cmより小さい場合、s1は最大実効攻撃距離の1%〜8%の範囲から無作為に選択される値にされることができる。NPCロール311の短距離インタラクションの最大実効距離が約200cmより大きい場合、s1は最大実効攻撃距離の20%〜35%の範囲から無作為に選択される値にすることができる。s1の減少後に、新しい目的地座標点を得るために目的地座標点のx座標及びy座標点が再計算され、NPCロール311に新しい目的地座標点に移動するよう命令することができる。
一実施形態において、ステップ103における目的地座標点に静的障害物がある場合、更に現在回転角度Cが約2πであるかどうか(即ち、現在のシミュレーティド回転がほぼ一周であるかどうか)を決定することができる。現在回転角度Cが約2πである場合、NPCロール311のユーザロール310との短距離インタラクションの関係をキャンセルすることができる(例えば、NPCロール311のユーザロール310との攻撃インタラクションの関係をキャンセルすることができる)。現在回転角度Cが約2πでない場合、回転角度Cに規定の角度を付加して新しい回転角度Cに到達させ、ステップ103を繰り返すことができる。
一例において、NPCロール311は、目的地座標点への移動に成功し、ユーザロール310との短距離インタラクションを実行する(例えば、NPCロール311はユーザロール310を攻撃し始める)。新しいNPCロールがユーザロール310を短距離インタラクションの目標として選択する(例えば、ユーザロール310を攻撃の目標として選択する)場合、様々な開示された実施形態で示されたステップ102〜103が新しいNPCロールに対して実行される。しかしながら、新しいNPCロールに対して、総数N(即ち、新しいNPCロールがこのユーザロールを短距離インタラクションの目標として選択する前にこのユーザロールとの短距離インタラクションを行った全てのロールの数)はもはや0になり得ず、同様に初期回転角度Cももはや0になり得ない。
図4は、様々な開示された実施形態による例示的な処理方法におけるユーザロールとの短距離インタラクションを行う全てのNPCロールに対する位置割当の概略図を示す。図4を参照すると、ユーザロール310を短距離インタラクションの目標として有する全てのNPCロール、例えばNPCロール311〜316の各々に対して、ステップ102〜103が実行され得る。従って、結局のところ、ユーザロール310を短距離インタラクションの目標として有する全てのNPCロールは、NPCロールとユーザロール310との短距離インタラクション(例えば、ユーザロール310を攻撃するインタラクション)に対する実効インタラクションレンジ内、即ち破線円302と破線円301との間に位置し得る。したがって、NPCロールモデルとユーザロールモデルとが互いにオーバラップしない。加えて、NPCロールモデルが最終的にユーザロール310の周りにほぼ均等に分布されるため、NPCロール同士がオーバラップする確率も大幅に低くなる。
したがって、本明細書に開示されるように、所望のPVE視覚体験をユーザに提供することができる。NPCロールモデルが比較的大きい(例えば、図4のNPCロール316)場合、NPCロールモデル同士が部分的にオーバラップし得るが、全体的なPVE視覚体験は影響されない。一般に、NPCロールモデル及びユーザロールモデルは、ネットワークゲーム内のNPCロール及びユーザロールそれぞれに対応する2D又は3D画像に関連される。通常、ロールモデルは、2Dネットワークゲーム内の2D画像及び3Dネットワークゲーム内の3D画像である。様々な開示された実施形態によれば、本開示は2Dネットワークゲームにも、3Dネットワークゲームにも適用されることができる。
したがって、様々な開示された実施形態による処理方法は単純にでき、既存の技術のようにNPCロール間でリアルタイムの複雑で動的なインタラクティブ計算を必要としない。よって、ネットワークゲームシステムのオーバヘッドを低減することができる。
ユーザロール及びNPCロールの座標点間の接続線は、マップ基準線に対して大きな角度Aにされることができる。例えば、角度Aは、約2π近くにされることができる。NPCロールが回転角度Cだけ反時計方向に更に回転される場合、接続線はマップ基準線に対して約2πより大きな角度になり得る。それゆえ、一実施形態において、基準角度a及び付加される規定の角度の両方をπ/mにする場合、ステップ102は更に、以下のステップを含むことができる。
つまり、総数Nの決定後で、C=N×aを用いる回転角度Cの決定前に、NmodMを計算し(ここで、M=2π/a)、そのモジュロ値をNに割り当てるステップと、C=N×aを用いてCを計算するステップと、を含むことができる。
本開示において、NPCロールは、ネットワークゲームシステム内のNPCシステムにより駆動されることができる。一実施形態において、ネットワークゲームシステムのオーバヘッド、特にNPCシステムのオーバヘッドを更に低減するために開示された方法は更に、以下の方法を含む。
つまり、ネットワークゲームシステムサーバの現在の負荷状態をモニタし、モニタした現在の負荷状態に従ってNPCロールに対するNPCシステムのクロックチックインターバルを動的に調整するステップを含むことができる。ネットワークゲームシステムサーバの現在の負荷が大きくなるほど、それに応じて調整されるNPCロールのクロックチックインターバルが長くなる。
一つの所定の実施形態において、チック単位は約200msの時間インターバルとされることができる。NPCロールに対するクロックチックインターバルは、チック単位の整数倍にされることができ、現在の負荷状態に応じて調整されることができる。
例えば、表1は種々の長さのクロックチックインターバルの利点及び欠点を示す。
Figure 0005767760
表1において、NPCの状態モード移行は、ネットワークゲームの技術的計画に基づいて決定されることができる。例えば、ネットワークゲームシステムにおいて、NPCの状態モードは、例えば「パトロールモード」、「攻撃モード」、「追跡モード」、「帰還モード」、「ストレートパトロールモード」などを含む。NPCロールは、AIロジックに基づいてモードを変換することができ、よってゲーム内の鮮明なロールモデル画像及び状態を表示することができる。
上述した様々な実施形態によれば、ネットワークゲームシステムサーバのモニタした現在の負荷状態に応じてクロックチックインターバルを動的に調整することによって、NPCシステムのフレキシビリティを向上させることができる。このようにNPCシステムをCPUオーバヘッドとPVE体験との間で動的にバランスさせ、NPCシステムを間接的に安定化させ、ネットワークゲームシステム全体の動作の安定性を確保することができる。
ネットワークゲームシステムのオーバヘッドを更に低減させるために、一実施形態において、本方法は、更に、以下の方法を含む。
つまり、NPCロールの視野範囲内のロールオブジェクトを視野探索し、探索の結果に従って視野リスト内にロールオブジェクトの数を維持するステップを含む。
また、視野探索をトリガするNPCロールの移動距離及び視野探索範囲を、視野リスト内のロールオブジェクトの数に従って動的に調整するステップを含む。NPCの視野リスト内のロールオブジェクトの数が多いほど、それに応じて調整される視野探索をトリガする移動距離及び視野探索範囲が小さくなる。
上述した視野探索ステップ及び動的調整ステップは、ゲームの計画に従って本処理方法の任意の適切なステップの間で実行されることができ、本開示により制限されるのではない。視野探索の探索結果は、任意の適切なステップで利用でき、本開示により制限されるのではない。一実施形態において、探索結果は、(NPC)ロールの短距離インタラクション状態のモニタリング及び/又は総数Nの決定に使用されることができる。
例えば、表2は視野探索をトリガするNPCロールの様々な移動距離の利点及び欠点を示す。
Figure 0005767760
図5Bを参照すると、一実施形態において、視野探索をトリガする移動距離及び視野探索範囲の調整を達成するために、特に下記のステップ141〜143を含むことができる。
ステップ141において、図5Aに示すように、第1レベルの視野範囲領域(例えば、図5Aの大きな3×3領域ブロック、各領域ブロックのサイズは約32メートル×32メートル)、及び第2レベルの視野範囲領域(例えば、図5Aに示す大きな3×3領域ブロックの各ブロックを更に分割した2×2又はn×n格子領域ブロック)がゲームマップ上で分割される。第1レベルの視野範囲領域は第2レベルの視野範囲領域のサイズの整数倍である。
ステップ142において、デフォルトとして、NPCロールが第1レベルの視野範囲領域を横切るとき、視野探索が第1レベルの視野範囲領域内のロールオブジェクト(例えば、他のNPCロール及びユーザロール)に対して実行される。
ステップ143において、NPCロールの視野探索後ごとに、探索結果に従って、ロールオブジェクトの数が視野リストに維持される。そして、視野リスト内のロールオブジェクトの数が規定の閾値を超えるかどうかを決定することができる。視野リスト内のロールオブジェクトの数が規定の閾値を超えない場合には、NPCロールがその後第1レベルの視野範囲領域を横切ると、第1レベルの視野範囲領域内のロールオブジェクトに対して視野探索を実行することができる。視野リスト内のロールオブジェクトの数が規定の閾値を超える場合には、NPCロールがその後第2レベルのシステムや範囲領域を横切ると、第2レベルの視野範囲領域内のロールオブジェクトに対して視野探索を実行することができる。
図5Cを参照すると、NPCロールの視野範囲内のロールオブジェクトを視野探索するステップ及び探索の結果に従って視野リスト内にロールオブジェクトの数を維持するステップは、以下のステップ1431〜1434を含むことができる。
ステップ1431において、NPCロールの視野範囲内の全てのロールオブジェクトが探し出される。
ステップ1432において、探し出されたロールオブジェクトの各々のタイプが決定される。
ステップ1433において、ロールオブジェクトのタイプ及び各タイプのロールオブジェクトに対してプリセットされた視野包含関係情報に従って、ロールオブジェクトの各々をNPCロールの視野リスト内に加えるべきかどうかを決定する。
ステップ1434において、原視野リストに存在するが新しい視野範囲内で探索し得ないロールオブジェクトが除去される。
表3は、各タイプのロールオブジェクトに対してプリセットされた視野包含関係情報の例示的な所定の例を示す。
Figure 0005767760
表3に示すように、一つの特定の実施形態において、NPCロールが異なるレベルに分類できる。異なるレベルのNPCロールに対する視野包含関係情報は、以下の1)〜4)のように相違させることができる。
1)ユーザロールとユーザロールは対称関係を有し、互いの視野内に包含され得る。ユーザロールと第1レベルのNPCロールは対称関係を有し、互いの視野内に包含され得る。ユーザロールと第2レベルのNPCロールは対称関係を有し、互いの視野内に包含され得る。ユーザロールと第3レベルのNPCロールは対称関係を有し、互いの視野内に包含され得る。しかしながら、第3レベルのNPCロールの視野リストが一杯のとき、第3レベルのNPCのみがユーザロールの視野内に包含され得る。
2)第1レベルのNPCロールとユーザロールは対称関係を有し、互いの視野内に包含され得る。第1レベルのNPCロールと第1レベルのNPCロールは対称関係を有し、互いの視野内に包含され得る。第1レベルのNPCロールと第2レベルのNPCロール又は第3レベルのNPCロールは互いに視認できず、互いの視野内に包含され得ない。
3)第2レベルのNPCロールとユーザロールは対称関係を有し、互いの視野内に包含され得る。第2レベルのNPCロールと第1レベルのNPCロール又は第2レベルのNPCロールは互いに視認できず、互いの視野内に包含され得ない。
4)第3レベルのNPCロールとユーザロールは対称関係を有し、互いの視野内に包含され得る。しかしながら、第3レベルのNPCロールの視野リストが一杯のとき、第3レベルのNPCのみがユーザロールの視野内に包含され得る。第3レベルのNPCロールと、第1レベルのNPCロール又は第2レベルのNPCロール又は第3レベルのNPCロールは互いに視認できず、互いの視野内に包含され得ない。
上記の様々な実施形態に開示されているように、各タイプのロールオブジェクトに対してプリセットする視野包含関係は、例えば以下の利点(1)〜(3)を有する。
(1)視野リストが閾値に達する確率を低減でき、ここで、閾値は第2レベルの視野範囲領域を横切る視野探索をトリガするための規定の閾値である。従って、移動中の視野探索の頻度を減少させることができる。視野探索アルゴリズムの消費を低減できるため、CPU消費を低減できる。
(2)第3レベルのNPCロールの視野リストが満杯のとき、ユーザロールが第3レベルのNPCロールを見ることができず、よってタスクを受信できない状態を防止するために、第3レベルのNPCロールのみがユーザロールの視野内に包含され得る。
(3)NPCロールの視野リストに他のロールがないとき、AIロジック動作を停止でき、よってCPUの消費を低減できる。
上記の方法と同様に、図6に示すように、様々な開示された実施形態によるネットワークゲームシステムは、状態モニタリングモジュール201、シミュレーティド回転角度決定モジュール202、及び位置割当モジュール203(図2も参照)を含むことができ、更に負荷モニタリング及び調整モジュール204を含むことができる。
負荷モニタリング及び調整モジュール204は、ネットワークゲームシステムサーバの現在の負荷状態をモニタし、NPCロールに対するNPCシステムのクロックチックインターバルをモニタした負荷状態に従って動的に調整するように構成され、ネットワークゲームシステムサーバの現在負荷が大きくなるほど、それに応じて調整されるNPCロールのクロックチックインターバルが長くなる。
ネットワークゲームシステムは更に、視野探索モジュール205を含むことができる。視野探索モジュール205は、NPCロールの視野範囲内のロールオブジェクトを捜索する視野探索を実行するように構成される。加えて、視野探索モジュール205は、視野探索をトリガするNPCロールの移動距離及び視野探索範囲を、視野リスト内のロールオブジェクトの数に従って動的に調整するように構成される。NPCの視野リスト内のロールオブジェクトの数が多いほど、それに応じて調整される視野探索をトリガする移動距離及び視野探索範囲が小さくなる。
加えて、ネットワークゲームシステムのオーバヘッドを更に低減するために、一実施形態において、本明細書で開示される方法は更に、ネットワークゲームシステムによるマップ上の任意の2つの座標点間の距離Sの計算時に、前記2つの座標点を結ぶ線を直角三角形の斜辺として用い、且つ前記2つの座標点をこの直角三角形の頂点として用いてこの直角三角形を描き、この直角三角形の2つの辺の長さを決定し、ここで、Aは長辺の長さ、Bは短辺の長さとし、前記2つの座標点間の距離を計算するためにS=A+B/2を用いることを含む。
通常、2つの座標点間の距離を計算するためには
Figure 0005767760
が使用されるが、二乗計算及びルート計算は両方ともCPUオーバヘッドを消費する。よって、前記距離を計算するために方程式S=A+B/2を使用することによりCPU負荷を低減できる。
ここで開示するように、方程式S=A+B/2を使用すると、計算される2つの座標点間の距離はいくらか誤差を有するが、その最大誤差が約12%以下であり、平均誤差は約5%である。この程度の誤差はネットワークゲームシステムで許容可能であり、画像及びゲーム操作体験に大きな影響を及ぼさない。利点は、加算及び除算演算により消費されるCPUのオーバヘッドが低いため、システムリソースを節約できることである。
本明細書で開示された実施形態は例示にすぎない。開示された実施形態に対する他の応用、利点、代替例、変更例又は同等例も当業者にとって明らかであり、本開示の範囲に含まれることを意図している。
開示された実施形態の産業上の利用可能性及び有利な効果の例は、特許請求の範囲及び/又は明細書の範囲を制限するためでなく、説明のために記載されている。開示された実施形態の技術的解決法に対する様々な変更例、修正例又は同等例は当業者にとって自明であり、本開示の範囲に含まれ得る。
開示された方法及びシステムは、様々なゲームアプリケーションに利用可能である。開示された方法及びシステムを使用することによって、ノンプレーヤ制御キャラクタ(NPC)ロールの短距離インタラクション状態が、そのゲームをプレイしているユーザに対応するユーザロールを有するゲームのマップ上でモニタされる。NPCロールが、あるユーザロールを短距離インタラクションの目標として選択すると、NPCロールがそのユーザロールを目標として選択する前に、そのユーザロールと短距離インタラクションを行っている全てのNPCロールの総数Nが決定される。また、C=N×a(ここで、aは規定の基準角度である)を用いて回転角度Cが決定される。次に、位置割当操作が実行される。前記位置割当操作は、前記ユーザロールの現在の座標点を円の中心として前記NPCロールの現在の座標点を前記回転角度Cだけ回転させることによって前記NPCロールの目的地座標が計算されるステップを含む。位置割当操作は、マップ上の目的地座標点に静的障害物があるかどうか決定するステップも含む。静的障害物があると、位置割当操作を繰り返すために現在の回転角度Cに規定の角度を付加して新しい回転角度Cが計算される。静的障害物がないと、NPCロールは目的地座標点に移動し、ユーザロールとの短距離インタラクションを実行する。
開示された方法及びシステムを使用すると、ユーザロール短距離インタラクションの目標とする全てのNPCロールが、NPCロールとユーザロールとの間の短距離インタラクションにとっての実効インタラクション範囲である一定の距離範囲内に位置される。従って、NPCロールモデルとユーザロールモデルが互いにオーバラップすることはない。加えて、NPCロールモデルはユーザロールモデルの周囲にほぼ均等に分布されるので、NPCロールモデル同士がオーバラップする確率も大幅に低くなる。それで、所望のPVE(プレーヤ対環境)視覚体験がユーザに提供され得る。加えて、開示された方法及びシステムは単純であり、NPCロール間におけるリアルタイムの複雑な動的インタラクティブ計算を必要としない。よって、ゲームシステムのオーバヘッドを低減できる。
200…動的障害物のないネットワークゲームシステム、201…状態モニタリングモジュール、202…シミュレーティド回転角度決定モジュール、203…位置割当モジュール、204…負荷モニタリング及び調整モジュール、205…視野探索モジュール、700…環境、702…通信ネットワーク、704…サーバ、706…端末、800…システム、802…プロセッサ、804…記憶媒体、806…モニタ、808…通信モジュール、810…データベース、812…周辺装置、814…バス。

Claims (13)

  1. ゲームをプレイするユーザに対応するユーザロールを有するゲームのマップ上のノンプレーヤ制御キャラクタ(NPC)ロールの短距離インタラクション状態をモニタするステップ、
    前記NPCロールが、短距離インタラクションの目標として、あるユーザロールを選択すると、前記NPCロールが前記ユーザロールを目標として選択する前に、前記ユーザロールとの短距離インタラクションを行う全てのNPCロールの総数Nを決定するステップ、
    C=N×a(ここで「a」は規定の基準角度である)を用いて回転角度を決定するステップ、及び
    位置割当操作を実行するステップ、
    を含み、前記位置割当操作は、
    前記ユーザロールの現在座標点を円の中心として用いて、前記NPCロールの現在座標点を規定の方向に前記回転角度Cだけシミュレーティド回転させることによって、前記NPCロールの目的地座標点を計算するステップ、
    前記マップ上の前記目的地座標点に静的障害物があるかどうかを決定するステップ、
    静的障害物がある場合、前記位置割当操作を繰り返すために現在の回転角度Cに規定の角度を付加することによって新しい回転角度Cを計算するステップ、及び
    静的障害物がない場合、前記NPCロールを前記目的地座標点へ移動させて、前記ユーザロールとの短距離インタラクションを実行させるステップ、
    を含むことを特徴とする動的障害物のないネットワークゲームシステムの処理方法。
  2. 前記NPCロールの目的地座標点を計算するステップは、
    前記ユーザロールの現在座標点を原点として用いて、前記ユーザロールと前記NPCロールを結ぶ接続線とマップ基準線とのなす角度Aを決定するステップ、
    前記角度Aを基準として用いて、前記NPCロールを規定の方向に前記回転角度Cだけシミュレーティド回転させることによって角度Bを計算するステップ、及び
    前記NPCロールの前記目的地座標点のx及びy座標を計算するステップを含み、ここで、
    x座標=ユーザロールのx座標+(r1+r2+s1)×cos(B)
    y座標=ユーザロールのy座標+(r1+r2+s1)×sin(B)
    であり、ここでr1はNPCロールモデルの半径であり、r2はユーザロールモデルの半径であり、s1はNPCロールの短距離インタラクションの実効距離で、NPCロールの短距離インタラクションの実効距離範囲から選択される値である、
    請求項1記載の動的障害物のないネットワークゲームシステムの処理方法。
  3. 前記NPCロールを前記目的地座標点に移動させるステップは、
    前記NPCロールの目的地座標点と前記ユーザロールの現在座標点との間の距離が前記NPCロールの前記短距離インタラクションの最大実効距離より大きいかどうかを決定するステップ、
    前記NPCロールの目的地座標点と前記ユーザロールの現在座標点との間の距離が前記NPCロールの前記短距離インタラクションの最大実効距離より大きくないと、前記NPCロールを前記目的地座標点に向けて移動させるステップ、及び
    前記NPCロールの目的地座標点と前記ユーザロールの現在座標点との間の距離が前記NPCロールの前記短距離インタラクションの最大実効距離より大きいと、前記実効距離s1を減少させ、前記目的地座標点のx及びy座標を再計算し、新しい目的地座標点を得て前記NPCロールを前記新しい目的座標点に移動させるステップ、
    を含む、請求項2記載の動的障害物のないネットワークゲームシステムの処理方法。
  4. 前記基準角度「a」及び追加の規定角度はπ/mの形であり、「m」は正の整数であり、
    前記総数Nの決定後、前記回転角度Cの決定前に、NmodMを計算し(ここで、M=2π/a)、そのモジュロ値をNに割り当てるステップ、及び
    C=N×aを用いて前記Cを計算するステップ、
    を含む、請求項2記載の動的障害物のないネットワークゲームシステムの処理方法。
  5. 前記目的地座標点に静的障害物がある場合には、前記新しい回転角度Cの計算前に、現在回転角度Cが約2πであるかどうかを決定するステップ、
    現在回転角度Cが約2πであると、前記NPCロールの前記ユーザロールとの短距離インタラクションの関係をキャンセルするステップ、及び
    現在回転角度Cが約2πでないと、前記位置割当操作を繰り返すために、前記現在回転角度Cに前記規定角度を付加することにより新しい回転角度Cを計算するステップ、を更に含む、請求項4記載の動的障害物のないネットワークゲームシステムの処理方法。
  6. 前記ネットワークゲームシステムのサーバの現在負荷をモニタするステップ、及び
    前記NPCロールに対するクロックチックインターバルを前記モニタした負荷状態に応じて動的に調整するステップ、を更に含み、前記現在負荷が大きくなるほど、それに応じて調整される前記クロックチックインターバルが長くなる、請求項1〜5のいずれかに記載の動的障害物のないネットワークゲームシステムの処理方法。
  7. 前記NPCロールの視野範囲内のロールオブジェクトを視野探索するステップ、
    探索の結果に従って視野リスト内に前記ロールオブジェクトの数を維持するステップ、及び
    視野探索をトリガする前記NPCロールの移動距離及び視野探索範囲を、前記視野リスト内の前記ロールオブジェクトの数に従って動的に調整するステップ、を含み、前記視野リスト内の前記ロールオブジェクトの数が多いほど、それに応じて調整される前記NPCロールの移動距離及び視野探索範囲が小さくなる、請求項1〜5のいずれかに記載の動的障害物のないネットワークゲームシステムの処理方法。
  8. ゲームシーンのマップ上で第1レベルの視野範囲領域及び第2レベルの視野範囲領域を分割するステップであって、前記第1レベルの各視野範囲領域のサイズが前記第2レベルの各視野範囲領域のサイズの整数倍である、ステップ、
    デフォルトとして、前記NPCロールが前記第1レベルの視野範囲領域を横切るとき、前記第1レベルの視野範囲領域内のロールオブジェクトに対して視野探索を実行するステップ、
    視野探索後ごとに、前記探索結果に従って前記ロールオブジェクトの数を前記視野リスト内に維持するステップ、
    前記視野リスト内の前記ロールオブジェクトの数が規定の閾値を超えるかどうかを決定するステップ、
    前記視野リスト内の前記ロールオブジェクトの数が前記規定の閾値を超えない場合、前記NPCロールがその後前記第1レベルの範囲領域を横切るとき、前記第1レベルの視野範囲内のロールオブジェクトに対して視野探索を実行するステップ、及び
    前記視野リスト内の前記ロールオブジェクトの数が前記規定の閾値を超える場合、前記NPCロールがその後前記第2レベルの視野領域を横切るとき、前記第2レベルの視野範囲領域内のロールオブジェクトに対して視野探索を実行するステップ、
    を含む、請求項1〜5のいずれかに記載の動的障害物のないネットワークゲームシステムの処理方法。
  9. 前記ロールオブジェクトに対して視野探索を実行し、前記ロールオブジェクトの数を前記視野リストに維持するステップは、
    前記NPCロールの視野範囲内の全てのロールオブジェクトを探索するステップ、
    探索されたロールオブジェクトの各々のタイプを決定するステップ、
    前記探索された各ロールオブジェクトのタイプ及びプリセットされた視野包含関係情報に従って、ロールオブジェクトの各々を前記NPCロールの視野リストに含めるかどうかを決定するステップ、及び
    原視野リストに存在するが新しい視野範囲内で探索され得ないロールオブジェクトを除去するステップ、
    を更に含む、請求項7又は8記載の動的障害物のないネットワークゲームシステムの処理方法。
  10. 前記マップ上の任意の2つの座標点間の距離Sを、
    前記2つの座標点を結ぶ線を直角三角形の斜辺として用い、且つ前記2つの座標点をこの直角三角形の頂点として用いてこの直角三角形を描き、
    この直角三角形の2つの辺の長さを決定し、Aは長辺の長さ、Bは短辺の長さとし、
    S=A+B/2を用いて前記距離Sを決定することによって、
    計算するステップを更に含む、請求項1〜5のいずれかに記載の動的障害物のないネットワークゲームシステムの処理方法。
  11. シミュレーティド回転角度決定モジュール、
    位置割当モジュール、及び
    状態モニタリングモジュールを備え、
    前記状態モニタリングモジュールは、
    ゲームシーンのマップ上のNPCロールの短距離インタラクション状態をモニタし、
    前記NPCロールが短距離インタラクションの目標としてユーザロールを選択した後に、前記シミュレーティド回転角度決定モジュール及び前記位置割当モジュールをトリガするように構成され、
    前記シミュレーティド回転角度決定モジュールは、回転角度C=N×aを決定するように構成され、ここで、Nは、前記NPCロールが前記ユーザロールを目標として選択する前に前記ユーザロールとの短距離インタラクションを行う全てのNPCロールの総数であり、「a」は規定の基準角度であり、
    前記位置割当モジュールは、位置割当操作を実行するように構成され、
    前記位置割当操作は、
    前記ユーザロールの現在座標点が円の中心として用いられ、前記NPCロールの現在座標点を規定の方向に前記回転角度Cだけシミュレーティド回転させることによって、前記NPCロールの目的地座標点を計算し、
    前記マップ上の前記目的地座標点に静的障害物があるかどうかを決定し、静的障害物がある場合、位置割当操作を繰り返すために現在の回転角度Cに規定の角度を付加することによって新しい回転角度Cを計算し、静的障害物がない場合は、前記NPCロールが前記ユーザロールとの短距離インタラクションを実行するために前記目的地座標点へ移動する、
    ことを特徴とする動的障害物のないネットワークゲームシステム。
  12. 負荷モニタリング及び調整モジュールを更に含み、
    前記負荷モニタリング及び調整モジュールは、
    前記ネットワークゲームシステムのサーバの現在負荷をモニタし、
    前記NPCロールに対するクロックチックインターバルを前記モニタした現在負荷に従って動的に調整するよう構成され、前記現在負荷が大きくなるほど、それに応じて調整される前記クロックチックインターバルが長くなる、
    請求項11記載の動的障害物のないネットワークゲームシステム。
  13. 視野探索モジュールを更に含み、
    前記視野探索モジュールは、
    前記NPCロールの視野範囲内のロールオブジェクトに対して視野探索を実行し、探索結果に従って前記ロールオブジェクトの数を視野リスト内に維持するよう構成され、更に
    前記視野探索をトリガする前記NPCロールの移動距離及び視野探索範囲を、前記視野リスト内の前記ロールオブジェクトの数に従って動的に調整するように構成され、前記視野リスト内の前記ロールオブジェクトの数が多いほど、それに応じて調整される前記移動距離及び前記視野探索範囲が小さくなる、
    請求項11記載の動的障害物のないネットワークゲームシステム。
JP2015502088A 2012-08-17 2013-08-16 動的障害物のないネットワークゲームシステム及びその処理方法 Active JP5767760B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201210293556.5 2012-08-17
CN201210293556.5A CN103593546B (zh) 2012-08-17 2012-08-17 一种无动态阻挡网络游戏系统及其处理方法
PCT/CN2013/081663 WO2014026647A1 (en) 2012-08-17 2013-08-16 Network game system without dynamic obstructions and processing method thereof

Publications (2)

Publication Number Publication Date
JP2015515304A JP2015515304A (ja) 2015-05-28
JP5767760B2 true JP5767760B2 (ja) 2015-08-19

Family

ID=50083684

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015502088A Active JP5767760B2 (ja) 2012-08-17 2013-08-16 動的障害物のないネットワークゲームシステム及びその処理方法

Country Status (9)

Country Link
US (1) US9149724B2 (ja)
EP (1) EP2839441B1 (ja)
JP (1) JP5767760B2 (ja)
KR (1) KR101517927B1 (ja)
CN (1) CN103593546B (ja)
CO (1) CO7061044A2 (ja)
MY (1) MY173985A (ja)
PH (1) PH12014501916B1 (ja)
WO (1) WO2014026647A1 (ja)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103957224B (zh) * 2014-05-21 2019-11-19 腾讯科技(深圳)有限公司 一种在线游戏中的人物移动方法和系统
CN104606886B (zh) * 2014-12-25 2017-10-17 珠海金山网络游戏科技有限公司 一种分布式无碰撞移动规划的方法
JP6661275B2 (ja) * 2015-03-05 2020-03-11 株式会社バンダイナムコエンターテインメント プログラムおよびサーバシステム
CN104915117B (zh) 2015-06-16 2017-03-22 深圳市腾讯计算机系统有限公司 控制与虚拟目标进行交互的方法和装置
KR101921642B1 (ko) 2015-08-24 2018-11-23 금오공과대학교 산학협력단 염료감응형 태양전지 및 그 제조방법
JP5887458B1 (ja) * 2015-11-04 2016-03-16 株式会社Cygames プレイヤの移動履歴に基づいてノンプレイヤキャラクタの経路探索を行うゲームシステム等
CN107042018B (zh) * 2016-02-05 2018-09-18 腾讯科技(深圳)有限公司 控制对象的空间位置确定方法和装置
CN106110656B (zh) * 2016-07-07 2020-01-14 网易(杭州)网络有限公司 在游戏场景计算路线的方法和装置
KR101999827B1 (ko) 2016-09-02 2019-07-12 주식회사 겜프스 전투게임 제공 장치 및 방법
CN109843403B (zh) * 2016-10-31 2022-10-14 喀普康有限公司 游戏系统及游戏系统的控制方法
CN106503477B (zh) * 2016-11-24 2018-09-07 腾讯科技(深圳)有限公司 虚拟对象的控制方法及相关装置
JP6850884B2 (ja) * 2017-01-05 2021-03-31 テンセント・テクノロジー・(シェンジェン)・カンパニー・リミテッド 情報処理方法及び装置
CN107480544A (zh) * 2017-08-07 2017-12-15 成都牵牛草信息技术有限公司 统计列表操作权限授权方法
CN108434739B (zh) * 2018-01-30 2019-03-19 网易(杭州)网络有限公司 游戏场景中虚拟资源的处理方法及装置
CN108920069B (zh) * 2018-06-13 2020-10-23 网易(杭州)网络有限公司 一种触控操作方法、装置、移动终端和存储介质
US10606345B1 (en) 2018-09-25 2020-03-31 XRSpace CO., LTD. Reality interactive responding system and reality interactive responding method
CN109865286B (zh) * 2019-02-20 2023-02-28 网易(杭州)网络有限公司 游戏中的信息处理方法、装置及存储介质
CN110052030B (zh) * 2019-04-26 2021-10-29 腾讯科技(深圳)有限公司 虚拟角色的形象设置方法、装置及存储介质
CN111111187B (zh) * 2019-11-28 2023-07-14 玩心(北京)网络科技有限公司 基于网格的在线游戏寻路方法和装置
JP2021194464A (ja) * 2020-06-18 2021-12-27 任天堂株式会社 ゲームプログラム、ゲーム装置、ゲーム処理方法、およびゲームシステム
CN112396697B (zh) * 2020-11-20 2022-12-06 上海莉莉丝网络科技有限公司 游戏地图内区域生成方法、系统及计算机可读存储介质

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000308759A (ja) * 1999-04-27 2000-11-07 Konami Co Ltd ビデオゲームのキャラクタを制御する方法、ビデオゲーム装置、及び記録媒体
JP3505705B2 (ja) * 1999-11-30 2004-03-15 株式会社光栄 記録媒体及びゲーム装置
JP3795856B2 (ja) * 2002-12-09 2006-07-12 株式会社スクウェア・エニックス ビデオゲーム装置、ビデオゲームの進行制御方法、プログラム及び記録媒体
KR20040052131A (ko) 2002-12-13 2004-06-19 한국전자통신연구원 거리기반 분산형 온라인 게임 서버 시스템
GB2409417A (en) * 2003-12-22 2005-06-29 Nokia Corp Online gaming with spectator interaction
JP3911511B2 (ja) * 2004-12-21 2007-05-09 株式会社光栄 キャラクタ集団移動制御プログラム、記憶媒体及びゲーム装置
JP2006314705A (ja) * 2005-05-16 2006-11-24 Nintendo Co Ltd ゲームプログラムおよびゲーム装置
JP4534231B2 (ja) * 2005-09-08 2010-09-01 株式会社コーエーテクモゲームス ネットワークゲームシステム,クライアント機器,サーバ機器,キャラクタ管理プログラムおよびキャラクタ管理プログラムを記憶した記憶媒体
CN1990074B (zh) * 2005-12-28 2011-04-13 腾讯科技(深圳)有限公司 一种网络游戏中的物体运动控制方法
JP4177381B2 (ja) * 2006-03-01 2008-11-05 株式会社スクウェア・エニックス 画像生成方法、画像生成装置、および画像生成プログラム
JP4125760B2 (ja) * 2006-03-15 2008-07-30 株式会社スクウェア・エニックス ビデオゲーム処理装置、ビデオゲーム処理方法、およびビデオゲーム処理プログラム
CN1987881A (zh) * 2006-12-22 2007-06-27 北京金山软件有限公司 在游戏中分配非玩家控制角色的方法及装置
US20080231627A1 (en) * 2007-03-20 2008-09-25 Robert Allen Shearer Using Ray Tracing to Enhance Artificial Intelligence Character Behavior
CN101071515A (zh) * 2007-06-25 2007-11-14 北京金山软件有限公司 一种在服务器端实现三维游戏碰撞检测的方法
JP5350660B2 (ja) * 2008-03-27 2013-11-27 株式会社ソニー・コンピュータエンタテインメント ゲーム装置、ゲーム制御方法、及びゲーム制御プログラム
EP2327053A4 (en) * 2008-07-22 2012-01-18 Sony Online Entertainment Llc SYSTEM AND METHOD FOR PROVIDING PERSISTALITIES WITH PERSISTENT CHARACTER IN A SIMULATION
JP5514483B2 (ja) * 2009-07-28 2014-06-04 株式会社カプコン ゲームプログラム、記録媒体、及びコンピュータ装置
CN101990074A (zh) 2009-08-03 2011-03-23 康佳集团股份有限公司 带音频播放功能的电视机
JP5584566B2 (ja) * 2010-09-15 2014-09-03 株式会社カプコン ゲームプログラム、およびゲーム装置
CN102136025A (zh) * 2010-12-31 2011-07-27 北京像素软件科技股份有限公司 非玩家控制角色的智能控制方法
CN110107151A (zh) 2019-06-03 2019-08-09 吴宋位 一种内嵌式门把手及其应用的门锁

Also Published As

Publication number Publication date
EP2839441A1 (en) 2015-02-25
CN103593546A (zh) 2014-02-19
EP2839441B1 (en) 2018-05-23
KR20140121901A (ko) 2014-10-16
KR101517927B1 (ko) 2015-05-07
PH12014501916A1 (en) 2014-11-24
CO7061044A2 (es) 2014-09-19
US9149724B2 (en) 2015-10-06
MY173985A (en) 2020-03-02
EP2839441A4 (en) 2015-12-30
US20140073435A1 (en) 2014-03-13
WO2014026647A1 (en) 2014-02-20
CN103593546B (zh) 2015-03-18
PH12014501916B1 (en) 2014-11-24
JP2015515304A (ja) 2015-05-28

Similar Documents

Publication Publication Date Title
JP5767760B2 (ja) 動的障害物のないネットワークゲームシステム及びその処理方法
WO2018130135A1 (zh) 一种控制模拟对象寻路的方法、装置及服务器
Kumar et al. Second life and the new generation of virtual worlds
US8475284B1 (en) Dynamic views within gaming environments
JP6864753B2 (ja) オブジェクト移動方法及び装置並びに記憶媒体、電子装置
US20220226728A1 (en) Route navigation system within a game application environment
WO2022184128A1 (zh) 虚拟对象的技能释放方法、装置、设备及存储介质
US20220096928A1 (en) Method and apparatus for displaying picture of virtual environment, device, and medium
US20230321535A1 (en) Coordinate axis display method and apparatus applied to virtual environments, terminal, and medium
CN111389007B (zh) 一种游戏控制方法、装置、计算设备及存储介质
US20170340970A1 (en) Dynamic quality of service management in multiplayer gaming
JP2023548922A (ja) 仮想対象の制御方法、装置、電子機器、及びコンピュータプログラム
CA3159762A1 (en) Player density based region division for regional chat
US11876685B1 (en) Locally predicting state using a componentized entity simulation
CN116983629A (zh) 视频游戏辅助方法和装置、电子设备以及可读存储介质
CN112587924A (zh) 游戏ai的躲避方法、装置、存储介质及计算机设备
KR20150003040A (ko) 온라인 게임에 출현하는 객체를 타겟팅하는 방법 및 장치.
CN114377397A (zh) 虚拟场景中的寻路方法、装置、设备及存储介质
Feng Multi-Team Strategic Game Development
Bhojan et al. Mun Choon Chan & Rajesh Krishna Balan

Legal Events

Date Code Title Description
A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20150217

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150317

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150616

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150619

R150 Certificate of patent or registration of utility model

Ref document number: 5767760

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250