(57)【要約】  本発明は、状態制御方法及び装置を開示する。該方法は、第１アプリケーション中の第１オブジェクトを操作することを要求するための操作実行イベントをサーバが検出することと、第１オブジェクトのハイブリッド状態機械での現在ノードの次のノードが第１状態ノードであるか、第１ビヘイビアツリーノードであるかをサーバが判断することと、現在ノードの次のノードが第１状態ノードであると判断すれば、サーバが第１オブジェクトに対して第１状態ノードに対応する第１状態中の操作を実行することと、現在状態の次のノードが第１ビヘイビアツリーノードであると判断すれば、サーバが第１オブジェクトに対して第１ビヘイビアツリーノードに対応する第１ビヘイビアツリー中の操作を実行することと、を含み、ハイブリッド状態機械中のノードが状態ノード及びビヘイビアツリーノードを含み、ハイブリッド状態機械中のノードの間に状態遷移関係を有する。本発明によれば、既存技術において有限状態機械を用いてアプリケーション中の個体を制御して操作を実行させる効率が低いという問題を解決できる。
2019518257.tif 000002
【特許請求の範囲】
【請求項１】
第１アプリケーション中の第１オブジェクトを操作することを要求するための操作実行イベントをサーバが検出することと、
前記第１オブジェクトのハイブリッド状態機械での現在ノードの次のノードが第１状態ノードであるか、第１ビヘイビアツリーノードであるかを前記サーバが判断することと、
前記現在ノードの次のノードが第１状態ノードであると判断すれば、前記サーバが前記第１オブジェクトに対して前記第１状態ノードに対応する第１状態中の操作を実行することと、
前記現在状態の次のノードが前記第１ビヘイビアツリーノードであると判断すれば、前記サーバが前記第１オブジェクトに対して前記第１ビヘイビアツリーノードに対応する第１ビヘイビアツリー中の操作を実行することと、を含み、
前記ハイブリッド状態機械中のノードが状態ノード及びビヘイビアツリーノードを含み、前記ハイブリッド状態機械中のノードの間に状態遷移関係を有する状態制御方法。
【請求項２】
前記第１オブジェクトのハイブリッド状態機械での現在ノードの次のノードが第１状態ノードであるか、第１ビヘイビアツリーノードであるかを前記サーバが判断することは、
前記操作実行イベントがイベントによってトリガーされる操作又は異常な操作を指示すれば、前記サーバが前記現在ノードの次のノードが前記第１状態ノードであると判断することと、
前記操作実行イベントがフロータイプの操作を指示すれば、前記サーバが前記現在ノードの次のノードが前記第１ビヘイビアツリーノードであると判断することと、を含む請求項１に記載の方法。
【請求項３】
前記サーバが前記第１オブジェクトに対して前記第１ビヘイビアツリーノードに対応する第１ビヘイビアツリー中の操作を実行することは、
前記サーバが前記第１オブジェクトに対して前記第１ビヘイビアツリーにおける各リーフノードに対応する操作を実行することを含む請求項１に記載の方法。
【請求項４】
前記サーバが操作実行イベントを検出する前に、
前記サーバが前記状態ノード、前記ビヘイビアツリーノード及び前記状態遷移関係を示すための第１構成情報を取得することと、
前記サーバが前記第１構成情報に基づいて前記第１オブジェクトのために前記ハイブリッド状態機械を生成することと、をさらに含む請求項１に記載の方法。
【請求項５】
前記サーバが前記第１構成情報に基づいて前記第１オブジェクトのために前記ハイブリッド状態機械を生成した後、
前記サーバが第２構成情報を取得することと、
前記サーバが前記第２構成情報に基づいて前記ハイブリッド状態機械を更新することと、をさらに含む請求項４に記載の方法。
【請求項６】
前記サーバが前記第２構成情報に基づいて前記ハイブリッド状態機械を更新することは、
前記サーバが前記ハイブリッド状態機械に既に存在した状態ノード、及び／又は既に存在したビヘイビアツリーノード、及び／又は既に存在した状態ノードと既に存在したビヘイビアツリーノードとの間の状態遷移関係を更新することと、
前記サーバが前記ハイブリッド状態機械に既に存在した状態ノード、及び／又は既に存在したビヘイビアツリーノード、及び／又は既に存在した状態ノードと既に存在したビヘイビアツリーノードとの間の状態遷移関係を削除することと、
前記サーバが前記ハイブリッド状態機械に状態ノード、及び／又はビヘイビアツリーノードを追加すること、及び／又は増加した状態ノード及び／又はビヘイビアツリーノードと既に存在した状態ノード及び／又は既に存在したビヘイビアツリーノードとの間に状態遷移関係を確立することとのうちの少なくとも一つを含む請求項５に記載の方法。
【請求項７】
第１アプリケーション中の第１オブジェクトを操作することを要求するための操作実行イベントをサーバが検出するように構成された検出モジュールと、
前記第１オブジェクトのハイブリッド状態機械での現在ノードの次のノードが第１状態ノードであるか、第１ビヘイビアツリーノードであるかを前記サーバが判断するように構成された判断モジュールと、
前記現在ノードの次のノードが第１状態ノードであると判断すれば、前記サーバが前記第１オブジェクトに対して前記第１状態ノードに対応する第１状態中の操作を実行するように構成された第１操作モジュールと、
前記現在状態の次のノードが前記第１ビヘイビアツリーノードであると判断すれば、前記サーバが前記第１オブジェクトに対して前記第１ビヘイビアツリーノードに対応する第１ビヘイビアツリー中の操作を実行するように構成された第２操作モジュールと、を含み、
前記ハイブリッド状態機械中のノードが状態ノード及びビヘイビアツリーノードを含み、前記ハイブリッド状態機械中のノードの間に状態遷移関係を有する状態制御装置。
【請求項８】
前記判断モジュールは、
前記操作実行イベントがイベントによってトリガーされる操作又は異常な操作を指示した場合、前記サーバが前記現在ノードの次のノードが前記第１状態ノードであると判断するように構成された第１判定モジュールと、
前記操作実行イベントがフロータイプの操作を指示した場合、前記サーバが前記現在ノードの次のノードが前記第１ビヘイビアツリーノードであると判断するように構成された第２判定モジュールと、を含む請求項７に記載の装置。
【請求項９】
前記第２操作モジュールは、
前記サーバが前記第１オブジェクトに対して前記第１ビヘイビアツリーにおける各リーフノードに対応する操作を実行するように構成された第１操作サブモジュールを含む請求項７に記載の装置。
【請求項１０】
前記サーバが操作実行イベントを検出する前に、前記サーバが前記状態ノード、前記ビヘイビアツリーノード及び前記状態遷移関係を示すための第１構成情報を取得するように構成された第１取得モジュールと、
前記サーバが前記第１構成情報に基づいて第１オブジェクトのために前記ハイブリッド状態機械を生成するように構成された生成モジュールと、をさらに含む請求項７に記載の装置。
【請求項１１】
前記サーバが前記第１構成情報に基づいて前記第１オブジェクトのために前記ハイブリッド状態機械を生成した後、前記サーバが第２構成情報を取得するように構成された第２取得モジュールと、
前記サーバが前記第２構成情報に基づいて前記ハイブリッド状態機械を更新するように構成された更新モジュールと、をさらに含む請求項１０に記載の装置。
【請求項１２】
前記更新モジュールは、
前記サーバが前記ハイブリッド状態機械に既に存在した状態ノード、及び／又は既に存在したビヘイビアツリーノード、及び／又は既に存在した状態ノードと既に存在したビヘイビアツリーノードとの間の状態遷移関係を更新するように構成された第１更新サブモジュールと、
前記サーバが前記ハイブリッド状態機械に既に存在した状態ノード、及び／又は既に存在したビヘイビアツリーノード、及び／又は既に存在した状態ノードと既に存在したビヘイビアツリーノードとの間の状態遷移関係を削除するように構成された削除モジュールと、
前記サーバが前記ハイブリッド状態機械に状態ノード、及び／又はビヘイビアツリーノードを追加するように構成され、及び／又は、追加した状態ノード及び／又はビヘイビアツリーノードと既に存在した状態ノード及び／又は既に存在したビヘイビアツリーノードとの間に状態遷移関係を確立するように構成された追加モジュールとのうちの少なくとも一つを含む請求項１１に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、２０１６年０３月０３日に中国特許庁に提出された、出願番号が２０１６１０１２１８８１．１で、発明の名称が「状態制御方法及び装置」である中国特許出願の優先権を主張し、その内容を全部本願に引用する。
【０００２】
本発明は、コンピュータの分野に関し、具体的には、状態制御方法及び装置に関する。
【背景技術】
【０００３】
現在、アプリケーションにおいて個体を制御して操作を実行させる方式は、一般的には、有限状態機械及びビヘイビアツリーを含むが、有限状態機械とビヘイビアツリーは、操作の実行過程において、いずれも欠点が存在し、具体的には、有限状態機械について、状態が非常に多い場合、大量の状態変換関係を処理する必要があり、設計者の作業量を増加させるだけでなく、有限状態機械をメンテナンスしにくいため、アプリケーション中、個体の操作実行効率が低くなる。ビヘイビアツリーについて、状態遷移の面で直感的でなく、一連のビヘイビアを計画的に実行することに適し、幾つかの異常と特殊な状況での状態遷移を効果的に処理できない。
【０００４】
上記問題について、未だに有効な解決案を提示していない。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明の実施形態は、少なくとも既存技術において有限状態機械を用いてアプリケーション中の個体を制御して操作を実行させる効率が低いという問題を解決できる状態制御方法及び装置を提供する。
【課題を解決するための手段】
【０００６】
本発明の実施形態の一態様によると、第１アプリケーション中の第１オブジェクトを操作することを要求するための操作実行イベントをサーバが検出することと、第１オブジェクトのハイブリッド状態機械での現在ノードの次のノードが第１状態ノードであるか、第１ビヘイビアツリーノードであるかをサーバが判断することと、現在ノードの次のノードが第１状態ノードであると判断すれば、サーバが第１オブジェクトに対して第１状態ノードに対応する第１状態中の操作を実行することと、現在状態の次のノードが第１ビヘイビアツリーノードであると判断すれば、サーバが第１オブジェクトに対して第１ビヘイビアツリーノードに対応する第１ビヘイビアツリー中の操作を実行することとを含み、ハイブリッド状態機械中のノードが状態ノード及びビヘイビアツリーノードを含み、ハイブリッド状態機械中のノードの間に状態遷移関係を有する状態制御方法を提供する。
【０００７】
本発明の実施形態の他の一態様によると、さらに、第１アプリケーション中の第１オブジェクトを操作することを要求するための操作実行イベントをサーバが検出するための検出モジュールと、第１オブジェクトのハイブリッド状態機械での現在ノードの次のノードが第１状態ノードであるか、第１ビヘイビアツリーノードであるかをサーバが判断するための判断モジュールと、現在ノードの次のノードが第１状態ノードであると判断すれば、サーバが第１オブジェクトに対して第１状態ノードに対応する第１状態中の操作を実行するための第１操作モジュールと、現在状態の次のノードが第１ビヘイビアツリーノードであると判断すれば、サーバが第１オブジェクトに対して第１ビヘイビアツリーノードに対応する第１ビヘイビアツリー中の操作を実行するための第２操作モジュールとを含み、ハイブリッド状態機械中のノードが状態ノード及びビヘイビアツリーノードを含み、ハイブリッド状態機械中のノードの間に状態遷移関係を有する状態制御装置を提供する。
【発明の効果】
【０００８】
本発明の実施形態において、サーバが操作実行イベントを検出した場合、第１オブジェクトのハイブリッド状態機械での現在ノードの次のノードが第１状態ノードであるか、第１ビヘイビアツリーノードであるかを判断し、第１状態ノードであれば、第１オブジェクトに対して第１状態ノードに対応する第１状態中の操作を実行し、第１ビヘイビアツリーノードであれば、第１オブジェクトに対して第１ビヘイビアツリーノードに対応する第１ビヘイビアツリー中の操作を実行することにより、有限状態機械とビヘイビアツリーを用いて共同でアプリケーション中の個体を制御して操作を実行させるという目的を達成し、アプリケーション中の個体の操作実行効率を向上させるという技術効果を達成し、既存技術において有限状態機械を用いてアプリケーション中の個体を制御して操作を実行させる効率が低いという問題をさらに解決する。
【０００９】
ここで説明する図面は本発明を一層理解させるためのもので、本願の一部を構成し、本発明の例示的な実施形態及びその説明は本発明を解釈するもので、本発明を限定するものではない。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施形態に係る状態制御方法のハードウェア環境の概略図である。
【図２】本発明の実施形態に係る選択可能な状態制御方法のフローチャートである。
【図３】本発明の実施形態に係る有限状態機械の概略図である。
【図４ａ】本発明の実施形態に係る状態パケット間の有限状態機械の概略図である。
【図４ｂ】本発明の実施形態に係る階層型有限状態機械の概略図である。
【図５】本発明の実施形態に係るスタックに基づく状態機械の概略図である。
【図６】本発明の実施形態に係るビヘイビアツリーの概略図である。
【図７】本発明の実施形態に係るハイブリッド状態機械の概略図である。
【図８】本発明の実施形態に係る状態制御装置の概略図である。
【図９】本発明の実施形態に係る選択可能な状態制御装置の概略図である。
【図１０】本発明の実施形態に係る別の選択可能な状態制御装置の概略図である。
【図１１】本発明の実施形態に係るさらに別の選択可能な状態制御装置の概略図である。
【図１２】本発明の実施形態に係る端末の構成ブロック図である。
【発明を実施するための形態】
【００１１】
当業者が本発明の技術解決策を一層簡単に理解するように、以下、本発明の実施形態中の図面を組み合わせて、本発明の実施形態の技術解決策を明確且つ完全に説明するが、ここで説明する実施形態は本発明の一部の実施形態に過ぎず、全ての実施形態ではないことは言うまでもない。本発明の実施形態に基づいて、当業者が創造性のある行為を必要とせずに得られる他の実施形態はすべて本発明の保護範囲に含まれるべきである。
【００１２】
尚、本発明の明細書及び特許請求の範囲と図面に用いられた「第１」、「第２」等の用語は類似する対象を区別するためのもので、特定の順又は前後順を限定するものではない。ここで説明する本発明の実施形態を図面に示す又は説明した順とは異なる順でも実現できるように、このように使用される数値は適切な状況において交換可能である。そして、「含む」、「有する」及びそれらの変形用語は、非排他的に含むことをカバーするもので、例えば、一連のステップ又はユニットを含むプロセス、方法、システム、製品又は機器は、それらのステップ又はユニットを明確に例示したのに限定されず、明確に例示していない又はこれらのプロセス、方法、製品又は機器固有の他のステップ又はユニットを含んでもよいことを表す。
【００１３】
実施形態１
本発明の実施形態によると、状態制御方法の方法の実施形態を提供する。
【００１４】
オプションとして、本実施形態において、上記状態制御方法は、図１に示すサーバ１０２と端末１０４からなるハードウェア環境に適用することができる。図１に示すように、サーバ１０２は、ネットワークを介して端末１０４に接続され、上記ネットワークは、ワイドエリア・ネットワーク、メトロポリタンエリア・ネットワーク又はローカルエリア・ネットワークを含むが、これらに限定されることはなく、端末１０４は、ＰＣ、携帯電話、タブレットコンピュータ等に限定されることはない。本発明の実施形態によるデータ処理方法は、サーバ１０２により実行することもできるし、端末１０４により実行することもできるし、サーバ１０２と端末１０４が共同で実行することもできる。ここで、端末１０４による本発明の実施形態のデータ処理方法の実行は、それにインストールされたクライアントにより実行することもできる。
【００１５】
図２は、本発明の実施形態に係る選択可能な状態制御方法のフローチャートであり、図２に示すように、該方法は、
第１アプリケーション中の第１オブジェクトを操作することを要求するための操作実行イベントをサーバが検出するステップＳ２０２と、
第１オブジェクトのハイブリッド状態機械での現在ノードの次のノードが第１状態ノードであるか、第１ビヘイビアツリーノードであるかをサーバが判断するステップＳ２０４と、
現在ノードの次のノードが第１状態ノードであると判断すれば、サーバが第１オブジェクトに対して第１状態ノードに対応する第１状態中の操作を実行するステップＳ２０６と、
現在状態の次のノードが第１ビヘイビアツリーノードであると判断すれば、サーバが第１オブジェクトに対して第１ビヘイビアツリーノードに対応する第１ビヘイビアツリー中の操作を実行するステップＳ２０８と、を含み、
ハイブリッド状態機械中のノードは、状態ノード及びビヘイビアツリーノードを含み、ハイブリッド状態機械中のノード間に状態遷移関係を有する。
【００１６】
上記ステップＳ２０２〜ステップＳ２０８により、サーバが操作実行イベントを検出した場合、第１オブジェクトのハイブリッド状態機械での現在ノードの次のノードが第１状態ノードであるか、第１ビヘイビアツリーノードであるかを判断し、第１状態ノードであれば、第１オブジェクトに対して第１状態ノードに対応する第１状態中の操作を実行し、第１ビヘイビアツリーノードであれば、第１オブジェクトに対して第１ビヘイビアツリーノードに対応する第１ビヘイビアツリー中の操作を実行することにより、有限状態機械とビヘイビアツリーを用いて共同でアプリケーション中の個体を制御して操作を実行させるという目的を達成し、アプリケーション中の個体の操作実行効率を向上させるという技術効果を達成し、既存技術において有限状態機械を用いてアプリケーション中の個体を制御して操作を実行させる効率が低いという問題を解決できる。
【００１７】
ステップＳ２０２で提供される技術解決策において、第１アプリケーションはゲーム系アプリケーション、リアルタイム通信系アプリケーション、又は他のタイプのアプリケーションであってもよく、本発明は、第１アプリケーションを限定するものではない。第１アプリケーションには、複数のオブジェクトを含むことができ、これらの複数のオブジェクトは第１オブジェクトを含み、第１オブジェクトは、これらの複数のオブジェクトのうちのいずれか一つであってもよい。尚、ここでは、オブジェクトは、アプリケーション中のある実行イベントのイベントオブジェクト、例えば、ゲームキャラクターであってもよい。第１アプリケーションは、サーバにインストールされてもよいし、クライアント（例えば、スマートフォン、電気エネルギー等）にインストールされて、サーバにより該第１アプリケーション中のイベント及びオブジェクトへの処理とメンテナンスを行ってもよい。操作実行イベントは、第１アプリケーション中の第１オブジェクトを操作することを要求するために使用可能であり、第１オブジェクトへの操作は、第１オブジェクトの移動経路を調整すること、第１オブジェクトを制御してスキルを発動することなどを含むことができ、本発明は、これを特に限定するものではない。
【００１８】
オプションとして、サーバは、該操作実行イベントをリアルタイムに検出することにより、該操作実行イベントにタイムリーに正確に応答して、第１アプリケーション中の第１オブジェクトを操作することができる。サーバは、該操作実行イベントをリアルタイムに検出すると同時に、第１アプリケーション中の第１オブジェクトがある操作を実行中であるか否かをリアルタイムに検出でき、サーバは第１オブジェクトがある操作を実行中であることを検出すると、該操作実行イベントを検出した場合、第１オブジェクトが現在実行している操作が終了した後、第１オブジェクトを制御して該操作実行イベントに応答し、サーバは第１オブジェクトがある操作を実行中ではないことを検出すると、該操作実行イベントを検出した後直ちに第１オブジェクトを制御して該操作実行イベントに応答する。
ステップＳ２０４で提供される技術解決策において、ハイブリッド状態機械は、第１オブジェクトを操作するように制御してもよい。尚、ハイブリッド状態機械は、第１アプリケーション中の一つ又は複数のオブジェクトを操作するように制御できる。ハイブリッド状態機械は、有限状態機械とビヘイビアツリーで構成され、ハイブリッド状態機械をよりよく説明するために、本発明の実施形態において、まず有限状態機械及びビヘイビアツリーについて以下のように具体的に説明する。
【００１９】
有限状態機械は、アプリケーション中の個体オブジェクトが操作を実行するよう制御することができ、有限個の状態と状態間の変換条件を含む。同じ時間内に、個体オブジェクトがある状態だけにあり、有限状態機械は一つの状態から別の状態に変換して異なる操作の実行を達成する必要がある。例えば、図３に一つのゲームアプリケーション中の一つのゲームキャラクターの遊び歩き、攻撃、逃走、治療探しの四つの状態、及び上記四つの状態間の変換関係を示し、例えば、ゲームキャラクターが治療探しから遊び歩きに変換する条件は医薬品を見つけることであり、攻撃から遊び歩きに変換する条件はオブジェクトが視野範囲内にないことであり、ここでは、上記四つの状態間の変換条件について一つずつ例を挙げて説明しない。
【００２０】
有限状態機械は、それぞれ階層型状態機械（Ｈｉｅｒａｒｃｈｉｃａｌ  Ｆｉｎｉｔｅ  Ｓｔａｔｅ  Ｍａｃｈｉｎｅｓ、ＨＦＳＭと略記する）及びスタックに基づく状態機械（Ｓｔａｃｋ  ｂａｓｅｄ  Ｆｉｎｉｔｅ  Ｓｔａｔｅ  Ｍａｃｈｉｎｅｓ、ＳＦＳＭと略記する）の２種類の状態機械に分けられる。ここで、階層型状態機械は、状態をパケット化する概念を提出し、異なるパケット間の状態が同じ変換関係を共有する。それは、状態制御の度合いを向上させ、繰り返した状態変換関係を大幅に減少させることにより、設計者が状態変換をよりよく制御することができる。図４ａに示すように、有限状態機械には、三つの状態、即ちＡ、Ｂ、Ｃが含まれ、ここで、Ａ及びＢ状態はβ条件がトリガーされた場合にいずれもＣ状態に遷移することができるため、Ａ及びＢ状態をパケット化し、β条件がトリガーされた場合での状態変換の繰り返しを省略し、パケット化された有限状態機械、即ち有限状態機械を図４ｂに示す。
【００２１】
スタックに基づく状態機械は、スタック構造を用いて状態の変換関係を管理でき、図５に示すように、スタックトップには現在活性化された状態Ｃが保存され、状態間の変換はプッシュ又はポップ操作により達成でき、該構造はイベントに応じてトリガーされた状態の一時中断と回復の状況を効果的に処理することができる。例えば、ゲームアプリケーションにおいてコンピュータＡＩがいつでも一時停止するための新たな機能を追加する必要があれば、一時停止状態を追加する必要がある。従来の有限状態機械を用いると、該一時停止状態と有限状態機械に存在している各状態との間に変換関係を設計する必要がある。スタックに基づく状態機械を用いると、イベントがトリガーされて一時停止する必要がある場合に、一時停止状態をプッシュすればよく、一時停止が終了するとき、該一時停止状態をポップすれば元の状態に回復して実行し続けることができ、状態変換関係の設計を大幅に節約する。
【００２２】
尚、本発明の実施形態におけるハイブリッド状態機械は、階層型状態機械を利用してもよいし、スタックに基づく状態機械を利用してもよく、本発明はこれを限定するものではない。
【００２３】
ビヘイビアツリーは、アプリケーション中の個体オブジェクトを制御して操作を実行させることもでき、ビヘイビアツリーのノードは、以下のように分類される。
【００２４】
コンポジットノード（Ｃｏｍｐｏｓｉｔｅ）：ビヘイビアツリー中の分岐、つまり非リーフノードであり、選択ノード（Ｓｅｌｅｃｔｏｒ）、シーケンスノード（Ｓｅｑｕｅｎｃｅ）、シンプルパラレルノード（Ｓｉｍｐｌｅ  Ｐａｒａｌｌｅｌ）を含むことができる。
タスクノード（Ｔａｓｋ）：ビヘイビアツリー中のリーフノードであり、一つの具体的なタスク、例えば、ＡＩの移動などを実行する。
デコレータノード（Ｄｅｃｏｒａｔｏｒ）：Ｃｏｍｐｏｓｉｔｅノード又はＴａｓｋノードに付随し、ある分岐又はあるリーフノードが実行されることができるか否かを判断するために用いられる。
サービスノード（Ｓｅｒｖｉｃｅ）：Ｃｏｍｐｏｓｉｔｅノードに付随し、一定の周波数で呼び出され、該分岐の情報を更新するために用いられる。
ルートノード（Ｒｏｏｔ）：ビヘイビアツリーのルートである。
選択ノード（Ｓｅｌｅｃｔｏｒ）：左から右へそのサブノードを実行し、そのサブノードのうちの一つの実行が成功しかつリターンすると、本ノードの実行が直ちに停止する。サブノードのリターンが成功すると、該ノードのリターンが成功し、全てのサブノードのリターンが失敗すると、該ノードのリターンが失敗する。
シーケンスノード（Ｓｅｑｕｅｎｃｅ）：左から右へそのサブノードを実行し、そのサブノードのうちの一つの実行が失敗しかつリターンすると、本ノードの実行が直ちに停止する。あるサブノードのリターンが失敗すると、該ノードのリターンが失敗し、全てのサブノードのリターンが成功すると、該ノードのリターンが成功する。
【００２５】
ビヘイビアツリーの基本的な原理は以下のように説明される。ルートノードからトップダウンの方式で、幾つかの条件によりこのツリーを検索し、最終的には実行する必要があるリーフノードを決定し、それを実行する。ツリーにおいて、ルートノード以外の各ノードはいずれも一つのリターン値を有し、その実行状況に基づいて成功又は失敗をリターンする。ノードのリターン値を該ノードの親ノードにフィードバックし、その親ノードのリターン値に一定の影響を与える。図６に示すビヘイビアツリーにおいて、ルートノードから検索を開始し、実行する必要があるリーフノードがそれぞれタスクノード０、タスクノード１、タスクノード２、タスクノード３、タスクノード４であると決定する。最初に、タスクノード０の実行が失敗すると、失敗をその親ノードの選択ノード０にリターンし、タスクノード１を実行し続ける。タスクノード１の実行が成功すると、成功をその親ノードの選択ノード０にリターンする。タスクノード０、タスクノード１、タスクノード２の親ノードである選択ノード０が選択ノードであるため、直ちに成功をリターンする。同様に、タスクノード３の実行が成功すると、成功をその親ノードの順序ノード１にリターンし、タスクノード４を実行し続ける。タスクノード４の実行が失敗すると、失敗をその親ノードの順序ノード１にリターンする。タスクノード３、タスクノード４の親ノードである順序ノード１が順序ノードであるため、直ちに失敗をリターンする。選択ノード０、順序ノード１の親ノードである順序ノード０は順序ノードであり、選択ノード０、順序ノード１のリターン値を受信すると、順序ノード０のリターン値が失敗であると決定する。順序ノード０は、リターン値をルートノードにリターンするため、ビヘイビアツリー全体のトラバーサルが完了した後、結果が失敗である。
【００２６】
ハイブリッド状態機械中のノードは、状態ノード及びビヘイビアツリーノードを含むことができ、ハイブリッド状態機械中のノード間に状態遷移関係を有し、具体的には、ハイブリッド状態機械中の状態ノードの間に、ビヘイビアツリーノードの間に、状態ノードとビヘイビアツリーノードとの間に状態遷移関係を有することを含む。図７は、本発明の実施形態に係るハイブリッド状態機械の概略図であり、図７に示すように、ゲームアプリケーション中のゲームキャラクターに対応するハイブリッド状態機械を例にして、ハイブリッド状態機械には複数のノードが含まれることができ、これらの複数のノードには状態ノード及びビヘイビアツリーノードが含まれ、そのうち、待機、経路探索、トラッキングが状態ノードであり、スキル発動がビヘイビアツリーノードであり、ハイブリッド状態機械中の状態ノードと状態ノードとの間に、状態ノードとビヘイビアツリーノードとの間に、ビヘイビアツリーノードとビヘイビアツリーノードとの間に変換条件が存在し、図７中の矢印は、ノード間に変換関係を有することを表すことができ、ノード間の具体的な変換条件について、ここでは、具体的な説明を省略する。ビヘイビアツリーには複数のノードが含まれ、図７に示すように、ビヘイビアツリーノードには少なくとも一つのノード、例えば、順序ノード、選択ノード、デコレータノード、タスクノードなどが含まれることができる。尚、本発明の実施形態は、ハイブリッド状態機械中の状態ノード及びビヘイビアツリーノードの個数を限定するものではなく、ノード間の変換条件を限定するものではなく、ビヘイビアツリー中のノードの個数、ノードのタイプ及びノードの関係を限定するものではない。
【００２７】
ステップＳ２０４で提供される技術解決策において、サーバは、操作実行イベントを検出した後、第１オブジェクトのハイブリッド状態機械での現在ノードの次のノードが第１状態ノードであるか、ビヘイビアツリーノードであるかを判断する。尚、操作実行イベントには、ハイブリッド状態機械において第１オブジェクトが所在する現在ノードを含んでもよいし、第１オブジェクトが現在ノードに対応する操作を実行した後に変換対象となるノード、つまり現在ノードの次のノードを含んでもよく、操作実行イベントのトリガーにより第１オブジェクトはハイブリッド状態機械において現在ノードから次のノードに変換でき、ここで、次のノードが状態ノードであってもよいし、ビヘイビアツリーノードであってもよい。
【００２８】
ステップＳ２０６及びステップＳ２０８で提供される技術解決策において、ハイブリッド状態機械中のいずれかの状態ノード（第１状態ノードを含む）に対応する状態も第１オブジェクトへの操作を含み、ハイブリッド状態機械中のいずれかのビヘイビアツリーノードに対応するビヘイビアツリーも第１オブジェクトへの操作（第１ビヘイビアツリーノードを含む）を含む。サーバは、現在ノードの次のノードが第１状態ノードであると判断した場合、第１オブジェクトに対して第１状態ノードに対応する第１状態中の操作を実行し、現在状態の次のノードが第１ビヘイビアツリーノードであると判断した場合、第１オブジェクトに対して第１ビヘイビアツリーノードに対応する第１ビヘイビアツリー中の操作を実行する。尚、本発明の実施形態は、第１状態ノードに対応する第１状態中の操作及び第１ビヘイビアツリーに対応する操作を限定するものではない。
【００２９】
本発明の実施形態によれば、ハイブリッド状態機械を利用して有限状態機械とビヘイビアツリーの利点を組み合わせ、一定のフローに準拠する必要がある計画について、ビヘイビアツリーを用いて処理し、イベントによってトリガーされるビヘイビア又は幾つかの異常な状況について、有限状態機械を用いて処理する。異常及び特徴付けられた状況での状態遷移を処理するだけでなく、ある計画に基づいて一連の段階的なビヘイビアを実行することができる。
【００３０】
実際の応用シナリオにおいて、図７に示すように、ゲームアプリケーション中のゲームキャラクターは、主に待機、トラッキング、経路探索、スキル発動の四つの状態がある。ここで、スキル発動の状態は比較的複雑であり、多くの異なるスキルが存在する可能性があり、特定の順列組み合わせによりゲームキャラクターのスキル表現を豊かにする必要がある。よって、本発明の実施形態は、スキル発動を一つの大きな汎用状態として、ビヘイビアツリーを用いて管理し、スキル発動状態と待機、トラッキング、経路探索などの他の状態の間の変換は有限状態機械を用いて制御する。多くの場合にＡＩにより様々な状況を処理する安定性を保証するように、プログラムコードを用いて有限状態機械をメンテナンスすることができる。実際の使用中に、有限状態機械はスタックに基づく状態機械を選択し、さらに複数の状態の変換による複雑さを減少させることができる。スキル発動状態の内部にビヘイビアツリーを用いて管理し、ゲームキャラクターのスキルの企画者は、該ビヘイビアツリーへの編集修正のみを担当し、該ビヘイビアツリーと外部の他の状態の変換関係を気にする必要がない。該ビヘイビアツリー内部の大部分のロジックがスキルの組み合わせ及び段階の制御だけであり、全体的なＡＩロジックに影響を与えないため、企画者は、プログラム設計者の協力を必要とせずに自分で操作することができる。このような方式を用いると、企画者は、自分が必要とするスキルのみを気にし、スキル発動フローを制御し、ゲームのリズム感をバランスにし、企画者の作業負荷を大幅に削減することができる。また、本発明の実施形態は、一時中断と回復を非常に容易に達成することができる。スキル発動によるゲームキャラクターのめまいの例を考慮し、ゲームキャラクターのめまいが終了した後に中断時点から実行し続ける。従来のビヘイビアツリーを用いてこの問題を解決することは、非常に複雑であるか、又は多くのタスクを必要とする。本発明の実施形態は、外部の有限状態機械の助けを借りることにより、有限状態機械に一つのめまい状態を追加し、めまいをトリガーする場合、ＡＩが現在の状態からめまい状態に遷移し、終了した後に直前の状態に回復する。それにより、状態の一時中断と回復を簡単かつ迅速に達成する。
【００３１】
選択可能な実施形態として、ステップＳ２０４で第１オブジェクトのハイブリッド状態機械での現在ノードの次のノードが第１状態ノードであるか、第１ビヘイビアツリーノードであるかをサーバが判断することは、操作実行イベントがイベントによってトリガーされる操作又は異常な操作を指示すれば、現在ノードの次のノードが第１状態ノードであるとサーバが判断することと、操作実行イベントがフロータイプの操作を指示すれば、現在ノードの次のノードが第１ビヘイビアツリーノードであるとサーバが判断することと、を含んでもよい。
【００３２】
該実施形態において、サーバは、検出された操作実行イベントが指示した操作に基づいて、現在ノードの次のノードが第１状態ノードであるか、第１ビヘイビアツリーノードであるかを決定でき、操作実行イベントが指示した操作は、イベントによってトリガーされる操作、異常な操作、フロータイプの操作等を含むことができ、該実施形態は、操作実行イベントが指示した操作の内容を限定するものではなく、上記に挙げられた内容以外に、他の内容を含むこともでき、ここでは、一つずつ例を挙げて説明しない。該実施形態は、操作実行イベントが指示した操作に基づいて、現在ノードの次のノードが第１状態ノードであるか、第１ビヘイビアツリーノードであるかを判断し、現在ノードの次のノードのタイプを正確に決定するという目的を達成し、異なるノードのタイプに基づいて第１オブジェクトに対して異なる操作を実行するという効果をさらに達成できる。
【００３３】
選択可能な実施形態として、ステップＳ２０８でサーバが第１オブジェクトに対して第１ビヘイビアツリーノードに対応する第１ビヘイビアツリー中の操作を実行することは、サーバが第１オブジェクトに対して第１ビヘイビアツリーにおける各リーフノードに対応する操作を実行することを含んでもよい。
【００３４】
該実施形態において、サーバは、第１オブジェクトのハイブリッド状態機械での現在ノードの次のノードが第１ビヘイビアツリーノードであると決定した場合、第１オブジェクトに対して第１ビヘイビアツリーノードに対応する第１ビヘイビアツリー中の操作を実行でき、例えば、第１オブジェクトがゲームキャラクターで、第１ビヘイビアツリーノードがスキル発動である場合、第１ビヘイビアツリー中の操作は、スキル強度の調整、スキル種類の選択等を含むことができる。第１ビヘイビアツリーには、一つ又は複数のリーフノードが含まれることができ、各リーフノードは、第１ビヘイビアツリー中の一つの操作に対応し、即ち、第１ビヘイビアツリー中の操作は一つであってもよいし、複数であってもよい。サーバは、第１オブジェクトに対して第１ビヘイビアツリーノードに対応する第１ビヘイビアツリー中の操作を実行する場合、第１ビヘイビアツリーにおける各リーフノードに対応する操作を実行でき、具体的な実行過程はビヘイビアツリーの原理を紹介するときに既に説明され、ここでは詳細な説明を省略する。第１ビヘイビアツリーにおける各リーフノードに対応する操作を実行した後、第１オブジェクトの属性、例えば、ゲームキャラクターのヒットポイント、スキルの残り使用回数等に影響を及ぼすことができる。該実施形態は、ビヘイビアツリーにより第１オブジェクトに対してフロータイプの操作を行い、有線状態機械を用いると非常に複雑な変換関係を設定する必要があることを回避し、アプリケーション中のオブジェクトを制御して操作を実行させる効率を向上させるという技術効果を達成することができる。
【００３５】
選択可能な実施形態として、ステップＳ２０２でサーバが操作実行イベントを検出する前に、該実施形態は、さらに、
サーバが、状態ノード、ビヘイビアツリーノード及び状態遷移関係を示すための第１構成情報を取得するステップＳ２０１２と、
サーバが、第１構成情報に基づいて第１オブジェクトのためにハイブリッド状態機械を生成するステップＳ２０１４とを含んでもよい。
【００３６】
ステップＳ２０１２で提供される技術解決策において、第１構成情報は、第１オブジェクトのためにハイブリッド状態機械を生成するための根拠になる情報であることができ、ハイブリッド状態機械中の状態ノード、ビヘイビアツリーノード及び状態遷移関係を示すためのものであってもよい。尚、状態遷移関係は、状態ノードの間、ビヘイビアツリーノードの間、状態ノードとビヘイビアツリーノードとの間の状態遷移関係を含むことができる。第１構成情報は、ハイブリッド状態機械中の状態ノードの個数、ビヘイビアツリーノードの個数、状態ノード間の変換条件、ビヘイビアツリーノード間の変換条件、状態ノードとビヘイビアツリーノードとの間の変換条件、状態ノードに対応する状態中の操作、ビヘイビアツリーノードに対応するビヘイビアツリー中の操作等を含むことができる。該実施形態は、第１構成情報については特に限定せず、第１構成情報は、実際の応用シナリオの需要に応じて、対応する調整を行うことができる。該第１構成情報は、実際の需要に応じてユーザによって設定・調整されることができる。
【００３７】
ステップＳ２０１４で提供される技術解決策において、サーバは、第１構成情報を取得した後、該第１構成情報に基づいて第１オブジェクトのハイブリッド状態機械を生成することができ、例えば、第１構成情報中の状態ノードの個数に基づいてハイブリッド状態機械中の状態ノードを設定でき、ビヘイビアツリーノードの個数に基づいてハイブリッド状態機械中のビヘイビアツリーノードを設定でき、第１構成情報中の状態ノード間の変換条件に基づいてハイブリッド状態機械中の状態ノード間の遷移関係を設定でき、第１構成情報中のビヘイビアツリーノード間の変換条件に基づいてハイブリッド状態機械中のビヘイビアツリーノード間の遷移関係を設定でき、第１構成情報中の状態ノードとビヘイビアツリーノードとの間の変換条件に基づいてハイブリッド状態機械中の状態ノードとビヘイビアツリーノードとの間の遷移関係を設定でき、第１構成情報中の状態ノードに対応する状態中の操作に基づいてハイブリッド状態機械中の状態ノードに対応する状態の操作を設定でき、第１構成情報中のビヘイビアツリーノードに対応するビヘイビアツリー中の操作に基づいてハイブリッド状態機械中のビヘイビアツリーノードに対応する状態の操作を設定できるなどが挙げられる。上記したのは、第１オブジェクトのハイブリッド状態機械の構成操作の一部を挙げたに過ぎず、サーバが第１構成情報に基づいて第１オブジェクトのためにハイブリッド状態機械を生成する過程において、さらに他の構成操作を含むことができ、ここでは、一つずつ例を挙げて説明しない。
【００３８】
該実施形態は、第１オブジェクトのためにハイブリッド状態機械を生成するのに必要でかつ実際の応用シナリオの需要に応じて設定可能な第１の構成情報を予め取得することで、ユーザの実際の需要を満たすという効果を達成でき、同時に、ハイブリッド状態機械を生成するのに必要な第１構成情報を予め取得することで、ハイブリッド状態機械の生成時間を短縮するという効果を達成できる。
【００３９】
選択可能な実施形態として、ステップＳ２０１４でサーバが第１構成情報に基づいて第１オブジェクトのためにハイブリッド状態機械を生成した後、該実施形態は、さらに、
サーバが第２構成情報を取得するステップＳ２０１６と、
サーバが第２構成情報に基づいてハイブリッド状態機械を更新するステップＳ２０１８とを含んでもよい。
【００４０】
ステップＳ２０１６で提供される技術解決策において、第２構成情報は、第１構成情報に基づいて第１オブジェクトのために生成したハイブリッド状態機械を更新するためのものであることができ、第２構成情報は、第１構成情報中の内容を含むことができ、さらに第１構成情報以外の内容を含むこともでき、ハイブリッド状態機械中の状態ノードに対応する状態中の操作を修正し、ハイブリッド状態機械中のビヘイビアツリーノードに対応するビヘイビアツリー中の操作を修正し、ハイブリッド状態機械中のノード間の変換条件及び遷移関係を修正し、ハイブリッド状態機械中のノードを追加するか又は削除し、ハイブリッド状態機械中のノード間の変換条件及び遷移関係を追加するか又は削除するなどに用いられる。該実施形態は、第２構成情報については特に限定せず、第２構成情報は、他の内容を含むこともでき、ここでは、一つずつ例を挙げて説明しない。
【００４１】
ステップＳ２０１８で提供される技術解決策において、サーバは、第２構成情報を取得した後、該第２構成情報に基づいてハイブリッド状態機械を更新でき、ハイブリッド状態機械中のノードを更新することを含むことができ、ハイブリッド状態機械中のノード間の遷移関係を更新することを含むこともできる。
【００４２】
オプションとして、ステップＳ２０１８でサーバが第２構成情報に基づいてハイブリッド状態機械を更新することは、サーバがハイブリッド状態機械に既に存在した状態ノード、及び／又は既に存在したビヘイビアツリーノード、及び／又は既に存在した状態ノードと既に存在したビヘイビアツリーノードとの間の状態遷移関係を更新することと、サーバがハイブリッド状態機械に既に存在した状態ノード、及び／又は既に存在したビヘイビアツリーノード、及び／又は既に存在した状態ノードと既に存在したビヘイビアツリーノードとの間の状態遷移関係を削除することと、サーバがハイブリッド状態機械に状態ノード及び／又はビヘイビアツリーノードを追加すること、及び／又は追加した状態ノード及び／又はビヘイビアツリーノードと既に存在した状態ノード及び／又は既に存在したビヘイビアツリーノードとの間に状態遷移関係を確立することとのうちの少なくとも一つを含んでもよい。
【００４３】
上記ハイブリッド状態機械への更新操作は、本発明の選択可能な実施形態に過ぎない。尚、本発明は、ハイブリッド状態機械の更新操作を限定するものではなく、上記に挙げられた更新操作以外に、他の更新操作を含むこともでき、ここでは、一つずつ例を挙げて説明しない。該実施形態は、ハイブリッド状態機械を更新するための第２構成情報を予め取得することで、ハイブリッド状態機械の更新時間を短縮でき、ハイブリッド状態機械をリアルタイムに更新することにより、ハイブリッド状態機械のリアルタイム性と正確さを向上させ、ハイブリッド状態機械を利用して第１オブジェクトに対して操作を実行する効率を向上させるという効果を達成することができる。
【００４４】
尚、上述した各方法実施形態について、簡単に説明するために、いずれも一連の動作の組み合せとして説明したが、本発明が説明した動作順に限定されないことは当業者が理解でき、本発明が一部のステップを他の順で実行するか又は同時に実行することも可能である。そして、明細書に説明した実施形態がいずれも好適な実施形態で、係る動作や手段が本発明に不可欠なものではない可能性もあることは当業者が理解できる。
【００４５】
以上の実施形態の説明によって、当業者は上記実施形態に係る方法をソフトウェアに必要な汎用のハードウェアプラットフォームを結合した方式で実現できる一方、ハードウェアによって実現でき、多数の場合前方が最も好適な実施形態であることを理解できる。従って、本発明の技術解決策の実質又は既存技術に貢献のある部分をソフトウェア製品の形態で実現することができ、該コンピュータソフトウェア製品を記憶媒体（例えば、ＲＯＭ／ＲＡＭ、ディスク、ＣＤ）に記憶し、端末機器（携帯電話、コンピュータ、サーバ又はネットワーク機器等であることができる）に本発明の各実施形態で説明した方法を実行させる幾つかの命令を含むことができる。
【００４６】
実施形態２
本発明の実施形態によると、さらに上記状態制御方法を実施するための状態制御装置を提供する。図８は、本発明の実施形態に係る状態制御装置の概略図であり、図８に示すように、該装置は、
第１アプリケーション中の第１オブジェクトを操作することを要求するための操作実行イベントをサーバが検出するための検出モジュール２２と、第１オブジェクトのハイブリッド状態機械での現在ノードの次のノードが第１状態ノードであるか、第１ビヘイビアツリーノードであるかをサーバが判断するための判断モジュール２４と、現在ノードの次のノードが第１状態ノードであると判断すれば、サーバが第１オブジェクトに対して第１状態ノードに対応する第１状態中の操作を実行するための第１操作モジュール２６と、現在状態の次のノードが第１ビヘイビアツリーノードであると判断すれば、サーバが第１オブジェクトに対して第１ビヘイビアツリーノードに対応する第１ビヘイビアツリー中の操作を実行するための第２操作モジュール２８と、を含み、ハイブリッド状態機械中のノードが状態ノード及びビヘイビアツリーノードを含み、ハイブリッド状態機械中のノードの間に状態遷移関係を有する。
【００４７】
尚、該実施形態中の検出モジュール２２は、本願の実施形態１のステップＳ２０２を実行するために用いられ、該実施形態中の判断モジュール２４は、本願の実施形態１のステップＳ２０４を実行するために用いられ、該実施形態中の第１操作モジュール２６は、本願の実施形態１のステップＳ２０６を実行するために用いられ、該実施形態中の第２操作モジュール２８は、本願の実施形態１のステップＳ２０８を実行するために用いられることができる。
【００４８】
尚、上記モジュール及び対応するステップで実現した例及び応用シナリオが同じであるが、上記実施形態１に開示された内容に限定されるものではない。尚、上記モジュールは装置の一部として、図１に示すハードウェア環境で作動することができ、ソフトウェアによって実現することもできるし、ハードウェアによって実現することもできる。
【００４９】
上記モジュールによって、サーバが操作実行イベントを検出した場合、第１オブジェクトのハイブリッド状態機械での現在ノードの次のノードが第１状態ノードであるか、第１ビヘイビアツリーノードであるかを判断し、第１状態ノードであれば、第１オブジェクトに対して第１状態ノードに対応する第１状態中の操作を実行し、第１ビヘイビアツリーノードであれば、第１オブジェクトに対して第１ビヘイビアツリーノードに対応する第１ビヘイビアツリー中の操作を実行することで、有限状態機械とビヘイビアツリーによって共同でアプリケーション中の個体を制御して操作を実行させるという目的を達成し、アプリケーション中の個体の操作実行効率を向上させるという技術効果を達成し、既存技術において有限状態機械を用いてアプリケーション中の個体を制御して操作を実行させる効率が低いという問題を解決できる。
【００５０】
選択可能な実施形態として、図９は、本発明の実施形態に係る選択可能な状態制御装置の概略図であり、図９に示すように、判断モジュール２４は、操作実行イベントがイベントによってトリガーされる操作又は異常な操作を指示した場合、サーバが現在ノードの次のノードが第１状態ノードであると判断するための第１判定モジュール２４２と、操作実行イベントがフロータイプの操作を指示した場合、サーバが現在ノードの次のノードが第１ビヘイビアツリーノードであると判断するための第２判定モジュール２４４と、を含んでもよい。
【００５１】
該実施形態において、サーバは、検出された操作実行イベントが指示した操作に基づいて、現在ノードの次のノードが第１状態ノードであるか、第１ビヘイビアツリーノードであるかを決定でき、操作実行イベントが指示した操作は、イベントによってトリガーされる操作、異常な操作、フロータイプの操作等を含むことができ、該実施形態は、操作実行イベントが指示した操作の内容を限定するものではなく、上記に挙げられた内容以外に、他の内容を含むこともでき、ここでは、一つずつ例を挙げて説明しない。該実施形態は、操作実行イベントが指示した操作に基づいて、現在ノードの次のノードが第１状態ノードであるか、第１ビヘイビアツリーノードであるかを判断し、現在ノードの次のノードのタイプを正確に決定するという目的を達成し、異なるノードのタイプに基づいて第１オブジェクトに対して異なる操作を実行するという効果をさらに達成できる。
【００５２】
選択可能な実施形態として、図１０は、本発明の実施形態に係る別の選択可能な状態制御装置の概略図であり、図１０に示すように、第２操作モジュール２８は、サーバが第１オブジェクトに対して第１ビヘイビアツリーにおける各リーフノードに対応する操作を実行するための第１操作サブモジュール２８２を含んでもよい。
【００５３】
該実施形態において、第１ビヘイビアツリーには、一つ又は複数のリーフノードが含まれることができ、各リーフノードは第１ビヘイビアツリー中の一つの操作に対応し、即ち、第１ビヘイビアツリー中の操作は一つであってもよいし、複数であってもよい。サーバは、第１オブジェクトのハイブリッド状態機械での現在ノードの次のノードが第１ビヘイビアツリーノードであると決定した場合、第１オブジェクトに対して第１ビヘイビアツリーノードに対応する第１ビヘイビアツリー中の操作を実行でき、例えば、第１オブジェクトがゲームキャラクターで、第１ビヘイビアツリーノードがスキル発動である場合、第１ビヘイビアツリー中の操作は、スキル強度の調整、スキル種類の選択等を含むことができる。第１オブジェクトに対して第１ビヘイビアツリーにおける各リーフノードに対応する操作を実行する具体的な実行過程は、ビヘイビアツリーの原理を紹介するときに既に説明され、ここでは詳細な説明を省略する。第１ビヘイビアツリーにおける各リーフノードに対応する操作を実行した後、第１オブジェクトの属性、例えば、ゲームキャラクターのヒットポイント、スキルの残り使用回数等に影響を及ぼすことができる。該実施形態は、ビヘイビアツリーにより第１オブジェクトに対してフロータイプの操作を行い、有限状態機械を用いると非常に複雑な変換関係を設定する必要があることを回避し、アプリケーション中のオブジェクトを制御して操作を実行させる効率を向上させるという技術効果をさらに達成することができる。
【００５４】
選択可能な実施形態として、図１１は、本発明の実施形態に係るさらに別の選択可能な状態制御装置の概略図であり、図１１に示すように、該実施形態の状態制御装置は、さらに、サーバが操作実行イベントを検出する前に、サーバが状態ノード、ビヘイビアツリーノード及び状態遷移関係を示すための第１構成情報を取得するための第１取得モジュール２１２と、サーバが第１構成情報に基づいて第１オブジェクトのためにハイブリッド状態機械を生成するための生成モジュール２１４と、を含んでもよい。
【００５５】
尚、該実施形態中の第１取得モジュール２１２は、本願の実施形態１のステップＳ２０１２を実行するために用いられ、該実施形態中の生成モジュール２１４は、本願の実施形態１のステップＳ２０１４を実行するために用いられることができる。
【００５６】
第１構成情報は、第１オブジェクトのためにハイブリッド状態機械を生成するための根拠になる情報であることができ、ハイブリッド状態機械中の状態ノード、ビヘイビアツリーノード及び状態遷移関係を示すために用いられることができる。尚、状態遷移関係は、状態ノードの間、ビヘイビアツリーノードの間、状態ノードとビヘイビアツリーノードとの間の状態遷移関係を含むことができる。第１構成情報は、ハイブリッド状態機械中の状態ノードの個数、ビヘイビアツリーノードの個数、状態ノード間の変換条件、ビヘイビアツリーノード間の変換条件、状態ノードとビヘイビアツリーノードとの間の変換条件、状態ノードに対応する状態中の操作、ビヘイビアツリーノードに対応するビヘイビアツリー中の操作等を含むことができる。該実施形態は、第１構成情報については特に限定せず、第１構成情報は、実際の応用シナリオの需要に応じて、対応する調整を行うことができる。該第１構成情報は、実際の需要に応じてユーザによって設定・調整されることができる。サーバは、第１構成情報を取得した後、該第１構成情報に基づいて第１オブジェクトのハイブリッド状態機械を生成することができ、例えば、第１構成情報中の状態ノードの個数に基づいてハイブリッド状態機械中の状態ノードを設定でき、ビヘイビアツリーノードの個数に基づいてハイブリッド状態機械中のビヘイビアツリーノードを設定でき、第１構成情報中の状態ノード間の変換条件に基づいてハイブリッド状態機械中の状態ノード間の遷移関係を設定でき、第１構成情報中のビヘイビアツリーノード間の変換条件に基づいてハイブリッド状態機械中のビヘイビアツリーノード間の遷移関係を設定でき、第１構成情報中の状態ノードとビヘイビアツリーノードとの間の変換条件に基づいてハイブリッド状態機械中の状態ノードとビヘイビアツリーノードとの間の遷移関係を設定でき、第１構成情報中の状態ノードに対応する状態中の操作に基づいてハイブリッド状態機械中の状態ノードに対応する状態の操作を設定でき、第１構成情報中のビヘイビアツリーノードに対応するビヘイビアツリー中の操作に基づいてハイブリッド状態機械中のビヘイビアツリーノードに対応する状態の操作を設定できるなどが挙げられる。上記したのは、第１オブジェクトのハイブリッド状態機械の構成操作の一部を挙げたに過ぎず、サーバが第１構成情報に基づいて第１オブジェクトのためにハイブリッド状態機械を生成する過程において、さらに他の構成操作を含むことができ、ここでは、一つずつ例を挙げて説明しない。
【００５７】
該実施形態は、第１オブジェクトのためにハイブリッド状態機械を生成するのに必要でかつ実際の応用シナリオの需要に応じて設定可能な第１の構成情報を予め取得することで、ユーザの実際の需要を満たすという効果を達成でき、同時に、ハイブリッド状態機械を生成するのに必要な第１構成情報を予め取得することで、ハイブリッド状態機械の生成時間を短縮するという効果を達成できる。
【００５８】
選択可能な実施形態１１として、図１１に示すように、該実施形態の状態制御装置は、さらに、サーバが第１構成情報に基づいて第１オブジェクトのためにハイブリッド状態機械を生成した後、サーバが第２構成情報を取得するための第２取得モジュール２１６と、サーバが第２構成情報に基づいてハイブリッド状態機械を更新するための更新モジュール２１８と、を含んでもよい。
【００５９】
尚、該実施形態中の第２取得モジュール２１６は、本願の実施形態１のステップＳ２０１６を実行するために用いられ、該実施形態中の更新モジュール２１８は、本願の実施形態１のステップＳ２０１８を実行するために用いられることができる。
【００６０】
第２構成情報は、第１構成情報に基づいて第１オブジェクトのために生成したハイブリッド状態機械を更新するために用いられることができ、第２構成情報は、第１構成情報中の内容を含むことができ、さらに第１構成情報以外の内容を含むこともでき、ハイブリッド状態機械中の状態ノードに対応する状態中の操作を修正し、ハイブリッド状態機械中のビヘイビアツリーノードに対応するビヘイビアツリー中の操作を修正し、ハイブリッド状態機械中のノード間の変換条件及び遷移関係を修正し、ハイブリッド状態機械中のノードを追加するか又は削除し、ハイブリッド状態機械中のノード間の変換条件及び遷移関係等を追加するか又は削除するなどに用いられる。該実施形態は、第２構成情報については特に限定せず、第２構成情報は、他の内容を含むこともでき、ここでは、一つずつ例を挙げて説明しない。
【００６１】
オプションとして、図１１に示すように、更新モジュール２１８は、サーバがハイブリッド状態機械に既に存在した状態ノード、及び／又は既に存在したビヘイビアツリーノード、及び／又は既に存在した状態ノードと既に存在したビヘイビアツリーノードとの間の状態遷移関係を更新するための第１更新サブモジュール２１８２と、サーバがハイブリッド状態機械に既に存在した状態ノード、及び／又は既に存在したビヘイビアツリーノード、及び／又は既に存在した状態ノードと既に存在したビヘイビアツリーノードとの間の状態遷移関係を削除するための削除モジュール２１８４と、サーバがハイブリッド状態機械に状態ノード及び／又はビヘイビアツリーノードを追加すること、及び／又は増加した状態ノード及び／又はビヘイビアツリーノードと既に存在した状態ノード及び／又は既に存在したビヘイビアツリーノードとの間に状態遷移関係を確立するために用いられる追加モジュール２１８６のうちの少なくとも一つを含んでもよい。
【００６２】
上記ハイブリッド状態機械への更新操作は、本発明の選択可能な実施形態に過ぎない。尚、本発明は、ハイブリッド状態機械の更新操作を限定するものではなく、上記に挙げられた更新操作以外に、他の更新操作を含むこともでき、ここでは、一つずつ例を挙げて説明しない。該実施形態は、ハイブリッド状態機械を更新するための第２構成情報を予め取得することで、ハイブリッド状態機械の更新時間を短縮でき、ハイブリッド状態機械をリアルタイムに更新することで、ハイブリッド状態機械のリアルタイム性と正確さを向上させ、ハイブリッド状態機械によって第１オブジェクトに対して操作を実行する効率を向上させるという効果をさらに達成することができる。
【００６３】
尚、上記モジュール及び対応するステップで実現した例及び応用シナリオが同じであるが、上記実施形態１に開示された内容に限定されるものではない。尚、上記モジュールは装置の一部として、図１に示すハードウェア環境で作動することができ、ソフトウェアによって実現することもできるし、ハードウェアによって実現することもでき、ここで、ハードウェア環境は、ネットワーク環境を含む。
【００６４】
実施形態３
本発明の実施形態によると、さらに上記状態制御方法を実施するための端末を提供する。
【００６５】
図１２は、本発明の実施形態に係る端末の構成ブロック図であり、図１２に示すように、該端末は、一つ又は複数の（１つのみ図示）プロセッサ２０１、メモリ２０３及び伝送装置２０５を含むことができ、図１２に示すように、該端末は、さらに、入出力装置２０７を含むことができる。
【００６６】
ここで、メモリ２０３は、ソフトウェアプログラム及びモジュール、例えば、本発明の実施形態における状態制御方法及び装置に対応するプログラム命令／モジュールを記憶するために用いられることができ、プロセッサ２０１は、メモリ２０３に記憶されたソフトウェアプログラム及びモジュールを実行することにより、様々な機能アプリケーション及びデータ処理を行い、即ち、上記状態制御方法を実現する。メモリ２０３は、高速ランダムアクセスメモリを含むこともできるし、不揮発性メモリ、例えば、一つ又は複数の磁気記憶装置、フラッシュメモリ又は他の不揮発性ソリッドステートメモリを含むこともできる。場合によっては、メモリ２０３は、さらにプロセッサ２０１に対して遠隔に配置されたメモリを含んでもよく、これらのリモートメモリは、ネットワークを介して端末に接続されることができる。上記ネットワークの例は、インターネット、イントラネット、ローカルエリア・ネットワーク、移動通信ネットワーク及びそれらの組み合わせを含むが、これらに限定されることはない。
【００６７】
上記伝送装置２０５は、ネットワークを介してデータを送受信するためのものであり、さらに、プロセッサとメモリとの間のデータ伝送に用いられる。上記ネットワークは、具体的な例において、有線ネットワーク及び無線ネットワークを含むことができる。例として、伝送装置２０５は、ネットワークケーブルを介して他のネットワーク機器やルーターに接続されてインターネット又はローカルエリア・ネットワークと通信することができる一つのネットワークアダプタ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃｏｎｔｒｏｌｌｅｒ、ＮＩＣ）を含む。例として、伝送装置２０５は無線周波数（Ｒａｄｉｏ  Ｆｒｅｑｕｅｎｃｙ、ＲＦ）モジュールであり、無線方式によりインターネットと通信するために用いられる。
【００６８】
ここで、具体的には、メモリ２０３は、アプリケーションプログラムを記憶するためのものである。
【００６９】
プロセッサ２０１は、伝送装置２０５によりメモリ２０３に記憶されたアプリケーションプログラムを呼び出すことによって、サーバが第１アプリケーション中の第１オブジェクトを操作することを要求するための操作実行イベントを検出するステップと、第１オブジェクトのハイブリッド状態機械での現在ノードの次のノードが第１状態ノードであるか、第１ビヘイビアツリーノードであるかをサーバが判断するステップと、現在ノードの次のノードが第１状態ノードであると判断すれば、サーバが第１オブジェクトに対して第１状態ノードに対応する第１状態中の操作を実行するステップと、現在状態の次のノードが第１ビヘイビアツリーノードであると判断すれば、サーバが第１オブジェクトに対して第１ビヘイビアツリーノードに対応する第１ビヘイビアツリー中の操作を実行するステップと、を実行することができ、ここで、ハイブリッド状態機械中のノードが状態ノード及びビヘイビアツリーノードを含み、ハイブリッド状態機械中のノード間に状態遷移関係を有する。
【００７０】
プロセッサ２０１は、さらに、操作実行イベントがイベントによってトリガーされる操作又は異常な操作を指示すれば、現在ノードの次のノードが第１状態ノードであるとサーバが判断するステップと、操作実行イベントがフロータイプの操作を指示すれば、現在ノードの次のノードが第１ビヘイビアツリーノードであるとサーバが判断するステップと、を実行するために用いられる。
【００７１】
プロセッサ２０１は、さらに、サーバが第１オブジェクトに対して第１ビヘイビアツリーにおける各リーフノードに対応する操作を実行するステップを実行するために用いられる。
【００７２】
プロセッサ２０１は、さらに、サーバが操作実行イベントを検出する前に、サーバが状態ノード、ビヘイビアツリーノード及び状態遷移関係を示すための第１構成情報を取得するステップと、サーバが第１構成情報に基づいて第１オブジェクトのためにハイブリッド状態機械を生成するステップと、を実行するために用いられ、ハイブリッド状態機械中の状態ノードとビヘイビアツリーノードとの間に状態遷移関係を有する。
【００７３】
プロセッサ２０１は、さらに、サーバが第１構成情報に基づいて第１オブジェクトのためにハイブリッド状態機械を生成した後、サーバが第２構成情報を取得するステップと、サーバが第２構成情報に基づいてハイブリッド状態機械を更新するステップと、を実行するために用いられる。
【００７４】
プロセッサ２０１は、さらに、サーバがハイブリッド状態機械に既に存在した状態ノード、及び／又は既に存在したビヘイビアツリーノード、及び／又は既に存在した状態ノードと既に存在したビヘイビアツリーノードとの間の状態遷移関係を更新するステップと、サーバがハイブリッド状態機械に既に存在した状態ノード、及び／又は既に存在したビヘイビアツリーノード、及び／又は既に存在した状態ノードと既に存在したビヘイビアツリーノードとの間の状態遷移関係を削除するステップと、サーバがハイブリッド状態機械に状態ノード及び／又はビヘイビアツリーノードを追加するステップ、及び／又は追加した状態ノード及び／又はビヘイビアツリーノードと既に存在した状態ノード及び／又は既に存在したビヘイビアツリーノードとの間に状態遷移関係を確立するステップと、を実行するために用いられる。
【００７５】
本発明の実施形態では、状態制御方法及び装置を提供する。サーバが操作実行イベントを検出した場合、第１オブジェクトのハイブリッド状態機械での現在ノードの次のノードが第１状態ノードであるか、第１ビヘイビアツリーノードであるかを判断し、第１状態ノードであれば、第１オブジェクトに対して第１状態ノードに対応する第１状態中の操作を実行し、第１ビヘイビアツリーノードであれば、第１オブジェクトに対して第１ビヘイビアツリーノードに対応する第１ビヘイビアツリー中の操作を実行することにより、有限状態機械及びビヘイビアツリーを用いて共同でアプリケーション中の個体を制御して操作を実行させるという目的を達成し、アプリケーション中の個体の操作実行効率を向上させるという技術効果を達成し、既存技術において有限状態機械を用いてアプリケーション中の個体を制御して操作を実行させる効率が低いという問題をさらに解決する。
【００７６】
オプションとして、本実施形態中の具体的な例としては上記実施形態１と実施形態２で説明した例を参照することができ、本実施形態では詳細な説明を省略する。
【００７７】
当業者によって理解されるように、図１２に示す構造は例示的なものであり、端末は、スマートフォン（例えば、Ａｎｄｒｏｉｄ携帯電話、ｉＯＳ携帯電話等）、タブレットコンピュータ、パームトップコンピュータ及びモバイルインターネットデバイス（Ｍｏｂｉｌｅ  Ｉｎｔｅｒｎｅｔ  Ｄｅｖｉｃｅｓ、ＭＩＤ）、ＰＡＤ等の端末装置であってもよい。図１２は、上記電子装置の構造を限定するものではない。例えば、端末は、さらに、図１２に示す要素より多いか又はより少ない要素（例えば、ネットワークインタフェース、表示装置等）を含んだり、図１２に示す構成とは異なる構成を有したりしてもよい。
【００７８】
当業者によって理解されるように、上記実施形態の様々な方法の全部又は一部のステップは、プログラムによって、実行するよう端末装置に関連するハードウェアに指示することができ、該プログラムがコンピュータ読み取り可能な記憶媒体に記憶されることができ、記憶媒体は、フラッシュディスクや、リードオンリーメモリ（Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ、ＲＯＭ）、ランダムアクセスメモリ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ、ＲＡＭ）、磁気ディスク又は光学ディスク等を含むことができる。
【００７９】
実施形態４
本発明の実施形態は、さらに、記憶媒体を提供する。また、本実施形態において、上記記憶媒体は、状態制御方法のプログラムコードを実行するために用いられる。
【００８０】
オプションとして、本実施形態において、上記記憶媒体は、上記実施形態に示されたネットワーク内の複数のネットワーク機器のうちの少なくとも一つのネットワーク機器に位置することができる。
【００８１】
オプションとして、本実施形態において、記憶媒体は、
サーバが第１アプリケーション中の第１オブジェクトを操作することを要求するための操作実行イベントを検出するステップＳ１と、
サーバが第１オブジェクトのハイブリッド状態機械での現在ノードの次のノードが第１状態ノードであるか、第１ビヘイビアツリーノードであるかを判断するステップＳ２と、
現在ノードの次のノードが第１状態ノードであると判断すれば、サーバが第１オブジェクトに対して第１状態ノードに対応する第１状態中の操作を実行するステップＳ３と、
現在状態の次のノードが第１ビヘイビアツリーノードであると判断すれば、サーバが第１オブジェクトに対して第１ビヘイビアツリーノードに対応する第１ビヘイビアツリー中の操作を実行するステップＳ４とを実行するためのプログラムコードを記憶するように構成され、
ハイブリッド状態機械中のノードが状態ノード及びビヘイビアツリーノードを含み、ハイブリッド状態機械中のノードの間に状態遷移関係を有する。
【００８２】
オプションとして、記憶媒体は、さらに、操作実行イベントがイベントによってトリガーされる操作又は異常な操作を指示すれば、サーバが現在ノードの次のノードが第１状態ノードであると判断するステップと、操作実行イベントがフロータイプの操作を指示すれば、サーバが現在ノードの次のノードが第１ビヘイビアツリーノードであると判断するステップとを実行するためのプログラムコードを記憶するように構成される。
【００８３】
オプションとして、記憶媒体は、さらに、サーバが第１オブジェクトに対して第１ビヘイビアツリーにおける各リーフノードに対応する操作を実行するステップを実行するためのプログラムコードを記憶するように構成される。
【００８４】
オプションとして、記憶媒体は、さらに、サーバが操作実行イベントを検出する前に、サーバが状態ノード、ビヘイビアツリーノード及び状態遷移関係を示すための第１構成情報を取得するステップと、サーバが第１構成情報に基づいて、第１オブジェクトのためにハイブリッド状態機械を生成するステップとを実行するためのプログラムコードを記憶するように構成され、ハイブリッド状態機械中の状態ノードとビヘイビアツリーノードとの間に状態遷移関係を有する。
【００８５】
オプションとして、記憶媒体は、さらに、サーバが第１構成情報に基づいて、第１オブジェクトのためにハイブリッド状態機械を生成した後、サーバが第２構成情報を取得するステップと、サーバが第２構成情報に基づいて、ハイブリッド状態機械を更新するステップとを実行するためのプログラムコードを記憶するように構成される。
【００８６】
オプションとして、記憶媒体は、さらに、サーバがハイブリッド状態機械に既に存在した状態ノード、及び／又は既に存在したビヘイビアツリーノード、及び／又は既に存在した状態ノードと既に存在したビヘイビアツリーノードとの間の状態遷移関係を更新するステップと、サーバがハイブリッド状態機械に既に存在した状態ノード、及び／又は既に存在したビヘイビアツリーノード、及び／又は既に存在した状態ノードと既に存在したビヘイビアツリーノードとの間の状態遷移関係を削除するステップと、サーバがハイブリッド状態機械に状態ノード及び／又はビヘイビアツリーノードを追加するステップ、及び／又は追加した状態ノード及び／又はビヘイビアツリーノードと既に存在した状態ノード及び／又は既に存在したビヘイビアツリーノードとの間に状態遷移関係を確立するステップとを実行するためのプログラムコードを記憶するように構成される。
【００８７】
オプションとして、本実施形態中の具体的な例としては上記実施形態１と実施形態２で説明した例を参照することができ、本実施形態では詳細な説明を省略する。
【００８８】
オプションとして、本実施形態において、上記記憶媒体は、ＵＳＢフラッシュドライブ、リードオンリーメモリ（ＲＯＭ、Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ランダムアクセスメモリ（ＲＡＭ、Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、モバイルハードディスク、磁気ディスク又は光学ディスク等の、プログラムコードを記憶できる各種の媒体を含むことができるが、これらに限定されることはない。
【００８９】
上記本発明の実施形態の番号は説明の便利を図るためのもので、実施形態の優劣を示すものではない。
【００９０】
上記実施形態中の集積されたユニットは、ソフトウェア機能ユニットの形態で実現して独立製品として販売したり使用したりする場合、上記コンピュータが読み取り可能な記憶媒体に記憶することができる。従って、本発明の技術解決策の実質的な又は既存技術に対する貢献のある部分又は該技術解決策の全部又は一部をソフトウェア製品の形態で実現することができ、このようなコンピュータソフトウェア製品は記憶媒体に記憶され、一つ又は複数のコンピュータ機器（パーソナルコンピュータ、サーバ又はネットワーク機器等であってもよい）に本発明の各実施形態で説明した方法の全部又は一部のステップを実行させる命令を含むことができる。
【００９１】
本発明の上記実施形態において、各実施形態の説明についてはそれぞれ重点を置き、ある実施形態で詳しく説明していない部分については他の実施形態の関連部分の説明を参照することができる。
【００９２】
本願で提供する幾つかの実施形態において、開示されたクライアントは、他の形態で実現することもできる。ここで、以上説明した装置実施形態は例示的なもので、例えば前記ユニットの区画はロジック的な機能の区画であり、実際に実現する場合、他の区画方式であってもよく、例えば複数のユニット又はコンポーネントを結合したり他のシステムに集積したりすることができ、或いは、一部の特徴を無視し又は実行しないこともできる。そして、表示又は検討した相互結合又は直接結合又は通信接続は、インターフェース、ユニット又はモジュールを介した間接結合又は通信接続であってもよく、電気的又は他の形態であってもよい。
【００９３】
前記分離部材として説明したユニットは、物理的に分離しても物理的に分離しなくてもよく、ユニットとして表す部材は物理ユニットであっても物理ユニットではなくてもよく、つまり、一つの箇所に位置しても、複数のユニットに分布してもよい。実際の需要に応じて、そのうちの一部又は全部のユニットを選択して本実施形態の技術解決策の目的を達成することができる。
【００９４】
そして、本発明の各実施形態中の各機能ユニットは、一つの処理ユニットに集積しても、物理的に独立しても、二つ又はそれ以上のユニットを一つのユニットに集積してもよい。上記集積されたユニットは、ハードウェアの形態で実現されても、ソフトウェア機能ユニットの形態で実現されてもよい。
【００９５】
以上は、本発明の好適な実施形態に過ぎず、当業者は本発明の精神から逸脱せずに若干の改善や修正を行うこともでき、このような改善や修正は本発明の保護範囲に含まれる。
【符号の説明】
【００９６】
１０２  サーバ
１０４  端末
２２  検出モジュール
２４  判断モジュール
２４２  第１判定モジュール
２４４  第２判定モジュール
２６  第１操作モジュール
２８  第２操作モジュール
２８２  第１操作サブモジュール
２１２  第１取得モジュール
２１４  生成モジュール
２１６  第２取得モジュール
２１８  更新モジュール
２１８２  第１更新サブモジュール
２１８４  削除モジュール
２１８６  追加モジュール
２０１  プロセッサ
２０３  メモリ
２０５  伝送装置
２０７  入出力装置
【図１】
2019518257.tif 000003
【図２】
2019518257.tif 000004
【図３】
2019518257.tif 000005
【図４ａ】
2019518257.tif 000006
【図４ｂ】
2019518257.tif 000007
【図５】
2019518257.tif 000008
【図６】
2019518257.tif 000009
【図７】
2019518257.tif 000010
【図８】
2019518257.tif 000011
【図９】
2019518257.tif 000012
【図１０】
2019518257.tif 000013
【図１１】
2019518257.tif 000014
【図１２】
2019518257.tif 000015
【手続補正書】
【提出日】平成30年8月23日(2018.8.23)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】０００６
【補正方法】変更
【補正の内容】
【０００６】
本発明の実施形態の一態様によると、第１アプリケーション中の第１オブジェクトを操作することを要求するための操作実行イベントをサーバが検出することと、第１オブジェクトのハイブリッド状態機械での現在ノードの次のノードが第１状態ノードであるか、第１ビヘイビアツリーノードであるかをサーバが判断することと、現在ノードの次のノードが第１状態ノードであると判断すれば、サーバが第１オブジェクトに対して第１状態ノードに対応する第１状態中の操作を実行することと、現在ノードの次のノードが第１ビヘイビアツリーノードであると判断すれば、サーバが第１オブジェクトに対して第１ビヘイビアツリーノードに対応する第１ビヘイビアツリー中の操作を実行することとを含み、ハイブリッド状態機械中のノードが状態ノード及びビヘイビアツリーノードを含み、ハイブリッド状態機械中のノードの間に状態遷移関係を有する状態制御方法を提供する。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００７
【補正方法】変更
【補正の内容】
【０００７】
本発明の実施形態の他の一態様によると、さらに、第１アプリケーション中の第１オブジェクトを操作することを要求するための操作実行イベントをサーバが検出するための検出モジュールと、第１オブジェクトのハイブリッド状態機械での現在ノードの次のノードが第１状態ノードであるか、第１ビヘイビアツリーノードであるかをサーバが判断するための判断モジュールと、現在ノードの次のノードが第１状態ノードであると判断すれば、サーバが第１オブジェクトに対して第１状態ノードに対応する第１状態中の操作を実行するための第１操作モジュールと、現在ノードの次のノードが第１ビヘイビアツリーノードであると判断すれば、サーバが第１オブジェクトに対して第１ビヘイビアツリーノードに対応する第１ビヘイビアツリー中の操作を実行するための第２操作モジュールとを含み、ハイブリッド状態機械中のノードが状態ノード及びビヘイビアツリーノードを含み、ハイブリッド状態機械中のノードの間に状態遷移関係を有する状態制御装置を提供する。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００１５
【補正方法】変更
【補正の内容】
【００１５】
図２は、本発明の実施形態に係る選択可能な状態制御方法のフローチャートであり、図２に示すように、該方法は、
第１アプリケーション中の第１オブジェクトを操作することを要求するための操作実行イベントをサーバが検出するステップＳ２０２と、
第１オブジェクトのハイブリッド状態機械での現在ノードの次のノードが第１状態ノードであるか、第１ビヘイビアツリーノードであるかをサーバが判断するステップＳ２０４と、
現在ノードの次のノードが第１状態ノードであると判断すれば、サーバが第１オブジェクトに対して第１状態ノードに対応する第１状態中の操作を実行するステップＳ２０６と、
現在ノードの次のノードが第１ビヘイビアツリーノードであると判断すれば、サーバが第１オブジェクトに対して第１ビヘイビアツリーノードに対応する第１ビヘイビアツリー中の操作を実行するステップＳ２０８と、を含み、
ハイブリッド状態機械中のノードは、状態ノード及びビヘイビアツリーノードを含み、ハイブリッド状態機械中のノード間に状態遷移関係を有する。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００１７
【補正方法】変更
【補正の内容】
【００１７】
ステップＳ２０２で提供される技術解決策において、第１アプリケーションはゲーム系アプリケーション、リアルタイム通信系アプリケーション、又は他のタイプのアプリケーションであってもよく、本発明は、第１アプリケーションを限定するものではない。第１アプリケーションには、複数のオブジェクトを含むことができ、これらの複数のオブジェクトは第１オブジェクトを含み、第１オブジェクトは、これらの複数のオブジェクトのうちのいずれか一つであってもよい。尚、ここでは、オブジェクトは、アプリケーション中のある実行イベントのイベントオブジェクト、例えば、ゲームキャラクターであってもよい。第１アプリケーションは、サーバにインストールされてもよいし、クライアント（例えば、スマートフォン、コンピュータ等）にインストールされて、サーバにより該第１アプリケーション中のイベント及びオブジェクトへの処理とメンテナンスを行ってもよい。操作実行イベントは、第１アプリケーション中の第１オブジェクトを操作することを要求するために使用可能であり、第１オブジェクトへの操作は、第１オブジェクトの移動経路を調整すること、第１オブジェクトを制御してスキルを発動することなどを含むことができ、本発明は、これを特に限定するものではない。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００２０
【補正方法】変更
【補正の内容】
【００２０】
有限状態機械は、それぞれ階層型状態機械（Ｈｉｅｒａｒｃｈｉｃａｌ  Ｆｉｎｉｔｅ  Ｓｔａｔｅ  Ｍａｃｈｉｎｅｓ、ＨＦＳＭと略記する）及びスタックに基づく状態機械（Ｓｔａｃｋ  ｂａｓｅｄ  Ｆｉｎｉｔｅ  Ｓｔａｔｅ  Ｍａｃｈｉｎｅｓ、ＳＦＳＭと略記する）の２種類の状態機械に分けられる。ここで、階層型状態機械は、状態をパケット化する概念を提出し、異なるパケット間の状態が同じ変換関係を共有する。それは、状態制御の度合いを向上させ、繰り返した状態変換関係を大幅に減少させることにより、設計者が状態変換をよりよく制御することができる。図４ａに示すように、有限状態機械には、三つの状態、即ちＡ、Ｂ、Ｃが含まれ、ここで、Ａ及びＢ状態はβ条件がトリガーされた場合にいずれもＣ状態に遷移することができるため、Ａ及びＢ状態をパケット化し、β条件がトリガーされた場合での状態変換の繰り返しを省略し、パケット化された有限状態機械、即ち階層型状態機械を図４ｂに示す。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００２４
【補正方法】変更
【補正の内容】
【００２４】
コンポジットノード（Ｃｏｍｐｏｓｉｔｅ）：ビヘイビアツリー中の分岐、つまり非リーフノードであり、選択ノード（Ｓｅｌｅｃｔｏｒ）、順序ノード（Ｓｅｑｕｅｎｃｅ）、シンプルパラレルノード（Ｓｉｍｐｌｅ  Ｐａｒａｌｌｅｌ）を含むことができる。
タスクノード（Ｔａｓｋ）：ビヘイビアツリー中のリーフノードであり、一つの具体的なタスク、例えば、ＡＩの移動などを実行する。
デコレータノード（Ｄｅｃｏｒａｔｏｒ）：Ｃｏｍｐｏｓｉｔｅノード又はＴａｓｋノードに付随し、ある分岐又はあるリーフノードが実行されることができるか否かを判断するために用いられる。
サービスノード（Ｓｅｒｖｉｃｅ）：Ｃｏｍｐｏｓｉｔｅノードに付随し、一定の周波数で呼び出され、該分岐の情報を更新するために用いられる。
ルートノード（Ｒｏｏｔ）：ビヘイビアツリーのルートである。
選択ノード（Ｓｅｌｅｃｔｏｒ）：左から右へそのサブノードを実行し、そのサブノードのうちの一つの実行が成功しかつリターンすると、本ノードの実行が直ちに停止する。サブノードのリターンが成功すると、該ノードのリターンが成功し、全てのサブノードのリターンが失敗すると、該ノードのリターンが失敗する。
順序ノード（Ｓｅｑｕｅｎｃｅ）：左から右へそのサブノードを実行し、そのサブノードのうちの一つの実行が失敗しかつリターンすると、本ノードの実行が直ちに停止する。あるサブノードのリターンが失敗すると、該ノードのリターンが失敗し、全てのサブノードのリターンが成功すると、該ノードのリターンが成功する。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】００２８
【補正方法】変更
【補正の内容】
【００２８】
ステップＳ２０６及びステップＳ２０８で提供される技術解決策において、ハイブリッド状態機械中のいずれかの状態ノード（第１状態ノードを含む）に対応する状態も第１オブジェクトへの操作を含み、ハイブリッド状態機械中のいずれかのビヘイビアツリーノード（第１ビヘイビアツリーノードを含む）に対応するビヘイビアツリーも第１オブジェクトへの操作を含む。サーバは、現在ノードの次のノードが第１状態ノードであると判断した場合、第１オブジェクトに対して第１状態ノードに対応する第１状態中の操作を実行し、現在ノードの次のノードが第１ビヘイビアツリーノードであると判断した場合、第１オブジェクトに対して第１ビヘイビアツリーノードに対応する第１ビヘイビアツリー中の操作を実行する。尚、本発明の実施形態は、第１状態ノードに対応する第１状態中の操作及び第１ビヘイビアツリーに対応する操作を限定するものではない。
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】００２９
【補正方法】変更
【補正の内容】
【００２９】
本発明の実施形態によれば、ハイブリッド状態機械を利用して有限状態機械とビヘイビアツリーの利点を組み合わせ、一定のフローに準拠する必要がある計画について、ビヘイビアツリーを用いて処理し、イベントによってトリガーされるビヘイビア又は幾つかの異常な状況について、有限状態機械を用いて処理する。異常及び特殊な状況での状態遷移を処理するだけでなく、ある計画に基づいて一連の段階的なビヘイビアを実行することができる。
【手続補正９】
【補正対象書類名】明細書
【補正対象項目名】００３４
【補正方法】変更
【補正の内容】
【００３４】
該実施形態において、サーバは、第１オブジェクトのハイブリッド状態機械での現在ノードの次のノードが第１ビヘイビアツリーノードであると決定した場合、第１オブジェクトに対して第１ビヘイビアツリーノードに対応する第１ビヘイビアツリー中の操作を実行でき、例えば、第１オブジェクトがゲームキャラクターで、第１ビヘイビアツリーノードがスキル発動である場合、第１ビヘイビアツリー中の操作は、スキル強度の調整、スキル種類の選択等を含むことができる。第１ビヘイビアツリーには、一つ又は複数のリーフノードが含まれることができ、各リーフノードは、第１ビヘイビアツリー中の一つの操作に対応し、即ち、第１ビヘイビアツリー中の操作は一つであってもよいし、複数であってもよい。サーバは、第１オブジェクトに対して第１ビヘイビアツリーノードに対応する第１ビヘイビアツリー中の操作を実行する場合、第１ビヘイビアツリーにおける各リーフノードに対応する操作を実行でき、具体的な実行過程はビヘイビアツリーの原理を紹介するときに既に説明され、ここでは詳細な説明を省略する。第１ビヘイビアツリーにおける各リーフノードに対応する操作を実行した後、第１オブジェクトの属性、例えば、ゲームキャラクターのヒットポイント、スキルの残り使用回数等に影響を及ぼすことができる。該実施形態は、ビヘイビアツリーにより第１オブジェクトに対してフロータイプの操作を行い、有限状態機械を用いると非常に複雑な変換関係を設定する必要があることを回避し、アプリケーション中のオブジェクトを制御して操作を実行させる効率を向上させるという技術効果を達成することができる。
【手続補正１０】
【補正対象書類名】明細書
【補正対象項目名】００４６
【補正方法】変更
【補正の内容】
【００４６】
実施形態２
本発明の実施形態によると、さらに上記状態制御方法を実施するための状態制御装置を提供する。図８は、本発明の実施形態に係る状態制御装置の概略図であり、図８に示すように、該装置は、
第１アプリケーション中の第１オブジェクトを操作することを要求するための操作実行イベントをサーバが検出するための検出モジュール２２と、第１オブジェクトのハイブリッド状態機械での現在ノードの次のノードが第１状態ノードであるか、第１ビヘイビアツリーノードであるかをサーバが判断するための判断モジュール２４と、現在ノードの次のノードが第１状態ノードであると判断すれば、サーバが第１オブジェクトに対して第１状態ノードに対応する第１状態中の操作を実行するための第１操作モジュール２６と、現在ノードの次のノードが第１ビヘイビアツリーノードであると判断すれば、サーバが第１オブジェクトに対して第１ビヘイビアツリーノードに対応する第１ビヘイビアツリー中の操作を実行するための第２操作モジュール２８と、を含み、ハイブリッド状態機械中のノードが状態ノード及びビヘイビアツリーノードを含み、ハイブリッド状態機械中のノードの間に状態遷移関係を有する。
【手続補正１１】
【補正対象書類名】明細書
【補正対象項目名】００６９
【補正方法】変更
【補正の内容】
【００６９】
プロセッサ２０１は、伝送装置２０５によりメモリ２０３に記憶されたアプリケーションプログラムを呼び出すことによって、サーバが第１アプリケーション中の第１オブジェクトを操作することを要求するための操作実行イベントを検出するステップと、第１オブジェクトのハイブリッド状態機械での現在ノードの次のノードが第１状態ノードであるか、第１ビヘイビアツリーノードであるかをサーバが判断するステップと、現在ノードの次のノードが第１状態ノードであると判断すれば、サーバが第１オブジェクトに対して第１状態ノードに対応する第１状態中の操作を実行するステップと、現在ノードの次のノードが第１ビヘイビアツリーノードであると判断すれば、サーバが第１オブジェクトに対して第１ビヘイビアツリーノードに対応する第１ビヘイビアツリー中の操作を実行するステップと、を実行することができ、ここで、ハイブリッド状態機械中のノードが状態ノード及びビヘイビアツリーノードを含み、ハイブリッド状態機械中のノード間に状態遷移関係を有する。
【手続補正１２】
【補正対象書類名】明細書
【補正対象項目名】００８１
【補正方法】変更
【補正の内容】
【００８１】
オプションとして、本実施形態において、記憶媒体は、
サーバが第１アプリケーション中の第１オブジェクトを操作することを要求するための操作実行イベントを検出するステップＳ１と、
サーバが第１オブジェクトのハイブリッド状態機械での現在ノードの次のノードが第１状態ノードであるか、第１ビヘイビアツリーノードであるかを判断するステップＳ２と、
現在ノードの次のノードが第１状態ノードであると判断すれば、サーバが第１オブジェクトに対して第１状態ノードに対応する第１状態中の操作を実行するステップＳ３と、
現在ノードの次のノードが第１ビヘイビアツリーノードであると判断すれば、サーバが第１オブジェクトに対して第１ビヘイビアツリーノードに対応する第１ビヘイビアツリー中の操作を実行するステップＳ４とを実行するためのプログラムコードを記憶するように構成され、
ハイブリッド状態機械中のノードが状態ノード及びビヘイビアツリーノードを含み、ハイブリッド状態機械中のノードの間に状態遷移関係を有する。
【手続補正１３】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
第１アプリケーション中の第１オブジェクトを操作することを要求するための操作実行イベントをサーバが検出することと、
前記第１オブジェクトのハイブリッド状態機械での現在ノードの次のノードが第１状態ノードであるか、第１ビヘイビアツリーノードであるかを前記サーバが判断することと、
前記現在ノードの次のノードが第１状態ノードであると判断すれば、前記サーバが前記第１オブジェクトに対して前記第１状態ノードに対応する第１状態中の操作を実行することと、
前記現在ノードの次のノードが前記第１ビヘイビアツリーノードであると判断すれば、前記サーバが前記第１オブジェクトに対して前記第１ビヘイビアツリーノードに対応する第１ビヘイビアツリー中の操作を実行することと、を含み、
前記ハイブリッド状態機械中のノードが状態ノード及びビヘイビアツリーノードを含み、前記ハイブリッド状態機械中のノードの間に状態遷移関係を有する状態制御方法。
【請求項２】
前記第１オブジェクトのハイブリッド状態機械での現在ノードの次のノードが第１状態ノードであるか、第１ビヘイビアツリーノードであるかを前記サーバが判断することは、
前記操作実行イベントがイベントによってトリガーされる操作又は異常な操作を指示すれば、前記サーバが前記現在ノードの次のノードが前記第１状態ノードであると判断することと、
前記操作実行イベントがフロータイプの操作を指示すれば、前記サーバが前記現在ノードの次のノードが前記第１ビヘイビアツリーノードであると判断することと、を含む請求項１に記載の方法。
【請求項３】
前記サーバが前記第１オブジェクトに対して前記第１ビヘイビアツリーノードに対応する第１ビヘイビアツリー中の操作を実行することは、
前記サーバが前記第１オブジェクトに対して前記第１ビヘイビアツリーにおける各リーフノードに対応する操作を実行することを含む請求項１に記載の方法。
【請求項４】
前記サーバが操作実行イベントを検出する前に、
前記サーバが前記状態ノード、前記ビヘイビアツリーノード及び前記状態遷移関係を示すための第１構成情報を取得することと、
前記サーバが前記第１構成情報に基づいて前記第１オブジェクトのために前記ハイブリッド状態機械を生成することと、をさらに含む請求項１に記載の方法。
【請求項５】
前記サーバが前記第１構成情報に基づいて前記第１オブジェクトのために前記ハイブリッド状態機械を生成した後、
前記サーバが第２構成情報を取得することと、
前記サーバが前記第２構成情報に基づいて前記ハイブリッド状態機械を更新することと、をさらに含む請求項４に記載の方法。
【請求項６】
前記サーバが前記第２構成情報に基づいて前記ハイブリッド状態機械を更新することは、
前記サーバが前記ハイブリッド状態機械に既に存在した状態ノード、及び／又は既に存在したビヘイビアツリーノード、及び／又は既に存在した状態ノードと既に存在したビヘイビアツリーノードとの間の状態遷移関係を更新することと、
前記サーバが前記ハイブリッド状態機械に既に存在した状態ノード、及び／又は既に存在したビヘイビアツリーノード、及び／又は既に存在した状態ノードと既に存在したビヘイビアツリーノードとの間の状態遷移関係を削除することと、
前記サーバが前記ハイブリッド状態機械に状態ノード、及び／又はビヘイビアツリーノードを追加すること、及び／又は増加した状態ノード及び／又はビヘイビアツリーノードと既に存在した状態ノード及び／又は既に存在したビヘイビアツリーノードとの間に状態遷移関係を確立することとのうちの少なくとも一つを含む請求項５に記載の方法。
【請求項７】
第１アプリケーション中の第１オブジェクトを操作することを要求するための操作実行イベントを検出するように構成された検出モジュールと、
前記第１オブジェクトのハイブリッド状態機械での現在ノードの次のノードが第１状態ノードであるか、第１ビヘイビアツリーノードであるかを判断するように構成された判断モジュールと、
前記現在ノードの次のノードが第１状態ノードであると判断すれば、前記第１オブジェクトに対して前記第１状態ノードに対応する第１状態中の操作を実行するように構成された第１操作モジュールと、
前記現在ノードの次のノードが前記第１ビヘイビアツリーノードであると判断すれば、前記第１オブジェクトに対して前記第１ビヘイビアツリーノードに対応する第１ビヘイビアツリー中の操作を実行するように構成された第２操作モジュールと、を含み、
前記ハイブリッド状態機械中のノードが状態ノード及びビヘイビアツリーノードを含み、前記ハイブリッド状態機械中のノードの間に状態遷移関係を有する状態制御装置。
【請求項８】
前記判断モジュールは、
前記操作実行イベントがイベントによってトリガーされる操作又は異常な操作を指示した場合、前記現在ノードの次のノードが前記第１状態ノードであると判断するように構成された第１判定モジュールと、
前記操作実行イベントがフロータイプの操作を指示した場合、前記現在ノードの次のノードが前記第１ビヘイビアツリーノードであると判断するように構成された第２判定モジュールと、を含む請求項７に記載の装置。
【請求項９】
前記第２操作モジュールは、
前記第１オブジェクトに対して前記第１ビヘイビアツリーにおける各リーフノードに対応する操作を実行するように構成された第１操作サブモジュールを含む請求項７に記載の装置。
【請求項１０】
前記検出モジュールが操作実行イベントを検出する前に、前記状態ノード、前記ビヘイビアツリーノード及び前記状態遷移関係を示すための第１構成情報を取得するように構成された第１取得モジュールと、
前記第１構成情報に基づいて第１オブジェクトのために前記ハイブリッド状態機械を生成するように構成された生成モジュールと、をさらに含む請求項７に記載の装置。
【請求項１１】
前記生成モジュールが前記第１構成情報に基づいて前記第１オブジェクトのために前記ハイブリッド状態機械を生成した後、第２構成情報を取得するように構成された第２取得モジュールと、
前記第２構成情報に基づいて前記ハイブリッド状態機械を更新するように構成された更新モジュールと、をさらに含む請求項１０に記載の装置。
【請求項１２】
前記更新モジュールは、
前記ハイブリッド状態機械に既に存在した状態ノード、及び／又は既に存在したビヘイビアツリーノード、及び／又は既に存在した状態ノードと既に存在したビヘイビアツリーノードとの間の状態遷移関係を更新するように構成された第１更新サブモジュールと、
前記ハイブリッド状態機械に既に存在した状態ノード、及び／又は既に存在したビヘイビアツリーノード、及び／又は既に存在した状態ノードと既に存在したビヘイビアツリーノードとの間の状態遷移関係を削除するように構成された削除モジュールと、
前記ハイブリッド状態機械に状態ノード、及び／又はビヘイビアツリーノードを追加するように構成され、及び／又は、追加した状態ノード及び／又はビヘイビアツリーノードと既に存在した状態ノード及び／又は既に存在したビヘイビアツリーノードとの間に状態遷移関係を確立するように構成された追加モジュールとのうちの少なくとも一つを含む請求項１１に記載の装置。
【手続補正１４】
【補正対象書類名】図面
【補正対象項目名】図２
【補正方法】変更
【補正の内容】
【図２】
2019518257.tif 000016
【国際調査報告】
2019518257.tif 000017
2019518257.tif 000018
2019518257.tif 000019
2019518257.tif 000020