【文献】
デジタルゲームの教科書制作委員会,デジタルゲームの教科書,ソフトバンククリエイティブ株式会社,2010年 5月 4日,第1版,pp.130-131,440-441
【文献】
株式会社ヒストリア,[UE4]ビヘイビアツリー(BehaviorTree)の使い方 入門編,2014年11月 5日,URL,http://historia.co.jp/%3Fp%3D1102
(58)【調査した分野】(Int.Cl.,DB名)
前記検出モジュールが操作実行イベントを検出する前に、前記状態ノード、前記ビヘイビアツリーノード及び前記状態遷移関係を示すための第1構成情報を取得するように構成された第1取得モジュールと、
前記第1構成情報に基づいて第1オブジェクトのために前記ハイブリッド状態機械を生成するように構成された生成モジュールと、をさらに含む請求項6に記載の装置。
前記生成モジュールが前記第1構成情報に基づいて前記第1オブジェクトのために前記ハイブリッド状態機械を生成した後、第2構成情報を取得するように構成された第2取得モジュールと、
前記第2構成情報に基づいて前記ハイブリッド状態機械を更新するように構成された更新モジュールと、をさらに含む請求項8に記載の装置。
【発明を実施するための形態】
【0011】
当業者が本発明の技術解決策を一層簡単に理解するように、以下、本発明の実施形態中の図面を組み合わせて、本発明の実施形態の技術解決策を明確且つ完全に説明するが、ここで説明する実施形態は本発明の一部の実施形態に過ぎず、全ての実施形態ではないことは言うまでもない。本発明の実施形態に基づいて、当業者が創造性のある行為を必要とせずに得られる他の実施形態はすべて本発明の保護範囲に含まれるべきである。
【0012】
尚、本発明の明細書及び特許請求の範囲と図面に用いられた「第1」、「第2」等の用語は類似する対象を区別するためのもので、特定の順又は前後順を限定するものではない。ここで説明する本発明の実施形態を図面に示す又は説明した順とは異なる順でも実現できるように、このように使用される数値は適切な状況において交換可能である。そして、「含む」、「有する」及びそれらの変形用語は、非排他的に含むことをカバーするもので、例えば、一連のステップ又はユニットを含むプロセス、方法、システム、製品又は機器は、それらのステップ又はユニットを明確に例示したのに限定されず、明確に例示していない又はこれらのプロセス、方法、製品又は機器固有の他のステップ又はユニットを含んでもよいことを表す。
【0013】
実施形態1
本発明の実施形態によると、状態制御方法の方法の実施形態を提供する。
【0014】
オプションとして、本実施形態において、上記状態制御方法は、
図1に示すサーバ102と端末104からなるハードウェア環境に適用することができる。
図1に示すように、サーバ102は、ネットワークを介して端末104に接続され、上記ネットワークは、ワイドエリア・ネットワーク、メトロポリタンエリア・ネットワーク又はローカルエリア・ネットワークを含むが、これらに限定されることはなく、端末104は、PC、携帯電話、タブレットコンピュータ等に限定されることはない。本発明の実施形態によるデータ処理方法は、サーバ102により実行することもできるし、端末104により実行することもできるし、サーバ102と端末104が共同で実行することもできる。ここで、端末104による本発明の実施形態のデータ処理方法の実行は、それにインストールされたクライアントにより実行することもできる。
【0015】
図2は、本発明の実施形態に係る選択可能な状態制御方法のフローチャートであり、
図2に示すように、該方法は、
第1アプリケーション中の第1オブジェクトを操作することを要求するための操作実行イベントをサーバが検出するステップS202と、
第1オブジェクトのハイブリッド状態機械での現在ノードの次のノードが第1状態ノードであるか、第1ビヘイビアツリーノードであるかをサーバが判断するステップS204と、
現在ノードの次のノードが第1状態ノードであると判断すれば、サーバが第1オブジェクトに対して第1状態ノードに対応する第1状態中の操作を実行するステップS206と、
現在
ノードの次のノードが第1ビヘイビアツリーノードであると判断すれば、サーバが第1オブジェクトに対して第1ビヘイビアツリーノードに対応する第1ビヘイビアツリー中の操作を実行するステップS208と、を含み、
ハイブリッド状態機械中のノードは、状態ノード及びビヘイビアツリーノードを含み、ハイブリッド状態機械中のノード間に状態遷移関係を有する。
【0016】
上記ステップS202〜ステップS208により、サーバが操作実行イベントを検出した場合、第1オブジェクトのハイブリッド状態機械での現在ノードの次のノードが第1状態ノードであるか、第1ビヘイビアツリーノードであるかを判断し、第1状態ノードであれば、第1オブジェクトに対して第1状態ノードに対応する第1状態中の操作を実行し、第1ビヘイビアツリーノードであれば、第1オブジェクトに対して第1ビヘイビアツリーノードに対応する第1ビヘイビアツリー中の操作を実行することにより、有限状態機械とビヘイビアツリーを用いて共同でアプリケーション中の個体を制御して操作を実行させるという目的を達成し、アプリケーション中の個体の操作実行効率を向上させるという技術効果を達成し、既存技術において有限状態機械を用いてアプリケーション中の個体を制御して操作を実行させる効率が低いという問題を解決できる。
【0017】
ステップS202で提供される技術解決策において、第1アプリケーションはゲーム系アプリケーション、リアルタイム通信系アプリケーション、又は他のタイプのアプリケーションであってもよく、本発明は、第1アプリケーションを限定するものではない。第1アプリケーションには、複数のオブジェクトを含むことができ、これらの複数のオブジェクトは第1オブジェクトを含み、第1オブジェクトは、これらの複数のオブジェクトのうちのいずれか一つであってもよい。尚、ここでは、オブジェクトは、アプリケーション中のある実行イベントのイベントオブジェクト、例えば、ゲームキャラクターであってもよい。第1アプリケーションは、サーバにインストールされてもよいし、クライアント(例えば、スマートフォン、
コンピュータ等)にインストールされて、サーバにより該第1アプリケーション中のイベント及びオブジェクトへの処理とメンテナンスを行ってもよい。操作実行イベントは、第1アプリケーション中の第1オブジェクトを操作することを要求するために使用可能であり、第1オブジェクトへの操作は、第1オブジェクトの移動経路を調整すること、第1オブジェクトを制御してスキルを発動することなどを含むことができ、本発明は、これを特に限定するものではない。
【0018】
オプションとして、サーバは、該操作実行イベントをリアルタイムに検出することにより、該操作実行イベントにタイムリーに正確に応答して、第1アプリケーション中の第1オブジェクトを操作することができる。サーバは、該操作実行イベントをリアルタイムに検出すると同時に、第1アプリケーション中の第1オブジェクトがある操作を実行中であるか否かをリアルタイムに検出でき、サーバは第1オブジェクトがある操作を実行中であることを検出すると、該操作実行イベントを検出した場合、第1オブジェクトが現在実行している操作が終了した後、第1オブジェクトを制御して該操作実行イベントに応答し、サーバは第1オブジェクトがある操作を実行中ではないことを検出すると、該操作実行イベントを検出した後直ちに第1オブジェクトを制御して該操作実行イベントに応答する。
ステップS204で提供される技術解決策において、ハイブリッド状態機械は、第1オブジェクトを操作するように制御してもよい。尚、ハイブリッド状態機械は、第1アプリケーション中の一つ又は複数のオブジェクトを操作するように制御できる。ハイブリッド状態機械は、有限状態機械とビヘイビアツリーで構成され、ハイブリッド状態機械をよりよく説明するために、本発明の実施形態において、まず有限状態機械及びビヘイビアツリーについて以下のように具体的に説明する。
【0019】
有限状態機械は、アプリケーション中の個体オブジェクトが操作を実行するよう制御することができ、有限個の状態と状態間の変換条件を含む。同じ時間内に、個体オブジェクトがある状態だけにあり、有限状態機械は一つの状態から別の状態に変換して異なる操作の実行を達成する必要がある。例えば、
図3に一つのゲームアプリケーション中の一つのゲームキャラクターの遊び歩き、攻撃、逃走、治療探しの四つの状態、及び上記四つの状態間の変換関係を示し、例えば、ゲームキャラクターが治療探しから遊び歩きに変換する条件は医薬品を見つけることであり、攻撃から遊び歩きに変換する条件はオブジェクトが視野範囲内にないことであり、ここでは、上記四つの状態間の変換条件について一つずつ例を挙げて説明しない。
【0020】
有限状態機械は、それぞれ階層型状態機械(Hierarchical Finite State Machines、HFSMと略記する)及びスタックに基づく状態機械(Stack based Finite State Machines、SFSMと略記する)の2種類の状態機械に分けられる。ここで、階層型状態機械は、状態をパケット化する概念を提出し、異なるパケット間の状態が同じ変換関係を共有する。それは、状態制御の度合いを向上させ、繰り返した状態変換関係を大幅に減少させることにより、設計者が状態変換をよりよく制御することができる。
図4aに示すように、有限状態機械には、三つの状態、即ちA、B、Cが含まれ、ここで、A及びB状態はβ条件がトリガーされた場合にいずれもC状態に遷移することができるため、A及びB状態をパケット化し、β条件がトリガーされた場合での状態変換の繰り返しを省略し、パケット化された有限状態機械、即ち
階層型状態機械を
図4bに示す。
【0021】
スタックに基づく状態機械は、スタック構造を用いて状態の変換関係を管理でき、
図5に示すように、スタックトップには現在活性化された状態Cが保存され、状態間の変換はプッシュ又はポップ操作により達成でき、該構造はイベントに応じてトリガーされた状態の一時中断と回復の状況を効果的に処理することができる。例えば、ゲームアプリケーションにおいてコンピュータAIがいつでも一時停止するための新たな機能を追加する必要があれば、一時停止状態を追加する必要がある。従来の有限状態機械を用いると、該一時停止状態と有限状態機械に存在している各状態との間に変換関係を設計する必要がある。スタックに基づく状態機械を用いると、イベントがトリガーされて一時停止する必要がある場合に、一時停止状態をプッシュすればよく、一時停止が終了するとき、該一時停止状態をポップすれば元の状態に回復して実行し続けることができ、状態変換関係の設計を大幅に節約する。
【0022】
尚、本発明の実施形態におけるハイブリッド状態機械は、階層型状態機械を利用してもよいし、スタックに基づく状態機械を利用してもよく、本発明はこれを限定するものではない。
【0023】
ビヘイビアツリーは、アプリケーション中の個体オブジェクトを制御して操作を実行させることもでき、ビヘイビアツリーのノードは、以下のように分類される。
【0024】
コンポジットノード(Composite):ビヘイビアツリー中の分岐、つまり非リーフノードであり、選択ノード(Selector)、
順序ノード(Sequence)、シンプルパラレルノード(Simple Parallel)を含むことができる。
タスクノード(Task):ビヘイビアツリー中のリーフノードであり、一つの具体的なタスク、例えば、AIの移動などを実行する。
デコレータノード(Decorator):Compositeノード又はTaskノードに付随し、ある分岐又はあるリーフノードが実行されることができるか否かを判断するために用いられる。
サービスノード(Service):Compositeノードに付随し、一定の周波数で呼び出され、該分岐の情報を更新するために用いられる。
ルートノード(Root):ビヘイビアツリーのルートである。
選択ノード(Selector):左から右へそのサブノードを実行し、そのサブノードのうちの一つの実行が成功しかつリターンすると、本ノードの実行が直ちに停止する。サブノードのリターンが成功すると、該ノードのリターンが成功し、全てのサブノードのリターンが失敗すると、該ノードのリターンが失敗する。
順序ノード(Sequence):左から右へそのサブノードを実行し、そのサブノードのうちの一つの実行が失敗しかつリターンすると、本ノードの実行が直ちに停止する。あるサブノードのリターンが失敗すると、該ノードのリターンが失敗し、全てのサブノードのリターンが成功すると、該ノードのリターンが成功する。
【0025】
ビヘイビアツリーの基本的な原理は以下のように説明される。ルートノードからトップダウンの方式で、幾つかの条件によりこのツリーを検索し、最終的には実行する必要があるリーフノードを決定し、それを実行する。ツリーにおいて、ルートノード以外の各ノードはいずれも一つのリターン値を有し、その実行状況に基づいて成功又は失敗をリターンする。ノードのリターン値を該ノードの親ノードにフィードバックし、その親ノードのリターン値に一定の影響を与える。
図6に示すビヘイビアツリーにおいて、ルートノードから検索を開始し、実行する必要があるリーフノードがそれぞれタスクノード0、タスクノード1、タスクノード2、タスクノード3、タスクノード4であると決定する。最初に、タスクノード0の実行が失敗すると、失敗をその親ノードの選択ノード0にリターンし、タスクノード1を実行し続ける。タスクノード1の実行が成功すると、成功をその親ノードの選択ノード0にリターンする。タスクノード0、タスクノード1、タスクノード2の親ノードである選択ノード0が選択ノードであるため、直ちに成功をリターンする。同様に、タスクノード3の実行が成功すると、成功をその親ノードの順序ノード1にリターンし、タスクノード4を実行し続ける。タスクノード4の実行が失敗すると、失敗をその親ノードの順序ノード1にリターンする。タスクノード3、タスクノード4の親ノードである順序ノード1が順序ノードであるため、直ちに失敗をリターンする。選択ノード0、順序ノード1の親ノードである順序ノード0は順序ノードであり、選択ノード0、順序ノード1のリターン値を受信すると、順序ノード0のリターン値が失敗であると決定する。順序ノード0は、リターン値をルートノードにリターンするため、ビヘイビアツリー全体のトラバーサルが完了した後、結果が失敗である。
【0026】
ハイブリッド状態機械中のノードは、状態ノード及びビヘイビアツリーノードを含むことができ、ハイブリッド状態機械中のノード間に状態遷移関係を有し、具体的には、ハイブリッド状態機械中の状態ノードの間に、ビヘイビアツリーノードの間に、状態ノードとビヘイビアツリーノードとの間に状態遷移関係を有することを含む。
図7は、本発明の実施形態に係るハイブリッド状態機械の概略図であり、
図7に示すように、ゲームアプリケーション中のゲームキャラクターに対応するハイブリッド状態機械を例にして、ハイブリッド状態機械には複数のノードが含まれることができ、これらの複数のノードには状態ノード及びビヘイビアツリーノードが含まれ、そのうち、待機、経路探索、トラッキングが状態ノードであり、スキル発動がビヘイビアツリーノードであり、ハイブリッド状態機械中の状態ノードと状態ノードとの間に、状態ノードとビヘイビアツリーノードとの間に、ビヘイビアツリーノードとビヘイビアツリーノードとの間に変換条件が存在し、
図7中の矢印は、ノード間に変換関係を有することを表すことができ、ノード間の具体的な変換条件について、ここでは、具体的な説明を省略する。ビヘイビアツリーには複数のノードが含まれ、
図7に示すように、ビヘイビアツリーノードには少なくとも一つのノード、例えば、順序ノード、選択ノード、デコレータノード、タスクノードなどが含まれることができる。尚、本発明の実施形態は、ハイブリッド状態機械中の状態ノード及びビヘイビアツリーノードの個数を限定するものではなく、ノード間の変換条件を限定するものではなく、ビヘイビアツリー中のノードの個数、ノードのタイプ及びノードの関係を限定するものではない。
【0027】
ステップS204で提供される技術解決策において、サーバは、操作実行イベントを検出した後、第1オブジェクトのハイブリッド状態機械での現在ノードの次のノードが第1状態ノードであるか、ビヘイビアツリーノードであるかを判断する。尚、操作実行イベントには、ハイブリッド状態機械において第1オブジェクトが所在する現在ノードを含んでもよいし、第1オブジェクトが現在ノードに対応する操作を実行した後に変換対象となるノード、つまり現在ノードの次のノードを含んでもよく、操作実行イベントのトリガーにより第1オブジェクトはハイブリッド状態機械において現在ノードから次のノードに変換でき、ここで、次のノードが状態ノードであってもよいし、ビヘイビアツリーノードであってもよい。
【0028】
ステップS206及びステップS208で提供される技術解決策において、ハイブリッド状態機械中のいずれかの状態ノード(第1状態ノードを含む)に対応する状態も第1オブジェクトへの操作を含み、ハイブリッド状態機械中のいずれかのビヘイビアツリーノード
(第1ビヘイビアツリーノードを含む)に対応するビヘイビアツリーも第1オブジェクトへの操
作を含む。サーバは、現在ノードの次のノードが第1状態ノードであると判断した場合、第1オブジェクトに対して第1状態ノードに対応する第1状態中の操作を実行し、現在
ノードの次のノードが第1ビヘイビアツリーノードであると判断した場合、第1オブジェクトに対して第1ビヘイビアツリーノードに対応する第1ビヘイビアツリー中の操作を実行する。尚、本発明の実施形態は、第1状態ノードに対応する第1状態中の操作及び第1ビヘイビアツリーに対応する操作を限定するものではない。
【0029】
本発明の実施形態によれば、ハイブリッド状態機械を利用して有限状態機械とビヘイビアツリーの利点を組み合わせ、一定のフローに準拠する必要がある計画について、ビヘイビアツリーを用いて処理し、イベントによってトリガーされるビヘイビア又は幾つかの異常な状況について、有限状態機械を用いて処理する。異常及び
特殊な状況での状態遷移を処理するだけでなく、ある計画に基づいて一連の段階的なビヘイビアを実行することができる。
【0030】
実際の応用シナリオにおいて、
図7に示すように、ゲームアプリケーション中のゲームキャラクターは、主に待機、トラッキング、経路探索、スキル発動の四つの状態がある。ここで、スキル発動の状態は比較的複雑であり、多くの異なるスキルが存在する可能性があり、特定の順列組み合わせによりゲームキャラクターのスキル表現を豊かにする必要がある。よって、本発明の実施形態は、スキル発動を一つの大きな汎用状態として、ビヘイビアツリーを用いて管理し、スキル発動状態と待機、トラッキング、経路探索などの他の状態の間の変換は有限状態機械を用いて制御する。多くの場合にAIにより様々な状況を処理する安定性を保証するように、プログラムコードを用いて有限状態機械をメンテナンスすることができる。実際の使用中に、有限状態機械はスタックに基づく状態機械を選択し、さらに複数の状態の変換による複雑さを減少させることができる。スキル発動状態の内部にビヘイビアツリーを用いて管理し、ゲームキャラクターのスキルの企画者は、該ビヘイビアツリーへの編集修正のみを担当し、該ビヘイビアツリーと外部の他の状態の変換関係を気にする必要がない。該ビヘイビアツリー内部の大部分のロジックがスキルの組み合わせ及び段階の制御だけであり、全体的なAIロジックに影響を与えないため、企画者は、プログラム設計者の協力を必要とせずに自分で操作することができる。このような方式を用いると、企画者は、自分が必要とするスキルのみを気にし、スキル発動フローを制御し、ゲームのリズム感をバランスにし、企画者の作業負荷を大幅に削減することができる。また、本発明の実施形態は、一時中断と回復を非常に容易に達成することができる。スキル発動によるゲームキャラクターのめまいの例を考慮し、ゲームキャラクターのめまいが終了した後に中断時点から実行し続ける。従来のビヘイビアツリーを用いてこの問題を解決することは、非常に複雑であるか、又は多くのタスクを必要とする。本発明の実施形態は、外部の有限状態機械の助けを借りることにより、有限状態機械に一つのめまい状態を追加し、めまいをトリガーする場合、AIが現在の状態からめまい状態に遷移し、終了した後に直前の状態に回復する。それにより、状態の一時中断と回復を簡単かつ迅速に達成する。
【0031】
選択可能な実施形態として、ステップS204で第1オブジェクトのハイブリッド状態機械での現在ノードの次のノードが第1状態ノードであるか、第1ビヘイビアツリーノードであるかをサーバが判断することは、操作実行イベントがイベントによってトリガーされる操作又は異常な操作を指示すれば、現在ノードの次のノードが第1状態ノードであるとサーバが判断することと、操作実行イベントがフロータイプの操作を指示すれば、現在ノードの次のノードが第1ビヘイビアツリーノードであるとサーバが判断することと、を含んでもよい。
【0032】
該実施形態において、サーバは、検出された操作実行イベントが指示した操作に基づいて、現在ノードの次のノードが第1状態ノードであるか、第1ビヘイビアツリーノードであるかを決定でき、操作実行イベントが指示した操作は、イベントによってトリガーされる操作、異常な操作、フロータイプの操作等を含むことができ、該実施形態は、操作実行イベントが指示した操作の内容を限定するものではなく、上記に挙げられた内容以外に、他の内容を含むこともでき、ここでは、一つずつ例を挙げて説明しない。該実施形態は、操作実行イベントが指示した操作に基づいて、現在ノードの次のノードが第1状態ノードであるか、第1ビヘイビアツリーノードであるかを判断し、現在ノードの次のノードのタイプを正確に決定するという目的を達成し、異なるノードのタイプに基づいて第1オブジェクトに対して異なる操作を実行するという効果をさらに達成できる。
【0033】
選択可能な実施形態として、ステップS208でサーバが第1オブジェクトに対して第1ビヘイビアツリーノードに対応する第1ビヘイビアツリー中の操作を実行することは、サーバが第1オブジェクトに対して第1ビヘイビアツリーにおける各リーフノードに対応する操作を実行することを含んでもよい。
【0034】
該実施形態において、サーバは、第1オブジェクトのハイブリッド状態機械での現在ノードの次のノードが第1ビヘイビアツリーノードであると決定した場合、第1オブジェクトに対して第1ビヘイビアツリーノードに対応する第1ビヘイビアツリー中の操作を実行でき、例えば、第1オブジェクトがゲームキャラクターで、第1ビヘイビアツリーノードがスキル発動である場合、第1ビヘイビアツリー中の操作は、スキル強度の調整、スキル種類の選択等を含むことができる。第1ビヘイビアツリーには、一つ又は複数のリーフノードが含まれることができ、各リーフノードは、第1ビヘイビアツリー中の一つの操作に対応し、即ち、第1ビヘイビアツリー中の操作は一つであってもよいし、複数であってもよい。サーバは、第1オブジェクトに対して第1ビヘイビアツリーノードに対応する第1ビヘイビアツリー中の操作を実行する場合、第1ビヘイビアツリーにおける各リーフノードに対応する操作を実行でき、具体的な実行過程はビヘイビアツリーの原理を紹介するときに既に説明され、ここでは詳細な説明を省略する。第1ビヘイビアツリーにおける各リーフノードに対応する操作を実行した後、第1オブジェクトの属性、例えば、ゲームキャラクターのヒットポイント、スキルの残り使用回数等に影響を及ぼすことができる。該実施形態は、ビヘイビアツリーにより第1オブジェクトに対してフロータイプの操作を行い、
有限状態機械を用いると非常に複雑な変換関係を設定する必要があることを回避し、アプリケーション中のオブジェクトを制御して操作を実行させる効率を向上させるという技術効果を達成することができる。
【0035】
選択可能な実施形態として、ステップS202でサーバが操作実行イベントを検出する前に、該実施形態は、さらに、
サーバが、状態ノード、ビヘイビアツリーノード及び状態遷移関係を示すための第1構成情報を取得するステップS2012と、
サーバが、第1構成情報に基づいて第1オブジェクトのためにハイブリッド状態機械を生成するステップS2014とを含んでもよい。
【0036】
ステップS2012で提供される技術解決策において、第1構成情報は、第1オブジェクトのためにハイブリッド状態機械を生成するための根拠になる情報であることができ、ハイブリッド状態機械中の状態ノード、ビヘイビアツリーノード及び状態遷移関係を示すためのものであってもよい。尚、状態遷移関係は、状態ノードの間、ビヘイビアツリーノードの間、状態ノードとビヘイビアツリーノードとの間の状態遷移関係を含むことができる。第1構成情報は、ハイブリッド状態機械中の状態ノードの個数、ビヘイビアツリーノードの個数、状態ノード間の変換条件、ビヘイビアツリーノード間の変換条件、状態ノードとビヘイビアツリーノードとの間の変換条件、状態ノードに対応する状態中の操作、ビヘイビアツリーノードに対応するビヘイビアツリー中の操作等を含むことができる。該実施形態は、第1構成情報については特に限定せず、第1構成情報は、実際の応用シナリオの需要に応じて、対応する調整を行うことができる。該第1構成情報は、実際の需要に応じてユーザによって設定・調整されることができる。
【0037】
ステップS2014で提供される技術解決策において、サーバは、第1構成情報を取得した後、該第1構成情報に基づいて第1オブジェクトのハイブリッド状態機械を生成することができ、例えば、第1構成情報中の状態ノードの個数に基づいてハイブリッド状態機械中の状態ノードを設定でき、ビヘイビアツリーノードの個数に基づいてハイブリッド状態機械中のビヘイビアツリーノードを設定でき、第1構成情報中の状態ノード間の変換条件に基づいてハイブリッド状態機械中の状態ノード間の遷移関係を設定でき、第1構成情報中のビヘイビアツリーノード間の変換条件に基づいてハイブリッド状態機械中のビヘイビアツリーノード間の遷移関係を設定でき、第1構成情報中の状態ノードとビヘイビアツリーノードとの間の変換条件に基づいてハイブリッド状態機械中の状態ノードとビヘイビアツリーノードとの間の遷移関係を設定でき、第1構成情報中の状態ノードに対応する状態中の操作に基づいてハイブリッド状態機械中の状態ノードに対応する状態の操作を設定でき、第1構成情報中のビヘイビアツリーノードに対応するビヘイビアツリー中の操作に基づいてハイブリッド状態機械中のビヘイビアツリーノードに対応する状態の操作を設定できるなどが挙げられる。上記したのは、第1オブジェクトのハイブリッド状態機械の構成操作の一部を挙げたに過ぎず、サーバが第1構成情報に基づいて第1オブジェクトのためにハイブリッド状態機械を生成する過程において、さらに他の構成操作を含むことができ、ここでは、一つずつ例を挙げて説明しない。
【0038】
該実施形態は、第1オブジェクトのためにハイブリッド状態機械を生成するのに必要でかつ実際の応用シナリオの需要に応じて設定可能な第1の構成情報を予め取得することで、ユーザの実際の需要を満たすという効果を達成でき、同時に、ハイブリッド状態機械を生成するのに必要な第1構成情報を予め取得することで、ハイブリッド状態機械の生成時間を短縮するという効果を達成できる。
【0039】
選択可能な実施形態として、ステップS2014でサーバが第1構成情報に基づいて第1オブジェクトのためにハイブリッド状態機械を生成した後、該実施形態は、さらに、
サーバが第2構成情報を取得するステップS2016と、
サーバが第2構成情報に基づいてハイブリッド状態機械を更新するステップS2018とを含んでもよい。
【0040】
ステップS2016で提供される技術解決策において、第2構成情報は、第1構成情報に基づいて第1オブジェクトのために生成したハイブリッド状態機械を更新するためのものであることができ、第2構成情報は、第1構成情報中の内容を含むことができ、さらに第1構成情報以外の内容を含むこともでき、ハイブリッド状態機械中の状態ノードに対応する状態中の操作を修正し、ハイブリッド状態機械中のビヘイビアツリーノードに対応するビヘイビアツリー中の操作を修正し、ハイブリッド状態機械中のノード間の変換条件及び遷移関係を修正し、ハイブリッド状態機械中のノードを追加するか又は削除し、ハイブリッド状態機械中のノード間の変換条件及び遷移関係を追加するか又は削除するなどに用いられる。該実施形態は、第2構成情報については特に限定せず、第2構成情報は、他の内容を含むこともでき、ここでは、一つずつ例を挙げて説明しない。
【0041】
ステップS2018で提供される技術解決策において、サーバは、第2構成情報を取得した後、該第2構成情報に基づいてハイブリッド状態機械を更新でき、ハイブリッド状態機械中のノードを更新することを含むことができ、ハイブリッド状態機械中のノード間の遷移関係を更新することを含むこともできる。
【0042】
オプションとして、ステップS2018でサーバが第2構成情報に基づいてハイブリッド状態機械を更新することは、サーバがハイブリッド状態機械に既に存在した状態ノード、及び/又は既に存在したビヘイビアツリーノード、及び/又は既に存在した状態ノードと既に存在したビヘイビアツリーノードとの間の状態遷移関係を更新することと、サーバがハイブリッド状態機械に既に存在した状態ノード、及び/又は既に存在したビヘイビアツリーノード、及び/又は既に存在した状態ノードと既に存在したビヘイビアツリーノードとの間の状態遷移関係を削除することと、サーバがハイブリッド状態機械に状態ノード及び/又はビヘイビアツリーノードを追加すること、及び/又は追加した状態ノード及び/又はビヘイビアツリーノードと既に存在した状態ノード及び/又は既に存在したビヘイビアツリーノードとの間に状態遷移関係を確立することとのうちの少なくとも一つを含んでもよい。
【0043】
上記ハイブリッド状態機械への更新操作は、本発明の選択可能な実施形態に過ぎない。尚、本発明は、ハイブリッド状態機械の更新操作を限定するものではなく、上記に挙げられた更新操作以外に、他の更新操作を含むこともでき、ここでは、一つずつ例を挙げて説明しない。該実施形態は、ハイブリッド状態機械を更新するための第2構成情報を予め取得することで、ハイブリッド状態機械の更新時間を短縮でき、ハイブリッド状態機械をリアルタイムに更新することにより、ハイブリッド状態機械のリアルタイム性と正確さを向上させ、ハイブリッド状態機械を利用して第1オブジェクトに対して操作を実行する効率を向上させるという効果を達成することができる。
【0044】
尚、上述した各方法実施形態について、簡単に説明するために、いずれも一連の動作の組み合せとして説明したが、本発明が説明した動作順に限定されないことは当業者が理解でき、本発明が一部のステップを他の順で実行するか又は同時に実行することも可能である。そして、明細書に説明した実施形態がいずれも好適な実施形態で、係る動作や手段が本発明に不可欠なものではない可能性もあることは当業者が理解できる。
【0045】
以上の実施形態の説明によって、当業者は上記実施形態に係る方法をソフトウェアに必要な汎用のハードウェアプラットフォームを結合した方式で実現できる一方、ハードウェアによって実現でき、多数の場合前方が最も好適な実施形態であることを理解できる。従って、本発明の技術解決策の実質又は既存技術に貢献のある部分をソフトウェア製品の形態で実現することができ、該コンピュータソフトウェア製品を記憶媒体(例えば、ROM/RAM、ディスク、CD)に記憶し、端末機器(携帯電話、コンピュータ、サーバ又はネットワーク機器等であることができる)に本発明の各実施形態で説明した方法を実行させる幾つかの命令を含むことができる。
【0046】
実施形態2
本発明の実施形態によると、さらに上記状態制御方法を実施するための状態制御装置を提供する。
図8は、本発明の実施形態に係る状態制御装置の概略図であり、
図8に示すように、該装置は、
第1アプリケーション中の第1オブジェクトを操作することを要求するための操作実行イベントをサーバが検出するための検出モジュール22と、第1オブジェクトのハイブリッド状態機械での現在ノードの次のノードが第1状態ノードであるか、第1ビヘイビアツリーノードであるかをサーバが判断するための判断モジュール24と、現在ノードの次のノードが第1状態ノードであると判断すれば、サーバが第1オブジェクトに対して第1状態ノードに対応する第1状態中の操作を実行するための第1操作モジュール26と、現在
ノードの次のノードが第1ビヘイビアツリーノードであると判断すれば、サーバが第1オブジェクトに対して第1ビヘイビアツリーノードに対応する第1ビヘイビアツリー中の操作を実行するための第2操作モジュール28と、を含み、ハイブリッド状態機械中のノードが状態ノード及びビヘイビアツリーノードを含み、ハイブリッド状態機械中のノードの間に状態遷移関係を有する。
【0047】
尚、該実施形態中の検出モジュール22は、本願の実施形態1のステップS202を実行するために用いられ、該実施形態中の判断モジュール24は、本願の実施形態1のステップS204を実行するために用いられ、該実施形態中の第1操作モジュール26は、本願の実施形態1のステップS206を実行するために用いられ、該実施形態中の第2操作モジュール28は、本願の実施形態1のステップS208を実行するために用いられることができる。
【0048】
尚、上記モジュール及び対応するステップで実現した例及び応用シナリオが同じであるが、上記実施形態1に開示された内容に限定されるものではない。尚、上記モジュールは装置の一部として、
図1に示すハードウェア環境で作動することができ、ソフトウェアによって実現することもできるし、ハードウェアによって実現することもできる。
【0049】
上記モジュールによって、サーバが操作実行イベントを検出した場合、第1オブジェクトのハイブリッド状態機械での現在ノードの次のノードが第1状態ノードであるか、第1ビヘイビアツリーノードであるかを判断し、第1状態ノードであれば、第1オブジェクトに対して第1状態ノードに対応する第1状態中の操作を実行し、第1ビヘイビアツリーノードであれば、第1オブジェクトに対して第1ビヘイビアツリーノードに対応する第1ビヘイビアツリー中の操作を実行することで、有限状態機械とビヘイビアツリーによって共同でアプリケーション中の個体を制御して操作を実行させるという目的を達成し、アプリケーション中の個体の操作実行効率を向上させるという技術効果を達成し、既存技術において有限状態機械を用いてアプリケーション中の個体を制御して操作を実行させる効率が低いという問題を解決できる。
【0050】
選択可能な実施形態として、
図9は、本発明の実施形態に係る選択可能な状態制御装置の概略図であり、
図9に示すように、判断モジュール24は、操作実行イベントがイベントによってトリガーされる操作又は異常な操作を指示した場合、サーバが現在ノードの次のノードが第1状態ノードであると判断するための第1判定モジュール242と、操作実行イベントがフロータイプの操作を指示した場合、サーバが現在ノードの次のノードが第1ビヘイビアツリーノードであると判断するための第2判定モジュール244と、を含んでもよい。
【0051】
該実施形態において、サーバは、検出された操作実行イベントが指示した操作に基づいて、現在ノードの次のノードが第1状態ノードであるか、第1ビヘイビアツリーノードであるかを決定でき、操作実行イベントが指示した操作は、イベントによってトリガーされる操作、異常な操作、フロータイプの操作等を含むことができ、該実施形態は、操作実行イベントが指示した操作の内容を限定するものではなく、上記に挙げられた内容以外に、他の内容を含むこともでき、ここでは、一つずつ例を挙げて説明しない。該実施形態は、操作実行イベントが指示した操作に基づいて、現在ノードの次のノードが第1状態ノードであるか、第1ビヘイビアツリーノードであるかを判断し、現在ノードの次のノードのタイプを正確に決定するという目的を達成し、異なるノードのタイプに基づいて第1オブジェクトに対して異なる操作を実行するという効果をさらに達成できる。
【0052】
選択可能な実施形態として、
図10は、本発明の実施形態に係る別の選択可能な状態制御装置の概略図であり、
図10に示すように、第2操作モジュール28は、サーバが第1オブジェクトに対して第1ビヘイビアツリーにおける各リーフノードに対応する操作を実行するための第1操作サブモジュール282を含んでもよい。
【0053】
該実施形態において、第1ビヘイビアツリーには、一つ又は複数のリーフノードが含まれることができ、各リーフノードは第1ビヘイビアツリー中の一つの操作に対応し、即ち、第1ビヘイビアツリー中の操作は一つであってもよいし、複数であってもよい。サーバは、第1オブジェクトのハイブリッド状態機械での現在ノードの次のノードが第1ビヘイビアツリーノードであると決定した場合、第1オブジェクトに対して第1ビヘイビアツリーノードに対応する第1ビヘイビアツリー中の操作を実行でき、例えば、第1オブジェクトがゲームキャラクターで、第1ビヘイビアツリーノードがスキル発動である場合、第1ビヘイビアツリー中の操作は、スキル強度の調整、スキル種類の選択等を含むことができる。第1オブジェクトに対して第1ビヘイビアツリーにおける各リーフノードに対応する操作を実行する具体的な実行過程は、ビヘイビアツリーの原理を紹介するときに既に説明され、ここでは詳細な説明を省略する。第1ビヘイビアツリーにおける各リーフノードに対応する操作を実行した後、第1オブジェクトの属性、例えば、ゲームキャラクターのヒットポイント、スキルの残り使用回数等に影響を及ぼすことができる。該実施形態は、ビヘイビアツリーにより第1オブジェクトに対してフロータイプの操作を行い、有限状態機械を用いると非常に複雑な変換関係を設定する必要があることを回避し、アプリケーション中のオブジェクトを制御して操作を実行させる効率を向上させるという技術効果をさらに達成することができる。
【0054】
選択可能な実施形態として、
図11は、本発明の実施形態に係るさらに別の選択可能な状態制御装置の概略図であり、
図11に示すように、該実施形態の状態制御装置は、さらに、サーバが操作実行イベントを検出する前に、サーバが状態ノード、ビヘイビアツリーノード及び状態遷移関係を示すための第1構成情報を取得するための第1取得モジュール212と、サーバが第1構成情報に基づいて第1オブジェクトのためにハイブリッド状態機械を生成するための生成モジュール214と、を含んでもよい。
【0055】
尚、該実施形態中の第1取得モジュール212は、本願の実施形態1のステップS2012を実行するために用いられ、該実施形態中の生成モジュール214は、本願の実施形態1のステップS2014を実行するために用いられることができる。
【0056】
第1構成情報は、第1オブジェクトのためにハイブリッド状態機械を生成するための根拠になる情報であることができ、ハイブリッド状態機械中の状態ノード、ビヘイビアツリーノード及び状態遷移関係を示すために用いられることができる。尚、状態遷移関係は、状態ノードの間、ビヘイビアツリーノードの間、状態ノードとビヘイビアツリーノードとの間の状態遷移関係を含むことができる。第1構成情報は、ハイブリッド状態機械中の状態ノードの個数、ビヘイビアツリーノードの個数、状態ノード間の変換条件、ビヘイビアツリーノード間の変換条件、状態ノードとビヘイビアツリーノードとの間の変換条件、状態ノードに対応する状態中の操作、ビヘイビアツリーノードに対応するビヘイビアツリー中の操作等を含むことができる。該実施形態は、第1構成情報については特に限定せず、第1構成情報は、実際の応用シナリオの需要に応じて、対応する調整を行うことができる。該第1構成情報は、実際の需要に応じてユーザによって設定・調整されることができる。サーバは、第1構成情報を取得した後、該第1構成情報に基づいて第1オブジェクトのハイブリッド状態機械を生成することができ、例えば、第1構成情報中の状態ノードの個数に基づいてハイブリッド状態機械中の状態ノードを設定でき、ビヘイビアツリーノードの個数に基づいてハイブリッド状態機械中のビヘイビアツリーノードを設定でき、第1構成情報中の状態ノード間の変換条件に基づいてハイブリッド状態機械中の状態ノード間の遷移関係を設定でき、第1構成情報中のビヘイビアツリーノード間の変換条件に基づいてハイブリッド状態機械中のビヘイビアツリーノード間の遷移関係を設定でき、第1構成情報中の状態ノードとビヘイビアツリーノードとの間の変換条件に基づいてハイブリッド状態機械中の状態ノードとビヘイビアツリーノードとの間の遷移関係を設定でき、第1構成情報中の状態ノードに対応する状態中の操作に基づいてハイブリッド状態機械中の状態ノードに対応する状態の操作を設定でき、第1構成情報中のビヘイビアツリーノードに対応するビヘイビアツリー中の操作に基づいてハイブリッド状態機械中のビヘイビアツリーノードに対応する状態の操作を設定できるなどが挙げられる。上記したのは、第1オブジェクトのハイブリッド状態機械の構成操作の一部を挙げたに過ぎず、サーバが第1構成情報に基づいて第1オブジェクトのためにハイブリッド状態機械を生成する過程において、さらに他の構成操作を含むことができ、ここでは、一つずつ例を挙げて説明しない。
【0057】
該実施形態は、第1オブジェクトのためにハイブリッド状態機械を生成するのに必要でかつ実際の応用シナリオの需要に応じて設定可能な第1の構成情報を予め取得することで、ユーザの実際の需要を満たすという効果を達成でき、同時に、ハイブリッド状態機械を生成するのに必要な第1構成情報を予め取得することで、ハイブリッド状態機械の生成時間を短縮するという効果を達成できる。
【0058】
選択可能な実施形態11として、
図11に示すように、該実施形態の状態制御装置は、さらに、サーバが第1構成情報に基づいて第1オブジェクトのためにハイブリッド状態機械を生成した後、サーバが第2構成情報を取得するための第2取得モジュール216と、サーバが第2構成情報に基づいてハイブリッド状態機械を更新するための更新モジュール218と、を含んでもよい。
【0059】
尚、該実施形態中の第2取得モジュール216は、本願の実施形態1のステップS2016を実行するために用いられ、該実施形態中の更新モジュール218は、本願の実施形態1のステップS2018を実行するために用いられることができる。
【0060】
第2構成情報は、第1構成情報に基づいて第1オブジェクトのために生成したハイブリッド状態機械を更新するために用いられることができ、第2構成情報は、第1構成情報中の内容を含むことができ、さらに第1構成情報以外の内容を含むこともでき、ハイブリッド状態機械中の状態ノードに対応する状態中の操作を修正し、ハイブリッド状態機械中のビヘイビアツリーノードに対応するビヘイビアツリー中の操作を修正し、ハイブリッド状態機械中のノード間の変換条件及び遷移関係を修正し、ハイブリッド状態機械中のノードを追加するか又は削除し、ハイブリッド状態機械中のノード間の変換条件及び遷移関係等を追加するか又は削除するなどに用いられる。該実施形態は、第2構成情報については特に限定せず、第2構成情報は、他の内容を含むこともでき、ここでは、一つずつ例を挙げて説明しない。
【0061】
オプションとして、
図11に示すように、更新モジュール218は、サーバがハイブリッド状態機械に既に存在した状態ノード、及び/又は既に存在したビヘイビアツリーノード、及び/又は既に存在した状態ノードと既に存在したビヘイビアツリーノードとの間の状態遷移関係を更新するための第1更新サブモジュール2182と、サーバがハイブリッド状態機械に既に存在した状態ノード、及び/又は既に存在したビヘイビアツリーノード、及び/又は既に存在した状態ノードと既に存在したビヘイビアツリーノードとの間の状態遷移関係を削除するための削除モジュール2184と、サーバがハイブリッド状態機械に状態ノード及び/又はビヘイビアツリーノードを追加すること、及び/又は増加した状態ノード及び/又はビヘイビアツリーノードと既に存在した状態ノード及び/又は既に存在したビヘイビアツリーノードとの間に状態遷移関係を確立するために用いられる追加モジュール2186のうちの少なくとも一つを含んでもよい。
【0062】
上記ハイブリッド状態機械への更新操作は、本発明の選択可能な実施形態に過ぎない。尚、本発明は、ハイブリッド状態機械の更新操作を限定するものではなく、上記に挙げられた更新操作以外に、他の更新操作を含むこともでき、ここでは、一つずつ例を挙げて説明しない。該実施形態は、ハイブリッド状態機械を更新するための第2構成情報を予め取得することで、ハイブリッド状態機械の更新時間を短縮でき、ハイブリッド状態機械をリアルタイムに更新することで、ハイブリッド状態機械のリアルタイム性と正確さを向上させ、ハイブリッド状態機械によって第1オブジェクトに対して操作を実行する効率を向上させるという効果をさらに達成することができる。
【0063】
尚、上記モジュール及び対応するステップで実現した例及び応用シナリオが同じであるが、上記実施形態1に開示された内容に限定されるものではない。尚、上記モジュールは装置の一部として、
図1に示すハードウェア環境で作動することができ、ソフトウェアによって実現することもできるし、ハードウェアによって実現することもでき、ここで、ハードウェア環境は、ネットワーク環境を含む。
【0064】
実施形態3
本発明の実施形態によると、さらに上記状態制御方法を実施するための端末を提供する。
【0065】
図12は、本発明の実施形態に係る端末の構成ブロック図であり、
図12に示すように、該端末は、一つ又は複数の(1つのみ図示)プロセッサ201、メモリ203及び伝送装置205を含むことができ、
図12に示すように、該端末は、さらに、入出力装置207を含むことができる。
【0066】
ここで、メモリ203は、ソフトウェアプログラム及びモジュール、例えば、本発明の実施形態における状態制御方法及び装置に対応するプログラム命令/モジュールを記憶するために用いられることができ、プロセッサ201は、メモリ203に記憶されたソフトウェアプログラム及びモジュールを実行することにより、様々な機能アプリケーション及びデータ処理を行い、即ち、上記状態制御方法を実現する。メモリ203は、高速ランダムアクセスメモリを含むこともできるし、不揮発性メモリ、例えば、一つ又は複数の磁気記憶装置、フラッシュメモリ又は他の不揮発性ソリッドステートメモリを含むこともできる。場合によっては、メモリ203は、さらにプロセッサ201に対して遠隔に配置されたメモリを含んでもよく、これらのリモートメモリは、ネットワークを介して端末に接続されることができる。上記ネットワークの例は、インターネット、イントラネット、ローカルエリア・ネットワーク、移動通信ネットワーク及びそれらの組み合わせを含むが、これらに限定されることはない。
【0067】
上記伝送装置205は、ネットワークを介してデータを送受信するためのものであり、さらに、プロセッサとメモリとの間のデータ伝送に用いられる。上記ネットワークは、具体的な例において、有線ネットワーク及び無線ネットワークを含むことができる。例として、伝送装置205は、ネットワークケーブルを介して他のネットワーク機器やルーターに接続されてインターネット又はローカルエリア・ネットワークと通信することができる一つのネットワークアダプタ(Network Interface Controller、NIC)を含む。例として、伝送装置205は無線周波数(Radio Frequency、RF)モジュールであり、無線方式によりインターネットと通信するために用いられる。
【0068】
ここで、具体的には、メモリ203は、アプリケーションプログラムを記憶するためのものである。
【0069】
プロセッサ201は、伝送装置205によりメモリ203に記憶されたアプリケーションプログラムを呼び出すことによって、サーバが第1アプリケーション中の第1オブジェクトを操作することを要求するための操作実行イベントを検出するステップと、第1オブジェクトのハイブリッド状態機械での現在ノードの次のノードが第1状態ノードであるか、第1ビヘイビアツリーノードであるかをサーバが判断するステップと、現在ノードの次のノードが第1状態ノードであると判断すれば、サーバが第1オブジェクトに対して第1状態ノードに対応する第1状態中の操作を実行するステップと、現在
ノードの次のノードが第1ビヘイビアツリーノードであると判断すれば、サーバが第1オブジェクトに対して第1ビヘイビアツリーノードに対応する第1ビヘイビアツリー中の操作を実行するステップと、を実行することができ、ここで、ハイブリッド状態機械中のノードが状態ノード及びビヘイビアツリーノードを含み、ハイブリッド状態機械中のノード間に状態遷移関係を有する。
【0070】
プロセッサ201は、さらに、操作実行イベントがイベントによってトリガーされる操作又は異常な操作を指示すれば、現在ノードの次のノードが第1状態ノードであるとサーバが判断するステップと、操作実行イベントがフロータイプの操作を指示すれば、現在ノードの次のノードが第1ビヘイビアツリーノードであるとサーバが判断するステップと、を実行するために用いられる。
【0071】
プロセッサ201は、さらに、サーバが第1オブジェクトに対して第1ビヘイビアツリーにおける各リーフノードに対応する操作を実行するステップを実行するために用いられる。
【0072】
プロセッサ201は、さらに、サーバが操作実行イベントを検出する前に、サーバが状態ノード、ビヘイビアツリーノード及び状態遷移関係を示すための第1構成情報を取得するステップと、サーバが第1構成情報に基づいて第1オブジェクトのためにハイブリッド状態機械を生成するステップと、を実行するために用いられ、ハイブリッド状態機械中の状態ノードとビヘイビアツリーノードとの間に状態遷移関係を有する。
【0073】
プロセッサ201は、さらに、サーバが第1構成情報に基づいて第1オブジェクトのためにハイブリッド状態機械を生成した後、サーバが第2構成情報を取得するステップと、サーバが第2構成情報に基づいてハイブリッド状態機械を更新するステップと、を実行するために用いられる。
【0074】
プロセッサ201は、さらに、サーバがハイブリッド状態機械に既に存在した状態ノード、及び/又は既に存在したビヘイビアツリーノード、及び/又は既に存在した状態ノードと既に存在したビヘイビアツリーノードとの間の状態遷移関係を更新するステップと、サーバがハイブリッド状態機械に既に存在した状態ノード、及び/又は既に存在したビヘイビアツリーノード、及び/又は既に存在した状態ノードと既に存在したビヘイビアツリーノードとの間の状態遷移関係を削除するステップと、サーバがハイブリッド状態機械に状態ノード及び/又はビヘイビアツリーノードを追加するステップ、及び/又は追加した状態ノード及び/又はビヘイビアツリーノードと既に存在した状態ノード及び/又は既に存在したビヘイビアツリーノードとの間に状態遷移関係を確立するステップと、を実行するために用いられる。
【0075】
本発明の実施形態では、状態制御方法及び装置を提供する。サーバが操作実行イベントを検出した場合、第1オブジェクトのハイブリッド状態機械での現在ノードの次のノードが第1状態ノードであるか、第1ビヘイビアツリーノードであるかを判断し、第1状態ノードであれば、第1オブジェクトに対して第1状態ノードに対応する第1状態中の操作を実行し、第1ビヘイビアツリーノードであれば、第1オブジェクトに対して第1ビヘイビアツリーノードに対応する第1ビヘイビアツリー中の操作を実行することにより、有限状態機械及びビヘイビアツリーを用いて共同でアプリケーション中の個体を制御して操作を実行させるという目的を達成し、アプリケーション中の個体の操作実行効率を向上させるという技術効果を達成し、既存技術において有限状態機械を用いてアプリケーション中の個体を制御して操作を実行させる効率が低いという問題をさらに解決する。
【0076】
オプションとして、本実施形態中の具体的な例としては上記実施形態1と実施形態2で説明した例を参照することができ、本実施形態では詳細な説明を省略する。
【0077】
当業者によって理解されるように、
図12に示す構造は例示的なものであり、端末は、スマートフォン(例えば、Android携帯電話、iOS携帯電話等)、タブレットコンピュータ、パームトップコンピュータ及びモバイルインターネットデバイス(Mobile Internet Devices、MID)、PAD等の端末装置であってもよい。
図12は、上記電子装置の構造を限定するものではない。例えば、端末は、さらに、
図12に示す要素より多いか又はより少ない要素(例えば、ネットワークインタフェース、表示装置等)を含んだり、
図12に示す構成とは異なる構成を有したりしてもよい。
【0078】
当業者によって理解されるように、上記実施形態の様々な方法の全部又は一部のステップは、プログラムによって、実行するよう端末装置に関連するハードウェアに指示することができ、該プログラムがコンピュータ読み取り可能な記憶媒体に記憶されることができ、記憶媒体は、フラッシュディスクや、リードオンリーメモリ(Read−Only Memory、ROM)、ランダムアクセスメモリ(Random Access Memory、RAM)、磁気ディスク又は光学ディスク等を含むことができる。
【0079】
実施形態4
本発明の実施形態は、さらに、記憶媒体を提供する。また、本実施形態において、上記記憶媒体は、状態制御方法のプログラムコードを実行するために用いられる。
【0080】
オプションとして、本実施形態において、上記記憶媒体は、上記実施形態に示されたネットワーク内の複数のネットワーク機器のうちの少なくとも一つのネットワーク機器に位置することができる。
【0081】
オプションとして、本実施形態において、記憶媒体は、
サーバが第1アプリケーション中の第1オブジェクトを操作することを要求するための操作実行イベントを検出するステップS1と、
サーバが第1オブジェクトのハイブリッド状態機械での現在ノードの次のノードが第1状態ノードであるか、第1ビヘイビアツリーノードであるかを判断するステップS2と、
現在ノードの次のノードが第1状態ノードであると判断すれば、サーバが第1オブジェクトに対して第1状態ノードに対応する第1状態中の操作を実行するステップS3と、
現在
ノードの次のノードが第1ビヘイビアツリーノードであると判断すれば、サーバが第1オブジェクトに対して第1ビヘイビアツリーノードに対応する第1ビヘイビアツリー中の操作を実行するステップS4とを実行するためのプログラムコードを記憶するように構成され、
ハイブリッド状態機械中のノードが状態ノード及びビヘイビアツリーノードを含み、ハイブリッド状態機械中のノードの間に状態遷移関係を有する。
【0082】
オプションとして、記憶媒体は、さらに、操作実行イベントがイベントによってトリガーされる操作又は異常な操作を指示すれば、サーバが現在ノードの次のノードが第1状態ノードであると判断するステップと、操作実行イベントがフロータイプの操作を指示すれば、サーバが現在ノードの次のノードが第1ビヘイビアツリーノードであると判断するステップとを実行するためのプログラムコードを記憶するように構成される。
【0083】
オプションとして、記憶媒体は、さらに、サーバが第1オブジェクトに対して第1ビヘイビアツリーにおける各リーフノードに対応する操作を実行するステップを実行するためのプログラムコードを記憶するように構成される。
【0084】
オプションとして、記憶媒体は、さらに、サーバが操作実行イベントを検出する前に、サーバが状態ノード、ビヘイビアツリーノード及び状態遷移関係を示すための第1構成情報を取得するステップと、サーバが第1構成情報に基づいて、第1オブジェクトのためにハイブリッド状態機械を生成するステップとを実行するためのプログラムコードを記憶するように構成され、ハイブリッド状態機械中の状態ノードとビヘイビアツリーノードとの間に状態遷移関係を有する。
【0085】
オプションとして、記憶媒体は、さらに、サーバが第1構成情報に基づいて、第1オブジェクトのためにハイブリッド状態機械を生成した後、サーバが第2構成情報を取得するステップと、サーバが第2構成情報に基づいて、ハイブリッド状態機械を更新するステップとを実行するためのプログラムコードを記憶するように構成される。
【0086】
オプションとして、記憶媒体は、さらに、サーバがハイブリッド状態機械に既に存在した状態ノード、及び/又は既に存在したビヘイビアツリーノード、及び/又は既に存在した状態ノードと既に存在したビヘイビアツリーノードとの間の状態遷移関係を更新するステップと、サーバがハイブリッド状態機械に既に存在した状態ノード、及び/又は既に存在したビヘイビアツリーノード、及び/又は既に存在した状態ノードと既に存在したビヘイビアツリーノードとの間の状態遷移関係を削除するステップと、サーバがハイブリッド状態機械に状態ノード及び/又はビヘイビアツリーノードを追加するステップ、及び/又は追加した状態ノード及び/又はビヘイビアツリーノードと既に存在した状態ノード及び/又は既に存在したビヘイビアツリーノードとの間に状態遷移関係を確立するステップとを実行するためのプログラムコードを記憶するように構成される。
【0087】
オプションとして、本実施形態中の具体的な例としては上記実施形態1と実施形態2で説明した例を参照することができ、本実施形態では詳細な説明を省略する。
【0088】
オプションとして、本実施形態において、上記記憶媒体は、USBフラッシュドライブ、リードオンリーメモリ(ROM、Read−Only Memory)、ランダムアクセスメモリ(RAM、Random Access Memory)、モバイルハードディスク、磁気ディスク又は光学ディスク等の、プログラムコードを記憶できる各種の媒体を含むことができるが、これらに限定されることはない。
【0089】
上記本発明の実施形態の番号は説明の便利を図るためのもので、実施形態の優劣を示すものではない。
【0090】
上記実施形態中の集積されたユニットは、ソフトウェア機能ユニットの形態で実現して独立製品として販売したり使用したりする場合、上記コンピュータが読み取り可能な記憶媒体に記憶することができる。従って、本発明の技術解決策の実質的な又は既存技術に対する貢献のある部分又は該技術解決策の全部又は一部をソフトウェア製品の形態で実現することができ、このようなコンピュータソフトウェア製品は記憶媒体に記憶され、一つ又は複数のコンピュータ機器(パーソナルコンピュータ、サーバ又はネットワーク機器等であってもよい)に本発明の各実施形態で説明した方法の全部又は一部のステップを実行させる命令を含むことができる。
【0091】
本発明の上記実施形態において、各実施形態の説明についてはそれぞれ重点を置き、ある実施形態で詳しく説明していない部分については他の実施形態の関連部分の説明を参照することができる。
【0092】
本願で提供する幾つかの実施形態において、開示されたクライアントは、他の形態で実現することもできる。ここで、以上説明した装置実施形態は例示的なもので、例えば前記ユニットの区画はロジック的な機能の区画であり、実際に実現する場合、他の区画方式であってもよく、例えば複数のユニット又はコンポーネントを結合したり他のシステムに集積したりすることができ、或いは、一部の特徴を無視し又は実行しないこともできる。そして、表示又は検討した相互結合又は直接結合又は通信接続は、インターフェース、ユニット又はモジュールを介した間接結合又は通信接続であってもよく、電気的又は他の形態であってもよい。
【0093】
前記分離部材として説明したユニットは、物理的に分離しても物理的に分離しなくてもよく、ユニットとして表す部材は物理ユニットであっても物理ユニットではなくてもよく、つまり、一つの箇所に位置しても、複数のユニットに分布してもよい。実際の需要に応じて、そのうちの一部又は全部のユニットを選択して本実施形態の技術解決策の目的を達成することができる。
【0094】
そして、本発明の各実施形態中の各機能ユニットは、一つの処理ユニットに集積しても、物理的に独立しても、二つ又はそれ以上のユニットを一つのユニットに集積してもよい。上記集積されたユニットは、ハードウェアの形態で実現されても、ソフトウェア機能ユニットの形態で実現されてもよい。
【0095】
以上は、本発明の好適な実施形態に過ぎず、当業者は本発明の精神から逸脱せずに若干の改善や修正を行うこともでき、このような改善や修正は本発明の保護範囲に含まれる。