AI の Evony ボットはある? コンピュータービジョンと OCR で動く最新の自動化ツール
Evony ボットにおける「AI」とは何か。画面やボタンを認識するコンピュータービジョン、数字やタイマーを読む OCR、次の行動を決めるスケジューラー。チャットボットは不要です。
この投稿は自動翻訳されました。英語版が基準となります。 英語で読む
はい。大事な意味では、あります。最新の Evony ボットは、今日「AI」と呼ばれているものの多くを支えるコンピュータービジョンと光学文字認識(OCR)と同じ技術で動いています。ゲームのスクリーンショットを見て、その中のボタン、アイコン、カード、数字を認識し、次に何をタップするかを決めます。チャットボットではなく、ゲームをプレイするのに大規模言語モデルを使っているわけでもありません。ここでは、Evony ボットの「AI」が実際に何をしているのか、そしてなぜその設計ならゲームのアップデートのたびに動き続けられるのかを説明します。
問題: ボットが見られるのはピクセルだけ
エミュレーターがボットに与えるのは、スクリーンショットと、タップを送る手段の 2 つだけです。「集結は開いているか?」と尋ねられるメニューはありません。ボットは画像を見て自分で判断する必要があり、それを 1 分間に何百回も繰り返します。しかも画面は、ポップアップやイベントバナー、ゲームのアップデートのたびに変わります。これは認識の問題であり、認識こそコンピュータービジョンの役割です。
レイヤー 1: 画面とボタンの認識
最初の仕事は、今どこにいるかを知ることです。城、マップ、集結リスト、Tavern、ポップアップなどです。ボットは、ゲームが表示するボタン、アイコン、ラベルの小さな切り抜きを参照画像のライブラリとして持っていて、現在のスクリーンショットと照合します。集結カードの「Join」ボタンが高い信頼度で一致すれば、ボットは集結カードがあることと、どこをタップすればよいかが分かります。同じ手法で、集結カード上のボスアイコン、ドラゴンの餌やり画面、Wheel of Fortune のスライス、Black Market のアイテム、そして毎日のループで触れるほかの何百ものものを認識します。
この作業は、聞こえるほど簡単ではない理由が 2 つあります。1 つ目は、低スペックのデバイスではゲームの描画がぼやけるため、高性能 PC で撮った参照画像がノート PC では弱くしか一致しないことがある点です。そのため、一致のしきい値は画面ごとにそれを考慮して設定する必要があります。2 つ目は、アップデートでゲームのアートが変わる点です。ボットの保守には、パッチのたびに参照画像を撮り直し、複数のエミュレーターでテストする作業が含まれます。
レイヤー 2: 数字とテキストの読み取り
行軍画面が開いていると分かるだけでは足りません。ボットは、行軍時間、兵数、スタミナ、タイルのレベル、集結の残り枠を読み取る必要があります。これが OCR です。ボットは数字がある領域を切り抜き、テキスト認識を実行します。OCR のおかげで、集結ボットは空きのない集結への参加を断り、ファーミングボットはレベル 4 よりレベル 6 のタイルを選び、スケジューラーは行軍があと 14 分で戻ると推測ではなく把握できます。
ゲームのフォントの OCR は、それ自体が職人技です。縁取りのある数字、色付きの背景、小さなサイズは汎用の認識器を混乱させるため、切り抜きは画面ごとに調整し、読み取り結果は妥当性を確認します(スタミナが 9,000 と読めたら、それは奇跡ではなく誤読です)。
レイヤー 3: 何をするかの判断
認識が答えるのは「画面に何があるか」です。スケジューラーが答えるのは「次に何をすべきか」です。スケジューラーは、アカウントごとのタスクのリスト、その優先順位、タイマーを保持しています。採集の行軍は決まった時刻に戻り、ボスは決まったスケジュールで再出現し、イベント建物はカレンダーに沿って開閉し、デイリーは決まった時刻にリセットされます。スケジューラーは次のタスクを選び、画面をそのタスクのロジックに渡します。タスクはレイヤー 1 と 2 を使って実行し、行軍の送信のようにリスクのある操作の前には確認を行います。
アプリのイベントカレンダーはこのレイヤーにあり、イベントが実際にいつ終わるかというコミュニティからの報告もここに含まれます。エミュレーターのローテーションが、どのアカウントを今動かし、どれを待たせるかを決めるのもここです。
なぜ大規模言語モデルではないのか?
言語モデルは言語が得意です。Evony のプレイは認識とタイミングの問題です。画面を見て、数字を読み、1 秒以内にタップし、ずれることなく一晩中繰り返す。ビジョンのパイプラインなら、自分の PC で確実に、低コストでそれができます。ループの中に言語モデルを入れても、遅く、高価で、Join ボタンの認識が上手になるわけでもありません。言語モデルが役立つのはボットの周辺です。ドキュメント検索、サポート、保守する人向けのツールなどです。ループの内側にあるのは、ビジョン、OCR、スケジューラーです。
ユーザーにとっての意味
- 画面に関する設定は重要です。 解像度、グラフィックモード、ゲームのバージョンはビジョンレイヤーへの入力になります。セットアップガイドがとても具体的なのはそのためです。
- アップデートは普通のことです。 ゲームのパッチの後は参照画像と切り抜きを撮り直します。ボットのアップデートが修正です。ボットのアップデートが出るまでは、以前のゲームバージョンのままにしておいてください。
- 確認機能は利点です。 行軍送信前の確認や OCR の読み取り結果の妥当性確認が、誤読で兵を失うのを防ぎます。
実際に動くところを見たい方は、無料アカウントを作成し、アプリをダウンロードして、動作中のログを見てください。ログの 1 行 1 行が、ボットが何を認識し、何を判断したかの報告です。
よくある質問
Evony ボットは AI を使っていますか?
コンピュータービジョンと OCR を使っています。これらは AI の技術です。スクリーンショット内のボタンや画面を認識して数字を読み取り、スケジューラーが次の行動を決めます。ゲームをプレイするためにチャットボットや大規模言語モデルは使っていません。
ChatGPT に Evony をプレイしてもらえますか?
実用的にはできません。ゲームのプレイは、認識とタイミングの問題です。画面を認識し、数字を読み、1 秒以内にタップすることを一晩中続けます。自分の PC 上のビジョンパイプラインなら確実にこなせますが、言語モデルは遅く、高価で、ボタンの認識も得意ではありません。
ゲームのアップデート後にボットが動かなくなるのはなぜですか?
ボットは見た目でゲームを認識しているからです。アップデートでアート、レイアウト、フォントが変わると、一部の参照画像や OCR の切り抜きは、撮り直すまで一致しなくなります。ボットのアップデートが出るまで以前のゲームバージョンのままにしておくのが標準的なアドバイスなのは、そのためです。
ボットはゲームのメモリやネットワーク通信を読み取りますか?
いいえ。当社のアプリは、プレイヤーと同じように、エミュレーター経由のスクリーンショットとタップで動作します。ゲームクライアントに注入したり、ゲームのサーバーと通信したりするツールは、パッチのたびに動かなくなり、BAN への最短ルートです。