(57)【要約】  本開示は、制御オブジェクトの空間位置を決定する方法および装置を開示する。方法は、ゲームアプリケーションのゲームエンジンによって、空間位置要求を検出するステップであって、ゲームエンジンが物理的衝突に適用されておらず、空間位置要求が、ゲームアプリケーション内の第1の制御オブジェクトの第1の空間位置に基づいて、第2の制御オブジェクトの第2の空間位置を決定するための要求である、ステップと、ゲームエンジンによって、第1の制御オブジェクトの第1の空間位置に従って複数の候補空間位置を決定するステップであって、複数の候補空間位置が第1の空間位置を取り囲み、複数の候補空間位置のうちの任意の2つと第1の空間位置が重なり合わない、ステップと、ゲームエンジンによって、複数の候補空間位置の中の非占有候補空間位置を第2の制御オブジェクトの第2の空間位置として決定するステップとを含む。
2019505284.tif 000002
【特許請求の範囲】
【請求項１】
制御オブジェクトの空間位置を決定する方法であって、
ゲームアプリケーションのゲームエンジンによって、空間位置要求を検出するステップであって、前記ゲームエンジンが物理的衝突に適用されておらず、前記空間位置要求が、前記ゲームアプリケーション内の第1の制御オブジェクトの第1の空間位置に基づいて、第2の制御オブジェクトの第2の空間位置を決定するための要求である、ステップと、
前記ゲームエンジンによって、前記第1の制御オブジェクトの前記第1の空間位置に従って複数の候補空間位置を決定するステップであって、前記複数の候補空間位置が前記第1の空間位置を取り囲み、前記複数の候補空間位置のうちの任意の2つと前記第1の空間位置が重なり合わない、ステップと、
前記ゲームエンジンによって、前記複数の候補空間位置の中の非占有候補空間位置を前記第2の制御オブジェクトの前記第2の空間位置として決定するステップと
を備える方法。
【請求項２】
前記ゲームエンジンによって、前記第1の制御オブジェクトの前記第1の空間位置に従って前記複数の候補空間位置を前記決定するステップが、
前記第1の空間位置を中心として、空間領域において前記複数の候補空間位置を決定するステップであって、前記複数の候補空間位置の各々と前記第1の空間位置との間の距離は、事前設定されたしきい値を超えない、ステップ
を備える、請求項1に記載の方法。
【請求項３】
前記第1の空間位置を前記中心として、前記空間領域において前記複数の候補空間位置を前記決定するステップが、
前記空間領域において、前記第1の空間位置を前記中心として、包囲リング上に前記複数の候補空間位置を分布するステップ
を備える、請求項2に記載の方法。
【請求項４】
N個の包囲リングが存在し、前記第1の空間位置を前記中心として、前記包囲リング上に前記複数の候補空間位置を前記分布するステップが、
前記N個の包囲リングの各々の上に候補空間位置の1つのグループを分布するステップであって、候補空間位置のi番目のグループは、i番目の包囲リング上に配設され、Nは1以上の整数であり、iはN以下の正の整数である、ステップ
を備える、請求項3に記載の方法。
【請求項５】
候補空間位置の前記i番目のグループは前記i番目の包囲リング上に均等に分布され、各グループ内の候補空間位置の数は異なる、請求項4に記載の方法。
【請求項６】
前記第1の空間位置を前記中心として、前記包囲リング上に前記複数の候補空間位置を前記分布するステップが、
前記第1の制御オブジェクトおよび前記第2の制御オブジェクトの属性情報に従って、前記i番目の包囲リングと前記第1の制御オブジェクトとの間の距離、前記i番目のグループ内の候補空間位置の数、および候補空間位置の前記i番目のグループの分布方式のうちの少なくとも1つを設定するステップ
を備える、請求項4に記載の方法。
【請求項７】
前記ゲームエンジンによって、前記複数の候補空間位置の中の非占有候補空間位置を前記第2の制御オブジェクトの前記第2の空間位置として前記決定するステップが、
前記複数の候補空間位置の中の、前記第1の空間位置に最も近い非占有候補空間位置を前記第2の制御オブジェクトの前記第2の空間位置として決定するステップ
を備える、請求項1に記載の方法。
【請求項８】
前記複数の候補空間位置の中の、前記第1の空間位置に最も近い非占有候補空間位置を前記第2の制御オブジェクトの前記第2の空間位置として前記決定するステップの後に、
前記第1の空間位置に最も近い前記非占有候補空間位置のステータスを占有状態に変更するステップ
をさらに備える、請求項7に記載の方法。
【請求項９】
ゲームアプリケーションのゲームエンジンによって、空間位置要求を前記検出するステップが、
前記第1の制御オブジェクトに対して前記第2の制御オブジェクトによって実行される動作の命令を受信するときに、前記空間位置要求が検出されると決定するステップ、または
前記第1の制御オブジェクトが前記第1の空間位置に移動し、かつ、前記第1の制御オブジェクトが第3の空間位置に位置し、前記第1の制御オブジェクトが第4の空間位置に位置する複数の第2の制御オブジェクトによって取り囲まれるときに前記第1の空間位置と前記第3の空間位置との間の距離が事前設定された距離を超えることが検出された場合、前記空間位置要求が検出されると決定するステップ
を備える、請求項1に記載の方法。
【請求項１０】
前記第1の制御オブジェクトが前記第3の空間位置に位置し、前記第1の制御オブジェクトが前記第4の空間位置に位置する前記複数の第2の制御オブジェクトによって取り囲まれるとき、
前記第1の制御オブジェクトが前記第1の空間位置に移動し、かつ、前記第1の空間位置と前記第3の空間位置との間の前記距離が前記事前設定された距離を超えないことが検出されたとき、前記第1の空間位置および前記第3の空間位置に基づいて前記第1の制御オブジェクトの動きベクトルを決定するステップと、
前記動きベクトルに従って、前記第2の制御オブジェクトを前記第2の空間位置から第5の空間位置に並進して移動するステップと
をさらに備える、請求項9に記載の方法。
【請求項１１】
制御オブジェクトの空間位置を決定する装置であって、プロセッサとメモリとを備え、前記メモリが、前記プロセッサが以下の動作、すなわち、
ゲームアプリケーションのゲームエンジンによって、空間位置要求を検出するステップであって、前記ゲームアプリケーションが物理的衝突に適用されておらず、前記空間位置要求が、前記ゲームアプリケーション内の第1の制御オブジェクトの第1の空間位置に基づいて、第2の制御オブジェクトの第2の空間位置を決定するための要求である、ステップと、
前記ゲームエンジンによって、前記第1の制御オブジェクトの前記第1の空間位置に従って複数の候補空間位置を決定するステップであって、前記複数の候補空間位置が前記第1の空間位置を取り囲み、前記複数の候補空間位置のうちの任意の2つと前記第1の空間位置が重なり合わない、ステップと、
前記ゲームエンジンによって、前記複数の候補空間位置の中の非占有候補空間位置を前記第2の制御オブジェクトの前記第2の空間位置として決定するステップと
を実行することを可能にするコンピュータ可読命令を記憶する、装置。
【請求項１２】
前記コンピュータ可読命令は、前記プロセッサが以下の動作、すなわち、
前記第1の空間位置を中心として、空間領域において前記複数の候補空間位置を決定するステップであって、前記複数の候補空間位置の各々と前記第1の空間位置との間の距離は、事前設定されたしきい値を超えない、ステップ
を実行することを可能にする、請求項11に記載の装置。
【請求項１３】
前記コンピュータ可読命令は、前記プロセッサが以下の動作、すなわち、
前記空間領域において、前記第1の空間位置を前記中心として、包囲リング上に前記複数の候補空間位置を分布するステップ
を実行することを可能にする、請求項12に記載の装置。
【請求項１４】
少なくとも1つのプロセッサが以下の動作、すなわち、
ゲームアプリケーションのゲームエンジンによって、空間位置要求を検出するステップであって、前記ゲームアプリケーションが物理的衝突に適用されておらず、前記空間位置要求が、前記ゲームアプリケーション内の第1の制御オブジェクトの第1の空間位置に基づいて、第2の制御オブジェクトの第2の空間位置を決定するための要求である、ステップと、
前記ゲームエンジンによって、前記第1の制御オブジェクトの前記第1の空間位置に従って複数の候補空間位置を決定するステップであって、前記複数の候補空間位置が前記第1の空間位置を取り囲み、前記複数の候補空間位置のうちの任意の2つと前記第1の空間位置が重なり合わない、ステップと、
前記ゲームエンジンによって、前記複数の候補空間位置の中の非占有候補空間位置を前記第2の制御オブジェクトの前記第2の空間位置として決定するステップと
を実行することを可能にするコンピュータ可読命令を記憶する非一時的コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願
本出願は、その全体が参照により本明細書に組み込まれる、2016年2月5日に中国特許庁に出願された「CONTROL OBJECT SPATIAL LOCATION DETERMINING METHOD AND APPARATUS」と題する中国特許出願第201610082767.2号の優先権を主張する。
【０００２】
本出願は、コンピュータ技術の分野に関し、詳細には、制御オブジェクトの空間位置を決定するための方法およびその装置に関する。
【背景技術】
【０００３】
既存の技術の場合、オンラインゲームアプリケーションでは、一般に、同じターゲットを同時に攻撃する複数のノンプレイヤーキャラクター(NPC:non-player character)が存在する。NPCはターゲットの周りにその場所を占め、複数のNPCの人工知能(AI)がオンラインゲームにおいて同じターゲット(たとえば、プレイヤーキャラクター)を同時に攻撃する場所占有機構は、AI包囲機構と呼ばれる。現在のゲームエンジンでは、AI包囲機構の実装形態は、ゲームエンジンが物理的衝突に適用されるかどうかに従って2つのタイプに分類される。
【０００４】
(1)物理的衝突に適用されるゲームエンジン:(StarCraftまたはWarcraftなどの)コンソールゲーム、(Xuanyuan Legendなどの)オンラインゲームなど。このゲームの特性は、ゲーム内のすべての物体(たとえば、NPCなどの上記のキャラクターオブジェクト)が空間において重なり合うことができないということである。したがって、このタイプのゲームアプリケーションでは、複数のNPCのAIが同じターゲットを攻撃するとき、複数のNPCは、ターゲットに比較的近いが、互いと重なり合わない場所に移動する。
【０００５】
(2)物理的衝突に適用されないゲームエンジン:大半のゲームアプリケーションは、物理的衝突エンジンを有しておらず、このタイプのゲームの特性は、ゲーム内の物体が空間において重なり合うことがあるということである。図1に示す概略図では、ゲームインターフェース上で、4つのNPC(図1のNPC1、NPC2、NPC3、およびNPC4)が(図1のターゲットオブジェクトM1などの)同じターゲットを攻撃しており、図1の4つのNPCのうちの3つのNPC(すなわち、NPC1、NPC2、およびNPC3)が空間的に重なり合っている。物理的衝突がないので、NPCに対して、ゲームシーンにおける空間全体が占有され得る。したがって、すべてのNPCは、同じ場所占有点を選択することがあり、一緒に積み重なることがある。したがって、プレイヤーの体験は現実的でないことが多い。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本開示の実施形態は、物理的衝突がないゲームエンジンにおいて、複数の物体が空間位置において重なり合わないようにするための解決策が低い動作効率を有することが多いという技術的問題を少なくとも解決するために、制御オブジェクトの空間位置を決定する方法および装置を提供する。
【課題を解決するための手段】
【０００７】
本開示の一態様によれば、制御オブジェクトの空間位置を決定する方法が提供される。方法は、ゲームアプリケーションのゲームエンジンによって、空間位置要求を検出するステップであって、ゲームエンジンが物理的衝突に適用されておらず、空間位置要求が、ゲームアプリケーション内の第1の制御オブジェクトの第1の空間位置に基づいて、第2の制御オブジェクトの第2の空間位置を決定するための要求である、ステップと、ゲームエンジンによって、第1の制御オブジェクトの第1の空間位置に従って複数の候補空間位置を決定するステップであって、複数の候補空間位置が第1の空間位置を取り囲み、複数の候補空間位置のうちの任意の2つと第1の空間位置が重なり合わない、ステップと、ゲームエンジンによって、複数の候補空間位置の中の非占有候補空間位置を第2の制御オブジェクトの第2の空間位置として決定するステップとを含む。
【０００８】
本開示の別の態様によれば、制御オブジェクトの空間位置を決定する装置が提供される。装置は、プロセッサとメモリとを含み、メモリは、プロセッサが以下の動作、すなわち、ゲームアプリケーションのゲームエンジンによって、空間位置要求を検出するステップであって、ゲームアプリケーションが物理的衝突に適用されておらず、空間位置要求が、ゲームアプリケーション内の第1の制御オブジェクトの第1の空間位置に基づいて、第2の制御オブジェクトの第2の空間位置を決定するための要求である、ステップと、第1の制御オブジェクトの第1の空間位置に従って複数の候補空間位置を決定するステップであって、複数の候補空間位置が第1の空間位置を取り囲み、複数の候補空間位置のうちの任意の2つと第1の空間位置が重なり合わない、ステップと、複数の候補空間位置の中の非占有候補空間位置を第2の制御オブジェクトの第2の空間位置として決定するステップとを実行することを可能にするコンピュータ可読命令を記憶する。
【０００９】
本明細書で説明する添付の図面は、本出願についてのさらなる理解を与え、本出願の一部分を形成するために使用される。本出願の概略的な実施形態および例示的な実施形態についての説明は、本出願を解釈するために使用され、本出願に対する不適切な制限を構成しない。
【図面の簡単な説明】
【００１０】
【図１】本開示の一実施形態による、物体の空間位置を決定する概略図である。
【図２】本開示の一実施形態による、コンピュータネットワーク環境の概略図である。
【図３】本開示の一実施形態による、制御オブジェクトの空間位置を決定する方法のフローチャートである。
【図４】本開示の一実施形態による、候補空間位置の分布の第1の概略図である。
【図５】本開示の一実施形態による、候補空間位置の分布の第2の概略図である。
【図６】本開示の一実施形態による、候補空間位置の分布の第3の概略図である。
【図７】本開示の一実施形態による、候補空間位置の分布の第4の概略図である。
【図８】本開示の一実施形態による、候補空間位置の分布の第5の概略図である。
【図９】本開示の一実施形態による、空間位置要求生成のためのトリガ条件の概略図である。
【図１０】本開示の一実施形態による、空間位置を決定する方法を使用することによって生成されるゲームインターフェースの概略図である。
【図１１】本開示の一実施形態による、制御オブジェクトの空間位置を決定する装置の概略図である。
【図１２】本開示の一実施形態による、サーバの内部構造ブロック図である。
【発明を実施するための形態】
【００１１】
本開示の解決策を当業者にとってより分かりやすくするために、以下では、添付の図面を参照しながら、本開示の実施形態における技術的解決策について説明する。説明される実施形態は、本開示の実施形態のすべてではなく、一部にすぎないことは明らかである。創造的努力なしに本開示の実施形態に基づいて当業者によって取得される他の実施形態は、本開示の保護範囲内に入るものとする。
【００１２】
本開示の明細書および特許請求の範囲ならびに添付の図面における「第1の」および「第2の」などの用語は、同様のオブジェクトを区別するために使用されることがあるが、必ずしも特定のシーケンスまたは先行レベルを説明するために使用されるわけではないことに留意されたい。このようにして使用されるデータは、本明細書で説明する本開示の実施形態が図面に示すまたは本明細書で説明するシーケンスとは異なるシーケンスで実装され得るように、適切な状況において交換可能であり得ることを理解されたい。加えて、「含む」および「有する」という用語およびそれらの任意の変形は、非排他的な包含をカバーすることが意図される。たとえば、一連のステップまたはユニットを含むプロセス、方法、システム、製品、またはデバイスは、明確に列挙されたステップまたはユニットに限定されず、明確に列挙されていないまたはプロセス、方法、製品もしくはデバイスに固有の、別のステップまたはユニットを含み得る。
【００１３】
本開示の一実施形態によれば、制御オブジェクトの空間位置を決定する方法の一実施形態が提供される。添付の図面のフローチャートに示すステップは、たとえば、コンピュータ実行可能命令のグループを用いてコンピュータシステムにおいて実行され得ることに留意されたい。加えて、論理シーケンスがフローチャートに示されているが、示されるまたは説明されるステップは、いくつかの場合には、本明細書のシーケンスとは異なるシーケンスで実行され得る。
【００１４】
いくつかの実施形態では、上記の制御オブジェクトの空間位置を決定する方法は、図2に示すネットワーク環境に適用され得る。ネットワーク環境は、端末201と、サーバ203とを含む。端末は、ネットワークを使用することによってサーバへの接続を確立し、プロセッサは、端末とサーバの両方に配設され得る。
【００１５】
ネットワークは、限定はされないが、ワイドエリアネットワーク、メトロポリタンエリアネットワークまたはローカルエリアネットワークを含む。いくつかの実施形態では、ネットワークはローカルエリアネットワークであり、端末はパーソナルコンピュータまたは(モバイルフォンまたはタブレットコンピュータなどの)モバイル端末を含み得る。
【００１６】
図3は、本開示の一実施形態による、制御オブジェクトの空間位置を決定する方法を示す。図3に示すように、方法は以下を含む。
【００１７】
S302:ゲームアプリケーションのゲームエンジンが、空間位置要求を検出し、空間位置要求は、ゲームアプリケーション内の第1の制御オブジェクトの第1の空間位置に従って第2の制御オブジェクトの第2の空間位置の決定を要求するために使用され、ゲームエンジンは物理的衝突がないエンジンであり、すなわち、ゲームアプリケーション内の制御オブジェクトは、同じ空間位置において重なり合うことが許される。
【００１８】
S304:ゲームエンジンが、第1の制御オブジェクトの第1の空間位置に従って複数の候補空間位置を決定し、複数の候補空間位置は第1の空間位置を取り囲み、複数の候補空間位置のうちの任意の2つと第1の空間位置は重なり合わない。
【００１９】
S306:ゲームエンジンが、複数の候補空間位置の中の非占有候補空間位置を第2の制御オブジェクトの第2の空間位置として決定する。
【００２０】
第2の空間位置が決定された後、第2の空間位置についての情報を含む通知が生成される。通知を受信した後、第2の制御オブジェクトの(人工知能制御ユニットなどの)AIは、第2の制御オブジェクトを第2の空間位置に移動する。
【００２１】
したがって、本開示のこの実施形態における物理的衝突の条件がないゲームエンジンの場合、空間位置要求が検出された後、第1の制御オブジェクトの第1の空間位置に従って複数の候補空間位置が決定され、複数の候補空間位置の中の非占有候補空間位置が第2の制御オブジェクトの第2の空間位置として決定される。上記の実施形態における複数の候補空間位置は第1の空間位置を取り囲み、複数の候補空間位置のうちの任意の2つと第1の空間位置は重なり合わない。したがって、複数の空間位置から非占有位置が第2の制御オブジェクトの第2の空間位置として選択される。複数の第2の制御オブジェクトが存在する場合、複数の第2の制御オブジェクトの位置は重なり合わない。したがって、高い研究開発コストおよび低いランニング効率を必要とし得る、物理的衝突があるゲームエンジンがなくても、物理的衝突がないゲームエンジンにおいて、重なり合わない空間位置を複数の第2の制御オブジェクトに割り振ることができ、物理的衝突がないゲームエンジンにおいて、複数の物体が空間位置において重なり合わないようにするための既存の解決策が低い動作効率を有することが多いという問題を解決する。
【００２２】
上記の実施形態における第1の制御オブジェクトと第2の制御オブジェクトの両方は、ゲームキャラクターであってもよく、またはゲーム内の静的オブジェクトであってもよい。上記の実施形態における第2の制御オブジェクトは、人工知能によって制御されるオブジェクトであってもよく、空間位置要求はまた、第2の制御オブジェクトの人工知能制御ユニットによって生成されてもよい。上記の方法は、ゲームエンジン内の包囲マネージャによって実行され得る。
【００２３】
たとえば、第1の制御オブジェクトはゲームプレイヤーであってもよく、第2の制御オブジェクトはNPCであってもよく、ゲームプレイヤーは、ユーザがゲームクライアントを使用するときに動作命令を入力することによってユーザによって制御されるゲームキャラクターであってもよい。
【００２４】
したがって、開示する実施形態によれば、物理的衝突がなければ、異なる空間位置をゲームアプリケーション内の複数のNPCに割り振ることができ、NPCの空間位置は互いに異なり、その結果、AIは、包囲機構を使用することによってNPCの位置占有性能をより現実的かつ鮮明にすることができる。
【００２５】
具体的には、ゲームアプリケーションはオンラインゲームアプリケーションであってもよく、ユーザは、端末上にインストールされたゲームクライアントにログオンし、ゲームアプリケーションのゲームシナリオに入るためにゲームアカウント番号を使用することができる。ゲームシナリオに入った後、ゲームアカウント番号は、シナリオ内の1つのゲームキャラクター(すなわち、上記の実施形態における第1の制御オブジェクト)に対応する。端末のゲームクライアントから開始命令を受信した後、ゲームエンジンは、開始命令に応答して、対応するゲームを開始する。ゲームが開始された後、NPCがゲームに現れるかどうかが検出される。NPCが現れる場合、空間位置要求が検出される。空間位置要求が検出された場合、互いに重なり合わない、第1の制御オブジェクトの第1の空間位置に対応する複数の候補空間位置が決定され、複数の空間位置から非占有候補空間位置が選択され、NPCの第2の空間位置として決定され、すなわち、非占有候補空間位置がNPCに割り振られ、NPCはNPCに割り振られた第2の空間位置を通知され、NPCは第2の空間位置に移動する。
【００２６】
いくつかの実施形態では、ゲームエンジンは、代替的には、直接NPCを第2の空間位置に移動することができる。これは本開示において限定するものではない。
【００２７】
さらに、1つのNPCによってすでにロックされた空間位置は、別のNPCによって占有されず、複数のNPCがターゲット(すなわち、第1の制御オブジェクト)を包囲するとき、複数のNPCは重なり合わず、ゲームはできるだけ現実的になり、ユーザ体験を改善する。
【００２８】
図4は、候補空間位置の分布を示す。1つの実施形態では、ゲームエンジンによって、第1の制御オブジェクトの第1の空間位置に従って複数の候補空間位置を決定するプロセスは、第1の空間位置を中心として、空間領域において複数の候補空間位置を決定することを含み、候補空間位置の各々と第1の空間位置との間の距離は、事前設定されたしきい値を超えない。
【００２９】
図4に示すように、第1の空間位置401を中心として、事前設定されたしきい値を半径として使用することによって、円形の空間領域402が決定される。複数の候補空間位置403は、円形の空間領域にランダムに配設される。候補空間位置403の各々と第1の空間位置401との間の距離は、事前設定されたしきい値を超えず、複数の候補空間位置403は、第1の空間位置401を取り囲む。
【００３０】
ゲームアプリケーションにおいて、第2の制御オブジェクトは、第1の制御オブジェクトに対して(包囲または攻撃などの)動作を実行する必要がある。したがって、候補空間位置と第1の空間位置との間の距離が事前設定された距離の範囲内にあると決定された場合、ゲームの包囲または攻撃機能は、より良く実装され得る。
【００３１】
いくつかの実施形態では、第1の空間位置を中心として、空間領域において複数の候補空間位置を決定することは、空間領域において、第1の空間位置を中心として、包囲リング上に複数の候補空間位置を配設することを含み得る。
【００３２】
具体的には、N個の包囲リングが存在し、第1の空間位置を中心として、包囲リング上に複数の候補空間位置を配設することは、N個の包囲リングの各々の上に候補空間位置の1つのグループを配設することを含み、候補空間位置のi番目のグループは、i番目の包囲リング上に配設され、Nは1以上の整数であり、iはN以下の正の整数である。
【００３３】
N個の包囲リングは、第1の空間位置を円の中心として使用することによって配設され得る。各包囲リングの半径は異なる。候補空間位置の1つのグループは、各包囲リング上に配設される、すなわち、候補空間位置のi番目のグループは、i番目の包囲リング上に配設される。このようにして、候補空間位置を配設するランダム性が低減され、プロセッサの性能が改善される。加えて、各包囲リング上の候補空間位置の間の距離は一貫性があり、包囲リングについて次々に第2の空間位置が選択され得る。たとえば、第1の包囲リング上の候補空間位置が最初に選択され、第1の包囲リング上に適切な位置が存在しない場合、第2の包囲リング上の位置が選択され、他の状況は同様に処理され得る。候補空間位置のランダムな配設と比較すると、この解決策では、候補空間位置の配設は規則に従い、そうして候補空間位置の選択を行い、それにより、処理速度を上げる。
【００３４】
さらに、候補空間位置が配設されるとき、候補空間位置のi番目のグループはi番目の包囲リング上に均等に分布され、各グループ内の候補空間位置の数は互いに異なる。
【００３５】
図5に示すように、第1の制御オブジェクトは第1の空間位置501に位置し、決定された空間領域502内に、3つの包囲リング503(3つの包囲リングはすべて、ラベル503で識別される)が配設され得る。3つの包囲リング503の半径は、それぞれ、r1、r2、およびr3である。3つの包囲リング503の半径は互いに異なり、候補空間位置504の1つのグループは各包囲リング503上に配設され、各グループ内の候補空間位置504の量は互いに異なる。図5では、第1のグループに5つの候補空間位置504、第2のグループに9つの候補空間位置504、第3のグループに13個の候補空間位置504が存在し、候補空間位置504は各包囲リング503上に均等に分布される。
【００３６】
本開示では、包囲リングは仮想概念にすぎず、候補空間位置は半径距離に従って設定されてもよく、包囲リングは使用されなくてもよいことに留意されたい。すなわち、候補空間位置のN個のグループは、第1の制御オブジェクトを中心として使用することによって、異なる半径距離に従って配設され、候補空間位置と第1の制御オブジェクトとの間の距離は、各グループにおいて同じであってもよい。
【００３７】
いくつかの実施形態では、第1の空間位置を中心として、包囲リング上に複数の候補空間位置を配設することは、第1の制御オブジェクトおよび第2の制御オブジェクトの属性情報に従って、i番目の包囲リングと第1の制御オブジェクトとの間の距離、i番目のグループ内の候補空間位置の数、候補空間位置のi番目のグループの分布方式のうちの少なくとも1つを設定することを含み得る。
【００３８】
1つの実施形態では、包囲リングの数、各包囲リングと第1の制御オブジェクトとの間の距離、各グループ内の候補空間位置の数、および候補空間位置の(均等分布または不均等分布などの)分布方式は、第1の制御オブジェクトおよび第2の制御オブジェクトの属性に従って決定され得る。
【００３９】
複数のNPCが同じターゲットを包囲するときに、複数のNPCが重なり合わず、できるだけ現実感のあるものにするために、候補空間位置は本開示では「フォーメーション」と呼ばれる。図6に示すように、フォーメーションは、ターゲット(すなわち、第1の制御オブジェクト)の周りの一連の仮想点(すなわち、候補空間位置)である。
【００４０】
候補空間位置が分布されるとき、複数の候補空間位置の各々とターゲットオブジェクト(すなわち、第1の制御オブジェクト)の第1の空間位置との間の接続は、互いに一致せず、その結果、各候補空間位置に位置するNPCオブジェクトは、ターゲットオブジェクトに対して直接動作を実行することができ、すなわち、各候補空間位置は、動作がターゲットオブジェクトに対して直接実行され得る位置に配設される。
【００４１】
いくつかの実施形態では、各候補空間位置は、任意の2つの候補空間位置および第1の空間位置を使用することによって決定された角度に従って配設されてもよい。角度は、第1の空間位置を交点として使用し、任意の2つの候補空間位置のうちの一方の候補空間位置と交点との間の接続線を一方の辺として使用し、任意の2つの候補空間位置のうちの他方の候補空間位置と交点との間の接続線を他方の辺として使用する。
【００４２】
具体的には、空間領域とも呼ばれる、図6に示す空間602などの、ターゲットオブジェクト(たとえば、図6に示す第1の制御オブジェクト601)の周りの空間は、ターゲットオブジェクトからの距離に従って、最初にN個の「包囲リング」に分割される(たとえば、3つの包囲リング603が図6に示されており、3つの包囲リング603は、その半径がそれぞれr1、r2、およびr3である、3つの円であってもよい)。さらに、「包囲点」(すなわち、候補空間位置604)が包囲リング上に適切な角度で割り振られる。適切な角度は、ゲームアプリケーションのシナリオに基づいて自己定義されてもよく、またはターゲットオブジェクトおよびNPCオブジェクトの属性に従って設定されてもよい。図6に示すように、H1とH2との間の角度、H3とH4との間の角度、およびH5とH6との間の角度は、それぞれa1、a2、およびa3である。包囲リングの半径rと包囲リングの数Nの両方、各包囲リング上の包囲点の数(この変数は、代替的には、包囲点の間の角度「a」を使用することによって決定され得る)は、サービス要件に従って自己定義されてもよい。同様に、包囲点の分布方式は、必ずしも包囲リングの方式でなくてもよく、包囲点は任意の形状で分布されてもよい。
【００４３】
複数の候補空間位置の包囲効果をより鮮明にするために、複数の候補空間位置の相対位置がオフセットベクトルに従って調整され得ることにさらに留意されたい。図7に示すように、第1の制御オブジェクトは第1の空間位置701に位置し、決定された空間領域702において、3つの包囲リング703(3つの包囲リングはすべて、番号703で識別される)が配設され得る。候補空間位置704の1つのグループは、包囲リング703の各々の上に配設され、距離および角度におけるいくつかのランダムなオフセットが包囲リング703の各々の上の包囲点(すなわち、候補空間位置704)の相対位置に対して実行され、不均等性の効果を生み出すことができる。すなわち、調整後、包囲リングと第1の制御オブジェクトとの間の距離は変化しないままであってもよく、各包囲リング上の候補空間位置が変化する。変化した候補空間位置は、もはや包囲リング上に位置していない場合がある。
【００４４】
したがって、第2の空間位置が決定されるとき、第2の空間位置は、事前定義された優先選択方式、たとえば、距離が最も短いものを最初に選択する選択方式、または隣接する候補空間位置からの距離が最も大きいものを選択する選択方式に従って選択されてもよい。事前定義された優先選択方式は、代替的には、サービス要件に従って自己定義されてもよい。一般的に、距離が最も短いものを最初に選択する原理に従う場合があり、すなわち、ターゲットオブジェクトに比較的近く、包囲リング上のNPCの現在の位置に最も近い包囲点が、(モンスターなどの)NPCに割り振られる。
【００４５】
すなわち、ゲームエンジンによって、複数の候補空間位置の中の非占有候補空間位置を第2の制御オブジェクトの第2の空間位置として決定することは、複数の候補空間位置の中の、第1の空間位置に最も近い非占有候補空間位置を第2の制御オブジェクトの第2の空間位置として決定することを含み得る。
【００４６】
具体的には、第1の空間位置が決定された後、第1の空間位置に最も近い包囲リングが取得され、現在取得された包囲リングから非占有候補空間位置が選択される。現在取得された包囲リング上のすべての候補空間位置が占有されている場合、次に最も近い包囲リングが取得され、占有された包囲リングが見つかるまで、以下同様である。
【００４７】
上記の実施形態では、同じ包囲リング上にいくつかの非占有候補空間位置が存在する場合、非占有候補空間位置のうちの1つが第2の空間位置としてランダムに選択されてもよく、または、第2の制御オブジェクトの現在の位置に最も近い位置が第2の空間位置として非占有候補空間位置から選択されてもよく、または、第2の制御オブジェクトの現在の位置が空である(すなわち、第2の制御オブジェクトがゲーム空間に存在しない)場合、ランダムな選択が実行されてもよい。
【００４８】
さらに、各候補空間位置はステータスフラグを有し得る。ステータスフラグは、候補空間位置が占有されているかどうかを示すために使用される。すなわち、対応する候補空間位置が占有されているかどうかは、ステータスフラグに従って決定され得る。複数の候補空間位置の中の、第1の空間位置に最も近い非占有候補空間位置が第2の制御オブジェクトの第2の空間位置として決定された後、複数の候補空間位置の中の、第1の空間位置に最も近い非占有候補空間位置のステータスは、占有状態に変わる。
【００４９】
毎回第2の空間位置が決定された後、決定された第2の空間位置のステータスは占有状態に変わる。同様に、毎回NPCが消滅した後、消滅するNPCの空間位置のステータスは再び元の非占有状態に変わり、その結果、次に空間位置が選択されるとき、第2の制御オブジェクトの空間位置が正確に決定されることが保証され得る。
【００５０】
以下では、図8を参照しながら、本出願の上記の実施形態について詳細に説明する。図8に示すように、位置決定要求が検出された後、第1の制御オブジェクトの第1の空間位置801の複数の候補空間位置が決定される(候補空間位置は、上記の実施形態のうちのいずれか1つにおける方式で決定され得る)。図8に示す実施形態では、空間領域802において、決定された候補空間位置のうちのいくつかがすでに占有されている。たとえば、図8の第1の包囲リング上のH11、H12、H13、およびH14がすでに占有されており、第2の包囲リング上のH23がすでに占有されている。前に説明したように、第1の包囲リング上の非占有候補空間位置H15が選択されてもよく、H15が第2の空間位置として決定される。ゲームエンジンは、第2の空間位置についての情報を搬送する通知を生成し、通知を第2の制御オブジェクトの手動制御ユニットに送信する。手動制御ユニットは、第1の制御オブジェクトに対してアタッチなどの動作を実行するために、第2の制御オブジェクトを第2の空間位置に移動する。
【００５１】
図8の黒の候補空間位置は、占有された候補空間位置を示す。
【００５２】
さらに、ゲームアプリケーションのゲームエンジンによって、空間位置要求を検出することは、ゲームエンジンによって、第1の制御オブジェクトに対して第2の制御オブジェクトによって実行される動作の命令を受信するときに、空間位置要求が検出されると決定すること、または、第1の制御オブジェクトが第1の空間位置に移動し、かつ、第1の制御オブジェクトが第3の空間位置に位置し、第1の制御オブジェクトが第4の空間位置に位置する複数の第2の制御オブジェクトによって取り囲まれる場合に第1の空間位置と第3の空間位置との間の距離が事前設定された距離を超えることが検出された場合、空間位置要求が検出されると決定することを含み得る。
【００５３】
いくつかの実施形態では、第1の制御オブジェクトが第3の空間位置に位置し、第1の制御オブジェクトが第4の空間位置に位置する複数の第2の制御オブジェクトによって取り囲まれるとき、方法は、第1の制御オブジェクトが第1の空間位置に移動し、かつ、第1の空間位置と第3の空間位置との間の距離が事前設定された距離を超えないことが検出された場合、第1の空間位置および第3の空間位置に基づいて第1の制御オブジェクトの動きベクトルを決定するステップと、動きベクトルに従って第2の制御オブジェクトを第2の空間位置から第5の空間位置に並進して移動するステップとをさらに含む。すなわち、第1の制御オブジェクトの移動範囲が大きくない場合、第2の制御オブジェクトは、リソースを節約するために、再び空間位置要求を生成する必要なしに第1の制御オブジェクトの移動に基づいて並進して移動される。
【００５４】
いくつかの実施形態では、ゲーム機能が開始された後、第2の制御オブジェクトが第1の制御オブジェクトを攻撃するとき、攻撃命令または包囲攻撃命令などの動作命令が生成され、空間位置要求が生成される。次いで、ゲームエンジンは、空間位置要求を検出することができる。いくつかの実施形態では、NPCが動作命令を生成することが検出された場合、空間位置要求が検出されると決定される。
【００５５】
いくつかの実施形態では、ゲーム機能が開始された後、第1の制御オブジェクトは第3の空間位置に位置し、第1の制御オブジェクトは第4の空間位置に位置する複数の第2の制御オブジェクトによって取り囲まれ、第1の制御オブジェクトが上記の状態であるとき、ゲームエンジンは、第1の制御オブジェクトの位置が第1の空間位置に移動し、移動の範囲が非常に大きいことを検出する。第3の制御位置が移動する距離が事前設定された距離範囲を超える場合、NPCは、再びNPCの空間位置を取得するために、空間位置要求を生成する。
【００５６】
以下では、図9を参照しながら、さらなる詳細について説明する。第1の制御オブジェクトが第3の空間位置901に位置し、第4の空間位置に位置する3つの第2の制御オブジェクト902が第1の制御オブジェクトを取り囲むとき、図9の第1の制御オブジェクトの第1の空間位置903が示すように、第1の制御オブジェクトが移動し、第1の制御オブジェクトが移動する距離が大きい場合、NPCのAIは、再び空間位置を申請するために、空間位置要求を生成する。
【００５７】
NPCがターゲットを攻撃するとき、複数の候補空間位置から1つの包囲点(すなわち、第2の空間位置)が申請され、NPCの位置占有点として使用され、現在の状態が包囲点上に記録される。別のNPCによってすでにロックされた包囲点は、黒の候補空間位置が示すように、別のNPCによって占有することができず、残りのNPCは残りの非占有包囲点のみから選択され得る。
【００５８】
包囲点を選択するための優先アルゴリズムは、代替的には、サービス要件に従って自己定義されてもよい。一般に、距離が最も短いものを最初に選択する原理に従い、すなわち、ターゲットに比較的近く、包囲リング上のモンスター(すなわち、第2の制御オブジェクト)の現在の位置に最も近い包囲点がモンスターに割り振られる。
【００５９】
包囲ターゲットは必ずしも静的ではなく、ターゲットが継続的に移動するとき、「フォーメーション」全体は、ターゲットに基づいて継続的に並進して移動し、すなわち、各包囲点の絶対座標は、継続的に変わる。したがって、適用することによってNPCが包囲点を取得した後、AIは、包囲点の現在の座標を継続的に決定する必要があり、NPCが比較的大きいマージンだけ包囲点から逸脱することが分かった場合、AIは、新しい座標へのNPCの移動を開始する。加えて、ターゲットの1回限りの移動が比較的大きいマージンだけ元の座標からの逸脱(図9に示す状態など)を引き起こし、包囲内のNPCの相対位置の比較的大きい変化をもたらす場合、すべての包囲点は、NPCが再び適用プロセスを開始するように、同時にリセットされ得る。
【００６０】
図10に示すように、本開示の開示する実施形態において生成されたゲームシナリオに4つの第2の制御オブジェクト(NPC1、NPC2、NPC3、およびNPC4)および1つの第1の制御オブジェクト(すなわち、ターゲットオブジェクトM1)が存在する場合、4つの第2の制御オブジェクトは、第1の制御オブジェクトに向かう包囲運動量を生成する。図1と比較すると、4つのNPCの空間位置は重なり合わない。
【００６１】
したがって、本開示の開示する実施形態によれば、物理的衝突がないゲームでは、衝突の効果はまた、モンスター包囲についてシミュレートされ、それにより、モンスターパフォーマンスをより現実感のあるものにすることができる。
【００６２】
開示する方法実施形態によれば、簡単な説明のために、方法実施形態が一連のアクションの組合せとして説明されることに留意されたい。しかしながら、いくつかのステップは本開示に従って別のシーケンスでまたは同時に実行され得るので、本開示は説明されるアクションシーケンスによって限定されないことを当業者は知っているはずである。第2に、本明細書で説明するすべての実施形態は好ましい実施形態であり、関与するアクションおよびモジュールは必ずしも本開示によって必要とされるわけではないことも当業者は知っているはずである。
【００６３】
さらに、上記の実施形態による方法は、ソフトウェアおよび必要な汎用ハードウェアプラットフォームを使用することによって実装され得るか、またはもちろん、ハードウェアを使用することによって実装され得ることを当業者は知ることができる。しかしながら、ほとんどの場合、前者が好ましい実装形態である。そのような理解に基づいて、本質的には本開示の技術的解決策が、または既存の技術に寄与する部分が、ソフトウェア製品の形態で実装され得る。コンピュータソフトウェア製品は、(ROM/RAM、磁気ディスク、または光ディスクなどの)記憶媒体に記憶され、本開示の実施形態で説明する方法を実行するように(モバイルフォン、コンピュータ、サーバ、ネットワークデバイスなどであり得る)端末デバイスに命令するためのいくつかの命令を含む。
【００６４】
本開示の一実施形態によれば、図11に示すように、上記の制御オブジェクトの空間位置を決定する方法を実装するために使用される装置がさらに提供される。
【００６５】
この実施形態では、上記の制御オブジェクトの空間位置を決定する装置は、代替的には、図2に示すネットワーク環境に適用され得る。
【００６６】
図11に示すように、制御オブジェクトの空間位置を決定する装置は、検出ユニット111と、第1の決定ユニット113と、第2の決定ユニット115とを含む。
【００６７】
検出ユニット111は、空間位置要求を検出するように構成され、空間位置要求は、ゲームアプリケーション内の第1の制御オブジェクトの第1の空間位置に従って第2の制御オブジェクトの第2の空間位置を決定することを要求するために使用され、ゲームエンジンは、物理的衝突がないエンジンである。たとえば、ゲームアプリケーション内の制御オブジェクトは、空間位置において重なり合うことが許される。
【００６８】
第1の決定ユニット113は、第1の制御オブジェクトの第1の空間位置に従って複数の候補空間位置を決定するように構成され、複数の候補空間位置は第1の空間位置を取り囲み、複数の候補空間位置のうちの任意の2つと第1の空間位置は重なり合わない。
【００６９】
第2の決定ユニット115は、複数の候補空間位置の中の非占有候補空間位置を第2の制御オブジェクトの第2の空間位置として決定するように構成される。
【００７０】
第2の空間位置が決定された後、第2の空間位置についての情報を搬送する通知が生成される。通知を受信した後、第2の制御オブジェクトの(人工知能制御ユニットなどの)AIは、第2の制御オブジェクトを第2の空間位置に移動する。
【００７１】
本実施形態における装置は、ゲームアプリケーションのゲームエンジン内にあってもよく、ゲームエンジンは、ゲームアプリケーションに対応するサーバ上に位置してもよい。
【００７２】
したがって、物理的衝突がないゲームエンジンの場合、空間位置要求が検出された後、第1の制御オブジェクトの第1の空間位置に従って複数の候補空間位置が決定され、複数の候補空間位置の中の非占有候補空間位置が第2の制御オブジェクトの第2の空間位置として決定される。上記の実施形態における複数の候補空間位置は第1の空間位置を取り囲み、複数の候補空間位置のうちの任意の2つと第1の空間位置は重なり合わない。したがって、複数の空間位置から非占有位置が第2の制御オブジェクトの第2の空間位置として選択される。複数の第2の制御オブジェクトが存在する場合、複数の第2の制御オブジェクトの位置は重なり合わない。したがって、高い研究開発コストおよび低いランニング効率を有する、物理的衝突があるゲームエンジンの代わりに、物理的衝突がないゲームエンジンにおいて、重なり合わない空間位置を複数の第2の制御オブジェクトに割り振ることができ、物理的衝突がないゲームエンジンにおいて、複数の物体が空間位置において重なり合わないようにするための既存の解決策が低い動作効率を有することが多いという問題を解決する。
【００７３】
第1の制御オブジェクトと第2の制御オブジェクトの両方は、ゲームキャラクターであってもよく、またはゲーム内の静的物体であってもよい。第2の制御オブジェクトは、人工知能によって制御されるオブジェクトであってもよく、空間位置要求はまた、第2の制御オブジェクトの人工知能制御ユニットによって生成される。上記の方法は、ゲームエンジン内の包囲マネージャによって実行され得る。
【００７４】
たとえば、第1の制御オブジェクトはゲームプレイヤーであってもよく、第2の制御オブジェクトはNPCであってもよく、ゲームプレイヤーは、ユーザがゲームクライアントを使用するときに動作命令を入力することによってユーザによって制御されるゲームキャラクターであってもよい。
【００７５】
したがって、物理的衝突がなくても、ゲームアプリケーション空間内の異なる空間位置が複数のNPCに割り振られ、NPCの空間位置は互いに異なり、その結果、AIは、包囲機構を使用することによってNPCの位置占有性能をより現実感のあるものにし、かつ鮮明にすることができる。
【００７６】
いくつかの実施形態では、第1の決定ユニットは、第1の空間位置を中心として、空間領域において複数の候補空間位置を決定するように構成された決定モジュールを含むことができ、候補空間位置の各々と第1の空間位置との間の距離は、事前設定されたしきい値を超えない。
【００７７】
第1の空間位置を中心として、事前設定されたしきい値を半径として使用することによって円形の空間領域が決定され、複数の候補空間位置が円形の空間領域にランダムに配設される場合、候補空間位置の各々と第1の空間位置との間の距離は、事前設定されたしきい値を超えず、複数の候補空間位置は、第1の空間位置を取り囲む。
【００７８】
ゲームアプリケーションにおいて、第2の制御オブジェクトは、第1の制御オブジェクトに対して(包囲または攻撃などの)動作を実行する必要がある。したがって、候補空間位置と第1の空間位置との間の距離が事前設定された距離の範囲内にあると決定された場合、ゲームの包囲または攻撃機能は、より良く実装され得る。
【００７９】
いくつかの実施形態では、決定モジュールは、空間領域において、第1の空間位置を中心として、包囲リング上に複数の候補空間位置を配設するように構成された配列サブモジュールを含み得る。
【００８０】
具体的には、N個の包囲リングが存在する。配列サブモジュールは、N個の包囲リングの各々の上に候補空間位置の1つのグループを配設するように構成された第1の位置配列サブモジュールを含み、候補空間位置のi番目のグループは、i番目の包囲リング上に配設され、Nは1以上の整数であり、iはN以下の正の整数である。
【００８１】
N個の包囲リングは、第1の空間位置を円の中心として使用することによって配設され得る。各包囲リングの半径は異なる。候補空間位置の1つのグループは、各包囲リング上に配設される、すなわち、候補空間位置のi番目のグループは、i番目の包囲リング上に配設される。このようにして、候補空間位置を配設するランダム性が低減され、プロセッサの性能が改善される。加えて、各包囲リング上の候補空間位置の間の距離は一貫性があり、包囲リングについて次々に第2の空間位置が選択され得る。たとえば、第1の包囲リング上の候補空間位置が最初に選択され、第1の包囲リング上に適切な位置が存在しない場合、第2の包囲リング上の位置が選択され、以下同様である。候補空間位置のランダムな配列と比較すると、この解決策では、候補空間位置の配列は規則に従い、そうして候補空間位置の選択を行い、それにより、処理速度を上げる。
【００８２】
さらに、候補空間位置が配設されるとき、候補空間位置のi番目のグループはi番目の包囲リング上に均等に配設され、各グループ内の候補空間位置の数は互いに異なる。
【００８３】
いくつかの実施形態では、候補空間位置のi番目のグループは、代替的には、i番目の包囲リング上に不均等に分布されてもよく、各グループ内の候補空間位置の数は同じであってもよい。
【００８４】
本開示では、包囲リングは仮想概念にすぎず、候補空間位置は半径距離に従って配設されてもよく、包囲リングは配設されなくてもよいことに留意されたい。すなわち、候補空間位置のN個のグループは、第1の制御オブジェクトを中心として使用することによって、異なる半径距離に従って配設され、候補空間位置と第1の制御オブジェクトとの間の距離は、各グループにおいて同じであってもよい。
【００８５】
いくつかの実施形態では、配列サブモジュールは、第1の制御オブジェクトおよび第2の制御オブジェクトの属性情報に従って、i番目の包囲リングと第1の制御オブジェクトとの間の距離、i番目のグループ内の候補空間位置の数、および候補空間位置のi番目のグループの分布方式のうちの少なくとも1つを設定するように構成された第2の位置配列サブモジュールを含む。
【００８６】
1つの実施形態では、包囲リングの数、各包囲リングと第1の制御オブジェクトとの間の距離、各グループ内の候補空間位置の数、および候補空間位置の(均等分布または不均等分布などの)分布方式は、第1の制御オブジェクトおよび第2の制御オブジェクトの属性に従って決定され得る。
【００８７】
候補空間位置が配設されるとき、複数の候補空間位置の各々とターゲットオブジェクト(すなわち、第1の制御オブジェクト)の第1の空間位置との間の接続は、互いに一致せず、その結果、各候補空間位置に位置するNPCオブジェクトは、ターゲットオブジェクトに対して直接動作を実行することができ、すなわち、各候補空間位置は、動作がターゲットオブジェクトに対して直接実行され得る位置になるように設定される。
【００８８】
さらに、第2の空間位置が決定されるとき、第2の空間位置は、事前定義された優先選択方式、たとえば、距離が最も短いものを最初に選択する選択方式、または隣接する候補空間位置からの距離が最も大きいものを選択する選択方式に従って選択されてもよい。事前定義された優先選択方式は、代替的には、サービス要件に従って自己定義されてもよい。一般的に、距離が最も短いものを最初に選択する原理に従う場合があり、すなわち、ターゲットオブジェクトに比較的近く、包囲リング上のNPCの現在の位置に最も近い包囲点が、(モンスターなどの)NPCに割り振られる。
【００８９】
すなわち、第2の決定ユニットに含まれる位置選択モジュールは、複数の候補空間位置の中の、第1の空間位置に最も近い非占有候補空間位置を第2の制御オブジェクトの第2の空間位置として決定するように構成される。
【００９０】
具体的には、第1の空間位置が決定された後、第1の空間位置に最も近い包囲リングが取得され、現在取得された包囲リングから非占有候補空間位置が選択される。現在取得された包囲リング上のすべての候補空間位置が占有されている場合、次に最も近い包囲リングが取得され、占有された包囲リングが見つかるまで、残りは類推によって推定される。
【００９１】
さらに、各候補空間位置はステータスフラグを有し得る。ステータスフラグは、候補空間位置が占有されているかどうかを示すために使用され、すなわち、対応する候補空間位置が占有されているかどうかは、ステータスフラグに従って決定され得る。複数の候補空間位置の中の、第1の空間位置に最も近い非占有候補空間位置が第2の制御オブジェクトの第2の空間位置として決定された後、複数の候補空間位置の中の、第1の空間位置に最も近い非占有候補空間位置のステータスは、状態変更ユニットを使用することによって、占有状態に変わる。
【００９２】
1つの実施形態では、検出ユニットは、第1の制御オブジェクトに対して第2の制御オブジェクトによって実行される動作の命令を受信するときに、空間位置要求が検出されると決定するように構成された第1の検出モジュール、または、第1の制御オブジェクトが第1の空間位置に移動し、かつ、第1の制御オブジェクトが第3の空間位置に位置し、第1の制御オブジェクトが第4の空間位置に位置する複数の第2の制御オブジェクトによって取り囲まれる場合に第1の空間位置と第3の空間位置との間の距離が事前設定された距離を超えることが検出された場合、空間位置要求が検出されると決定するように構成された第2の検出モジュールを含む。
【００９３】
上記は、空間位置要求の生成をトリガするための2つのトリガ条件である。
【００９４】
いくつかの実施形態では、第2の検出モジュールは、第1の制御オブジェクトが第1の空間位置に移動し、かつ、第1の空間位置と第3の空間位置との間の距離が事前設定された距離を超えないことが検出された場合、第1の空間位置および第3の空間位置に基づいて第1の制御オブジェクトの動きベクトルを決定し、動きベクトルに従って第2の制御オブジェクトを第2の空間位置から第5の空間位置に並進して移動するようにさらに構成される。
【００９５】
包囲ターゲットは必ずしも静的ではなく、ターゲットが継続的に移動するとき、「フォーメーション」全体は、ターゲットに基づいて継続的に並進して移動し、すなわち、各包囲点の絶対座標は、継続的に変わる。したがって、適用することによってNPCが包囲点を取得した後、AIは、包囲点の現在の座標を継続的に決定する必要があり、NPCが比較的大きいマージンだけ包囲点から逸脱することが分かった場合、AIは、新しい座標へのNPCの移動を開始する。加えて、ターゲットの1回限りの移動が比較的大きいマージンだけ元の座標からの逸脱(図9に示す状態など)を引き起こし、包囲内のNPCの相対位置の比較的大きい変化をもたらす場合、すべての包囲点は、NPCが再び適用を開始するように、同時にリセットされ得る。
【００９６】
さらに、物理的衝突がないゲームでは、衝突の効果はまた、モンスター包囲についてシミュレートされ、それにより、モンスターパフォーマンスをより現実感のあるものにすることができる。
【００９７】
本開示で提供されるモジュールは、対応する方法実施形態で提供される方法を使用することができ、適用シナリオも同じであり得る。もちろん、モジュールに関連する解決策は、開示する実施形態における内容およびシナリオに限定されないことがあり、モジュールはコンピュータ端末またはモバイル端末において実行されてもよく、ソフトウェアまたはハードウェアを使用することによって実装されてもよいことに留意されたい。
【００９８】
本開示の一実施形態によれば、上記の制御オブジェクトの空間位置を決定する方法を実装するために使用されるサーバがさらに提供される。
【００９９】
図12に示すように、サーバは、1つまたは複数の(図には1つのみが示されている)プロセッサ1201と、メモリ1203と、伝送装置1205とを含む。図12に示すように、端末は、入力/出力デバイス1207をさらに含み得る。
【０１００】
メモリ1203は、本開示の実施形態における制御オブジェクトの空間位置を決定する方法および装置に対応するプログラム命令/モジュールなどの、ソフトウェアプログラムおよびモジュールを記憶するように構成されてもよく、プロセッサ1201は、様々な機能アプリケーションおよびデータ処理を実行するために、すなわち、制御オブジェクトの空間位置を決定する方法を実装するために、メモリ1203に記憶されたソフトウェアプログラムおよびモジュールを実行する。メモリ1203は高速ランダムアクセスメモリを含むことができ、1つもしくは複数の磁気記憶デバイス、フラッシュメモリ、または別の不揮発性ソリッドステートメモリなどの不揮発性メモリを含むこともできる。いくつかの実施形態では、メモリ1203は、プロセッサ1201に対して遠隔に配設されたメモリをさらに含んでもよく、これらの遠隔メモリは、ネットワークを介して端末に接続されてもよい。ネットワークの事例は、限定はされないが、インターネット、イントラネット、ローカルエリアネットワーク、モバイル通信ネットワーク、およびそれらの組合せを含む。
【０１０１】
伝送装置1205は、ネットワークを使用することによってデータを受信または送信するように構成され、プロセッサとメモリとの間でデータを伝送するようにさらに構成されてもよい。上記のネットワークの具体的な例は、ワイヤードネットワークおよびワイヤレスネットワークを含み得る。一例では、伝送装置1205は、ネットワークケーブルを使用することによって別のネットワークデバイスおよびルータに接続され、それにより、インターネットまたはローカルエリアネットワークと通信することができるネットワークインターフェースコントローラ(NIC)を含む。一例では、伝送装置1205は、ワイヤレス方式でインターネットと通信するように構成される無線周波数(RF)モジュールである。
【０１０２】
具体的には、メモリ1203は、アプリケーションプログラムを記憶するように構成される。
【０１０３】
プロセッサ1201は、以下のステップを実行するために、伝送装置1205を使用することによって、メモリ1203に記憶されたアプリケーションプログラムを呼び出すことができる。
【０１０４】
S1:ゲームアプリケーションのゲームエンジンが、空間位置要求を検出し、空間位置要求は、ゲームアプリケーション内の第1の制御オブジェクトの第1の空間位置に従って第2の制御オブジェクトの第2の空間位置を決定することを要求するために使用され、ゲームエンジンは、物理的衝突がないエンジンである。たとえば、ゲームアプリケーション内の制御オブジェクトは、空間位置において重なり合うことが許される。
【０１０５】
S2:ゲームエンジンが、第1の制御オブジェクトの第1の空間位置に従って複数の候補空間位置を決定し、複数の候補空間位置は第1の空間位置を取り囲み、複数の候補空間位置のうちの任意の2つと第1の空間位置は重なり合わない。
【０１０６】
S3:ゲームエンジンが、複数の候補空間位置の中の非占有候補空間位置を第2の制御オブジェクトの第2の空間位置として決定する。
【０１０７】
プロセッサ1201は、以下のステップを実行するために、伝送装置1205を使用することによって、メモリ1203に記憶されたアプリケーションプログラムを呼び出すことができる。
【０１０８】
第1の空間位置を中心として、空間領域において複数の候補空間位置を決定し、候補空間位置の各々と第1の空間位置との間の距離は、事前設定されたしきい値を超えない。
【０１０９】
したがって、物理的衝突がないゲームエンジンの場合、空間位置要求が検出された後、第1の制御オブジェクトの第1の空間位置に従って複数の候補空間位置が決定され、複数の候補空間位置の中の非占有候補空間位置が第2の制御オブジェクトの第2の空間位置として決定される。上記の実施形態における複数の候補空間位置は第1の空間位置を取り囲み、複数の候補空間位置のうちの任意の2つと第1の空間位置は重なり合わない。したがって、複数の空間位置から非占有位置が第2の制御オブジェクトの第2の空間位置として選択される。複数の第2の制御オブジェクトが存在する場合、複数の第2の制御オブジェクトの位置は重なり合わない。したがって、高い研究開発コストおよび低いランニング効率を有する、物理的衝突があるゲームエンジンの代わりに、物理的衝突がないゲームエンジンにおいて、重なり合わない空間位置を複数の第2の制御オブジェクトに割り振ることができ、物理的衝突がないゲームエンジンにおいて、複数の物体が空間位置において重なり合わないようにするための既存の解決策が低い動作効率を有することが多いという問題を解決する。
【０１１０】
この実施形態における具体的な例については、上記の実施形態で説明する例を参照されたい。この実施形態では、詳細について本明細書で再び説明しない。
【０１１１】
レジスタエリアは、システムおよびシステムプロセッサの内部メモリ内のレジスタであることにさらに留意されたい。
【０１１２】
図12に示す構造は例示的なものにすぎず、端末は(AndroidモバイルフォンまたはiOSモバイルフォンなどの)スマートフォン、タブレットコンピュータ、パームトップコンピュータ、およびモバイルインターネットデバイス(MID)またはPADなどの端末デバイスであってもよいことを当業者は理解し得る。図12は、特定の構造を限定しない。たとえば、端末は、図12に示すものよりも多いまたは少ない構成要素(ネットワークインターフェースおよびディスプレイ装置など)をさらに含んでもよく、または図12に示すものとは異なる構成を有する。
【０１１３】
上記の実施形態の方法におけるステップのすべてまたはいくつかは、端末デバイスの関連ハードウェアに命令するプログラムによって実装され得ることを当業者は理解し得る。プログラムは、コンピュータ可読記憶媒体に記憶され得る。記憶媒体は、フラッシュドライブ、読取り専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、磁気ディスク、光ディスクなどを含み得る。
【０１１４】
本開示のこの実施形態は、記憶媒体をさらに提供する。いくつかの実施形態では、上記の記憶媒体は、制御オブジェクトの空間位置を決定する方法を実行するためのプログラムコードを記憶するために使用され得る。
【０１１５】
いくつかの実施形態では、上記の記憶媒体は、図2に示すネットワーク内の複数のネットワークデバイスのうちの少なくとも1つに位置し得る。
【０１１６】
いくつかの実施形態では、記憶媒体は、以下のステップを実行するために使用されるプログラムコードを記憶するように構成される。
【０１１７】
S1:ゲームアプリケーションのゲームエンジンが、空間位置要求を検出し、空間位置要求は、ゲームアプリケーション内の第1の制御オブジェクトの第1の空間位置に従って第2の制御オブジェクトの第2の空間位置を決定することを要求するために使用され、ゲームエンジンは、物理的衝突がないエンジンである。たとえば、ゲームアプリケーション内の制御オブジェクトは、空間位置において重なり合うことができる。
【０１１８】
S2:ゲームエンジンが、第1の制御オブジェクトの第1の空間位置に従って複数の候補空間位置を決定し、複数の候補空間位置は第1の空間位置を取り囲み、複数の候補空間位置のうちの任意の2つと第1の空間位置は重なり合わない。
【０１１９】
S3:ゲームエンジンが、複数の候補空間位置の中の非占有候補空間位置を第2の制御オブジェクトの第2の空間位置として決定する。
【０１２０】
いくつかの実施形態では、記憶媒体は、以下のステップを実行するために使用されるプログラムコードを記憶するようにさらに構成される。
【０１２１】
第1の空間位置を中心として、空間領域において複数の候補空間位置を決定し、候補空間位置の各々と第1の空間位置との間の距離は、事前設定されたしきい値を超えない。
【０１２２】
したがって、物理的衝突がないゲームエンジンの場合、空間位置要求が検出された後、第1の制御オブジェクトの第1の空間位置に従って複数の候補空間位置が決定され、複数の候補空間位置の中の非占有候補空間位置が第2の制御オブジェクトの第2の空間位置として決定される。上記の実施形態における複数の候補空間位置は第1の空間位置を取り囲み、複数の候補空間位置のうちの任意の2つと第1の空間位置は重なり合わない。したがって、複数の空間位置から非占有位置が第2の制御オブジェクトの第2の空間位置として選択される。複数の第2の制御オブジェクトが存在する場合、複数の第2の制御オブジェクトの位置は重なり合わない。したがって、高い研究開発コストおよび低いランニング効率を有する、物理的衝突があるゲームエンジンの代わりに、物理的衝突がないゲームエンジンにおいて、重なり合わない空間位置を複数の第2の制御オブジェクトに割り振ることができ、物理的衝突がないゲームエンジンにおいて、複数の物体が空間位置において重なり合わないようにするための既存の解決策が低い動作効率を有することが多いという問題を解決する。
【０１２３】
いくつかの実施形態では、記憶媒体は、限定はされないが、プログラムコードを記憶することができる様々な媒体、たとえば、USBディスク、ROM、RAM、モバイルディスク、磁気ディスク、および光ディスクを含み得る。
【０１２４】
この実施形態における具体的な例については、上記の実施形態で説明する例を参照されたい。この実施形態では、詳細について本明細書で再び説明しない。
【０１２５】
本出願の前述の実施形態のシーケンス番号は、説明を目的とするものにすぎず、実施形態の選好を示すものではない。
【０１２６】
ソフトウェア機能ユニットの形態で実装され、独立製品として販売または使用されるとき、上記の実施形態における統合ユニットは、上記のコンピュータ可読記憶媒体に記憶され得る。そのような理解に基づいて、本質的には本出願の技術的解決策が、または技術的解決策であり既存の技術に対する寄与を有する一部分が、または技術的解決策のすべてもしくは一部分が、ソフトウェア製品形態で具現化され得る。コンピュータソフトウェア製品は、記憶媒体に記憶され、(パーソナルコンピュータ、サーバ、ネットワークデバイスなどであり得る)1つまたは複数のコンピュータデバイスに本開示の実施形態における方法のすべてまたはいくつかのステップを実行させるために使用されるいくつかの命令を含む。
【０１２７】
本開示の上記の実施形態では、実施形態の説明は異なる強調を有し、1つの実施形態で詳細に説明されない部分に関しては、その他の実施形態の関連する説明を参照することができる。
【０１２８】
本出願で提供されるいくつかの実施形態では、開示する装置は他の方式で実装され得ることを理解されたい。上記で説明した装置実施形態は、例示的なものにすぎない。たとえば、ユニット区分は、論理機能区分にすぎず、実際の実装形態では他の区分であってもよい。たとえば、複数のユニットまたは構成要素は別のシステムに組み合わされるかもしくは統合されてもよく、または、いくつかの特徴は無視されるかもしくは実行されなくてもよい。加えて、表示されたまたは論じられた相互結合もしくは直接結合または通信接続は、いくつかのインターフェースを使用することによって実装され得る。ユニットまたはモジュールの間の間接結合または通信接続は、電子形態または他の形態で実装され得る。
【０１２９】
別個の部分として説明されるユニットは、物理的に分離されていてもよく、物理的に分離されていなくてもよく、ユニットとして表示される部分は、物理ユニットであってもよく、物理ユニットでなくてもよく、1つの場所に位置してもよく、または複数のネットワークユニット上に分散されていてもよい。ユニットのいくつかまたはすべては、実施形態の解決策の目的を達成するための実際のニーズに従って選択され得る。
【０１３０】
加えて、本出願の実施形態における機能ユニットは、1つの処理ユニットに統合されてもよく、またはユニットの各々が物理的に単独で存在してもよく、または2つ以上のユニットが1つのユニットに統合される。統合ユニットは、ハードウェアの形態で実装されてもよく、またはソフトウェア機能ユニットの形態で実装されてもよい。
【０１３１】
上記の説明は、本開示の好ましい実施形態にすぎず、当業者は、本開示の趣旨から逸脱することなく様々な改善および改良を行うことができることに留意されたい。すべてのそのような修正および改良も、本開示によってカバーされることが意図されるべきである。
【符号の説明】
【０１３２】
111  検出ユニット
113  第1の決定ユニット
115  第2の決定ユニット
201  端末
203  サーバ
401  第1の空間位置
402  空間領域
403  候補空間位置
501  第1の空間位置
502  空間領域
503  包囲リング
504  候補空間位置
601  第1の制御オブジェクト
602  空間
603  包囲リング
604  候補空間位置
701  第1の空間位置
702  空間領域
703  包囲リング
704  候補空間位置
801  第1の空間位置
802  空間領域
901  第3の空間位置
902  第2の制御オブジェクト
903  第1の空間位置
1201  プロセッサ
1203  メモリ
1205  伝送装置
1207  入力/出力デバイス
a1、a2、a3  角度
H15  非占有候補空間位置
M1  ターゲットオブジェクト
NPC1、NPC2、NPC3、NPC4  NPC
r1、r2、r3  半径
【図１】
2019505284.tif 000003
【図２】
2019505284.tif 000004
【図３】
2019505284.tif 000005
【図４】
2019505284.tif 000006
【図５】
2019505284.tif 000007
【図６】
2019505284.tif 000008
【図７】
2019505284.tif 000009
【図８】
2019505284.tif 000010
【図９】
2019505284.tif 000011
【図１０】
2019505284.tif 000012
【図１１】
2019505284.tif 000013
【図１２】
2019505284.tif 000014
【国際調査報告】
2019505284.tif 000015
2019505284.tif 000016
2019505284.tif 000017
2019505284.tif 000018