ドラゴンクエストライバルズをプレイするAIを作っていきます。
ディープラーニングを使ってそれなりに強いAIを作ることが目的です。
(8/27更新)
※本ページは各ページの「もくじ」的な使い方をするので,
随時更新していきます。
0日目はマイルストーンの提示と前提条件、ゴール設定など。
ドラゴンクエストライバルズとは
ドラゴンクエストシリーズのモンスター同士を戦わせるカードゲームです。
【公式サイト】
https://www.dragonquest.jp/rivals/
iOS,Android,NintendoSwitchなどでプレイ可能です。
ゲームの仕組みはシャドウバースに似ており,
かなり大雑把に言うとシャドウバースのカードがドラクエになったようなものです。
マイルストーン
・1日目
「ディープラーニングでドラゴンクエストライバルズのAIを作る【1日目】」はこちら
まずは、人間がインタラクティブにプレイするドラゴンクエストライバルズを実装します。
GUIなどはもちろんなく,コンソールでプレイできるものを作っていきます。
フル規格のドラゴンクエストライバルズの実装は当然無理なので簡易版をまず実装します。
ルールや使えるカードはかなり限定的になるかと。
言語はディープラーニングとの相性の良い,pythonを使っていきます。
持っていないカードが多く恥ずかしいですが,下記のデッキを実装します。
・2日目
「ディープラーニングでドラゴンクエストライバルズのAIを作る【2日目】」はこちら
1日目でひとまずゲームが実行できる状態になるので、
極力シンプルなとても弱いAIを実装します。
取り得るアクションをランダムで選ぶAI(AIと呼べるか怪しいが)を実装します。
ここではまだ機械学習によるAIの強化はできていない状態ですね。
ここでの目的はAIに多量の試合を行わせて,
多量の試合のログを取得することです。
・3日目
ここでやっと機械学習の要素が出てくるのですが,
2日目で取得した試合のログをディープラーニングで分析して,
勝ち筋のパターンを分析します。
・4日目
3日目で学習した勝ち筋を元にプレイするAIを実装します。
・5日目
強化したAI同士を戦わせてどんどん強くする仕組み(強化学習)を実装していきます。
#前提条件とゴール
おそらく個人の範疇では全てのカードの特性を実装するのは不可能と考えています。
そのため,数多あるカードの中から最強のデッキを作るAIを構築するのはかなり難しいかと思います。
ひとまずは限定されたカードの中から,構築済みのデッキを用いて戦うAIを作ります。
それなりに強いAI同士を戦わせて,あるデッキとあるデッキが戦った場合の勝率を算出することが当面のゴールになります。
人間がプレイすると1試合5分くらいかかりますが,AIではマシンパワー次第で1000試合,2000試合とできますので,デッキの勝率の定量的な分析ができるようになるかと思います。
その結果を元にどのカードを追加すると勝率が上がるか定量的に分析できるようになればなかなか有益なツールになるかと。
© 2017-2019 ARMOR PROJECT/BIRD STUDIO/SQUARE ENIX All Rights Reserved.
© SUGIYAMA KOBO