League of Legends 開発ブログエントリーへようこそ!今回はゲームプレイチームから少し離れて、Botたちについて話してみましょう。
私たちは一連の変更でBotたちをより人間らしい敵へと近づけました。その上で、アップデートの裏側にある話にみなさんが興味を持つかもしれないと思いました。
何時も通り、開発ブログ改善のためのフィードバックを募集しています。どうすればbotたちがもっと人間らしくなるか考えてみましょう!
今回はbot updateに尽力したブレインの1人、Design AnalystのRoamingNumeralが担当します。さあ、行ってみましょう!
Botをアップデートした理由
Bot matchはlv30のプレイヤーにおいてでさえもかなりの量の試合数を誇っています。私たちのロボットの友達に費やしてる時間は多く、よりおもしろいものにしたいと考えたのです。
Coop vs. AI と PvP のプレイヤーに botたちについてどう考えているか調査をしました。フィードバックの中で最も望まれているはあきらかに「より人間らしい」Botであることでした。
動きを予想が難しく、ラストヒットを取ったり、コンボを繰り出したり、人間がするのと同じようにしたかったのです。驚くべきことに、比較的 "しぶとさ"についての反応はそこまででもありませんでした。
これらのデータに基いて、私たちは今回のアップデートでより人間に近いBot、特により難しく、より面白くするというような変更を包括的目標に据えました。
プレイヤーはBotたちが強さと危険性について人間のように考えてないと言っていました。結局のところそれは正しいものでした。
脅威の評価の向上
「脅威の評価」はボットは彼らがどれくらい強いか、どれくらい強力な敵であるかを判断するためのシステムです。これらのシステムは、ゲーム全体のボットの意思決定のすべてを支えています。
従来のシステムはゲーム、特にFPSで一般的な方法でした。Botは受けたダメージを計算して、将来的な脅威を評価していました。FPSではこれは理に適っており、Botが角を曲がって大きなダメージを負った場合、そのまま居続けるとダメージを受けつづけるので、下がるのが最善です。
League of Legendsでは少し異なります。もし、プレイヤーのVeigarが全てのスキル撃ちつくして、Botがなおも生きていたのなら、逃げる必要はありません。Botたちにとって小さい邪悪な @$!#! をボコボコにする機会なのです。
Veigarはスキルがクールダウン中はほとんどダメージのポテンシャルがありません。隙のあるうちに少しでもダメージを与えない手はありません。
新しいシステムはヘルスだけではなく、botと周囲にいる敵のスキルのクールダウンも考慮します。つまり、私たちはBotの脅威の評価を改善しました。(Veigarには大変申し訳ないことですが。)
(画像を右クリックしてコンテキストメニューから再生できます)
とはいえ、脅威の評価を改善したということはBotたちにとって魔法の弾丸(特効薬)ではありません。Leauge of LegendsはBotたちではなく人間がプレイすることが前提となっており、これによっておもしろい問題が生じます。たとえば、スキルは使ってみるまでどのスキルが撃たれるかわかりません。MorganaのSoul Shacklesが使用された際、スクリプトによって逃げ始め、絶えず繋がりが切れたかどうかチェックします。スキルが終了したとき、スクリプトは”おい!おまえはスタンしてダメージを受けたぞ”とつながりが切れていない全員に告げることになります。MorganaがUltする前にはSoul Shacklesがダメージとスタンを与えることはわかりません。
説明文を読むことができる人間は前もってシナリオを練ることができるのは明らかです。結果として、システムはどのスキルが使われたかはわかりますが、Botたちは説明を読むことが出来ず、経験から学ぶこともできません。
今回のアップデートはチャンピオンがどのくらいダメージを出せるのかおおまかに見積もらなければなりませんでした。Botたちは勝てるときでも逃げ出したり、勇み足が過ぎることがあります。これは彼らが人間のようにダメージ量を計算できないためです。 :P
ジャングルとウォールジャンプをしない理由
これはたった一つのシンプルな答えです:botは壁を認識できないからです。(ね、Botはダメでしょ?)
これは本質的にはスキルと同じ課題です:Leagueは人間がプレイすることを前提に作られています。人間にとって、道が曲線を描いているのは明らかです。そこに壁があるのだから!一方、Botは与えられた道をなぞるだけです。どこが壁なのか正確には知りませんし、壁の厚さもわかりません。障害物が壁であることすら知りません。ミニオンの山の可能性すらあります。Botたちは経路システムによって定められた最短経路に沿って移動しています。
Flashや他のスキルでの壁越えは以上から自動化の難しい壁の厚さや狭い地点への行き方のわからないBotにとって非常に困難です。
内部で行われている大量の地形の修正はこれらを(遠い、遠い)将来、可能にしてくれるでしょう。
ジャングリングも似たようなストーリーです。ジャングリングの一番の鍵となるのはルート選択であり、純粋な距離よりも安全かつ最適が重要になります。経路と地形システムの追加変更無しには銀のトレイの上に載って動きまわる300 Gold以上のJungler Botを作ることはできません。
Botたちにとって壁越えとジャングルはどちらも間違いなく素晴らしいものです、将来的にBotたちがそれらが可能になる方法を模索するつもりです。現在の目標はより幅広くプレイヤーと戦うことが出来るという別のところにあります。
スキルショットの回避
以前のBotとプレイヤーの一番分かり易い違いはスキルショットへの反応です。プレイヤーはほとんどの状況で避けようと努力しますが、Botはまるでひるむことなくスキルショットへと突き進み当たってしまいます。これは人間ではないものの行動です、だから私たちはbotたちに避け方を教えました。しかし、非常に大きな難題に直面しました(あなたもそう思うことでしょう!)- 地形同様、Botたちはスキルショットが”見えない”のです。
更新前のAnnie BotへのNidaleeのJavelin Tossは以下の通りでした。
Annie Bot Online…
Scanning…
Target: Nidalee
My HP: High
Target Q Available: Yes
Action: 機械の心を満たすファーム
-------------------
Scanning…
Target: Nidalee
My HP: High
Target Q Available: NO
Action: もっとファーム
-------------------
Scanning…
Target: Nidalee
My HP: LOW
Target HP: High
Target Q Available: NO
Action: WTF!! HPはどこいっちゃったの?! NIDALEE OP, RITO PLS! (逃げ出す)
Annie Botには幸運なことに、Riotは既にある情報を使ってスキルショットをかわすのに役立てる方法を思いついきました。対戦相手のスキルがクールダウンになっていることを見極め、いくつかのケースではスキルショットをかわそうとします。
更新後のAnnie Bot への Javelin Toss は以下の通りです:
Annie Bot Online…
Scanning…
Target: Nidalee
My HP: High
Target Q Available: Yes
Action: ファーム
-------------------
Scanning…
Target: Nidalee
My HP: High
Target Q Available: NO
[SPELL USAGE DETECTED]
Is Spell Skillshot: YES
Is Target Facing Me: YES
Action: DODGE LIKE A NINJA (忍者のようにかわす)
-------------------
Scanning…
Target: Nidalee
My HP: High
Target Q Available: NO
Action: BREAK OUT THE BREAD AND CHEESE CUZ I’M GOING HAM! (Attack)
※ go ham で全力を尽くすという意味です。ここでは食べ物のハムとかけていて、パンとチーズを用意しなさい!と言ってます。
この変更で、Botはスキルショットを避けるようになりました・・・が、完璧ではありません。例を挙げると、AniviaのFlash Frostは最大距離まで飛ぶか、再使用するまでクールダウンにはなりません。そのため、Botたちはそれが使われたかどうかわかりません。AhriのOrb of Deceptionは戻ってきます、そのため、Botたちは行きは避けれますが、帰りは避けることができません。他にもまだまだ現在のシステムでは対応できていないスキルがあります。ただ、これまで避けなかったことに比べると間違いなくさけるようにはなっています。
Botのコンボとビルドの更新
上記のトリッキーなケースを除いて、Botたちを人間に近づけることができました。特にスキルのコンボとアイテムビルドを更新しました。品質保証担当のRiot AficのDiamondレベルの知識は非常に役に立ちました。
アップデートされたBotたちは今ははるかに現代的なコンボを使用し、より賢いアイテム選択を行います。
付け加えると、Annie BotはFlash-stun-Tibbersを使用するようになりました。首を洗って待っててください。
より人間らしいBot
当然のことながら、要素が多くなるとBotは計算がかなり必要となります。チームのエンジニア、RiotAaronMikeとRiotWooTangは私たちのコードを最適化し、より人間に近づけるために良い働きをしてくれました。
そのため私たちはサーバーの運用に影響することなく更新を適用することができました。
より効率的で、より人間らしいBotを作るにあたり、環境と反応をスキャンした際。速度が低下するかどうかを見る良い機会でした。Intermediate Botは脅威の程度によりますが、50%から100%、Beginner Botはその1/3程度の頻度でスキャンします。これらの変更で遅くなりはしませんでしたが、そこまで早くもなく超人的なリアクションを取り去ることに貢献しました。
これらの変更と追加によってより人間に近いBotを作成しました。彼らはおそらくDiamond-Levelではありません(たぶん、Silverですらありません)が、今のところ、それは私たちのしようとしていることではありません。次のステップで行うのはプレイヤーの最初の数ゲームのための新しいBotを作る方法です。次のプロジェクトの詳細はもうすぐ明らかになることでしょう!
公式告知
Dev Blog: Making a More Human Bot | League of Legends
0 件のコメント:
コメントを投稿