/dev:AIをレベルアップする

みんなに愛してもらえないなら、一体誰がAIを愛してあげられるんでしょうか?

こんにちは、私はDarcy “Riot DashiJador” Ludington、LoLのAIボットを担当するテクニカルプロダクトリードです!出がらしのプラチナプレイヤーではありますが、ローテーションで登場するゲームモード関連で今後もよく顔を出すと思います。ですがここではAI戦についてお話しします。この記事では、ボットチームのテックリードである「深夜のARAMメイン」ことEmmett “Riot Sentanel” Coakleyと共にお話ししていきます。それでは、AIについてのめくるめくお話を始めましょう!

LoLにおけるAIの歴史

AIはLoLのはじまりから存在しており、2014年に既存AIのすべてのコードを書き直すまで、少々の手直しで動いていました。当時、コードを書き直しはしましたが、結局はすでに運用されていた少数のみに留め、チャンピオンの種類を増やすことはありませんでした。くわえて、AIはトップレーンに行くチャンピオンが2体で、ジャングラーはいません──最近の体験としては、総合的によいチーム構成とは言えないでしょう。

AIへの投資を再開

ここ数ヵ月の間、私たちはAIの開発を活発化させています。投資をやめたことはないのですが、現在と未来、その両方のLoLにとって正しいアプローチを見定める必要がありました。

プレイヤーからのフィードバックと不満点を精査すると、多くのプレイヤーが「全体的にもっと改善が必要。特に新規プレイヤーの友達と一緒にプレイするための手段として、もっと気軽に、ストレスの少ない通常のLoL体験に近い練習をしたい」と望んでいることが分かりました。

これには私も大いに共感するところです──私がLoLを始めた2010年当時、「上達する」のは難しいことでした。友人たちは私とプレイしたいと言ってくれ、私もみんなとプレイしたかったのですが、対人戦の敷居は非常に高く感じられました。サモナーレベルが17になるまではAI戦でプレイして、対人戦でもやれるくらい上手くなったと思ったのですが、いざ実際に対人戦に行ってみると、プレイヤーとAIの差を思い知らされました。私よりも上手な友人たちといっしょに、成長し学んでいけるゲームモードがほしいと思ったのは、その時です。

この経験は私だけではないでしょう。データによると、新規プレイヤーが対人戦に取り組む前に経験したAI戦の試合数は、その後の対人戦の勝率に寄与しないことが分かっています。なので、LoLがRTS(リアルタイムストラテジー)であり、チーム戦でもある側面を、さまざまな習熟度に応じてストレスの少ない環境で楽しんでもらえる場所を作りたいと考えています。

新規AIの制作する以外に、AIのアップデートはLoLの可能性を広げ、デザイナーにとっての新しいツールを提供し、そして学習のための環境でプレイヤーが技術を習得するための手助けになると見なしています。(対人戦では、ダリウスとアムムがトップレーンで戦うというシチュエーションはそうそうないと思いますので)

開発者とプレイヤー、両方からの需要が増えていますので、プレイヤーにとってはLoLの技術を向上させることができるAI、デザイナーにとってはプレイヤーに提供する新規コンテンツ開発のためのツールとなるAIを作る……そんな新たな大規模システムを作るため、私たちのチームは結成されたのです。すばらしいことですよね!

私たちの目標

このプロジェクトには大きな目標がいくつかあります。

LoLによくあるゲーム体験を、よりよく反映したAI体験になるようにアップデートを行う。

  • ジャングルを回り、ギャンクし、ドラゴンを取るAI!
  • もっと戦術的に、チームが一丸となって動く、補助チームAIを制作
  • AIがメタの変化に対応
mumu_jg_bot.gif
ジャングルを回りスマイトを使うAIアムム!

対人戦よりもストレスが少なく、よりよいLoLの学習手段を提供する。

  • AIのチャンピオンプールの拡張
  • ひとつのチームとして動けるAI
  • 上達したいプレイヤーのために、相手の技量に合わせられるAIを制作

AI技術の規模拡大と、その維持と拡張を可能にすることで、プレイヤーを喜ばせるための楽しいレバーをデザイナーに提供する。

  • 新規ゲームモードへの対応
  • AIの挙動を編集可能に
  • すばやいイテレーションのためのツールとして活用可能に

技術的なおしゃべり

難解すぎる技術の話はしないつもりですが、私たちのアプローチについて少しだけお話しさせてください。AIのインフラにつきまとう主な問題のひとつに、長期的な維持と拡張が可能なAI構築方法をどのように決定するかがあります。全チャンピオン(ミリオまでで全163体)をサポートできるAIのロジック制作をどのように取り扱うのか?さらに、サモナーズリフト以外のゲームモードではこれらのAIをどうやってサポートするのか?ARAMのために、さらに163種類のカスタムがAIに必要になるのか?URFも入れると、さらに163種類?「アルティメット スペルブック」は?今後リリースされるゲームモードは?

現在のアプローチでは、AIの意志決定ロジックに新しいビヘイビアツリーシステムを開発します。ビヘイビアツリーとはその時に取るべき行動を評価するための意志決定プロセスで、優先度が最大の行動が最初に実行すべきと評価されます。これらの行動はサブツリーグループに分けられるのが一般的なので、LoLのビヘイビアツリーの場合、戦闘、離脱、移動、ジャングル関連、アイテム購入、スキルのレベルアップなどのグループができます。

Bot-AI-Tree-Example.png
ビヘイビアツリーの例(注:これは実際のAIのものではありません)

先を見据え、以前は実現できなかった分野を将来的に切り開いていくためにも、ビヘイビアツリーを構築しています。AIはプレイヤーを教育できるのか?機械学習(ML)AIは、プレイヤーの技術を次の段階に上げる手助けができるのか?PvE体験のためのAIのコードはすぐ書けるものになるのか?これらの実現可能性は、この土台を通してどんどん増しています!

ですが、皆さんをのけ者にしてAI構築はしたくないと思っています。この2023年、私たちにやってほしいことについて、ぜひご意見をお寄せください!

新ベータAI

まず、私たちの方向性について、皆さんからよいフィードバックがいただければと思っています!最初はとてもシンプルな新AIになるでしょうし、上手いプレイヤーからすれば大したものではないかもしれませんが、それこそがPBE実装の目的です。LoLへの導入をスムーズに行いたいので、未経験の友人を誘ってぜひLoLをプレイしてみてください!

新ベータボットは今年後半、PBE2週間登場しますので、試してみた感想とご意見を、ぜひReddit(英語掲示板)でお寄せ下さい!

目標達成のため、バックエンドで大量の開発作業も行っていますので、今のAIの好きなところや、しっかり作ったら確実に改善できると思う箇所があれば、私たちもぜひそれを知りたいと思っています。プレイヤーのみならず、開発者たちの助けにもなりますので!

もし今回はテストプレイに参加できなくても、心配無用です!正式なリリース前に何度かフィードバックをいただきたいので、プレイヤー体験をさらに改善するためにも、イテレーションを繰り返しAIを磨き上げていければと思います。

長期的な視点での考え

長期的には、この技術をさまざまな開発チームやエンジニアにとって拡張・再利用できるように構築し、愛すべきプレイヤーの皆さんに新たな体験をお届けできるようになるでしょう。I do know a lot of players

インフラとツールの構築が完了すれば、さまざまなことが可能になりますので、AIの調整についておもしろいアイデアがあれば、ぜひお知らせください。

今年後半のPBEでお会いしましょう。そして、いつもありがとうございます。君達のAIは、全て私たちがいただいた!

それでは、サモナーズリフトでお会いしましょう!