4 dk okuma Yazar: EAT team

Yapay zekalı bir Evony botu var mı? Bilgisayarlı görü ve OCR modern bir otomasyon aracını nasıl çalıştırır

Evony botunda 'yapay zeka' ne demek: ekranları tanıyan bilgisayarlı görü, sayıları okuyan OCR ve sıradaki işi seçen zamanlayıcı. Sohbet botu gerekmez.

Bu yazı otomatik olarak çevrildi. İngilizce sürüm referanstır. İngilizce oku

Evet, önemli olan anlamıyla evet: modern bir Evony botu, bugün yapay zeka denen şeylerin birçoğunu çalıştıran aynı bilgisayarlı görü ve optik karakter tanıma (OCR) tekniklerine dayanır. Oyunun ekran görüntülerine bakar, içindeki düğmeleri, simgeleri, kartları ve sayıları tanır ve sıradaki dokunuşa karar verir. Bir sohbet botu değildir ve oyunu oynamak için büyük bir dil modeli kullanmaz. Aşağıda bir Evony botundaki "yapay zekanın" gerçekte ne yaptığını ve bu tasarımın her oyun güncellemesinden sonra neden çalışmaya devam ettiğini anlatıyoruz.

Sorun: bot yalnızca pikselleri görebilir

Bir emülatör bota iki şey verir: ekran görüntüleri ve dokunuş gönderme yolu. "Bir rally açık mı?" diye sorabileceği bir menü yoktur. Bot resme bakıp bunu kendisi çıkarmalıdır; üstelik bunu dakikada yüzlerce kez, her pop-up'la, her etkinlik afişiyle ve her oyun güncellemesiyle değişen bir ekranda yapar. Bu bir algılama sorunudur ve algılama bilgisayarlı görünün işidir.

Katman 1: ekranları ve düğmeleri tanımak

İlk iş nerede olduğunu bilmektir: şehir, harita, rally listesi, tavern, bir pop-up. Bot, oyunun gösterdiği düğmelerin, simgelerin ve etiketlerin küçük kesitlerinden oluşan bir referans görüntü kütüphanesi tutar ve bunları mevcut ekran görüntüsüyle eşleştirir. Bir rally kartındaki "Join" düğmesi yüksek güvenle eşleştiğinde bot bir rally kartı olduğunu ve nereye dokunacağını bilir. Aynı teknik, rally kartındaki boss simgesini, dragon besleme ekranını, Wheel of Fortune dilimlerini, Black Market eşyalarını ve günlük döngünün dokunduğu yüzlerce başka şeyi tanır.

İki ayrıntı bunu göründüğünden zor kılar. Oyun düşük özellikli cihazlarda daha bulanık görünür; bu yüzden güçlü bir bilgisayarda alınmış referans görüntü dizüstü bilgisayarda zayıf eşleşebilir ve eşleşme eşikleri her ekran için bunu düşünerek ayarlanmalıdır. Ayrıca oyun güncellemelerle görsellerini değiştirir; bu yüzden bir botu bakımda tutmanın bir parçası, her yamadan sonra referansları yeniden almak ve emülatörler arasında test etmektir.

Katman 2: sayıları ve metni okumak

Bir march ekranının açık olduğunu bilmek yetmez; botun march süresini, asker sayısını, stamina'yı, tile seviyesini ve rally'deki kalan boş yerleri okuması gerekir. İşte bu OCR'dır: bot sayının bulunduğu bölgeyi keser ve üzerinde bir metin tanıyıcı çalıştırır. OCR sayesinde rally botu yeri olmayan bir rally'yi reddeder, farming botu seviye 4 yerine seviye 6 tile'ı seçer ve zamanlayıcı bir march'ın tahmin etmek yerine 14 dakika içinde döneceğini bilir.

Oyun yazı tiplerinde OCR kendi başına bir zanaattır. Çerçeveli, renkli arka planlı ve çok küçük sayılar genel amaçlı tanıyıcıları şaşırtır; bu yüzden kesitler her ekran için ayarlanır ve okumalar mantık kontrolünden geçirilir (9.000 stamina okuması mucize değil, yanlış okumadır).

Katman 3: ne yapılacağına karar vermek

Algılama "ekranda ne var" sorusunu yanıtlar. Zamanlayıcı ise "sırada ne olmalı" sorusunu yanıtlar. Her hesap için görev listesini, önceliklerini ve zamanlayıcılarını tutar: toplama march'ları bilinen saatlerde döner, boss'lar bilinen programlarla yeniden doğar, etkinlik binaları bir takvime göre açılıp kapanır, günlükler belirli bir saatte sıfırlanır. Zamanlayıcı sıradaki görevi seçer, ekranı görevin mantığına devreder ve görev bunu yapmak için Katman 1 ve 2'yi kullanır; march göndermek gibi riskli bir işten önce kontroller yapılır.

Uygulamaların etkinlik takvimi, etkinliklerin gerçekte ne zaman bittiğine dair topluluk raporları dahil, bu katmanda yaşar; emülatör rotasyonu da hangi hesapların şimdi çalışıp hangilerinin bekleyeceğine burada karar verir.

Neden büyük bir dil modeli değil?

Dil modelleri dilde iyidir. Evony oynamak bir algılama ve zamanlama sorunudur: bir ekranı gör, bir sayıyı oku, bir saniye içinde dokun, bütün gece sapmadan tekrarla. Bir görü hattı bunu kendi bilgisayarınızda güvenilir ve ucuz biçimde yapar; döngüdeki bir dil modeli yavaş, pahalı olur ve bir Join düğmesini tanımakta daha iyi olmaz. Dil modellerinin işe yaradığı yerler botun çevresindedir: dokümantasyon araması, destek ve botu geliştiren kişiler için araçlar. Döngünün içinde ise görü, OCR ve bir zamanlayıcı vardır.

Bu sizin için ne anlama geliyor

  • Ekranla ilgili ayarlar önemlidir. Çözünürlük, grafik modu ve oyun sürümü görü katmanının girdileridir; kurulum rehberinin bu kadar ayrıntılı olmasının nedeni budur.
  • Güncellemeler normaldir. Bir oyun yamasından sonra referanslar ve kesitler yeniden alınır; botun güncellemesi çözümdür. Bot güncellemesi çıkana kadar önceki oyun sürümünü saklayın.
  • Kontroller birer özelliktir. March göndermeden önceki kontrol ve OCR okumalarındaki mantık kontrolleri, yanlış bir okumanın size asker kaybettirmesini önleyen şeylerdir.

Çalışırken görmek isterseniz ücretsiz bir hesap oluşturun, uygulamayı indirin ve çalışırken günlüğü izleyin: her satır, botun neyi tanıdığını ve ne karar verdiğini anlatır.

Sık sorulan sorular

Bir Evony botu yapay zeka kullanır mı?

Yapay zeka teknikleri olan bilgisayarlı görü ve OCR kullanır: ekran görüntülerindeki düğmeleri ve ekranları tanır, içlerindeki sayıları okur, ardından bir zamanlayıcı sıradaki işe karar verir. Oyunu oynamak için sohbet botu veya büyük bir dil modeli kullanmaz.

ChatGPT benim yerime Evony oynayabilir mi?

Pratik anlamda hayır. Oyunu oynamak bir algılama ve zamanlama sorunudur: bir ekranı tanı, bir sayıyı oku, bir saniye içinde dokun, bütün gece boyunca. Kendi bilgisayarınızdaki bir görü hattı bunu güvenilir biçimde yapar; bir dil modeli yavaş, pahalı olur ve bir düğmeyi tanımakta daha iyi olmaz.

Bot neden bir oyun güncellemesinden sonra bozulur?

Çünkü oyunu neye benzediğine bakarak tanır. Bir güncelleme görselleri, düzeni veya yazı tiplerini değiştirdiğinde bazı referans görüntüler ve OCR kesitleri yeniden alınana kadar eşleşmez. Bu yüzden bot güncellemesi çıkana kadar önceki oyun sürümünü saklamak standart tavsiyedir.

Bot oyunun belleğini veya ağ trafiğini okur mu?

Hayır. Uygulamalarımız, bir oyuncunun yaptığı gibi, emülatör üzerinden ekran görüntüleri ve dokunuşlarla çalışır. Oyun istemcisine enjekte olan veya sunucularıyla konuşan araçlar her yamada bozulur ve yasaklanmaya giden en hızlı yoldur.

Kendi hesabınızda deneyin

Ücretsiz bir hesap oluşturun, Emulator Automation Tool veya ESB-TKR'yi indirin ve Dokümantasyonu izleyin. Destek Discord'dadır.