(57)【要約】  キャラクターの配置方法及び装置、記憶媒体並びに電子装置を開示している。当該方法は、ゲームにおいて第１のキャラクターに関連する目標イベントを検出し、第１のキャラクターが、ゲームにおいて生成される、人工知能を使用してプレイヤーキャラクターと対戦するノンプレイヤーキャラクターであり、目標イベントが第１のキャラクターの目標属性値を修正することを指示するために使用されることと、目標イベントに対応する配置情報を取得し、配置情報が第２のキャラクターを配置するために使用され、配置された第２のキャラクターが目標イベントに対処するときに、目標イベントによる第２のキャラクターの目標属性値の修正程度が、第１のキャラクターが目標イベントに対処するときの第１のキャラクターの目標属性値の修正程度よりも小さくなるようにし、第２のキャラクターがゲームにおいて生成されるノンプレイヤーキャラクターであることと、第２のキャラクターを生成するときに、配置情報を使用して第２のキャラクターを配置することと、を含む。
2020504653.tif 000002
【特許請求の範囲】
【請求項１】
キャラクターの配置方法であって、
ゲームにおいて第１のキャラクターに関連する目標イベントを検出し、なお、前記第１のキャラクターは、前記ゲームにおいて生成される、人工知能を使用してプレイヤーキャラクターと対戦するノンプレイヤーキャラクターであり、前記目標イベントは、前記第１のキャラクターの目標属性値を修正することを指示するために使用されることと、
前記目標イベントに対応する配置情報を取得し、なお、前記配置情報は、第２のキャラクターを配置するために使用され、配置された前記第２のキャラクターが前記目標イベントに対処するときに、前記目標イベントによる前記第２のキャラクターの目標属性値の修正程度が、前記第１のキャラクターが前記目標イベントに対処するときの前記第１のキャラクターの目標属性値の修正程度よりも小さくなるようにし、前記第２のキャラクターは前記ゲームにおいて生成されるノンプレイヤーキャラクターであることと、
前記第２のキャラクターを生成するときに、前記配置情報を使用して前記第２のキャラクターを配置することと、
を含む方法。
【請求項２】
前記目標イベントに対応する配置情報を取得することは、
前記目標イベントに対処するための第１の属性を確定し、前記第１の属性に基づき前記配置情報を確定し、なお、前記第１の属性は、前記目標イベントが発生した場合に、前記目標イベントによる前記第２のキャラクターの目標属性値の修正程度が前記第１のキャラクターの目標属性値の修正程度よりも小さいことを指示するために使用され、前記配置情報は、前記第１の属性の各パラメータを配置するために使用されること、及び／又は
前記目標イベントに対処するための第２の属性を確定し、前記第２の属性に基づき前記配置情報を確定し、なお、前記第２の属性は、前記目標イベントが発生しようとする場合に、前記目標イベントの発生を回避するための防御イベントを実行することを指示するために使用され、前記配置情報は、前記第２の属性の各パラメータを配置するために使用されること、
を含む請求項１に記載の方法。
【請求項３】
前記目標イベントに対処するための第１の属性を確定することは、
前記プレイヤーキャラクターに関連する前記目標イベントが実行されることを検出したときに、前記目標イベントによる前記プレイヤーキャラクターの目標属性値の修正程度が、前記第１のキャラクターの目標属性値の修正程度よりも小さい場合に、前記プレイヤーキャラクターが前記目標イベントに対処するときに使用する属性を前記第１の属性として保存するとともに、前記プレイヤーキャラクターが使用する属性の各パラメータを保存すること、
を含む請求項２に記載の方法。
【請求項４】
前記目標イベントに対応する配置情報を取得する前に、当該方法は、
前記第１のキャラクターのレベルに対応する進化確率を取得することをさらに含み、前記進化確率は、前記第２のキャラクターが前記目標イベントに対処するための属性を取得することを許可する確率であり、
なお、前記進化確率が予め設定された確率よりも大きい場合に、前記目標イベントに対応する配置情報を取得するステップを実行する、
請求項１から３のいずれか一項に記載の方法。
【請求項５】
前記第２のキャラクターを生成するときに、前記配置情報を使用して前記第２のキャラクターを配置することは、
前記第２のキャラクターを生成するときに、前記配置情報を使用して、同時に生成される複数の前記第２のキャラクターの属性を配置することを含み、なお、複数の前記第２のキャラクターは同じレベルに属し、且つ、複数の前記第２のキャラクターは前記ゲームに補充される、
請求項１に記載の方法。
【請求項６】
ゲームにおいて第１のキャラクターに関連する目標イベントを検出することは、
前記第１のキャラクターが前記プレイヤーキャラクターと対戦するときに、前記プレイヤーキャラクターが前記第１のキャラクターを攻撃することによって発生される前記目標イベントを検出することと、
前記第１のキャラクターが前記ゲームのマップ内の目標位置にあるときに、前記目標位置のゲーム環境が前記第１のキャラクターの前記目標属性値を修正する前記目標イベントを検出することと、
を含む請求項１に記載の方法。
【請求項７】
前記プレイヤーキャラクターが前記第１のキャラクターを攻撃することによって生成される前記目標イベントを検出することは、
前記プレイヤーキャラクターが前記第１のキャラクターを攻撃する第１のイベントを検出し、なお、前記第１のイベントは、前記第１のキャラクターの前記目標属性値を第１の値に減少させるために使用され、前記第１の値は前記第１のキャラクターの目標属性極大値よりも小さく、かつ前記第１のキャラクターの目標属性極小値以上であること、及び／又は、
前記プレイヤーキャラクターが前記第１のキャラクターを攻撃する第２のイベントを検出し、なお、前記第２のイベントは、前記第１のキャラクターの前記目標属性値を第２の値だけ低下するために使用され、前記第２の値が正数であること、
を含む請求項６に記載の方法。
【請求項８】
前記プレイヤーキャラクターが前記第１のキャラクターを攻撃する第１のイベントを検出することは、
前記プレイヤーキャラクターによって引き起こされ、且つ、前記第１のキャラクターの前記目標属性値を前記目標属性極小値に減少させるために使用される前記第１のイベントを検出すること、
を含む請求項７に記載の方法。
【請求項９】
キャラクターの配置装置であって、
１つ又は複数のプロセッサー、及びプログラムユニットが記憶される１つ又は複数のメモリを含み、前記プログラムユニットは前記プロセッサーによって実行され、前記プログラムユニットは、
ゲームにおいて第１のキャラクターに関連する目標イベントを検出するように設置される検出ユニットであって、前記第１のキャラクターは前記ゲームにおいて生成される、人工知能を使用してプレイヤーキャラクターと対戦するノンプレイヤーキャラクターであり、前記目標イベントは前記第１のキャラクターの目標属性値を修正することを指示するために使用される前記検出ユニットと、
前記目標イベントに対応する配置情報を取得するように設置される第１の取得ユニットであって、前記配置情報は第２のキャラクターを配置するために使用され、配置された前記第２のキャラクターが前記目標イベントに対処するときに、前記目標イベントによる前記第２のキャラクターの目標属性値の修正程度が、前記第１のキャラクターが前記目標イベントに対処するときの前記第１のキャラクターの目標属性値の修正程度よりも小さくなるようにし、前記第２のキャラクターは前記ゲームにおいて生成されるノンプレイヤーキャラクターである前記第１の取得ユニットと、
前記第２のキャラクターを生成するときに、前記配置情報を使用して前記第２のキャラクターを配置するように設置される配置ユニットと、
を含む装置。
【請求項１０】
前記第１の取得ユニットは、
前記目標イベントに対処するための第１の属性を確定し、前記第１の属性に基づき前記配置情報を確定するように設置される第１の確定モジュールであって、前記第１の属性は、前記目標イベントが発生した場合に、前記目標イベントによる前記第２のキャラクターの目標属性値の修正程度が前記第１のキャラクターの目標属性値の修正程度よりも小さいことを指示するために使用され、前記配置情報は、前記第１の属性の各パラメータを配置するために使用される前記第１の確定モジュール、及び／又は
前記目標イベントに対処するための第２の属性を確定し、前記第２の属性に基づき前記配置情報を確定するように設置される第２の確定モジュールであって、前記第２の属性は、前記目標イベントが発生しようとする場合に、前記目標イベントの発生を回避するための防御イベントを実行することを指示するために使用され、前記配置情報は、前記第２の属性の各パラメータを配置するために使用される前記第２の確定モジュール、
を含む請求項９に記載の装置。
【請求項１１】
前記第１の確定モジュールは、さらに、前記プレイヤーキャラクターに関連する前記目標イベントが実行されることを検出したときに、前記目標イベントによる前記プレイヤーキャラクターの目標属性値の修正程度が、前記第１のキャラクターの目標属性値の修正程度よりも小さい場合に、前記プレイヤーキャラクターが前記目標イベントに対処するときに使用する属性を前記第１の属性として保存するとともに、前記プレイヤーキャラクターが使用する属性の各パラメータを保存するように設置される、
請求項１０に記載の装置。
【請求項１２】
前記第１の取得ユニットが前記目標イベントに対応する配置情報を取得する前に、前記第１のキャラクターのレベルに対応する進化確率を取得するように設置される第２の取得ユニットであって、前記進化確率は、前記第２のキャラクターが前記目標イベントに対処するための属性を取得することを許可する確率である前記第２の取得ユニットをさらに含み、
なお、前記進化確率が予め設定された確率よりも大きい場合に、前記第１の取得ユニットが前記目標イベントに対応する配置情報を取得するように指示する、
請求項９から１１のいずれか一項に記載の装置。
【請求項１３】
前記配置ユニットはさらに、前記第２のキャラクターを生成するときに、前記配置情報を使用して、同時に生成される複数の前記第２のキャラクターの属性を配置するように設置され、なお、複数の前記第２のキャラクターは同じレベルに属し、且つ複数の前記第２のキャラクターは前記ゲームに補充される、
請求項９に記載の装置。
【請求項１４】
前記検出ユニットは、
前記第１のキャラクターが前記プレイヤーキャラクターと対戦するときに、前記プレイヤーキャラクターが前記第１のキャラクターを攻撃することによって発生される前記目標イベントを検出するように設置される第１の検出モジュールと、
前記第１のキャラクターが前記ゲームのマップ内の目標位置にあるときに、前記目標位置のゲーム環境が前記第１のキャラクターの前記目標属性値を修正する前記目標イベントを検出するように設置される第２の検出モジュールと、
を含む請求項９に記載の装置。
【請求項１５】
記憶媒体であって、
実行されるときに請求項１から８のいずれか一項に記載の方法を実行するように設置されるコンピュータープログラムが記憶される記憶媒体。
【請求項１６】
電子装置であって
メモリとプロセッサーを含み、前記メモリにはコンピュータープログラムが記憶され、前記プロセッサーは前記コンピュータープログラムによって請求項１から８のいずれか一項に記載の方法を実行するように設置される、電子装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、２０１７年０４月２０日に中国特許庁に提出された、出願番号が２０１７１０２６１４６７．５であって、発明の名称が「キャラクターの配置方法及び装置」である中国特許出願に基づく優先権を主張するものであり、その全内容を本出願に参照により援用する。
【０００２】
本出願は、インターネット分野に関し、具体的に、キャラクターの配置方法及び装置、記憶媒体並びに電子装置に関する。
【背景技術】
【０００３】
人工知能（Ａｒｔｉｆｉｃｉａｌ  Ｉｎｔｅｌｌｉｇｅｎｃｅ、ＡＩ）は、人間の知能をシミュレート、拡大、及び拡張するための理論、方法、技術、及びアプリケーションシステムを研究及び開発する新しい技術科学である。関連技術では、ゲームにおける人工知能の適用は、非常に一般的であり、ゲームＡＩの主な目的はＡＩを有するキャラクターを非常に知的に見せることである。
【０００４】
ゲームＡＩは、ゲームにおける人工知能キャラクターであり、本出願では、ゲームにおいて知能を有するキャラクターを指し、リアルプレイヤーの様々な挙動をシミュレートするとともに、人間の操作をシミュレートしてプレイヤーと対戦することができる。一般的に、ゲームにおいて、プレイヤーは、ゲームＡＩと対戦することでスキルと経験を積む。
【０００５】
例えば、対戦ゲームにおいて、ゲームＡＩ関連の実現方法では、主にオブジェクトの挙動を制御し、これに基づいて、ＡＩの設計には、主に規則の設定と挙動の列挙の２つの方法が含まれる。規則の設定とは、一連の規則を明確に設定してから、対応する値を関連オブジェクトに割り当てることであり、その後、システム全体が規則に従って実行され、規則が設定されると、スマートオブジェクトは規則によって制限された範囲に従って実行される。既存の規則が存在するため、これらのＡＩの挙動は基本的に予想可能であり、ユーザーは、複数回の試行の後にこれらの規則を回避する方法を学ぶことができる。挙動の列挙について、基本的に、対応するオブジェクトのすべての可能な挙動を想定し、その後、すべての応答を手動で決定する。これにより、すべての挙動ブランチをツリー状のシステムに構築するか、又は、ステートマシンを使用してそれぞれの挙動の間のトリガー条件と切り換えの論理を維持する。これは非常に細かく考慮する必要があり、それぞれの可能な挙動に対して対応する応答を設定する必要があるので、この方法の欠点の１つは作業量が大きいことであり、もう１つは、ゲームオブジェクトに同じ刺激を与えることが多く、挙動が同じであるので、数回繰り返すと、プレイヤーはそれが固定の機械挙動であることがわかり、それによってユーザーの経験に影響を与えることである。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
関連技術の技術案において、実際のゲーム設計では、単一のＡＩ個体を設計目標として、上記の設計方法の１つ又は２つを同時に使用してＡＩインテリジェンスの目的を達成する。様々なステートマシンと挙動ツリーを構築してＡＩ個体の挙動を改善することによって、ＡＩ個体をできるだけ賢く見せる。例えば、対戦ゲームでは、一般的に、ＡＩキャラクターは次のような動作を取る。
【０００７】
動作１：プレイヤーが見つからない場合、特定の地域をさまよう。
動作２：プレイヤーが見つかったら、プレイヤーを追いかけてプレイヤーキャラクターを攻撃する。
動作３：自己の血液量が一定量より少なくなる場合、プレイヤーに遭遇すると逃げる。
【０００８】
ここで、ＡＩの反応について、パトロール中（Ｐａｔｒｏｌｌｉｎｇ）、攻撃中（Ａｔｔａｃｋｉｎｇ）、逃走中（Ｅｓｃａｐｉｎｇ）の３つの状態を抽象することができ、各状態インターフェースは、状態に入る、状態動作を実行する、状態を終了するという３つの論理を含むべきである。具体的な状態図は図１に示している。その後、ＡＩは環境のトリガーに応じて各状態の間で切り換える。例えば、パトロール中のＡＩ個体がプレイヤーキャラクターに遭遇した場合、自分に対する脅威がプレイヤーよりも弱いかどうかを判断し、そうであれば逃げ、さもなければプレイヤーを攻撃し、ＡＩ個体が逃走状態にある場合にも、安全状態に復元したかどうかをリアルタイムで判断し、そうであればパトロール状態に入り、さもなければ逃げ続ける。攻撃状態にあるＡＩ個体も、自分に対する脅威が敵よりも弱いかどうかをリアルタイムで判断し、そうであれば逃げ、さもなければプレイヤーキャラクターを攻撃し続ける。
【０００９】
当然ながら、実際の開発では、状態の種類を増やすことができ、ステートマシンをより複雑にすることができ、対応するＡＩはより知的になって、より多くの種類のシーンを処理することができる。
【００１０】
通常の場合における単一の個体のＡＩ設計データ構造は図２に示すとおりであり、このデータ構造では、ＡＩが有する属性特徴（例えば、プレイヤーが位置する地理位置など）について詳述し、確率イベントが発生する値の範囲などを記載することもできる。属性特徴は主に、マップ位置、画面位置、アニメーション情報、ミリタリーランク等の情報を含む。
【００１１】
関連する技術案の欠点は、ルーチンが基本的に固定されており、同じ種類のＡＩ間に違いはなく、同じ操作メカニズムが採用されるため、プレイヤーが数回試みると、ロボットの動作モードを理解することができ、そして、対応する方法を使用して解読して応答することができることである。また、非常に完全なＡＩ応答メカニズムを作ろうとすれば、すべての可能な挙動を列挙する作業量は大きすぎるため、一般的なスモールゲームではそれができない。
【００１２】
関連技術において人工知能キャラクターの動作メカニズムが知られるという技術的問題について、有効な解決策はまだ提案されていない。
【課題を解決するための手段】
【００１３】
本出願の実施例は、関連技術において人工知能キャラクターの動作メカニズムが知られるという技術的問題を少なくとも解決するように、キャラクターの配置方法及び装置、記憶媒体並びに電子装置を提供する。
【００１４】
本出願の実施例の一態様によれば、キャラクターの配置方法を提供し、当該方法は、ゲームにおいて第１のキャラクターに関連する目標イベントを検出し、なお、第１のキャラクターはゲームにおいて生成される、人工知能を使用してプレイヤーキャラクターと対戦するノンプレイヤーキャラクターであり、目標イベントは、第１のキャラクターの目標属性値を修正することを指示するために使用されることと、目標イベントに対応する配置情報を取得し、なお、配置情報は、第２のキャラクターを配置するために使用され、配置された第２のキャラクターが目標イベントに対処するときに、目標イベントによる第２のキャラクターの目標属性値の修正程度が、第１のキャラクターが目標イベントに対処するときの第１のキャラクターの目標属性値の修正程度よりも小さくなるようにし、第２のキャラクターはゲームにおいて生成されるノンプレイヤーキャラクターであることと、第２のキャラクターを生成するときに、配置情報を使用して第２のキャラクターを配置することと、を含む。
【００１５】
本出願の実施例の他の態様によれば、キャラクターの配置装置をさらに提供し、当該配置装置は１つ又は複数のプロセッサー、及びプログラムユニットが記憶される１つ又は複数のメモリを含み、なお、プログラムユニットはプロセッサーによって実行され、プログラムユニットは、ゲームにおいて第１のキャラクターに関連する目標イベントを検出するように設置される検出ユニットであって、第１のキャラクターはゲームにおいて生成される、人工知能を使用してプレイヤーキャラクターと対戦するノンプレイヤーキャラクターであり、目標イベントは第１のキャラクターの目標属性値を修正することを指示するために使用される前記検出ユニットと、目標イベントに対応する配置情報を取得するように設置される第１の取得ユニットであって、配置情報は、第２のキャラクターを配置するために使用され、配置された第２のキャラクターが目標イベントに対処するときに、目標イベントによる第２のキャラクターの目標属性値の修正程度が、第１のキャラクターが目標イベントに対処するときの第１のキャラクターの目標属性値の修正程度よりも小さくなるようにし、第２のキャラクターはゲームにおいて生成されるノンプレイヤーキャラクターである前記第１の取得ユニットと、第２のキャラクターを生成するときに、配置情報を使用して第２のキャラクターを配置するように設置される配置ユニットとを含む。
【００１６】
本出願の実施例では、ゲームにおいて第１のキャラクターに対して引き起こされる目標イベントを検出したときに、目標イベントに対応する配置情報を取得し、当該配置情報によって、生成される第２のキャラクターを配置して、配置された第２のキャラクターが目標イベントに対処するときに、目標イベントによる第２のキャラクターの目標属性値の修正程度が減少されるようにし、このように、ノンプレイヤーキャラクターの進化に伴い、毎回生まれる新キャラクターは、同じ初期形状を備えるが、新しいスキル属性を持つことになり、ゲームにおける多数のノンプレイヤーキャラクターについて、生まれる時間が異なるため、持っているスキル属性も異なり、同じイベントに対処するときに使用されるスキル属性も異なるので、ゲームキャラクターは、何度か試してノンプレイヤーキャラクターが固定イベントに対処するときに使用するスキル属性を確定することができないようになる。関連技術において人工知能キャラクターの動作メカニズムが知られるという技術的問題を解決して、人工知能キャラクターの動作メカニズムが知られることを避けるという技術的効果を達成することができる。
【図面の簡単な説明】
【００１７】
本明細書に示される図面は、本出願のさらなる理解を提供するためのものであり、本出願の一部分を構成する。本出願の例示的な実施例及びその説明は本出願を説明するためのものであり、本出願の不適切な限定を構成するものではない。図面は次のとおりである。
【００１８】
【図１】関連技術におけるＡＩの状態遷移の概略図である。
【図２】関連技術におけるＡＩのデータ構造の概略図である。
【図３】本出願の実施例によるキャラクターの配置方法のハードウェア環境の概略図である。
【図４】本出願の実施例による選択可能なキャラクターの配置方法のフローチャートである。
【図５】本出願の実施例による選択可能なＡＩヘビの概略図である。
【図６】本出願の実施例による選択可能なヘッドホットゾーンの概略図である。
【図７】本出願の実施例による選択可能な進化システムの概略図である。
【図８】本出願の実施例による選択可能なＡＩ属性の概略図である。
【図９】本出願の実施例による選択可能なキャラクターの配置装置の概略図である。
【図１０】本出願の実施例による電子装置の構成ブロック図である。
【発明を実施するための形態】
【００１９】
当業者に本出願の解決案をよりよく理解させるために、本出願の実施例に関する添付の図面を参照しながら、本出願の実施例における技術案を以下に明確かつ完全に説明するが、説明される実施例は本出願の実施例の一部にすぎず、すべての実施例ではないことは明らかである。本出願の実施例に基づいて、創造的な努力なしに当業者によって得られる他のすべての実施形態は、本出願の範囲内にあるものとする。
【００２０】
なお、本出願の明細書及び特許請求の範囲と上記の図面における「第１」、「第２」などの用語は、類似のオブジェクトを区別するために使用されており、必ずしも特定の順序又は前後順序を説明するわけではない。本明細書に記載の本出願の実施例は、本明細書に図示又は記載したもの以外の順序で実施できるように、使用するデータは適切な場合には交換可能である。また、用語「含む」と「有する」及びそれらの任意の変形は、非排他的包含を網羅することを意図したものであり、例えば、一連のステップ又はユニットを含むプロセス、方法、システム、製品、又は装置は、明確に挙げられたステップ又はユニットに必ずしも限定されず、明示的に列挙されていないか、又はそのようなプロセス、方法、製品、又は装置に固有の他のステップ又はユニットを含むことができる。
【００２１】
本出願の実施例によれば、キャラクターの配置方法の方法実施例を提供する。
【００２２】
また、本実施例では、上記キャラクターの配置方法は、図３に示すようなサーバー３０２と端末３０４から構成されるハードウェア環境で適用することができる。図３に示すように、サーバー３０２は、ネットワークによって端末３０４に接続され、上記ネットワークは、ワイドエリアネットワーク、メトロポリタンエリアネットワーク又はローカルエリアネットワークを含むがこれらに限定されない。端末３０４はＰＣ、携帯電話、タブレットなどを含むがこれに限定されない。本出願の実施例による方法は、サーバー３０２によって実行されてもよいし、端末３０４によって実行されてもよく、サーバー３０２及び端末３０４によって共同実行されてもよい。この場合、端末３０４が本出願の実施例による方法を実行するときは、端末３０４にインストールされるクライアントによって実行されてもよい。
【００２３】
図４は、本出願の実施例による選択可能なキャラクターの配置方法のフローチャートであり、図４に示すように、当該方法は、以下のステップを含むことができる。
【００２４】
ステップＳ４０２：ゲームにおいて第１のキャラクターに関連する目標イベントを検出し、ここで、第１のキャラクターはゲームにおいて生成された、人工知能を使用してプレイヤーキャラクターと対戦するノンプレイヤーキャラクターであり、目標イベントは第１のキャラクターの目標属性値を修正することを指示するために使用される。
【００２５】
ステップＳ４０４：目標イベントに対応する配置情報を取得し、ここで、配置情報は、第２のキャラクターを配置するために使用され、配置された第２のキャラクターが目標イベントに対処するときに、目標イベントによる第２のキャラクターの目標属性値の修正程度が、第１のキャラクターが目標イベントに対処するときの第１のキャラクターの目標属性値の修正程度よりも小さくなるようにし、第２のキャラクターはゲームにおいて生成待ちのノンプレイヤーキャラクターである。
【００２６】
ステップＳ４０６：第２のキャラクターを生成するときに、配置情報を使用して第２のキャラクターを配置する。
【００２７】
上記のステップＳ４０２からステップＳ４０６によって、ゲームにおいて第１のキャラクターに対して引き起こされる目標イベントが検出されたときに、目標イベントに対応する配置情報を取得し、当該配置情報によって、生成される第２のキャラクターを配置して、配置後の第２のキャラクターが目標イベントに対処するときに、目標イベントによる第２のキャラクターの目標属性値の修正程度が減少されるようにする。このように、ノンプレイヤーキャラクターの進化に伴い、毎回生まれる新キャラクターは、同じ初期形状を備えるが、新しいスキル属性を持つことになり、ゲームにおける多数のノンプレイヤーキャラクターにとって、生まれた時間が異なるため、持っているスキル属性も異なり、同じイベントに対処するときに使用されるスキル属性も異なるので、ゲームキャラクターは、何度か試してノンプレイヤーキャラクターが固定イベントに対処するときに使用するスキル属性を確定することができない。関連技術において人工知能キャラクターの動作メカニズムが知られるという技術的問題を解決して、人工知能キャラクターの動作メカニズムが知られることを避けるという技術的効果を達成することができる。
【００２８】
上記のゲームは、任意のタイプのゲームであってもよく、第１のキャラクターは、目標イベントによって攻撃されるノンプレイヤーキャラクターであり、第２のキャラクターは次世代（又は次のレベル）に生まれるノンプレイヤーキャラクターであり、目標イベントは、第１のキャラクターのある属性（即ち、目標属性）にダメージを与えるイベントであり、当該目標属性は、ライフ、スキル、武器、防御などを含むがこれらに限定されない。
【００２９】
現在の多人数参加型リアルタイムオンライン対戦ゲームでは、ゲームの対戦性と楽しさを高めるためにＡＩオブジェクトを使う必要がある。ＡＩを使用して、初期に様々な操作スキルに慣れるようにプレイヤーをトレーニングしたり、オンラインプレイヤーが少ない場合にプレイヤーとインタラクションして、より多くのリアルプレイヤーを引き付けるという目的を達成する。しかしながら、現在のＡＩは、様々な理由によりインタラクション効果が悪い。
【００３０】
本出願は、生物学的進化の基本原理に基づくゲームＡＩ（即ち、人工知能を使用するノンプレイヤーキャラクター）進化方法を実現し、生物学的進化の原理をシミュレートすることによって、ゲームＡＩシステムに進化する能力を与えることで、ゲームＡＩは、時間経過とともに進化する知能及び様々なスキル属性を獲得できる。この方法の設計思想は、ただ１つのＡＩ個体をオブジェクトとするのではなく、ゲームＡＩグループ全体を進化オブジェクトとして進化させることである。具体的な実現方法は、ゲームＡＩ個体がリアルプレイヤーによって殺されるとグループの進化論理がトリガーされ、進化論理は、殺されたＡＩの現在の世代（デフォルトは第１の世代又は第１のレベルから開始する）の値に基づいて、この世代がある属性特性（例えばスキル）を進化させる可能性がある確率を取得し、今回の進化が成功したかどうかを判断する。進化が成功した場合、この時点以降に生まれたＡＩは、デフォルトで次の世代又は次のレベルになり、この次世代のＡＩは、この属性特性を持って生まれる。時間が経つにつれて、ゲームＡＩはますます完全な知能とスキルの属性を持つようになる。
【００３１】
同時に、プレイヤーによって殺されるＡＩが多くなるに伴って、ＡＩは、既存のスキルの属性強化をトリガーし、同様に確率的取得であり、取得が成功すると、それ以降に生まれる次世代ＡＩはデフォルトでその属性値を持つことになる。このような成長システムでは、各ＡＩは異なる曲線で成長するため、各対戦の体験は異なる。本出願の実施例は、図４を参照して以下でさらに詳述される。
【００３２】
ステップＳ４０２によって提供される技術案では、ゲームにおいて第１のキャラクターに関連する目標イベントを検出することは、第１のキャラクターがプレイヤーキャラクターと対戦するときに、プレイヤーキャラクターが第１のキャラクターを攻撃することによって発生する目標イベントを検出し、第１のキャラクターがゲームのマップ内の目標位置にあるときに、目標位置のゲーム環境が第１のキャラクターの目標属性値を修正する目標イベントを検出することを含む。
【００３３】
上記の目標属性は、ライフ、スキル、武器、防御などを指示するための属性であってもよく、例えば、ライフ属性について、目標イベントはライフ属性の属性値を減少させるためのイベントであり、スキル属性について、目標イベントは第１のキャラクターのスキル属性を奪取するか、又は、当該スキル属性によるプレイヤーキャラクターのダメージを軽減するためのイベントである。また例えば、武器属性について、目標イベントは、第１のキャラクターの武器を奪取するか、当該武器によるダメージを軽減するか又は当該武器を損傷するためのイベントであり、他の属性について、対応する属性の属性値を変化させるイベントであれば、目標イベントであり、本出願では個々には列挙しない。
【００３４】
武器属性について、第１のキャラクターがプレイヤーキャラクターと対戦するときに、プレイヤーキャラクターが武器を奪取するために第１のキャラクターを攻撃することによって発生される目標イベントを検出し、第１のキャラクターの武器が奪取されると、新たに生まれるキャラクターの進化がトリガーされ、その結果、新たに生まれたキャラクターは、プレイヤーがその武器を奪取しようとするときに適時に逃げるか又は反撃することができ、具体的には、新たに生まれるキャラクターの逃げスキル属性又は防御スキル属性を配置することによって実現される。
【００３５】
上記したプレイヤーキャラクターが第１のキャラクターを攻撃することによって発生される目標イベントを検出することは主に以下の２つのタイプを含む。即ち、プレイヤーキャラクターが第１のキャラクターを攻撃する第１のイベントを検出し、ここで、第１のイベントは、第１のキャラクターの目標属性値を第１の値に減少させるために使用され、第１の値が第１のキャラクターの目標属性極大値（即ち、当該属性に許可される最大値）よりも小さく、且つ第１のキャラクターの目標属性極小値（即ち、当該属性に許可される最小値）以上であることと、プレイヤーキャラクターが第１のキャラクターを攻撃する第２のイベントを検出し、ここで、第２のイベントは第１のキャラクターの目標属性値を第２の値だけ低下するために使用され、第２の値が正数であることである。
【００３６】
上記の第１の値は、ノンプレイヤーキャラクターの進化をトリガーするためのトリガー点であり、目標属性の属性値は一定の範囲内（即ち、属性極大値と属性極小値の間）にあり、第１の値は、当該範囲内の値である。例えば、プレイヤーキャラクターが第１のキャラクターを攻撃する第１のイベントを検出することは、プレイヤーキャラクターによって引き起こされ、かつ、第１のキャラクターの目標属性値を目標属性極小値に減少させるための第１のイベントを検出することであり、即ち、当該属性の属性値を極小値に低下することを指定するときに進化イベントの発生をトリガーする。
【００３７】
例えば、目標属性がライフ属性である例では、第１の値は、ライフ属性値の５０％であってもよく、第１のキャラクターが第１のイベントによって攻撃されてライフの値が５０％以下に低下したときに、ノンプレイヤーキャラクターの進化をトリガーして、第１のイベントと対抗するスキル属性を進化させて、次回第１のイベントに再遭遇するときに、第１のイベントによる第１のキャラクターのダメージを回避又は軽減するようにする。
【００３８】
上記の第２の値は、あるイベントが第１のキャラクターに固定のダメージを与える（即ち、属性値が第２の値だけ減少するダメージを与える）ときに、新たに生まれるノンプレイヤーキャラクターが、当該イベントによって与えられたダメージを回避するか又は当該イベントのダメージを軽減するように当該イベントに対して進化することをトリガーする。
【００３９】
また、目標属性がライフ属性である例では、第２の値はライフ属性値の３０％であってもよく、第１のキャラクターが第２のイベントによって攻撃されてライフ数値が３０％以上低下したときに、ノンプレイヤーキャラクターの進化をトリガーして、第２のイベントに対抗するスキル属性を進化させて、次回第２のイベントに再遭遇するときに、第１のイベントによる第１のキャラクターのダメージを回避又は軽減するようにする。
【００４０】
他の属性について、採用される方法は上記と類似し、本出願はそれらを個々には説明しない。
【００４１】
ステップＳ４０４によって提供される技術案では、目標イベントに対応する配置情報を取得する前に、攻撃イベントに遭遇する度にノンプレイヤーキャラクターを進化させることができるとすれば、ノンプレイヤーキャラクターが強力になりすぎ、ゲームプレイヤーキャラクターがノンプレイヤーキャラクターと対戦するときに、ゲームは難しすぎることになり、ゲームプレイヤーの体験に影響を及ぼし、ゲームへの興味を減少させる。従って、進化は以下のようにランダムに実行することができる。
【００４２】
目標イベントに対応する配置情報を取得する前に、第１のキャラクターのレベルに対応する進化確率を取得する。進化確率は、第２のキャラクターが目標イベントに対処するための属性を取得することが許可される確率であり、進化確率が予め設定された確率よりも大きい場合に、目標イベントに対応する配置情報を取得するステップを実行する。
【００４３】
また、０から１の間の乱数を取得するための関数をゲームに配置してもよく、第１のキャラクターのレベルに対応する進化確率を取得する度に、当該関数を一回実行してもよい。第１のキャラクターのレベルパラメータを当該関数の入力パラメータをとして、得られた乱数を第１のキャラクターのレベルに対応する進化確率として利用し、その後、当該進化確率を閾値（即ち、０．５、０．６、０．９などの予め設定された確率）と比較し、閾値よりも大きければ、次世代に生まれるノンプレイヤーキャラクターを進化させ、さもなければ進化させない。
【００４４】
なお、上記以外に、第１のキャラクターのレベルに対応する進化確率を取得するときに、実際の必要に応じて他の方法を使用してもよい。
【００４５】
目標イベントに対応する配置情報を取得するときに、以下のような方法によって実現することができる。即ち、目標イベントに対処するための第１の属性を確定し、第１の属性に基づき配置情報を確定し、ここで、第１の属性は、目標イベントが発生した場合に、目標イベントによる第２のキャラクターの目標属性値の修正程度が第１のキャラクターの目標属性値の修正程度よりも小さいことを指示するために使用され、配置情報は、第１の属性の各パラメータを配置するために使用されることと、目標イベントに対処するための第２の属性を確定し、第２の属性に基づき配置情報を確定し、ここで、第２の属性は、目標イベントがまもなく発生する場合に、目標イベントの発生を回避するための防御イベントを実行することを指示するために使用され、配置情報は、第２の属性の各パラメータを配置するために使用されることである。
【００４６】
実際の応用では、実際のニーズに応じて、上記の第１の属性と第２の属性のどちらを配置するかを確定することができ、具体的に、特定の目標イベントに従って確定することができる。例えば、プレイヤーによって引き起こされる攻撃イベント（ノンプレイヤーキャラクターの失血の可能性がある）に対して、攻撃されるときに失血を回避するか又は失血を減らすためにユーザーの防御属性（即ち、第１の属性）を配置できる。別の例では、ユーザーによって引き起こされる武器を奪取するための目標イベントに対して、ノンプレイヤーキャラクターの逃げ属性（即ち、第２の属性）を配置することができ、プレイヤーキャラクターのある挙動によって武器を奪取する目標イベントを引き起こそうとしていると判断したときに、ノンプレイヤーキャラクターの逃げ属性をトリガーして、プレイヤーキャラクターから離れるように逃げる（即ち、防御イベント）。別の例では、ノンプレイヤーキャラクターが障害物に触れる（即ち、ゲーム環境が第１のキャラクターの目標属性値を修正する目標イベント）ときに、プレイヤーのある属性（ライフ値など）に影響を及ぼす可能性もあり、このとき、第２の属性の進化をトリガーして、新たに生まれるノンプレイヤーキャラクターが障害物に触れる前に、障害物の位置を能動的に検出して、障害物をリアルタイムで避けて（即ち、目標イベントの発生を避けるための防御イベントを実行）、障害物によるダメージを回避することも可能である。
【００４７】
また、上記した第１の属性と第２の属性を配置することは、第１の属性又は第２の属性を新たに追加することであってもよいし、第１の属性又は第２の属性の属性パラメータを再配置して、対応する防御スキルをより強力にすることであってもよく、例えば、逃げるスピードを加速するなどである。
【００４８】
上記の実施例では、目標イベントに対処するための第１の属性又は第２の属性を確定するときに、他のプレイヤーが同じイベントに遭遇する処理方法を参照して、どれらの属性が第１の属性又は第２の属性であるかを確定することができる。具体的な方法は、プレイヤーキャラクターに関連する目標イベントが実行されることを検出したときに、目標イベントによるプレイヤーキャラクターの目標属性値の修正程度が第１のキャラクターの目標属性値の修正程度よりも小さい場合に、プレイヤーキャラクターが目標イベントに対処するときに使用する属性を第１の属性として保存するとともに、プレイヤーキャラクターが使用する属性の各パラメータを保存する。
【００４９】
また、目標イベントに対処するための第１の属性又は第２の属性を確定するときに、ゲーム開発者によって目標イベントに対処するためのスキル属性が定義されてもよい。
【００５０】
ステップＳ４０６によって提供される技術案において、第２のキャラクターを生成するときに、配置情報を使用して第２のキャラクターを配置することは、第２のキャラクターを生成するときに、配置情報を使用して同時に生成される複数の第２のキャラクターの属性を配置することを含み、ここで、複数の第２のキャラクターが同じレベルに属し、且つ、複数の第２のキャラクターがゲームに補充される。
【００５１】
関連技術における進化のアイデアはいずれもＡＩ個体に基づく設計であり、各ＡＩ個体は、生まれるときにまったく同じスキル属性を持ち、ＡＩ個体はトレーニングによってアップグレードし、ＡＩ個体がトレーニングによりアップグレードするにつれて、その外見も対応して変化する。このように、ユーザーはその外見などに応じて個体ＡＩの戦闘力などの情報を判断することで、適切な処理方法を採用することができる。
【００５２】
本出願では、新たに生まれる各世代のＡＩ個体はいずれも死亡したＡＩ（又は攻撃を受けたＡＩ）の経験を参照して対応するスキル属性が進化し、これにより、各世代のＡＩのスキル属性は異なり、ＡＩグループを進化させる設計を実現でき、このように、ゲームプレイヤーは、ＡＩと対戦するときに、ＡＩスキルのレベルを判断することができない。
【００５３】
本出願の技術案のさらなる理解のために、スネークという対戦ゲームを例として詳述する。スネークについて、通常の設計は、ゲームＡＩの知性を、プレイヤーの長さや値の成長、又はゲームＡＩ自体の長さや値のアップグレードに伴って変化させることである。これにより、より長いヘビの知能はより高くなり、生まれたばかりのヘビは知能が弱いものであり、全体のＡＩヘビのグループには進化の可能性がなく、全体の難しさは時間経過とともに増えていない。上記の問題を克服するために、本出願の技術案を使用して改善することができる。
【００５４】
この技術案では、図５に示すように、知能ＡＩヘビはヘッドとボディで構成され、ヘッド領域は複数のスキンとスタイルをサポートする独立した円であり、ボディの衝突検出領域は、複数の円と複数の矩形とを接合して形成されている。このような構成方式の利点は、ボディの形状と位置を最小限のジオメトリで正確に記述できることである。
【００５５】
各知能ＡＩヘビにヘッドホットゾーンの概念を追加し、ＡＩヘビを制御して他のヘビのヘッドホットゾーンを能動的に攻撃することによって、プレイヤー又は他のヘビに対する攻撃を実現する。ヘッドホットゾーン概略図を図６に示す。
【００５６】
上記のヘッドホットゾーンは、スネークゲームにおいてヘビのヘッドが位置している一定の範囲である。知能ＡＩヘビは、他のヘビのヘッドを自分のボディに衝突させて相手を殺すという目的を達成するために、能動的に加速してこの領域を通過することになる。
【００５７】
ゲームにおけるすべてのヘビはデフォルトで１つの進行速度を持っているので、ヘビのヘッドが他のプレイヤーのボディに当たった場合、そのヘビは死ぬことになる。そのため、ヘッドの前にあるヘッドホットゾーンの一部が他のプレイヤーのヘッドホットゾーンを一定の速度で素早く通過する場合、相手が適時に避けなければ殺されてしまう。
【００５８】
知能ＡＩヘビは自身の属性（主に攻撃検出頻度、視野範囲などによって制御）に従って他のヘビのヘッドのヘッドホットゾーンを能動的に攻撃し、加えて、知能ＡＩヘビの知性は、さらに次のものを含む。
（１）走行速度は、そのレベルに関連し、具体的には、ヘビが通常状態で移動する速度を指す。
（２）ステアリングの頻度は、そのレベルに関連し、具体的には、ヘビが通常状態で移動方向を調整する時間間隔を指す。
（３）ステアリングの最大角度は、そのレベルに関連し、具体的には、通常状態でヘビが方向を調整する最大角度を指す。
（４）加速走行速度は、そのレベルに関連し、具体的には、ヘビが加速状態で移動する速度を指す。
（５）加速ステアリングの最大角度は、そのレベルに関連し、具体的には、ヘビが加速状態で方向を調整する最大角度を指す。
（６）視野の大きさは、そのレベルに関連し、具体的には、ヘビの検出可能な範囲の大きさ（検出範囲内における食べ物と他のヘビを含む）を指す。
（７）能動的に加速して高エネルギー食べ物を奪う確率は、そのレベルに関連し、具体的には、加速して他のヘビの死体を奪う確率を指す。
（８）通常の食べ物を見つける頻度は、そのレベルに関連し、具体的には、通常の食べ物を検出する時間間隔を指す。
【００５９】
実現に関して、１つのＡＩヘビが一定の確率の範囲内においてある特徴を持っている場合、その子孫は、生まれるときからその特徴を持っていて、確率イベントではない。異なる世代のＡＩは、プレイヤーには知られておらず、対戦してはじめてＡＩ知能の差異を感じることができる。そのため、本出願の技術案の設計は、プレイヤーとゲームＡＩとが対戦することを必要とする様々なゲームシナリオに適用可能である。
【００６０】
本出願の技術案を実現するときに、開発及び検証環境は、Ｗｉｎｄｏｗｓ（登録商標）（Ｗｉｎ７などのバージョン）、Ｌｉｎｕｘ（Ｍａｃ  ＯＳ（登録商標）Ｘ、Ｕｂｕｎｔｕ（登録商標）、Ｄｅｂｉａｎ（登録商標）など）などの機器に使用される開発ツールソフトウェア（例えば、ＷｅｂＳｔｏｒｍ（登録商標））であってもよく、使用される開発言語はＪａｖａＳｃｒｉｐｔ（登録商標）、Ｃ＋＋、Ｊａｖａ（登録商標）などであってもよく、使用されるゲームエンジンはｃｏｃｏｓ２ｄ−ｊｓなどであってもよい。
【００６１】
図７に示すように、クライアント側のゲームＡＩ個体がリアルプレイヤーによって殺されたときに（即ち、ＡＩが殺されたイベント）、グループの進化論理がトリガーされ、進化論理は、殺されたＡＩの現在のレベルに従って、ＡＩ管理モジュールがそのレベルから進化できるある特性（スキル）の確率を取得し、進化システム（即ち、Ｅｖｏｌｕｔｉｏｎ  Ｓｙｓｔｅｍ）によって今回の進化が成功することができるかどうかを判断する。進化が成功すると、この時点以降に生まれるＡＩ個体はデフォルトで１つのレベルだけアップグレードされ、このレベルのＡＩは、生まれるときからこの特性又はスキル（高速回避、時間制限無敵、時間制限ステルスなど、製品ニーズに応じて配置可能）を備え、具体的には、属性管理モジュールによって、関連する属性を管理し、時間の経過に従って、ゲームＡＩ個体は、ますます完全な知能とスキル属性を備え、各世代ＡＩ個体の属性はＡＩ配置情報（即ち、ＡＩ  Ｃｏｎｆｉｇ  Ｄａｔａ）に保存される。ＡＩの属性の一部は図８に示すように、例えば、ヘビの現在のレベル、ヘビの初期移動速度、ヘビの初期旋回角速度などである。
【００６２】
進化が完成した後、新たに生まれたヘビは、対応するスキルを持つことになる。
【００６３】
ＡＩ配置情報（つまり、進化配置）内の各属性は、ＡＩヘビの各世代の更新に従って変換されたものであり、ここで知能ＡＩヘビの生まれるときの属性を定義した。これらの属性は、生まれたときのいくつかの値を定義するだけであり、絶えず食べ物を食べ、他のヘビを攻撃する過程で、知能ＡＩヘビは絶えず成長し、より長くそして速くなり、より強力な攻撃性を持つ。例えば、ヘビが移動中にステアリングしたり、回避したり、食べ物を見つけたりするかどうかを判断する。ここで、Ｍａｔｈ．ｒａｎｄｏｍ（）関数を使用して０と１の間の値を持つランダムな小数を取得することができ、これに各フレームの時間とそれに対応する属性配置時間を乗算することで、１つの値が得られる。そして、関数ｍａｔｈ．ｒｏｕｎｄを利用してこの値を丸め、０．５よりも小さい場合は０であり、０．５よりも大きい場合は１である。ここで、０であれば、対応するステアリング、食べ物を見つけること、又は加速などの知能イベントをトリガーし、さもなければ、対応するイベントをトリガーしない。
【００６４】
また、知能ＡＩヘビは、それ自身の属性に従って前のヘビのボディを避けるべきかどうかを判断することができ、避ける必要がある場合、まず減速し、次に移動方向を切り替える。本出願の実施案では、知能ＡＩヘビは、知能的に加速して食べ物を奪うとともに衝突を避け、正常の状態では、ゲーム内をぶらぶらして食べ物を食べ、人間のプレイヤーの操作に非常に似ている。
【００６５】
本出願の技術案を利用して、遺伝子の進化論によって、ＡＩ個体が殺されるか、又はダメージを受けることに伴って、グループの進化の確率イベントをトリガーする。グループ進化の確率は殺されたＡＩの属性によって決定される。進化が成功すると、グループがデフォルトでこの属性を持つか、又は既存の属性を基に値を上げる。このようなグループ進化の後に生まれた子孫は、このような属性と対応する値を持つ。
【００６６】
プレイヤーは、移動が遅く、スキル属性が弱いものを殺し続け、これは、自然界における適者生存の排除メカニズムと似ている。ゲームＡＩの属性は、プレイヤーの基本属性がアップグレードするにつれてアップグレードし、そして、このアップグレードは、すべて事前設定されるのではなく、プレイヤーの成長に従って、プレイヤーが殺したゲームオブジェクトの難易度によって判断される。これにより、プレイヤーにリアルプレイヤーと類似の対戦の楽しさを持たせることができる。複雑なステートマシンを使用する必要がないため、大量のイベント論理を列挙する必要がなく、開発作業量が大幅に削減される。
【００６７】
なお、上記の各方法の実施例について、簡単な説明のために、それらは一連の動作の組み合わせとして表現されているが、当業者は、本出願が説明される動作の順序によって制限されないことを理解すべきである。なぜなら、本出願に従って、特定のステップは他の順序で、又は同時に実行できるからである。そして、当業者はまた、本明細書に記載された実施例がすべて好ましい実施例であり、それに係る動作及びモジュールが必ずしも本発明に必要とされないことを理解すべきである。
【００６８】
以上の実施形態の説明によって、当業者には明らかなように、上記実施例による方法は、ソフトウェアと必要な汎用のハードウェアプラットフォームとによって実現することができ、当然ながら、ハードウェアによって実現することもできるが、多くの場合は前者の方が好ましい実施の形態である。このような理解に基づいて、本出願の技術案は本質的には、又は関連技術への貢献となる部分はソフトウェア製品の形で具現化でき、当該コンピューターソフトウェア製品は、記憶媒体（ＲＯＭ／ＲＡＭ、磁気ディスク、光ディスクなど）に記憶され、端末装置（携帯電話、コンピューター、サーバー、又はネットワーク装置など）に本出願の各実施例で説明された方法を実行させるための多数の命令が含まれる。
【００６９】
本出願の実施例によれば、上記キャラクターの配置方法を実施するためのキャラクターの配置装置をさらに提供する。図９は、本出願の実施例による選択可能なキャラクターの配置装置の概略図であり、図９に示すように、当該装置は１つ又は複数のプロセッサー、及び、プログラムユニットが記憶される１つ又は複数のメモリを含むことができ、ここで、プログラムユニットは、プロセッサーによって実行され、プログラムユニットは検出ユニット９２、第１の取得ユニット９４及び配置ユニット９６を含む。
【００７０】
検出ユニット９２は、ゲームにおいて第１のキャラクターに関連する目標イベントを検出するように設置され、ここで、第１のキャラクターはゲームにおいて生成される、人工知能を使用してプレイヤーキャラクターと対戦するノンプレイヤーキャラクターであり、目標イベントは第１のキャラクターの目標属性値を修正することを指示するために使用される。
【００７１】
第１の取得ユニット９４は、目標イベントに対応する配置情報を取得するように設置され、ここで、配置情報は、第２のキャラクターを配置するために使用され、配置された第２のキャラクターが目標イベントに対処するときに、目標イベントによる第２のキャラクターの目標属性値の修正程度が第１のキャラクターが目標イベントに対処するときの第１のキャラクターの目標属性値の修正程度が小さくなるようにし、第２のキャラクターは、ゲームにおいて生成されるノンプレイヤーキャラクターである。
【００７２】
配置ユニット９６は、第２のキャラクターを生成するときに、配置情報を使用して第２のキャラクターを配置するように設置される。
【００７３】
なお、当該実施例における検出ユニット９２は、本出願の上記の実施例におけるステップＳ４０２を実行するように設置でき、当該実施例における第１の取得ユニット９４は、本出願の上記の実施例におけるステップＳ４０４を実行するように設置でき、当該実施例における配置ユニット９６は、本出願の上記の実施例におけるステップＳ４０６を実行するように設置できる。
【００７４】
なお、上記モジュールは、対応するステップによって実現される例及び適用シナリオと同じであるが、上記の実施例に開示された内容に限定されない。上記モジュールは、装置の一部として図３に示されるようなハードウェア環境で実行されてもよく、ソフトウェアによって実現されてもよいしハードウェアによって実現されてもよい。
【００７５】
上記モジュールによって、ゲームにおいて第１のキャラクターに対して引き起こされる目標イベントを検出したときに、目標イベントに対応する配置情報を取得し、当該配置情報によって、生成される第２のキャラクターを配置して、配置された第２のキャラクターが目標イベントに対処するときに、目標イベントによる第２のキャラクターの目標属性値の修正程度が減少されるようにする。このように、ノンプレイヤーキャラクターの進化に伴い、毎回生まれる新キャラクターは、同じ初期形状を備えるが、新しいスキル属性を持つことになり、ゲームにおける多数のノンプレイヤーキャラクターについて、生まれる時間が異なるため、持っているスキル属性も異なり、同じイベントに対処するときに使用されるスキル属性も異なるので、ゲームキャラクターは、何度か試してノンプレイヤーキャラクターが固定イベントに対処するときに使用するスキル属性を確定することができないようになる。関連技術において人工知能キャラクターの動作メカニズムが知られるという技術的問題を解決して、人工知能キャラクターの動作メカニズムが知られることを避けるという技術的効果を達成することができる。
【００７６】
上記のゲームは、任意のタイプのゲームであってもよく、第１のキャラクターは目標イベントによって攻撃されるノンプレイヤーキャラクターであり、第２のキャラクターは次の世代（又は次のレベル）に生まれたノンプレイヤーキャラクターであり、目標イベントは、第１のキャラクターのある属性（即ち、目標属性）にダメージを与えることができるイベントであり、当該目標属性はライフ、スキル、武器、防御などを含むがこれらに限定されない。
【００７７】
現在の多人数参加型リアルタイムオンライン対戦ゲームでは、ゲームの対戦性と楽しさを高めるためにＡＩオブジェクトを使う必要がある。ＡＩを使用して、初期に様々な操作スキルに慣れるようにプレイヤーをトレーニングしたり、オンラインプレイヤーが少ない場合にプレイヤーとインタラクションして、より多くのリアルプレイヤーを引き付けるという目的を達成する。しかしながら、現在のＡＩは、様々な理由によりインタラクション効果が悪い。
【００７８】
本出願は、生物学的進化の基本原理に基づくゲームＡＩ（即ち、人工知能を使用するノンプレイヤーキャラクター）進化装置を実現し、生物学的進化の原理をシミュレートすることによって、ゲームＡＩシステムに自己進化する能力を与えることで、ゲームＡＩは、時間経過とともに進化する知能及び様々なスキル属性を獲得できる。この方法の設計思想は、ただ１つのＡＩ個体をオブジェクトとするのではなく、ゲームＡＩグループ全体を進化オブジェクトとして進化させることである。具体的な実現方法は、ゲームＡＩ個体がリアルプレイヤーによって殺されるとグループの進化論理がトリガーされ、進化論理は、殺されたＡＩの現在の世代（デフォルトは第１の世代又は第１のレベルから開始する）の値に基づいて、この世代がある属性特性（例えばスキル）を進化させる可能性がある確率を取得し、今回の進化が成功したかどうかを判断する。進化が成功した場合、この時点以降に生まれたＡＩは、デフォルトで次の世代又は次のレベルになり、この次世代のＡＩは、この属性特性を持って生まれる。時間が経つにつれて、ゲームＡＩはますます完全な知能とスキルの属性を持つようになる。
【００７９】
同時に、より多くのＡＩがプレイヤーによって殺されるにつれて、ＡＩは、既存のスキルの属性アップグレードもトリガーし、同様に確率的取得であり、取得が成功すると、以降生まれる次世代ＡＩはデフォルトでこの属性値を持っている。このような成長システムでは、各ＡＩは異なる曲線で成長するため、対戦の体験は毎回異なる。
【００８０】
上記実施例では、検出ユニットは、第１のキャラクターがプレイヤーキャラクターと対戦するときに、プレイヤーキャラクターが第１のキャラクターを攻撃することによって発生される目標イベントを検出するように設置される第１の検出モジュールと、第１のキャラクターがゲームのマップ内の目標位置にあるときに、目標位置のゲーム環境が第１のキャラクターの目標属性値を修正する目標イベントを検出するように設置される第２の検出モジュールとを含む。
【００８１】
上記の目標属性は、ライフ、スキル、武器、防御などを指示するための属性であってもよく、例えば、ライフ属性について、目標イベントはライフ属性の属性値を減少するためのイベントであり、スキル属性について、目標イベントは第１のキャラクターのスキル属性を奪取するか、又は、当該スキル属性によるプレイヤーキャラクターのダメージを軽減するためのイベントである。また例えば、武器属性について、目標イベントは、第１のキャラクターの武器を奪取するか、当該武器によるダメージを軽減するか又は当該武器を損傷するためのイベントであり、他の属性について、対応する属性の属性値を変化させるイベントであれば、目標イベントであり、本出願では個々に列挙しない。
【００８２】
武器属性について、第１のキャラクターがプレイヤーキャラクターと対戦するときに、プレイヤーキャラクターが武器を奪取するために第１のキャラクターを攻撃することによって発生される目標イベントを検出し、第１のキャラクターの武器が奪取されると、新たに生まれるキャラクターの進化がトリガーされ、その結果、新たに生まれたキャラクターは、プレイヤーがその武器を奪取しようとするときに適時に逃げるか又は反撃することができ、具体的には、新たに生まれるキャラクターの逃げスキル属性又は防御スキル属性を配置することによって実現される。
【００８３】
また、第１の検出モジュールは、プレイヤーキャラクターが第１のキャラクターを攻撃する第１のイベントを検出するように設置される第１の検出サブモジュールであって、第１のイベントが第１のキャラクターの目標属性値を第１の値に減少するために使用され、第１の値が第１のキャラクターの目標属性極大値よりも小さく、且つ第１のキャラクターの目標属性極小値以上である前記第１の検出サブモジュールと、プレイヤーキャラクターが第１のキャラクターを攻撃する第２のイベントを検出するように設置される第２の検出サブモジュールであって、第２のイベントが第１のキャラクターの目標属性値を第２の値だけ低下するために使用され、第２の値が正数である前記第２の検出サブモジュールとを含む。
【００８４】
上記の目標属性は、ライフ、スキル、武器、防御などを指示するための属性であってもよく、例えば、ライフ属性について、目標イベントはライフ属性の属性値を減少させるためのイベントであり、スキル属性について、目標イベントは第１のキャラクターのスキル属性を奪取するか、又は、当該スキル属性によるプレイヤーキャラクターのダメージを軽減するためのイベントである。また例えば、武器属性について、目標イベントは、第１のキャラクターの武器を奪取するか、当該武器によるダメージを軽減するか又は当該武器を損傷するためのイベントであり、他の属性について、対応する属性の属性値を変化させるイベントであれば、目標イベントであり、本出願では個々に列挙しない。
【００８５】
武器属性について、第１のキャラクターがプレイヤーキャラクターと対戦するときに、プレイヤーキャラクターが武器を奪取するために第１のキャラクターを攻撃することによって発生される目標イベントを検出し、第１のキャラクターの武器が奪取されると、新たに生まれるキャラクターの進化がトリガーされ、その結果、新たに生まれたキャラクターは、プレイヤーがその武器を奪取しようとするときに適時に逃げるか又は反撃することができ、具体的には、新たに生まれるキャラクターの逃げスキル属性又は防御スキル属性を配置することによって実現される。
【００８６】
上記の第２の値は、あるイベントが第１のキャラクターに固定のダメージを与える（即ち、属性値が第２の値だけ減少するダメージを与える）ときに、新たに生まれたノンプレイヤーキャラクターが、当該イベントによって与えられるダメージを回避するか又は当該イベントによるダメージを軽減するように当該イベントに対して進化することをトリガーする。
【００８７】
選択可能な実施例では、目標イベントに対応する配置情報を取得する前に、攻撃イベントに遭遇する度にノンプレイヤーキャラクターを進化させることができると、ノンプレイヤーキャラクターが強力になりすぎ、ゲームプレイヤーキャラクターがノンプレイヤーキャラクターと対戦するときに、ゲームは難しすぎることになり、ゲームプレイヤーの体験に影響を及ぼし、ゲームへの興味を減少させる。
【００８８】
上記問題を克服するために、本出願の上記装置は、第１の取得ユニットが目標イベントに対応する配置情報を取得する前に、第１のキャラクターのレベルに対応する進化確率を取得するように設置される第２の取得ユニットをさらに含んでもよく、進化確率は、第２のキャラクターが目標イベントに対処するための属性を取得することを許可する確率であり、進化確率が予め設定された確率よりも大きい場合に、第１の取得ユニットが目標イベントに対応する配置情報を取得することを指示する。
【００８９】
他の選択可能な実施例では、第１の取得ユニットは、目標イベントに対処するための第１の属性を確定し、第１の属性に基づき配置情報を確定するように設置される第１の確定モジュールであって、第１の属性は、目標イベントが発生した場合に、目標イベントによる第２のキャラクターの目標属性値の修正程度が第１のキャラクターの目標属性値の修正程度よりも小さいことを指示するために使用され、配置情報は、第１の属性の各パラメータを配置するために使用される前記第１の確定モジュールと、目標イベントに対処するための第２の属性を確定し、第２の属性に基づき配置情報を確定するように設置される第２の確定モジュールであって、第２の属性は、目標イベントが発生しようとする場合に、目標イベントの発生を回避するための防御イベントを実行することを指示するために使用され、配置情報は、第２の属性の各パラメータを配置するために使用される前記２の確定モジュールとを含む。
【００９０】
実際の応用では、実際のニーズに応じて、上記の第１の属性と第２の属性のどちらを配置するかを確定することができ、具体的に、特定の目標イベントに従って確定することができる。例えば、プレイヤーによって引き起こされる攻撃イベント（ノンプレイヤーキャラクターの失血の可能性がある）に対して、攻撃されるときに失血を回避するか又は失血を減らすためにユーザーの防御属性（即ち、第１の属性）を配置できる。別の例では、ユーザーによって引き起こされる武器を奪取するための目標イベントに対して、ノンプレイヤーキャラクターの逃げ属性（即ち、第２の属性）を配置することができ、プレイヤーキャラクターのある挙動によって武器を奪取する目標イベントを引き起こそうとしていると判断したときに、ノンプレイヤーキャラクターの逃げ属性をトリガーして、プレイヤーキャラクターから離れるように逃げる（即ち、防御イベント）。別の例では、ノンプレイヤーキャラクターが障害物に触れる（即ち、ゲーム環境が第１のキャラクターの目標属性値を修正する目標イベント）ときに、プレイヤーのある属性（ライフ値など）に影響を及ぼす可能性もあり、このとき、第２の属性の進化をトリガーして、新たに生まれるノンプレイヤーキャラクターが障害物に触れる前に、障害物の位置を能動的に検出して、障害物をリアルタイムで避けて（即ち、目標イベントの発生を避けるための防御イベントを実行）、障害物のダメージを回避することも可能である。
【００９１】
また、上記した第１の属性と第２の属性を配置することは、第１の属性又は第２の属性を新たに追加することであってもよいし、第１の属性又は第２の属性の属性パラメータを再配置して、対応する防御スキルをより強力にすることであってもよく、例えば、逃げるスピードを加速するなどである。
【００９２】
上記の実施例では、目標イベントに対処するための第１の属性又は第２の属性を確定するときに、他のプレイヤーが同じイベントに遭遇する処理方法を参照して、どの属性が第１の属性又は第２の属性であるかを確定することができる。具体的には、第１の確定モジュールによって実現することができ、第１の確定モジュールはさらに、プレイヤーキャラクターに関連する目標イベントが実行されることを検出したときに、目標イベントによるプレイヤーキャラクターの目標属性値の修正程度が第１のキャラクターの目標属性値の修正程度よりも小さい場合に、プレイヤーキャラクターが目標イベントに対処するときに使用する属性を第１の属性として保存するとともに、プレイヤーキャラクターが使用する属性の各パラメータを保存するように設置される。
【００９３】
また、目標イベントに対処するための第１の属性又は第２の属性を確定するときに、ゲーム開発者によって目標イベントに対処するためのスキル属性を定義してもよい。
【００９４】
また、配置ユニットはさらに、第２のキャラクターを生成するときに、配置情報を使用して同時に生成される複数の第２のキャラクターの属性を配置するように設置され、その中、複数の第２のキャラクターは同じレベルに属し、且つ、複数の第２のキャラクターはゲームに補充される。
【００９５】
関連技術における進化のアイデアはいずれもＡＩ個体に基づく設計であり、各ＡＩ個体は、生まれるときにまったく同じスキル属性を持ち、ＡＩ個体はトレーニングによってアップグレードし、ＡＩ個体がトレーニングによりアップグレードするにつれて、その外見も対応して変化する。このように、ユーザーはその外見などに応じて個体ＡＩの戦闘力などの情報を判断することで、適切な処理方法を採用することができる。
【００９６】
本出願では、新たに生まれる各世代のＡＩ個体はいずれも死亡したＡＩ（又は攻撃を受けたＡＩ）の経験を参照して対応するスキル属性を進化し、これにより、各世代のＡＩのスキル属性が異なり、ＡＩグループを進化させる設計を実現でき、このように、ゲームプレイヤーは、ＡＩと対戦するときに、ＡＩスキルのレベルを判断することができない。
【００９７】
上記モジュールは、対応するステップによって実現される例及び適用シナリオと同じであるが、上記の実施例に開示された内容に限定されない。上記モジュールは、装置の一部として図３に示されるようなハードウェア環境で実行されてもよく、ソフトウェアによって実現されてもよいしハードウェアによって実現されてもよく、ハードウェア環境にはネットワーク環境が含まれる。
【００９８】
本出願の実施例によれば、上記キャラクターの配置方法を実施するための電子装置をさらに提供する。
【００９９】
図１０は、本出願の実施例による電子装置の構成ブロック図であり、図１０に示すように、当該電子装置は、１つ又は複数の（１つだけ図示されている）プロセッサー１００１、メモリ１００３、及び伝送装置１００５を含むことができ、図１０に示すように、当該電子装置は入出力装置１００７を含んでもよい。
【０１００】
メモリ１００３は、本出願の実施例におけるキャラクター配置方法及び装置に対応するプログラム命令／モジュールなどの、コンピュータープログラム及びモジュールを記憶するように設置でき、プロセッサー１００１は、メモリ１００３内に記憶されたコンピュータープログラム及びモジュールを実行することで、各機能アプリケーション及びデータ処理を実行する、即ち、上記のキャラクターの配置方法を実現するように設置される。メモリ１００３は、高速ランダムアクセスメモリを含むことができ、また、１つ又は複数の磁気記憶装置、フラッシュメモリ、又は他の不揮発性固体メモリなどの不揮発性メモリを含むこともできる。ある例では、メモリ１００３は、プロセッサー１００１に対して遠隔に設置されたメモリをさらに含むことができ、それらはネットワークを介して端末に接続することができる。上記ネットワークの例として、インターネット、イントラネット、ローカルエリアネットワーク、移動体通信ネットワーク、及びそれらの組み合わせが挙げられるが、これらに限定されない。
【０１０１】
上記伝送装置１００５は、ネットワークを介してデータを送受信するように設置され、プロセッサーとメモリとの間でデータを伝送するように設置されてもよい。上記のネットワークの具体例として、有線ネットワーク、無線ネットワークが挙げられる。一例では、伝送装置１００５は、インターネット又はローカルエリアネットワークと通信するためにネットワークケーブルを介して他のネットワーク装置及びルータに接続することができるネットワークインタフェースコントローラ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃｏｎｔｒｏｌｌｅｒ、ＮＩＣ）を含む。一例では、伝送装置１００５はインターネットと無線で通信するように設置される無線周波数（Ｒａｄｉｏ  Ｆｒｅｑｕｅｎｃｙ、ＲＦ）モジュールである。
【０１０２】
また、メモリ１００３は、アプリケーションプログラムを記憶するように設置される。
【０１０３】
プロセッサー１００１は、伝送装置１００５によってメモリ１００３に記憶されたアプリケーションプログラムを呼び出して、以下のステップを実行する。即ち、ゲームにおいて第１のキャラクターに関連する目標イベントを検出することであって、ここで、第１のキャラクターはゲームにおいて生成される、人工知能を使用してプレイヤーキャラクターと対戦するノンプレイヤーキャラクターであり、目標イベントは第１のキャラクターの目標属性値を修正することを指示するために使用されることと、目標イベントに対応する配置情報を取得することであって、ここで、配置情報は、第２のキャラクターを配置するために使用され、配置された第２のキャラクターが目標イベントに対処するときに、目標イベントによる第２のキャラクターの目標属性値の修正程度が第１のキャラクターが目標イベントに対処するときの第１のキャラクターの目標属性値の修正程度よりも小さくなるようにし、第２のキャラクターはゲームにおいて生成されるノンプレイヤーキャラクターであることと、第２のキャラクターを生成するときに、配置情報を使用して第２のキャラクターを配置することとを実行する。
【０１０４】
本出願の実施例によると、ゲームにおいて第１のキャラクターに対して引き起こされる目標イベントを検出したときに、目標イベントに対応する配置情報を取得し、当該配置情報によって、生成される第２のキャラクターを配置して、配置された第２のキャラクターが目標イベントに対処するときに、目標イベントによる第２のキャラクターの目標属性値の修正程度が減少されるようにし、このように、ノンプレイヤーキャラクターの進化に伴い、毎回生まれる新キャラクターは、同じ初期形状を備えるが、新しいスキル属性を持つことになり、ゲームにおける多数のノンプレイヤーキャラクターについて、生まれる時間が異なるため、持っているスキル属性も異なり、同じイベントに対処するときに使用されるスキル属性も異なるので、ゲームキャラクターは、何度か試してノンプレイヤーキャラクターが固定イベントに対処するときに使用するスキル属性を確定することができないようになる。関連技術において人工知能キャラクターの動作メカニズムが知られるという技術的問題を解決して、人工知能キャラクターの動作メカニズムが知られることを避けるという技術的効果を達成することができる。
【０１０５】
また、本実施例における具体例は、上記実施例において説明された例を参照することができ、本実施例はここでは繰り返さない。
【０１０６】
当業者は、図１０に示す構成は例示にすぎず、端末はスマートフォン（Ａｎｄｒｏｉｄ（登録商標）携帯電話、ｉＯＳ携帯電話など）、タブレットＰＣ、パームコンピュータ、及びモバイルインターネットデバイス（Ｍｏｂｉｌｅ  Ｉｎｔｅｒｎｅｔ  Ｄｅｖｉｃｅｓ、ＭＩＤ）、ＰＡＤなどの端末装置であり得ることを理解することができる。図１０は、上記電子装置の構成を限定するものではない。例えば、端末はまた、図１０に示すよりも多くの又は少ない構成要素（ネットワークインターフェース、表示装置など）を含むことができ、又は、図１０に示すものとは異なる構成を有することができる。
【０１０７】
当業者であれば、上記実施例の各方法におけるステップの全部又は一部は、端末装置に関連するハードウェアに命令するためのプログラムによって達成することができることを理解することができる。当該プログラムは、コンピューター読取可能記憶媒体に記憶でき、記憶媒体は、フラッシュディスク、読み取り専用メモリ（Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ、ＲＯＭ）、ランダムアクセスメモリ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ、ＲＡＭ）、磁気ディスク又は光ディスクなどを含み得る。
【０１０８】
本出願の実施例は、記憶媒体をさらに提供する。また、本実施例では、上記記憶媒体にはコンピュータープログラムが記憶され、コンピュータープログラムは実行されるときにキャラクターの配置方法を実行するように設置される。
【０１０９】
また、本実施例では、上記記憶媒体は、上記実施例に示されるネットワークにおける複数のネットワーク装置のうち少なくとも１つのネットワーク装置に配置できる。
【０１１０】
また、本実施例では、記憶媒体は、以下のステップを実行するためのプログラムコードを記憶するように設置される。
【０１１１】
Ｓ１：ゲームにおいて第１のキャラクターに関連する目標イベントを検出し、ここで、第１のキャラクターはゲームにおいて生成される、人工知能を使用してプレイヤーキャラクターと対戦するノンプレイヤーキャラクターであり、目標イベントは、第１のキャラクターの目標属性値を修正することを指示するために使用される。
【０１１２】
Ｓ２：目標イベントに対応する配置情報を取得し、ここで、配置情報は、第２のキャラクターを配置するために使用され、配置された第２のキャラクターが目標イベントに対処するときに、目標イベントによる第２のキャラクターの目標属性値の修正程度が第１のキャラクターが目標イベントに対処するときの第１のキャラクターの目標属性値の修正程度よりも小さくなるようにし、第２のキャラクターはゲームにおいて生成されるノンプレイヤーキャラクターである。
【０１１３】
Ｓ３：第２のキャラクターを生成するときに、配置情報を使用して第２のキャラクターを配置する。
【０１１４】
また、本実施例における具体例は、上記実施例において説明された例を参照することができ、本実施例はここでは繰り返さない。
【０１１５】
また、本実施例では、上記記憶媒体は、ＵＳＢフラッシュドライブ、読み取り専用メモリ（ＲＯＭ、Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ランダムアクセスメモリ（ＲＡＭ、Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、モバイルハードディスク、磁気メモリ又は光ディスクなどのプログラムコードを記憶することができる様々な媒体を含むことができるがこれらに限定されない。
【０１１６】
上記本出願の実施例の通し番号は単に説明のためのものであり、実施例の良し悪しを表すものではない。
【０１１７】
上記実施例における統合ユニットは、ソフトウェア機能ユニットの形態で実現され、独立の製品として販売又は使用されるとき、上記コンピューター読取可能記憶媒体に記憶することができる。このような理解に基づいて、本出願の技術案は、本質的には、又は関連技術に対して貢献する部分、又は技術案の全部又は一部は、ソフトウェア製品の形態で実施することができ、当該コンピューターソフトウェア製品は記憶媒体に記憶され、１つ又は複数のコンピューター装置（パーソナルコンピュータ、サーバー又はネットワーク装置などであり得る）に本出願の様々な実施例で説明される方法のステップの全部又は一部を実行させるための多数の命令を含む。
【０１１８】
本出願の上記の実施例では、各実施例の説明のフォーカスが異なり、ある実施例で詳述されていない部分は、他の実施例の関連する説明を参照することができる。
【０１１９】
本出願によって提供されるいくつかの実施形態において、開示されたクライアントは他の方法でも実現できることを理解されたい。ここで、上記の装置の実施例は単に例示的なものであり、例えば、上記のユニットの分割は論理的な機能分割にすぎない。実際の実現では他の区分があってよく、例えば、複数のユニット又は構成要素を組み合わせたり、別のシステムに統合したり、あるいは、いくつかの特徴を省略して実施しないことがある。さらに、図示又は説明した相互結合又は直接結合又は通信接続は、何らかのインターフェース、ユニット、又はモジュールを介した間接結合又は通信接続とすることができ、電気的又は他の形態であり得る。
【０１２０】
別々の構成要素として記載されているユニットは、物理的に別々であっても、そうでなくてもよい。ユニットとして表示される構成要素は、物理的ユニットであっても、そうでなくてもよく、即ち、一箇所に配置されてもよく、又は複数のネットワークユニットに分散されてもよい。実施例の解決案の目的を達成するために、実際のニーズに応じて、いくつか又はすべてのユニットを選択することができる。
【０１２１】
また、本出願の各実施例における各機能ユニットは、１つの処理ユニットに統合されてもよいし、各ユニットは物理的に単独で存在してもよく、２つ以上のユニットが１つのユニットに統合されてもよい。上記の統合ユニットは、ハードウェアの形態又はソフトウェア機能ユニットの形態で実現することができる。
【０１２２】
上記は、本出願の好ましい実施形態にすぎず、本出願の原理から逸脱することなく、当業者によって多くの改良及び修正がなされることができ、これらの改良や修正も本出願の保護範囲内と見なすべきであることに留意されたい。
【図１】
2020504653.tif 000003
【図２】
2020504653.tif 000004
【図３】
2020504653.tif 000005
【図４】
2020504653.tif 000006
【図５】
2020504653.tif 000007
【図６】
2020504653.tif 000008
【図７】
2020504653.tif 000009
【図８】
2020504653.tif 000010
【図９】
2020504653.tif 000011
【図１０】
2020504653.tif 000012
【国際調査報告】
2020504653.tif 000013
2020504653.tif 000014
2020504653.tif 000015
2020504653.tif 000016