(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-12-02
(45)【発行日】2022-12-12
(54)【発明の名称】キャラクターの配置方法及び装置、記憶媒体並びに電子装置
(51)【国際特許分類】
A63F 13/56 20140101AFI20221205BHJP
A63F 13/58 20140101ALI20221205BHJP
【FI】
A63F13/56
A63F13/58
(21)【出願番号】P 2019534753
(86)(22)【出願日】2018-04-10
(86)【国際出願番号】 CN2018082513
(87)【国際公開番号】W WO2018192395
(87)【国際公開日】2018-10-25
【審査請求日】2019-06-24
【審判番号】
【審判請求日】2021-03-12
(31)【優先権主張番号】201710261467.5
(32)【優先日】2017-04-20
(33)【優先権主張国・地域又は機関】CN
(73)【特許権者】
【識別番号】514187420
【氏名又は名称】テンセント・テクノロジー・(シェンジェン)・カンパニー・リミテッド
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】シー,ウェイ
【合議体】
【審判長】古屋野 浩志
【審判官】藤本 義仁
【審判官】比嘉 翔一
(56)【参考文献】
【文献】ライネルの倒し方と22ヶ所の出現場所、1分で簡単に倒す方法,ゼルダの伝説ブレスオブザワイルド攻略 [online],2017年 4月11日,[2020年6月2日検索],URL,https://zelda-bow.xyz/rinel-battle
【文献】ニーアオートマタ攻略 ラスボスのイヴ戦~エンディングまで,グリム通信 [online],2017年 3月26日,[2021年4月20日検索],URL,https://速報最新ニュース.com/nierautomata/31839/
【文献】電撃ファンタシースターオンライン2 for EPISODE 2,株式会社KADOKAWA,2014年 7月17日,第1版,p.68
【文献】Zelda: Breath of the Wild - Armor Sets,Shacknews [online],2017年 3月 7日,[2020年6月2日検索],URL,https://www.shacknews.com/article/99306/zelda-breath-of-the-wild---armor-sets
【文献】ファイティングスタジオ,ブレス オブ ファイア V ドラゴンクォーター 完全攻略ガイド,株式会社カプコン,2003年 1月10日,第1版,p.16
【文献】キングダム ハーツII ファイナル ミックス+アルティマニア,株式会社スクウェア・エニックス,2008年 2月20日,第4版,p.254
【文献】ゼルダの伝説 ブレス オブ ザ ワイルド,週刊ファミ通,カドカワ株式会社,2017年 3月 3日,第32巻 第11号,p.187,216
【文献】ポケットモンスター ブラック2 ポケットモンスター ホワイト2,ファミ通DSプラスWii,株式会社エンターブレイン,2012年 9月21日,第14巻 第11号,p.24
【文献】ディスガイア D2 ザ・コンプリートガイド,株式会社アスキー・メディアワークス,2013年 4月26日,第1版,p.187
(58)【調査した分野】(Int.Cl.,DB名)
A63F 9/24,13/00 - 13/98
(57)【特許請求の範囲】
【請求項1】
コンピュータにゲームを実行させるプログラムにおけるキャラクターの
設定方法であって、前記プログラムを実行することにより前記コンピュータが備えるプロセッサーが、
ゲームにおいて第1のキャラクターに関連する
イベントを検出し、なお、前記第1のキャラクターは、前記ゲームにおいて前記コンピュータにより生成及び制御され、プレイヤーキャラクターと対戦するノンプレイヤーキャラクターであり、前記
イベントは、前記第1のキャラクターの
属性値
にダメージを与えるものであり、前記第1のキャラクターの
属性値
にダメージを与えることにより前記
属性値が第1の割合以下にまで又は第2の割合以上低下した場合に、前記第1のキャラクターの
属性値を進化させ
て前記第1のキャラクターが前記イベントに遭遇した場合にダメージを回避又は低減させることと、
前記
イベントに
対処するための設定情報を取得する前に、前記第1のキャラクターの世代に対応する進化確率を取得し、なお、前記進化確率は、第2のキャラクターが、前記
イベントに対処するための前記
設定情報を取得することを許可される確率であり、前記第2のキャラクターは、前記ゲームにおいて、前記第1のキャラクターの次世代のキャラクターとして生成されるノンプレイヤーキャラクターであることと、
前記第1のキャラクターの
属性値を修正することにより前記
属性値が第1の割合以下にまで又は第2の割合以上低下し、前記進化確率が予め設定された確率よりも大きい場合に、前記
イベントに
対処するための設定情報を取得し、なお、前記
設定情報は、前記第2のキャラクターをゲーム空間に配置するために使用され、前記
設定情報は、ゲーム空間に配置された前記第2のキャラクターが前記
イベントに対処するときに、前記
イベントによる前記第2のキャラクターの
属性値の
変化の程度が、前記第1のキャラクターが前記
イベントに対処するときの前記第1のキャラクターの
属性値の
変化の程度よりも小さくなるように進化させることと、
前記第2のキャラクターを生成するときに、前記
設定情報を使用して前記第2のキャラクターを配置することと、
を含む方法。
【請求項2】
前記
イベントに対処するための前記
設定情報は、前記
イベントが発生しようとする場合に、前記
イベントの発生を回避するための防御イベントを実行することを指示するために使用される、請求項1に記載の方法。
【請求項3】
前記第2のキャラクターを生成するときに、前記
設定情報を使用して前記第2のキャラクターをゲーム空間に配置することは、
前記第2のキャラクターを生成するときに、前記
設定情報を使用して、同時に生成される複数の前記第2のキャラクターをゲーム空間に配置することを含み、なお、複数の前記第2のキャラクターは同じ世代に属し、且つ、複数の前記第2のキャラクターは前記ゲームに補充される、
請求項1に記載の方法。
【請求項4】
前記プレイヤーキャラクターが前記第1のキャラクターを攻撃する第1のイベントを検出することは、
前記プレイヤーキャラクターによって引き起こされ、且つ、前記第1のキャラクターの前記
属性値を前記
属性極小値に減少させるために使用される前記第1のイベントを検出すること、
を含む請求項
1に記載の方法。
【請求項5】
前記コンピュータに請求項1から
4のいずれか一項に記載の方法を実行させるコンピュータープログラム。
【請求項6】
前記コンピュータを含む電子装置であって
メモリとプロセッサーを含み、前記メモリにはコンピュータープログラムが記憶され、前記プロセッサーは前記コンピュータープログラムによって請求項1から
4のいずれか一項に記載の方法を実行するように設置される、電子装置。
【発明の詳細な説明】
【技術分野】
【0001】
本出願は、2017年04月20日に中国特許庁に提出された、出願番号が201710261467.5であって、発明の名称が「キャラクターの配置方法及び装置」である中国特許出願に基づく優先権を主張するものであり、その全内容を本出願に参照により援用する。
【0002】
本出願は、インターネット分野に関し、具体的に、キャラクターの配置方法及び装置、記憶媒体並びに電子装置に関する。
【背景技術】
【0003】
人工知能(Artificial Intelligence、AI)は、人間の知能をシミュレート、拡大、及び拡張するための理論、方法、技術、及びアプリケーションシステムを研究及び開発する新しい技術科学である。関連技術では、ゲームにおける人工知能の適用は、非常に一般的であり、ゲームAIの主な目的はAIを有するキャラクターを非常に知的に見せることである。
【0004】
ゲームAIは、ゲームにおける人工知能キャラクターであり、本出願では、ゲームにおいて知能を有するキャラクターを指し、リアルプレイヤーの様々な挙動をシミュレートするとともに、人間の操作をシミュレートしてプレイヤーと対戦することができる。一般的に、ゲームにおいて、プレイヤーは、ゲームAIと対戦することでスキルと経験を積む。
【0005】
例えば、対戦ゲームにおいて、ゲームAI関連の実現方法では、主にオブジェクトの挙動を制御し、これに基づいて、AIの設計には、主に規則の設定と挙動の列挙の2つの方法が含まれる。規則の設定とは、一連の規則を明確に設定してから、対応する値を関連オブジェクトに割り当てることであり、その後、システム全体が規則に従って実行され、規則が設定されると、スマートオブジェクトは規則によって制限された範囲に従って実行される。既存の規則が存在するため、これらのAIの挙動は基本的に予想可能であり、ユーザーは、複数回の試行の後にこれらの規則を回避する方法を学ぶことができる。挙動の列挙について、基本的に、対応するオブジェクトのすべての可能な挙動を想定し、その後、すべての応答を手動で決定する。これにより、すべての挙動ブランチをツリー状のシステムに構築するか、又は、ステートマシンを使用してそれぞれの挙動の間のトリガー条件と切り換えの論理を維持する。これは非常に細かく考慮する必要があり、それぞれの可能な挙動に対して対応する応答を設定する必要があるので、この方法の欠点の1つは作業量が大きいことであり、もう1つは、ゲームオブジェクトに同じ刺激を与えることが多く、挙動が同じであるので、数回繰り返すと、プレイヤーはそれが固定の機械挙動であることがわかり、それによってユーザーの経験に影響を与えることである。
【発明の概要】
【発明が解決しようとする課題】
【0006】
関連技術の技術案において、実際のゲーム設計では、単一のAI個体を設計目標として、上記の設計方法の1つ又は2つを同時に使用してAIインテリジェンスの目的を達成する。様々なステートマシンと挙動ツリーを構築してAI個体の挙動を改善することによって、AI個体をできるだけ賢く見せる。例えば、対戦ゲームでは、一般的に、AIキャラクターは次のような動作を取る。
【0007】
動作1:プレイヤーが見つからない場合、特定の地域をさまよう。
動作2:プレイヤーが見つかったら、プレイヤーを追いかけてプレイヤーキャラクターを攻撃する。
動作3:自己の血液量が一定量より少なくなる場合、プレイヤーに遭遇すると逃げる。
【0008】
ここで、AIの反応について、パトロール中(Patrolling)、攻撃中(Attacking)、逃走中(Escaping)の3つの状態を抽象することができ、各状態インターフェースは、状態に入る、状態動作を実行する、状態を終了するという3つの論理を含むべきである。具体的な状態図は
図1に示している。その後、AIは環境のトリガーに応じて各状態の間で切り換える。例えば、パトロール中のAI個体がプレイヤーキャラクターに遭遇した場合、自分に対する脅威がプレイヤーよりも弱いかどうかを判断し、そうであれば逃げ、さもなければプレイヤーを攻撃し、AI個体が逃走状態にある場合にも、安全状態に復元したかどうかをリアルタイムで判断し、そうであればパトロール状態に入り、さもなければ逃げ続ける。攻撃状態にあるAI個体も、自分に対する脅威が敵よりも弱いかどうかをリアルタイムで判断し、そうであれば逃げ、さもなければプレイヤーキャラクターを攻撃し続ける。
【0009】
当然ながら、実際の開発では、状態の種類を増やすことができ、ステートマシンをより複雑にすることができ、対応するAIはより知的になって、より多くの種類のシーンを処理することができる。
【0010】
通常の場合における単一の個体のAI設計データ構造は
図2に示すとおりであり、このデータ構造では、AIが有する属性特徴(例えば、プレイヤーが位置する地理位置など)について詳述し、確率イベントが発生する値の範囲などを記載することもできる。属性特徴は主に、マップ位置、画面位置、アニメーション情報、ミリタリーランク等の情報を含む。
【0011】
関連する技術案の欠点は、ルーチンが基本的に固定されており、同じ種類のAI間に違いはなく、同じ操作メカニズムが採用されるため、プレイヤーが数回試みると、ロボットの動作モードを理解することができ、そして、対応する方法を使用して解読して応答することができることである。また、非常に完全なAI応答メカニズムを作ろうとすれば、すべての可能な挙動を列挙する作業量は大きすぎるため、一般的なスモールゲームではそれができない。
【0012】
関連技術において人工知能キャラクターの動作メカニズムが知られるという技術的問題について、有効な解決策はまだ提案されていない。
【課題を解決するための手段】
【0013】
本出願の実施例は、関連技術において人工知能キャラクターの動作メカニズムが知られるという技術的問題を少なくとも解決するように、キャラクターの配置方法及び装置、記憶媒体並びに電子装置を提供する。
【0014】
本出願の実施例の一態様によれば、キャラクターの配置方法を提供し、当該方法は、ゲームにおいて第1のキャラクターに関連する目標イベントを検出し、なお、第1のキャラクターはゲームにおいて生成される、人工知能を使用してプレイヤーキャラクターと対戦するノンプレイヤーキャラクターであり、目標イベントは、第1のキャラクターの目標属性値を修正することを指示するために使用されることと、目標イベントに対応する配置情報を取得し、なお、配置情報は、第2のキャラクターを配置するために使用され、配置された第2のキャラクターが目標イベントに対処するときに、目標イベントによる第2のキャラクターの目標属性値の修正程度が、第1のキャラクターが目標イベントに対処するときの第1のキャラクターの目標属性値の修正程度よりも小さくなるようにし、第2のキャラクターはゲームにおいて生成されるノンプレイヤーキャラクターであることと、第2のキャラクターを生成するときに、配置情報を使用して第2のキャラクターを配置することと、を含む。
【0015】
本出願の実施例の他の態様によれば、キャラクターの配置装置をさらに提供し、当該配置装置は1つ又は複数のプロセッサー、及びプログラムユニットが記憶される1つ又は複数のメモリを含み、なお、プログラムユニットはプロセッサーによって実行され、プログラムユニットは、ゲームにおいて第1のキャラクターに関連する目標イベントを検出するように設置される検出ユニットであって、第1のキャラクターはゲームにおいて生成される、人工知能を使用してプレイヤーキャラクターと対戦するノンプレイヤーキャラクターであり、目標イベントは第1のキャラクターの目標属性値を修正することを指示するために使用される前記検出ユニットと、目標イベントに対応する配置情報を取得するように設置される第1の取得ユニットであって、配置情報は、第2のキャラクターを配置するために使用され、配置された第2のキャラクターが目標イベントに対処するときに、目標イベントによる第2のキャラクターの目標属性値の修正程度が、第1のキャラクターが目標イベントに対処するときの第1のキャラクターの目標属性値の修正程度よりも小さくなるようにし、第2のキャラクターはゲームにおいて生成されるノンプレイヤーキャラクターである前記第1の取得ユニットと、第2のキャラクターを生成するときに、配置情報を使用して第2のキャラクターを配置するように設置される配置ユニットとを含む。
【0016】
本出願の実施例では、ゲームにおいて第1のキャラクターに対して引き起こされる目標イベントを検出したときに、目標イベントに対応する配置情報を取得し、当該配置情報によって、生成される第2のキャラクターを配置して、配置された第2のキャラクターが目標イベントに対処するときに、目標イベントによる第2のキャラクターの目標属性値の修正程度が減少されるようにし、このように、ノンプレイヤーキャラクターの進化に伴い、毎回生まれる新キャラクターは、同じ初期形状を備えるが、新しいスキル属性を持つことになり、ゲームにおける多数のノンプレイヤーキャラクターについて、生まれる時間が異なるため、持っているスキル属性も異なり、同じイベントに対処するときに使用されるスキル属性も異なるので、ゲームキャラクターは、何度か試してノンプレイヤーキャラクターが固定イベントに対処するときに使用するスキル属性を確定することができないようになる。関連技術において人工知能キャラクターの動作メカニズムが知られるという技術的問題を解決して、人工知能キャラクターの動作メカニズムが知られることを避けるという技術的効果を達成することができる。
【図面の簡単な説明】
【0017】
本明細書に示される図面は、本出願のさらなる理解を提供するためのものであり、本出願の一部分を構成する。本出願の例示的な実施例及びその説明は本出願を説明するためのものであり、本出願の不適切な限定を構成するものではない。図面は次のとおりである。
【0018】
【
図1】関連技術におけるAIの状態遷移の概略図である。
【
図2】関連技術におけるAIのデータ構造の概略図である。
【
図3】本出願の実施例によるキャラクターの配置方法のハードウェア環境の概略図である。
【
図4】本出願の実施例による選択可能なキャラクターの配置方法のフローチャートである。
【
図5】本出願の実施例による選択可能なAIヘビの概略図である。
【
図6】本出願の実施例による選択可能なヘッドホットゾーンの概略図である。
【
図7】本出願の実施例による選択可能な進化システムの概略図である。
【
図8】本出願の実施例による選択可能なAI属性の概略図である。
【
図9】本出願の実施例による選択可能なキャラクターの配置装置の概略図である。
【
図10】本出願の実施例による電子装置の構成ブロック図である。
【発明を実施するための形態】
【0019】
当業者に本出願の解決案をよりよく理解させるために、本出願の実施例に関する添付の図面を参照しながら、本出願の実施例における技術案を以下に明確かつ完全に説明するが、説明される実施例は本出願の実施例の一部にすぎず、すべての実施例ではないことは明らかである。本出願の実施例に基づいて、創造的な努力なしに当業者によって得られる他のすべての実施形態は、本出願の範囲内にあるものとする。
【0020】
なお、本出願の明細書及び特許請求の範囲と上記の図面における「第1」、「第2」などの用語は、類似のオブジェクトを区別するために使用されており、必ずしも特定の順序又は前後順序を説明するわけではない。本明細書に記載の本出願の実施例は、本明細書に図示又は記載したもの以外の順序で実施できるように、使用するデータは適切な場合には交換可能である。また、用語「含む」と「有する」及びそれらの任意の変形は、非排他的包含を網羅することを意図したものであり、例えば、一連のステップ又はユニットを含むプロセス、方法、システム、製品、又は装置は、明確に挙げられたステップ又はユニットに必ずしも限定されず、明示的に列挙されていないか、又はそのようなプロセス、方法、製品、又は装置に固有の他のステップ又はユニットを含むことができる。
【0021】
本出願の実施例によれば、キャラクターの配置方法の方法実施例を提供する。
【0022】
また、本実施例では、上記キャラクターの配置方法は、
図3に示すようなサーバー302と端末304から構成されるハードウェア環境で適用することができる。
図3に示すように、サーバー302は、ネットワークによって端末304に接続され、上記ネットワークは、ワイドエリアネットワーク、メトロポリタンエリアネットワーク又はローカルエリアネットワークを含むがこれらに限定されない。端末304はPC、携帯電話、タブレットなどを含むがこれに限定されない。本出願の実施例による方法は、サーバー302によって実行されてもよいし、端末304によって実行されてもよく、サーバー302及び端末304によって共同実行されてもよい。この場合、端末304が本出願の実施例による方法を実行するときは、端末304にインストールされるクライアントによって実行されてもよい。
【0023】
図4は、本出願の実施例による選択可能なキャラクターの配置方法のフローチャートであり、
図4に示すように、当該方法は、以下のステップを含むことができる。
【0024】
ステップS402:ゲームにおいて第1のキャラクターに関連する目標イベントを検出し、ここで、第1のキャラクターはゲームにおいて生成された、人工知能を使用してプレイヤーキャラクターと対戦するノンプレイヤーキャラクターであり、目標イベントは第1のキャラクターの目標属性値を修正することを指示するために使用される。
【0025】
ステップS404:目標イベントに対応する配置情報を取得し、ここで、配置情報は、第2のキャラクターを配置するために使用され、配置された第2のキャラクターが目標イベントに対処するときに、目標イベントによる第2のキャラクターの目標属性値の修正程度が、第1のキャラクターが目標イベントに対処するときの第1のキャラクターの目標属性値の修正程度よりも小さくなるようにし、第2のキャラクターはゲームにおいて生成待ちのノンプレイヤーキャラクターである。
【0026】
ステップS406:第2のキャラクターを生成するときに、配置情報を使用して第2のキャラクターを配置する。
【0027】
上記のステップS402からステップS406によって、ゲームにおいて第1のキャラクターに対して引き起こされる目標イベントが検出されたときに、目標イベントに対応する配置情報を取得し、当該配置情報によって、生成される第2のキャラクターを配置して、配置後の第2のキャラクターが目標イベントに対処するときに、目標イベントによる第2のキャラクターの目標属性値の修正程度が減少されるようにする。このように、ノンプレイヤーキャラクターの進化に伴い、毎回生まれる新キャラクターは、同じ初期形状を備えるが、新しいスキル属性を持つことになり、ゲームにおける多数のノンプレイヤーキャラクターにとって、生まれた時間が異なるため、持っているスキル属性も異なり、同じイベントに対処するときに使用されるスキル属性も異なるので、ゲームキャラクターは、何度か試してノンプレイヤーキャラクターが固定イベントに対処するときに使用するスキル属性を確定することができない。関連技術において人工知能キャラクターの動作メカニズムが知られるという技術的問題を解決して、人工知能キャラクターの動作メカニズムが知られることを避けるという技術的効果を達成することができる。
【0028】
上記のゲームは、任意のタイプのゲームであってもよく、第1のキャラクターは、目標イベントによって攻撃されるノンプレイヤーキャラクターであり、第2のキャラクターは次世代(又は次のレベル)に生まれるノンプレイヤーキャラクターであり、目標イベントは、第1のキャラクターのある属性(即ち、目標属性)にダメージを与えるイベントであり、当該目標属性は、ライフ、スキル、武器、防御などを含むがこれらに限定されない。
【0029】
現在の多人数参加型リアルタイムオンライン対戦ゲームでは、ゲームの対戦性と楽しさを高めるためにAIオブジェクトを使う必要がある。AIを使用して、初期に様々な操作スキルに慣れるようにプレイヤーをトレーニングしたり、オンラインプレイヤーが少ない場合にプレイヤーとインタラクションして、より多くのリアルプレイヤーを引き付けるという目的を達成する。しかしながら、現在のAIは、様々な理由によりインタラクション効果が悪い。
【0030】
本出願は、生物学的進化の基本原理に基づくゲームAI(即ち、人工知能を使用するノンプレイヤーキャラクター)進化方法を実現し、生物学的進化の原理をシミュレートすることによって、ゲームAIシステムに進化する能力を与えることで、ゲームAIは、時間経過とともに進化する知能及び様々なスキル属性を獲得できる。この方法の設計思想は、ただ1つのAI個体をオブジェクトとするのではなく、ゲームAIグループ全体を進化オブジェクトとして進化させることである。具体的な実現方法は、ゲームAI個体がリアルプレイヤーによって殺されるとグループの進化論理がトリガーされ、進化論理は、殺されたAIの現在の世代(デフォルトは第1の世代又は第1のレベルから開始する)の値に基づいて、この世代がある属性特性(例えばスキル)を進化させる可能性がある確率を取得し、今回の進化が成功したかどうかを判断する。進化が成功した場合、この時点以降に生まれたAIは、デフォルトで次の世代又は次のレベルになり、この次世代のAIは、この属性特性を持って生まれる。時間が経つにつれて、ゲームAIはますます完全な知能とスキルの属性を持つようになる。
【0031】
同時に、プレイヤーによって殺されるAIが多くなるに伴って、AIは、既存のスキルの属性強化をトリガーし、同様
な確率取得
を行い、取得が成功すると、それ以降に生まれる次世代AIはデフォルトでその属性値を持つことになる。このような成長システムでは、各AI
が成長する
曲線が異なるため、各対戦の体験は異なる。本出願の実施例は、
図4を参照して以下でさらに詳述される。
【0032】
ステップS402によって提供される技術案では、ゲームにおいて第1のキャラクターに関連する目標イベントを検出することは、第1のキャラクターがプレイヤーキャラクターと対戦するときに、プレイヤーキャラクターが第1のキャラクターを攻撃することによって発生する目標イベントを検出し、第1のキャラクターがゲームのマップ内の目標位置にあるときに、目標位置のゲーム環境が第1のキャラクターの目標属性値を修正する目標イベントを検出することを含む。
【0033】
上記の目標属性は、ライフ、スキル、武器、防御などを指示するための属性であってもよく、例えば、ライフ属性について、目標イベントはライフ属性の属性値を減少させるためのイベントであり、スキル属性について、目標イベントは第1のキャラクターのスキル属性を奪取するか、又は、当該スキル属性によるプレイヤーキャラクターのダメージを軽減するためのイベントである。また例えば、武器属性について、目標イベントは、第1のキャラクターの武器を奪取するか、当該武器によるダメージを軽減するか又は当該武器を損傷するためのイベントであり、他の属性について、対応する属性の属性値を変化させるイベントであれば、目標イベントであり、本出願では個々には列挙しない。
【0034】
武器属性について、第1のキャラクターがプレイヤーキャラクターと対戦するときに、プレイヤーキャラクターが武器を奪取するために第1のキャラクターを攻撃することによって発生される目標イベントを検出し、第1のキャラクターの武器が奪取されると、新たに生まれるキャラクターの進化がトリガーされ、その結果、新たに生まれたキャラクターは、プレイヤーがその武器を奪取しようとするときに適時に逃げるか又は反撃することができ、具体的には、新たに生まれるキャラクターの逃げスキル属性又は防御スキル属性を配置することによって実現される。
【0035】
上記したプレイヤーキャラクターが第1のキャラクターを攻撃することによって発生される目標イベントを検出することは主に以下の2つのタイプを含む。即ち、プレイヤーキャラクターが第1のキャラクターを攻撃する第1のイベントを検出し、ここで、第1のイベントは、第1のキャラクターの目標属性値を第1の値に減少させるために使用され、第1の値が第1のキャラクターの目標属性極大値(即ち、当該属性に許可される最大値)よりも小さく、且つ第1のキャラクターの目標属性極小値(即ち、当該属性に許可される最小値)以上であることと、プレイヤーキャラクターが第1のキャラクターを攻撃する第2のイベントを検出し、ここで、第2のイベントは第1のキャラクターの目標属性値を第2の値だけ低下するために使用され、第2の値が正数であることである。
【0036】
上記の第1の値は、ノンプレイヤーキャラクターの進化をトリガーするためのトリガー点であり、目標属性の属性値は一定の範囲内(即ち、属性極大値と属性極小値の間)にあり、第1の値は、当該範囲内の値である。例えば、プレイヤーキャラクターが第1のキャラクターを攻撃する第1のイベントを検出することは、プレイヤーキャラクターによって引き起こされ、かつ、第1のキャラクターの目標属性値を目標属性極小値に減少させるための第1のイベントを検出することであり、即ち、当該属性の属性値を極小値に低下することを指定するときに進化イベントの発生をトリガーする。
【0037】
例えば、目標属性がライフ属性である例では、第1の値は、ライフ属性値の50%であってもよく、第1のキャラクターが第1のイベントによって攻撃されてライフの値が50%以下に低下したときに、ノンプレイヤーキャラクターの進化をトリガーして、第1のイベントと対抗するスキル属性を進化させて、次回第1のイベントに再遭遇するときに、第1のイベントによる第1のキャラクターのダメージを回避又は軽減するようにする。
【0038】
上記の第2の値は、あるイベントが第1のキャラクターに固定のダメージを与える(即ち、属性値が第2の値だけ減少するダメージを与える)ときに、新たに生まれるノンプレイヤーキャラクターが、当該イベントによって与えられたダメージを回避するか又は当該イベントのダメージを軽減するように当該イベントに対して進化することをトリガーする。
【0039】
また、目標属性がライフ属性である例では、第2の値はライフ属性値の30%であってもよく、第1のキャラクターが第2のイベントによって攻撃されてライフ数値が30%以上低下したときに、ノンプレイヤーキャラクターの進化をトリガーして、第2のイベントに対抗するスキル属性を進化させて、次回第2のイベントに再遭遇するときに、第1のイベントによる第1のキャラクターのダメージを回避又は軽減するようにする。
【0040】
他の属性について、採用される方法は上記と類似し、本出願はそれらを個々には説明しない。
【0041】
ステップS404によって提供される技術案では、目標イベントに対応する配置情報を取得する前に、攻撃イベントに遭遇する度にノンプレイヤーキャラクターを進化させることができるとすれば、ノンプレイヤーキャラクターが強力になりすぎ、ゲームプレイヤーキャラクターがノンプレイヤーキャラクターと対戦するときに、ゲームは難しすぎることになり、ゲームプレイヤーの体験に影響を及ぼし、ゲームへの興味を減少させる。従って、進化は以下のようにランダムに実行することができる。
【0042】
目標イベントに対応する配置情報を取得する前に、第1のキャラクターのレベルに対応する進化確率を取得する。進化確率は、第2のキャラクターが目標イベントに対処するための属性を取得することが許可される確率であり、進化確率が予め設定された確率よりも大きい場合に、目標イベントに対応する配置情報を取得するステップを実行する。
【0043】
また、0から1の間の乱数を取得するための関数をゲームに配置してもよく、第1のキャラクターのレベルに対応する進化確率を取得する度に、当該関数を一回実行してもよい。第1のキャラクターのレベルパラメータを当該関数の入力パラメータをとして、得られた乱数を第1のキャラクターのレベルに対応する進化確率として利用し、その後、当該進化確率を閾値(即ち、0.5、0.6、0.9などの予め設定された確率)と比較し、閾値よりも大きければ、次世代に生まれるノンプレイヤーキャラクターを進化させ、さもなければ進化させない。
【0044】
なお、上記以外に、第1のキャラクターのレベルに対応する進化確率を取得するときに、実際の必要に応じて他の方法を使用してもよい。
【0045】
目標イベントに対応する配置情報を取得するときに、以下のような方法によって実現することができる。即ち、目標イベントに対処するための第1の属性を確定し、第1の属性に基づき配置情報を確定し、ここで、第1の属性は、目標イベントが発生した場合に、目標イベントによる第2のキャラクターの目標属性値の修正程度が第1のキャラクターの目標属性値の修正程度よりも小さいことを指示するために使用され、配置情報は、第1の属性の各パラメータを配置するために使用されることと、目標イベントに対処するための第2の属性を確定し、第2の属性に基づき配置情報を確定し、ここで、第2の属性は、目標イベントがまもなく発生する場合に、目標イベントの発生を回避するための防御イベントを実行することを指示するために使用され、配置情報は、第2の属性の各パラメータを配置するために使用されることである。
【0046】
実際の応用では、実際のニーズに応じて、上記の第1の属性と第2の属性のどちらを配置するかを確定することができ、具体的に、特定の目標イベントに従って確定することができる。例えば、プレイヤーによって引き起こされる攻撃イベント(ノンプレイヤーキャラクターの失血の可能性がある)に対して、攻撃されるときに失血を回避するか又は失血を減らすためにユーザーの防御属性(即ち、第1の属性)を配置できる。別の例では、ユーザーによって引き起こされる武器を奪取するための目標イベントに対して、ノンプレイヤーキャラクターの逃げ属性(即ち、第2の属性)を配置することができ、プレイヤーキャラクターのある挙動によって武器を奪取する目標イベントを引き起こそうとしていると判断したときに、ノンプレイヤーキャラクターの逃げ属性をトリガーして、プレイヤーキャラクターから離れるように逃げる(即ち、防御イベント)。別の例では、ノンプレイヤーキャラクターが障害物に触れる(即ち、ゲーム環境が第1のキャラクターの目標属性値を修正する目標イベント)ときに、プレイヤーのある属性(ライフ値など)に影響を及ぼす可能性もあり、このとき、第2の属性の進化をトリガーして、新たに生まれるノンプレイヤーキャラクターが障害物に触れる前に、障害物の位置を能動的に検出して、障害物をリアルタイムで避けて(即ち、目標イベントの発生を避けるための防御イベントを実行)、障害物によるダメージを回避することも可能である。
【0047】
また、上記した第1の属性と第2の属性を配置することは、第1の属性又は第2の属性を新たに追加することであってもよいし、第1の属性又は第2の属性の属性パラメータを再配置して、対応する防御スキルをより強力にすることであってもよく、例えば、逃げるスピードを加速するなどである。
【0048】
上記の実施例では、目標イベントに対処するための第1の属性又は第2の属性を確定するときに、他のプレイヤーが同じイベントに遭遇する処理方法を参照して、どれらの属性が第1の属性又は第2の属性であるかを確定することができる。具体的な方法は、プレイヤーキャラクターに関連する目標イベントが実行されることを検出したときに、目標イベントによるプレイヤーキャラクターの目標属性値の修正程度が第1のキャラクターの目標属性値の修正程度よりも小さい場合に、プレイヤーキャラクターが目標イベントに対処するときに使用する属性を第1の属性として保存するとともに、プレイヤーキャラクターが使用する属性の各パラメータを保存する。
【0049】
また、目標イベントに対処するための第1の属性又は第2の属性を確定するときに、ゲーム開発者によって目標イベントに対処するためのスキル属性が定義されてもよい。
【0050】
ステップS406によって提供される技術案において、第2のキャラクターを生成するときに、配置情報を使用して第2のキャラクターを配置することは、第2のキャラクターを生成するときに、配置情報を使用して同時に生成される複数の第2のキャラクターの属性を配置することを含み、ここで、複数の第2のキャラクターが同じレベルに属し、且つ、複数の第2のキャラクターがゲームに補充される。
【0051】
関連技術における進化のアイデアはいずれもAI個体に基づく設計であり、各AI個体は、生まれるときにまったく同じスキル属性を持ち、AI個体はトレーニングによってアップグレードし、AI個体がトレーニングによりアップグレードするにつれて、その外見も対応して変化する。このように、ユーザーはその外見などに応じて個体AIの戦闘力などの情報を判断することで、適切な処理方法を採用することができる。
【0052】
本出願では、新たに生まれる各世代のAI個体はいずれも死亡したAI(又は攻撃を受けたAI)の経験を参照して対応するスキル属性が進化し、これにより、各世代のAIのスキル属性は異なり、AIグループを進化させる設計を実現でき、このように、ゲームプレイヤーは、AIと対戦するときに、AIスキルのレベルを判断することができない。
【0053】
本出願の技術案のさらなる理解のために、スネークという対戦ゲームを例として詳述する。スネークについて、通常の設計は、ゲームAIの知性を、プレイヤーの長さや値の成長、又はゲームAI自体の長さや値のアップグレードに伴って変化させることである。これにより、より長いヘビの知能はより高くなり、生まれたばかりのヘビは知能が弱いものであり、全体のAIヘビのグループには進化の可能性がなく、全体の難しさは時間経過とともに増えていない。上記の問題を克服するために、本出願の技術案を使用して改善することができる。
【0054】
この技術案では、
図5に示すように、知能AIヘビはヘッドとボディで構成され、ヘッド領域は複数のスキンとスタイルをサポートする独立した円であり、ボディの衝突検出領域は、複数の円と複数の矩形とを接合して形成されている。このような構成方式の利点は、ボディの形状と位置を最小限のジオメトリで正確に記述できることである。
【0055】
各知能AIヘビにヘッドホットゾーンの概念を追加し、AIヘビを制御して他のヘビのヘッドホットゾーンを能動的に攻撃することによって、プレイヤー又は他のヘビに対する攻撃を実現する。ヘッドホットゾーン概略図を
図6に示す。
【0056】
上記のヘッドホットゾーンは、スネークゲームにおいてヘビのヘッドが位置している一定の範囲である。知能AIヘビは、他のヘビのヘッドを自分のボディに衝突させて相手を殺すという目的を達成するために、能動的に加速してこの領域を通過することになる。
【0057】
ゲームにおけるすべてのヘビはデフォルトで1つの進行速度を持っているので、ヘビのヘッドが他のプレイヤーのボディに当たった場合、そのヘビは死ぬことになる。そのため、ヘッドの前にあるヘッドホットゾーンの一部が他のプレイヤーのヘッドホットゾーンを一定の速度で素早く通過する場合、相手が適時に避けなければ殺されてしまう。
【0058】
知能AIヘビは自身の属性(主に攻撃検出頻度、視野範囲などによって制御)に従って他のヘビのヘッドのヘッドホットゾーンを能動的に攻撃し、加えて、知能AIヘビの知性は、さらに次のものを含む。
(1)走行速度は、そのレベルに関連し、具体的には、ヘビが通常状態で移動する速度を指す。
(2)ステアリングの頻度は、そのレベルに関連し、具体的には、ヘビが通常状態で移動方向を調整する時間間隔を指す。
(3)ステアリングの最大角度は、そのレベルに関連し、具体的には、通常状態でヘビが方向を調整する最大角度を指す。
(4)加速走行速度は、そのレベルに関連し、具体的には、ヘビが加速状態で移動する速度を指す。
(5)加速ステアリングの最大角度は、そのレベルに関連し、具体的には、ヘビが加速状態で方向を調整する最大角度を指す。
(6)視野の大きさは、そのレベルに関連し、具体的には、ヘビの検出可能な範囲の大きさ(検出範囲内における食べ物と他のヘビを含む)を指す。
(7)能動的に加速して高エネルギー食べ物を奪う確率は、そのレベルに関連し、具体的には、加速して他のヘビの死体を奪う確率を指す。
(8)通常の食べ物を見つける頻度は、そのレベルに関連し、具体的には、通常の食べ物を検出する時間間隔を指す。
【0059】
実現に関して、1つのAIヘビが一定の確率の範囲内においてある特徴を持っている場合、その子孫は、生まれるときからその特徴を持っていて、確率イベントではない。異なる世代のAIは、プレイヤーには知られておらず、対戦してはじめてAI知能の差異を感じることができる。そのため、本出願の技術案の設計は、プレイヤーとゲームAIとが対戦することを必要とする様々なゲームシナリオに適用可能である。
【0060】
本出願の技術案を実現するときに、開発及び検証環境は、Windows(登録商標)(Win7などのバージョン)、Linux(Mac OS(登録商標)X、Ubuntu(登録商標)、Debian(登録商標)など)などの機器に使用される開発ツールソフトウェア(例えば、WebStorm(登録商標))であってもよく、使用される開発言語はJavaScript(登録商標)、C++、Java(登録商標)などであってもよく、使用されるゲームエンジンはcocos2d-jsなどであってもよい。
【0061】
図7に示すように、クライアント側のゲームAI個体がリアルプレイヤーによって殺されたときに(即ち、AIが殺されたイベント)、グループの進化論理がトリガーされ、進化論理は、殺されたAIの現在のレベルに従って、AI管理モジュールがそのレベルから進化できるある特性(スキル)の確率を取得し、進化システム(即ち、Evolution System)によって今回の進化が成功することができるかどうかを判断する。進化が成功すると、この時点以降に生まれるAI個体はデフォルトで1つのレベルだけアップグレードされ、このレベルのAIは、生まれるときからこの特性又はスキル(高速回避、時間制限無敵、時間制限ステルスなど、製品ニーズに応じて配置可能)を備え、具体的には、属性管理モジュールによって、関連する属性を管理し、時間の経過に従って、ゲームAI個体は、ますます完全な知能とスキル属性を備え、各世代AI個体の属性はAI配置情報(即ち、AI Config Data)に保存される。AIの属性の一部は
図8に示すように、例えば、ヘビの現在のレベル、ヘビの初期移動速度、ヘビの初期旋回角速度などである。
【0062】
進化が完成した後、新たに生まれたヘビは、対応するスキルを持つことになる。
【0063】
AI配置情報(つまり、進化配置)内の各属性は、AIヘビの各世代の更新に従って変換されたものであり、ここで知能AIヘビの生まれるときの属性を定義した。これらの属性は、生まれたときのいくつかの値を定義するだけであり、絶えず食べ物を食べ、他のヘビを攻撃する過程で、知能AIヘビは絶えず成長し、より長くそして速くなり、より強力な攻撃性を持つ。例えば、ヘビが移動中にステアリングしたり、回避したり、食べ物を見つけたりするかどうかを判断する。ここで、Math.random()関数を使用して0と1の間の値を持つランダムな小数を取得することができ、これに各フレームの時間とそれに対応する属性配置時間を乗算することで、1つの値が得られる。そして、関数math.roundを利用してこの値を丸め、0.5よりも小さい場合は0であり、0.5よりも大きい場合は1である。ここで、0であれば、対応するステアリング、食べ物を見つけること、又は加速などの知能イベントをトリガーし、さもなければ、対応するイベントをトリガーしない。
【0064】
また、知能AIヘビは、それ自身の属性に従って前のヘビのボディを避けるべきかどうかを判断することができ、避ける必要がある場合、まず減速し、次に移動方向を切り替える。本出願の実施案では、知能AIヘビは、知能的に加速して食べ物を奪うとともに衝突を避け、正常の状態では、ゲーム内をぶらぶらして食べ物を食べ、人間のプレイヤーの操作に非常に似ている。
【0065】
本出願の技術案を利用して、遺伝子の進化論によって、AI個体が殺されるか、又はダメージを受けることに伴って、グループの進化の確率イベントをトリガーする。グループ進化の確率は殺されたAIの属性によって決定される。進化が成功すると、グループがデフォルトでこの属性を持つか、又は既存の属性を基に値を上げる。このようなグループ進化の後に生まれた子孫は、このような属性と対応する値を持つ。
【0066】
プレイヤーは、移動が遅く、スキル属性が弱いものを殺し続け、これは、自然界における適者生存の排除メカニズムと似ている。ゲームAIの属性は、プレイヤーの基本属性がアップグレードするにつれてアップグレードし、そして、このアップグレードは、すべて事前設定されるのではなく、プレイヤーの成長に従って、プレイヤーが殺したゲームオブジェクトの難易度によって判断される。これにより、プレイヤーにリアルプレイヤーと類似の対戦の楽しさを持たせることができる。複雑なステートマシンを使用する必要がないため、大量のイベント論理を列挙する必要がなく、開発作業量が大幅に削減される。
【0067】
なお、上記の各方法の実施例について、簡単な説明のために、それらは一連の動作の組み合わせとして表現されているが、当業者は、本出願が説明される動作の順序によって制限されないことを理解すべきである。なぜなら、本出願に従って、特定のステップは他の順序で、又は同時に実行できるからである。そして、当業者はまた、本明細書に記載された実施例がすべて好ましい実施例であり、それに係る動作及びモジュールが必ずしも本発明に必要とされないことを理解すべきである。
【0068】
以上の実施形態の説明によって、当業者には明らかなように、上記実施例による方法は、ソフトウェアと必要な汎用のハードウェアプラットフォームとによって実現することができ、当然ながら、ハードウェアによって実現することもできるが、多くの場合は前者の方が好ましい実施の形態である。このような理解に基づいて、本出願の技術案は本質的には、又は関連技術への貢献となる部分はソフトウェア製品の形で具現化でき、当該コンピューターソフトウェア製品は、記憶媒体(ROM/RAM、磁気ディスク、光ディスクなど)に記憶され、端末装置(携帯電話、コンピューター、サーバー、又はネットワーク装置など)に本出願の各実施例で説明された方法を実行させるための多数の命令が含まれる。
【0069】
本出願の実施例によれば、上記キャラクターの配置方法を実施するためのキャラクターの配置装置をさらに提供する。
図9は、本出願の実施例による選択可能なキャラクターの配置装置の概略図であり、
図9に示すように、当該装置は1つ又は複数のプロセッサー、及び、プログラムユニットが記憶される1つ又は複数のメモリを含むことができ、ここで、プログラムユニットは、プロセッサーによって実行され、プログラムユニットは検出ユニット92、第1の取得ユニット94及び配置ユニット96を含む。
【0070】
検出ユニット92は、ゲームにおいて第1のキャラクターに関連する目標イベントを検出するように設置され、ここで、第1のキャラクターはゲームにおいて生成される、人工知能を使用してプレイヤーキャラクターと対戦するノンプレイヤーキャラクターであり、目標イベントは第1のキャラクターの目標属性値を修正することを指示するために使用される。
【0071】
第1の取得ユニット94は、目標イベントに対応する配置情報を取得するように設置され、ここで、配置情報は、第2のキャラクターを配置するために使用され、配置された第2のキャラクターが目標イベントに対処するときに、目標イベントによる第2のキャラクターの目標属性値の修正程度が第1のキャラクターが目標イベントに対処するときの第1のキャラクターの目標属性値の修正程度が小さくなるようにし、第2のキャラクターは、ゲームにおいて生成されるノンプレイヤーキャラクターである。
【0072】
配置ユニット96は、第2のキャラクターを生成するときに、配置情報を使用して第2のキャラクターを配置するように設置される。
【0073】
なお、当該実施例における検出ユニット92は、本出願の上記の実施例におけるステップS402を実行するように設置でき、当該実施例における第1の取得ユニット94は、本出願の上記の実施例におけるステップS404を実行するように設置でき、当該実施例における配置ユニット96は、本出願の上記の実施例におけるステップS406を実行するように設置できる。
【0074】
なお、上記モジュールは、対応するステップによって実現される例及び適用シナリオと同じであるが、上記の実施例に開示された内容に限定されない。上記モジュールは、装置の一部として
図3に示されるようなハードウェア環境で実行されてもよく、ソフトウェアによって実現されてもよいしハードウェアによって実現されてもよい。
【0075】
上記モジュールによって、ゲームにおいて第1のキャラクターに対して引き起こされる目標イベントを検出したときに、目標イベントに対応する配置情報を取得し、当該配置情報によって、生成される第2のキャラクターを配置して、配置された第2のキャラクターが目標イベントに対処するときに、目標イベントによる第2のキャラクターの目標属性値の修正程度が減少されるようにする。このように、ノンプレイヤーキャラクターの進化に伴い、毎回生まれる新キャラクターは、同じ初期形状を備えるが、新しいスキル属性を持つことになり、ゲームにおける多数のノンプレイヤーキャラクターについて、生まれる時間が異なるため、持っているスキル属性も異なり、同じイベントに対処するときに使用されるスキル属性も異なるので、ゲームキャラクターは、何度か試してノンプレイヤーキャラクターが固定イベントに対処するときに使用するスキル属性を確定することができないようになる。関連技術において人工知能キャラクターの動作メカニズムが知られるという技術的問題を解決して、人工知能キャラクターの動作メカニズムが知られることを避けるという技術的効果を達成することができる。
【0076】
上記のゲームは、任意のタイプのゲームであってもよく、第1のキャラクターは目標イベントによって攻撃されるノンプレイヤーキャラクターであり、第2のキャラクターは次の世代(又は次のレベル)に生まれたノンプレイヤーキャラクターであり、目標イベントは、第1のキャラクターのある属性(即ち、目標属性)にダメージを与えることができるイベントであり、当該目標属性はライフ、スキル、武器、防御などを含むがこれらに限定されない。
【0077】
現在の多人数参加型リアルタイムオンライン対戦ゲームでは、ゲームの対戦性と楽しさを高めるためにAIオブジェクトを使う必要がある。AIを使用して、初期に様々な操作スキルに慣れるようにプレイヤーをトレーニングしたり、オンラインプレイヤーが少ない場合にプレイヤーとインタラクションして、より多くのリアルプレイヤーを引き付けるという目的を達成する。しかしながら、現在のAIは、様々な理由によりインタラクション効果が悪い。
【0078】
本出願は、生物学的進化の基本原理に基づくゲームAI(即ち、人工知能を使用するノンプレイヤーキャラクター)進化装置を実現し、生物学的進化の原理をシミュレートすることによって、ゲームAIシステムに自己進化する能力を与えることで、ゲームAIは、時間経過とともに進化する知能及び様々なスキル属性を獲得できる。この方法の設計思想は、ただ1つのAI個体をオブジェクトとするのではなく、ゲームAIグループ全体を進化オブジェクトとして進化させることである。具体的な実現方法は、ゲームAI個体がリアルプレイヤーによって殺されるとグループの進化論理がトリガーされ、進化論理は、殺されたAIの現在の世代(デフォルトは第1の世代又は第1のレベルから開始する)の値に基づいて、この世代がある属性特性(例えばスキル)を進化させる可能性がある確率を取得し、今回の進化が成功したかどうかを判断する。進化が成功した場合、この時点以降に生まれたAIは、デフォルトで次の世代又は次のレベルになり、この次世代のAIは、この属性特性を持って生まれる。時間が経つにつれて、ゲームAIはますます完全な知能とスキルの属性を持つようになる。
【0079】
同時に、より多くのAIがプレイヤーによって殺されるにつれて、AIは、既存のスキルの属性アップグレードもトリガーし、同様に確率的取得であり、取得が成功すると、以降生まれる次世代AIはデフォルトでこの属性値を持っている。このような成長システムでは、各AIは異なる曲線で成長するため、対戦の体験は毎回異なる。
【0080】
上記実施例では、検出ユニットは、第1のキャラクターがプレイヤーキャラクターと対戦するときに、プレイヤーキャラクターが第1のキャラクターを攻撃することによって発生される目標イベントを検出するように設置される第1の検出モジュールと、第1のキャラクターがゲームのマップ内の目標位置にあるときに、目標位置のゲーム環境が第1のキャラクターの目標属性値を修正する目標イベントを検出するように設置される第2の検出モジュールとを含む。
【0081】
上記の目標属性は、ライフ、スキル、武器、防御などを指示するための属性であってもよく、例えば、ライフ属性について、目標イベントはライフ属性の属性値を減少するためのイベントであり、スキル属性について、目標イベントは第1のキャラクターのスキル属性を奪取するか、又は、当該スキル属性によるプレイヤーキャラクターのダメージを軽減するためのイベントである。また例えば、武器属性について、目標イベントは、第1のキャラクターの武器を奪取するか、当該武器によるダメージを軽減するか又は当該武器を損傷するためのイベントであり、他の属性について、対応する属性の属性値を変化させるイベントであれば、目標イベントであり、本出願では個々に列挙しない。
【0082】
武器属性について、第1のキャラクターがプレイヤーキャラクターと対戦するときに、プレイヤーキャラクターが武器を奪取するために第1のキャラクターを攻撃することによって発生される目標イベントを検出し、第1のキャラクターの武器が奪取されると、新たに生まれるキャラクターの進化がトリガーされ、その結果、新たに生まれたキャラクターは、プレイヤーがその武器を奪取しようとするときに適時に逃げるか又は反撃することができ、具体的には、新たに生まれるキャラクターの逃げスキル属性又は防御スキル属性を配置することによって実現される。
【0083】
また、第1の検出モジュールは、プレイヤーキャラクターが第1のキャラクターを攻撃する第1のイベントを検出するように設置される第1の検出サブモジュールであって、第1のイベントが第1のキャラクターの目標属性値を第1の値に減少するために使用され、第1の値が第1のキャラクターの目標属性極大値よりも小さく、且つ第1のキャラクターの目標属性極小値以上である前記第1の検出サブモジュールと、プレイヤーキャラクターが第1のキャラクターを攻撃する第2のイベントを検出するように設置される第2の検出サブモジュールであって、第2のイベントが第1のキャラクターの目標属性値を第2の値だけ低下するために使用され、第2の値が正数である前記第2の検出サブモジュールとを含む。
【0084】
上記の目標属性は、ライフ、スキル、武器、防御などを指示するための属性であってもよく、例えば、ライフ属性について、目標イベントはライフ属性の属性値を減少させるためのイベントであり、スキル属性について、目標イベントは第1のキャラクターのスキル属性を奪取するか、又は、当該スキル属性によるプレイヤーキャラクターのダメージを軽減するためのイベントである。また例えば、武器属性について、目標イベントは、第1のキャラクターの武器を奪取するか、当該武器によるダメージを軽減するか又は当該武器を損傷するためのイベントであり、他の属性について、対応する属性の属性値を変化させるイベントであれば、目標イベントであり、本出願では個々に列挙しない。
【0085】
武器属性について、第1のキャラクターがプレイヤーキャラクターと対戦するときに、プレイヤーキャラクターが武器を奪取するために第1のキャラクターを攻撃することによって発生される目標イベントを検出し、第1のキャラクターの武器が奪取されると、新たに生まれるキャラクターの進化がトリガーされ、その結果、新たに生まれたキャラクターは、プレイヤーがその武器を奪取しようとするときに適時に逃げるか又は反撃することができ、具体的には、新たに生まれるキャラクターの逃げスキル属性又は防御スキル属性を配置することによって実現される。
【0086】
上記の第2の値は、あるイベントが第1のキャラクターに固定のダメージを与える(即ち、属性値が第2の値だけ減少するダメージを与える)ときに、新たに生まれたノンプレイヤーキャラクターが、当該イベントによって与えられるダメージを回避するか又は当該イベントによるダメージを軽減するように当該イベントに対して進化することをトリガーする。
【0087】
選択可能な実施例では、目標イベントに対応する配置情報を取得する前に、攻撃イベントに遭遇する度にノンプレイヤーキャラクターを進化させることができると、ノンプレイヤーキャラクターが強力になりすぎ、ゲームプレイヤーキャラクターがノンプレイヤーキャラクターと対戦するときに、ゲームは難しすぎることになり、ゲームプレイヤーの体験に影響を及ぼし、ゲームへの興味を減少させる。
【0088】
上記問題を克服するために、本出願の上記装置は、第1の取得ユニットが目標イベントに対応する配置情報を取得する前に、第1のキャラクターのレベルに対応する進化確率を取得するように設置される第2の取得ユニットをさらに含んでもよく、進化確率は、第2のキャラクターが目標イベントに対処するための属性を取得することを許可する確率であり、進化確率が予め設定された確率よりも大きい場合に、第1の取得ユニットが目標イベントに対応する配置情報を取得することを指示する。
【0089】
他の選択可能な実施例では、第1の取得ユニットは、目標イベントに対処するための第1の属性を確定し、第1の属性に基づき配置情報を確定するように設置される第1の確定モジュールであって、第1の属性は、目標イベントが発生した場合に、目標イベントによる第2のキャラクターの目標属性値の修正程度が第1のキャラクターの目標属性値の修正程度よりも小さいことを指示するために使用され、配置情報は、第1の属性の各パラメータを配置するために使用される前記第1の確定モジュールと、目標イベントに対処するための第2の属性を確定し、第2の属性に基づき配置情報を確定するように設置される第2の確定モジュールであって、第2の属性は、目標イベントが発生しようとする場合に、目標イベントの発生を回避するための防御イベントを実行することを指示するために使用され、配置情報は、第2の属性の各パラメータを配置するために使用される前記2の確定モジュールとを含む。
【0090】
実際の応用では、実際のニーズに応じて、上記の第1の属性と第2の属性のどちらを配置するかを確定することができ、具体的に、特定の目標イベントに従って確定することができる。例えば、プレイヤーによって引き起こされる攻撃イベント(ノンプレイヤーキャラクターの失血の可能性がある)に対して、攻撃されるときに失血を回避するか又は失血を減らすためにユーザーの防御属性(即ち、第1の属性)を配置できる。別の例では、ユーザーによって引き起こされる武器を奪取するための目標イベントに対して、ノンプレイヤーキャラクターの逃げ属性(即ち、第2の属性)を配置することができ、プレイヤーキャラクターのある挙動によって武器を奪取する目標イベントを引き起こそうとしていると判断したときに、ノンプレイヤーキャラクターの逃げ属性をトリガーして、プレイヤーキャラクターから離れるように逃げる(即ち、防御イベント)。別の例では、ノンプレイヤーキャラクターが障害物に触れる(即ち、ゲーム環境が第1のキャラクターの目標属性値を修正する目標イベント)ときに、プレイヤーのある属性(ライフ値など)に影響を及ぼす可能性もあり、このとき、第2の属性の進化をトリガーして、新たに生まれるノンプレイヤーキャラクターが障害物に触れる前に、障害物の位置を能動的に検出して、障害物をリアルタイムで避けて(即ち、目標イベントの発生を避けるための防御イベントを実行)、障害物のダメージを回避することも可能である。
【0091】
また、上記した第1の属性と第2の属性を配置することは、第1の属性又は第2の属性を新たに追加することであってもよいし、第1の属性又は第2の属性の属性パラメータを再配置して、対応する防御スキルをより強力にすることであってもよく、例えば、逃げるスピードを加速するなどである。
【0092】
上記の実施例では、目標イベントに対処するための第1の属性又は第2の属性を確定するときに、他のプレイヤーが同じイベントに遭遇する処理方法を参照して、どの属性が第1の属性又は第2の属性であるかを確定することができる。具体的には、第1の確定モジュールによって実現することができ、第1の確定モジュールはさらに、プレイヤーキャラクターに関連する目標イベントが実行されることを検出したときに、目標イベントによるプレイヤーキャラクターの目標属性値の修正程度が第1のキャラクターの目標属性値の修正程度よりも小さい場合に、プレイヤーキャラクターが目標イベントに対処するときに使用する属性を第1の属性として保存するとともに、プレイヤーキャラクターが使用する属性の各パラメータを保存するように設置される。
【0093】
また、目標イベントに対処するための第1の属性又は第2の属性を確定するときに、ゲーム開発者によって目標イベントに対処するためのスキル属性を定義してもよい。
【0094】
また、配置ユニットはさらに、第2のキャラクターを生成するときに、配置情報を使用して同時に生成される複数の第2のキャラクターの属性を配置するように設置され、その中、複数の第2のキャラクターは同じレベルに属し、且つ、複数の第2のキャラクターはゲームに補充される。
【0095】
関連技術における進化のアイデアはいずれもAI個体に基づく設計であり、各AI個体は、生まれるときにまったく同じスキル属性を持ち、AI個体はトレーニングによってアップグレードし、AI個体がトレーニングによりアップグレードするにつれて、その外見も対応して変化する。このように、ユーザーはその外見などに応じて個体AIの戦闘力などの情報を判断することで、適切な処理方法を採用することができる。
【0096】
本出願では、新たに生まれる各世代のAI個体はいずれも死亡したAI(又は攻撃を受けたAI)の経験を参照して対応するスキル属性を進化し、これにより、各世代のAIのスキル属性が異なり、AIグループを進化させる設計を実現でき、このように、ゲームプレイヤーは、AIと対戦するときに、AIスキルのレベルを判断することができない。
【0097】
上記モジュールは、対応するステップによって実現される例及び適用シナリオと同じであるが、上記の実施例に開示された内容に限定されない。上記モジュールは、装置の一部として
図3に示されるようなハードウェア環境で実行されてもよく、ソフトウェアによって実現されてもよいしハードウェアによって実現されてもよく、ハードウェア環境にはネットワーク環境が含まれる。
【0098】
本出願の実施例によれば、上記キャラクターの配置方法を実施するための電子装置をさらに提供する。
【0099】
図10は、本出願の実施例による電子装置の構成ブロック図であり、
図10に示すように、当該電子装置は、1つ又は複数の(1つだけ図示されている)プロセッサー1001、メモリ1003、及び伝送装置1005を含むことができ、
図10に示すように、当該電子装置は入出力装置1007を含んでもよい。
【0100】
メモリ1003は、本出願の実施例におけるキャラクター配置方法及び装置に対応するプログラム命令/モジュールなどの、コンピュータープログラム及びモジュールを記憶するように設置でき、プロセッサー1001は、メモリ1003内に記憶されたコンピュータープログラム及びモジュールを実行することで、各機能アプリケーション及びデータ処理を実行する、即ち、上記のキャラクターの配置方法を実現するように設置される。メモリ1003は、高速ランダムアクセスメモリを含むことができ、また、1つ又は複数の磁気記憶装置、フラッシュメモリ、又は他の不揮発性固体メモリなどの不揮発性メモリを含むこともできる。ある例では、メモリ1003は、プロセッサー1001に対して遠隔に設置されたメモリをさらに含むことができ、それらはネットワークを介して端末に接続することができる。上記ネットワークの例として、インターネット、イントラネット、ローカルエリアネットワーク、移動体通信ネットワーク、及びそれらの組み合わせが挙げられるが、これらに限定されない。
【0101】
上記伝送装置1005は、ネットワークを介してデータを送受信するように設置され、プロセッサーとメモリとの間でデータを伝送するように設置されてもよい。上記のネットワークの具体例として、有線ネットワーク、無線ネットワークが挙げられる。一例では、伝送装置1005は、インターネット又はローカルエリアネットワークと通信するためにネットワークケーブルを介して他のネットワーク装置及びルータに接続することができるネットワークインタフェースコントローラ(Network Interface Controller、NIC)を含む。一例では、伝送装置1005はインターネットと無線で通信するように設置される無線周波数(Radio Frequency、RF)モジュールである。
【0102】
また、メモリ1003は、アプリケーションプログラムを記憶するように設置される。
【0103】
プロセッサー1001は、伝送装置1005によってメモリ1003に記憶されたアプリケーションプログラムを呼び出して、以下のステップを実行する。即ち、ゲームにおいて第1のキャラクターに関連する目標イベントを検出することであって、ここで、第1のキャラクターはゲームにおいて生成される、人工知能を使用してプレイヤーキャラクターと対戦するノンプレイヤーキャラクターであり、目標イベントは第1のキャラクターの目標属性値を修正することを指示するために使用されることと、目標イベントに対応する配置情報を取得することであって、ここで、配置情報は、第2のキャラクターを配置するために使用され、配置された第2のキャラクターが目標イベントに対処するときに、目標イベントによる第2のキャラクターの目標属性値の修正程度が第1のキャラクターが目標イベントに対処するときの第1のキャラクターの目標属性値の修正程度よりも小さくなるようにし、第2のキャラクターはゲームにおいて生成されるノンプレイヤーキャラクターであることと、第2のキャラクターを生成するときに、配置情報を使用して第2のキャラクターを配置することとを実行する。
【0104】
本出願の実施例によると、ゲームにおいて第1のキャラクターに対して引き起こされる目標イベントを検出したときに、目標イベントに対応する配置情報を取得し、当該配置情報によって、生成される第2のキャラクターを配置して、配置された第2のキャラクターが目標イベントに対処するときに、目標イベントによる第2のキャラクターの目標属性値の修正程度が減少されるようにし、このように、ノンプレイヤーキャラクターの進化に伴い、毎回生まれる新キャラクターは、同じ初期形状を備えるが、新しいスキル属性を持つことになり、ゲームにおける多数のノンプレイヤーキャラクターについて、生まれる時間が異なるため、持っているスキル属性も異なり、同じイベントに対処するときに使用されるスキル属性も異なるので、ゲームキャラクターは、何度か試してノンプレイヤーキャラクターが固定イベントに対処するときに使用するスキル属性を確定することができないようになる。関連技術において人工知能キャラクターの動作メカニズムが知られるという技術的問題を解決して、人工知能キャラクターの動作メカニズムが知られることを避けるという技術的効果を達成することができる。
【0105】
また、本実施例における具体例は、上記実施例において説明された例を参照することができ、本実施例はここでは繰り返さない。
【0106】
当業者は、
図10に示す構成は例示にすぎず、端末はスマートフォン(Android(登録商標)携帯電話、iOS携帯電話など)、タブレットPC、パームコンピュータ、及びモバイルインターネットデバイス(Mobile Internet Devices、MID)、PADなどの端末装置であり得ることを理解することができる。
図10は、上記電子装置の構成を限定するものではない。例えば、端末はまた、
図10に示すよりも多くの又は少ない構成要素(ネットワークインターフェース、表示装置など)を含むことができ、又は、
図10に示すものとは異なる構成を有することができる。
【0107】
当業者であれば、上記実施例の各方法におけるステップの全部又は一部は、端末装置に関連するハードウェアに命令するためのプログラムによって達成することができることを理解することができる。当該プログラムは、コンピューター読取可能記憶媒体に記憶でき、記憶媒体は、フラッシュディスク、読み取り専用メモリ(Read-Only Memory、ROM)、ランダムアクセスメモリ(Random Access Memory、RAM)、磁気ディスク又は光ディスクなどを含み得る。
【0108】
本出願の実施例は、記憶媒体をさらに提供する。また、本実施例では、上記記憶媒体にはコンピュータープログラムが記憶され、コンピュータープログラムは実行されるときにキャラクターの配置方法を実行するように設置される。
【0109】
また、本実施例では、上記記憶媒体は、上記実施例に示されるネットワークにおける複数のネットワーク装置のうち少なくとも1つのネットワーク装置に配置できる。
【0110】
また、本実施例では、記憶媒体は、以下のステップを実行するためのプログラムコードを記憶するように設置される。
【0111】
S1:ゲームにおいて第1のキャラクターに関連する目標イベントを検出し、ここで、第1のキャラクターはゲームにおいて生成される、人工知能を使用してプレイヤーキャラクターと対戦するノンプレイヤーキャラクターであり、目標イベントは、第1のキャラクターの目標属性値を修正することを指示するために使用される。
【0112】
S2:目標イベントに対応する配置情報を取得し、ここで、配置情報は、第2のキャラクターを配置するために使用され、配置された第2のキャラクターが目標イベントに対処するときに、目標イベントによる第2のキャラクターの目標属性値の修正程度が第1のキャラクターが目標イベントに対処するときの第1のキャラクターの目標属性値の修正程度よりも小さくなるようにし、第2のキャラクターはゲームにおいて生成されるノンプレイヤーキャラクターである。
【0113】
S3:第2のキャラクターを生成するときに、配置情報を使用して第2のキャラクターを配置する。
【0114】
また、本実施例における具体例は、上記実施例において説明された例を参照することができ、本実施例はここでは繰り返さない。
【0115】
また、本実施例では、上記記憶媒体は、USBフラッシュドライブ、読み取り専用メモリ(ROM、Read-Only Memory)、ランダムアクセスメモリ(RAM、Random Access Memory)、モバイルハードディスク、磁気メモリ又は光ディスクなどのプログラムコードを記憶することができる様々な媒体を含むことができるがこれらに限定されない。
【0116】
上記本出願の実施例の通し番号は単に説明のためのものであり、実施例の良し悪しを表すものではない。
【0117】
上記実施例における統合ユニットは、ソフトウェア機能ユニットの形態で実現され、独立の製品として販売又は使用されるとき、上記コンピューター読取可能記憶媒体に記憶することができる。このような理解に基づいて、本出願の技術案は、本質的には、又は関連技術に対して貢献する部分、又は技術案の全部又は一部は、ソフトウェア製品の形態で実施することができ、当該コンピューターソフトウェア製品は記憶媒体に記憶され、1つ又は複数のコンピューター装置(パーソナルコンピュータ、サーバー又はネットワーク装置などであり得る)に本出願の様々な実施例で説明される方法のステップの全部又は一部を実行させるための多数の命令を含む。
【0118】
本出願の上記の実施例では、各実施例の説明のフォーカスが異なり、ある実施例で詳述されていない部分は、他の実施例の関連する説明を参照することができる。
【0119】
本出願によって提供されるいくつかの実施形態において、開示されたクライアントは他の方法でも実現できることを理解されたい。ここで、上記の装置の実施例は単に例示的なものであり、例えば、上記のユニットの分割は論理的な機能分割にすぎない。実際の実現では他の区分があってよく、例えば、複数のユニット又は構成要素を組み合わせたり、別のシステムに統合したり、あるいは、いくつかの特徴を省略して実施しないことがある。さらに、図示又は説明した相互結合又は直接結合又は通信接続は、何らかのインターフェース、ユニット、又はモジュールを介した間接結合又は通信接続とすることができ、電気的又は他の形態であり得る。
【0120】
別々の構成要素として記載されているユニットは、物理的に別々であっても、そうでなくてもよい。ユニットとして表示される構成要素は、物理的ユニットであっても、そうでなくてもよく、即ち、一箇所に配置されてもよく、又は複数のネットワークユニットに分散されてもよい。実施例の解決案の目的を達成するために、実際のニーズに応じて、いくつか又はすべてのユニットを選択することができる。
【0121】
また、本出願の各実施例における各機能ユニットは、1つの処理ユニットに統合されてもよいし、各ユニットは物理的に単独で存在してもよく、2つ以上のユニットが1つのユニットに統合されてもよい。上記の統合ユニットは、ハードウェアの形態又はソフトウェア機能ユニットの形態で実現することができる。
【0122】
上記は、本出願の好ましい実施形態にすぎず、本出願の原理から逸脱することなく、当業者によって多くの改良及び修正がなされることができ、これらの改良や修正も本出願の保護範囲内と見なすべきであることに留意されたい。