Đọc 7 phút Bởi EAT team

Có bot Evony dùng AI không? Thị giác máy tính và OCR vận hành một công cụ tự động hóa hiện đại ra sao

'AI' trong bot Evony nghĩa là gì: thị giác máy tính nhận diện màn hình và nút, OCR đọc số và giờ, bộ lập lịch chọn việc tiếp theo. Không cần chatbot.

Bài viết này được dịch tự động. Bản tiếng Anh là bản tham chiếu. Đọc bằng tiếng Anh

Có, theo nghĩa quan trọng nhất: một bot Evony hiện đại chạy trên chính các kỹ thuật thị giác máy tính và nhận dạng ký tự quang học (OCR) đang đứng sau phần lớn những gì người ta gọi là AI ngày nay. Nó nhìn vào ảnh chụp màn hình của game, nhận diện các nút, biểu tượng, thẻ và con số trong đó, rồi quyết định chạm vào đâu tiếp theo. Nó không phải chatbot và không dùng mô hình ngôn ngữ lớn để chơi game. Dưới đây là những gì "AI" trong một bot Evony thực sự làm, và vì sao thiết kế đó vẫn tiếp tục hoạt động sau mỗi lần game cập nhật.

Vấn đề: bot chỉ nhìn thấy điểm ảnh

Giả lập cho bot hai thứ: ảnh chụp màn hình và cách gửi thao tác chạm. Không có menu nào để hỏi "có rally đang mở không?". Bot phải nhìn vào hình ảnh và tự suy ra, hàng trăm lần mỗi phút, trên một màn hình thay đổi theo từng cửa sổ bật lên, từng banner sự kiện và từng bản cập nhật game. Đó là bài toán nhận thức, và thị giác máy tính sinh ra để giải bài toán đó.

Lớp 1: nhận diện màn hình và nút

Việc đầu tiên là biết mình đang ở đâu: trong thành, trên bản đồ, danh sách rally, quán rượu, hay một cửa sổ bật lên. Bot giữ một thư viện ảnh tham chiếu, là các ảnh cắt nhỏ của những nút, biểu tượng và nhãn mà game hiển thị, rồi so khớp chúng với ảnh chụp màn hình hiện tại. Khi nút "Join" của một thẻ rally khớp với độ tin cậy cao, bot biết có thẻ rally và biết chạm vào đâu. Cùng kỹ thuật đó nhận diện biểu tượng boss trên thẻ rally, màn hình cho rồng ăn, các ô của Vòng quay may mắn, các món trong Chợ đen, và hàng trăm thứ khác mà vòng lặp hằng ngày chạm tới.

Hai chi tiết khiến việc này khó hơn vẻ ngoài. Game hiển thị mờ hơn trên thiết bị cấu hình thấp, nên ảnh tham chiếu chụp trên một PC mạnh có thể khớp yếu trên laptop; ngưỡng so khớp phải được đặt riêng cho từng màn hình với điều đó trong đầu. Và game thay đổi đồ họa theo các bản cập nhật, nên một phần của việc bảo trì bot là chụp lại ảnh tham chiếu sau mỗi bản vá và kiểm tra chúng trên nhiều giả lập.

Lớp 2: đọc số và chữ

Biết màn hình hành quân đang mở là chưa đủ; bot cần đọc thời gian hành quân, số quân, thể lực, cấp ô tài nguyên, số chỗ còn lại của rally. Đó là OCR: bot cắt vùng chứa con số và chạy bộ nhận dạng chữ trên vùng đó. Nhờ OCR, bot rally từ chối một rally đã hết chỗ, bot farm chọn ô cấp 6 thay vì cấp 4, và bộ lập lịch biết một đoàn quân sẽ về sau 14 phút thay vì đoán mò.

OCR trên phông chữ game là một nghề riêng. Các con số có viền, nền màu và kích thước rất nhỏ làm rối các bộ nhận dạng đa dụng, nên các vùng cắt được tinh chỉnh theo từng màn hình và kết quả đọc được kiểm tra tính hợp lý (đọc ra thể lực 9.000 là đọc sai, không phải phép màu).

Lớp 3: quyết định làm gì

Nhận thức trả lời câu "trên màn hình có gì". Bộ lập lịch trả lời câu "tiếp theo nên làm gì". Nó giữ danh sách nhiệm vụ của từng tài khoản, mức ưu tiên và bộ đếm giờ của chúng: đoàn quân thu thập về vào thời điểm đã biết, boss hồi sinh theo lịch đã biết, các công trình sự kiện mở và đóng theo lịch, nhiệm vụ hằng ngày đặt lại vào một giờ cố định. Bộ lập lịch chọn nhiệm vụ tiếp theo, giao màn hình cho logic của nhiệm vụ đó, và nhiệm vụ dùng lớp 1 và lớp 2 để thực hiện, kèm các bước kiểm tra trước mọi việc rủi ro như gửi một đoàn quân.

Đây là lớp chứa lịch sự kiện của các ứng dụng, gồm cả báo cáo từ cộng đồng về thời điểm sự kiện thực sự kết thúc, và là nơi tính năng luân phiên giả lập quyết định tài khoản nào chạy lúc này và tài khoản nào chờ.

Vì sao không dùng mô hình ngôn ngữ lớn?

Mô hình ngôn ngữ giỏi về ngôn ngữ. Chơi Evony là bài toán nhận thức và thời điểm: nhìn một màn hình, đọc một con số, chạm trong vòng một giây, lặp lại suốt đêm mà không bị lệch. Một quy trình thị giác làm việc đó ổn định và rẻ ngay trên PC của bạn; đưa mô hình ngôn ngữ vào vòng lặp sẽ chậm, tốn kém và không giỏi hơn trong việc nhận diện nút Join. Mô hình ngôn ngữ hữu ích ở xung quanh bot: tìm kiếm tài liệu, hỗ trợ, và công cụ cho những người bảo trì nó. Bên trong vòng lặp, đó là thị giác, OCR và bộ lập lịch.

Điều này có ý nghĩa gì với bạn

  • Các cài đặt về màn hình rất quan trọng. Độ phân giải, chế độ đồ họa và phiên bản game là đầu vào của lớp thị giác, vì vậy hướng dẫn thiết lập mới chi tiết đến thế.
  • Cập nhật là chuyện bình thường. Sau một bản vá game, ảnh tham chiếu và vùng cắt được chụp lại; bản cập nhật của bot chính là bản sửa. Hãy giữ phiên bản game cũ cho tới khi bản cập nhật được phát hành.
  • Các bước kiểm tra là tính năng. Bước kiểm tra trước khi gửi quân và các bước kiểm tra tính hợp lý của kết quả OCR là thứ giữ cho một lần đọc sai không làm bạn mất quân.

Nếu muốn xem nó hoạt động, hãy tạo tài khoản miễn phí, tải ứng dụng và theo dõi nhật ký khi bot chạy: mỗi dòng là bot cho bạn biết nó đã nhận diện gì và quyết định gì.

Câu hỏi thường gặp

Bot Evony có dùng AI không?

Nó dùng thị giác máy tính và OCR, vốn là các kỹ thuật AI: nhận diện nút và màn hình trong ảnh chụp, đọc số từ đó, rồi một bộ lập lịch quyết định việc tiếp theo. Nó không dùng chatbot hay mô hình ngôn ngữ lớn để chơi game.

ChatGPT có thể chơi Evony thay tôi không?

Không theo cách thực tế nào. Chơi game là bài toán nhận thức và thời điểm: nhận diện màn hình, đọc một con số, chạm trong vòng một giây, suốt đêm. Một quy trình thị giác trên PC của bạn làm việc đó ổn định; mô hình ngôn ngữ sẽ chậm, tốn kém và không giỏi hơn trong việc nhận diện một nút.

Vì sao bot hỏng sau khi game cập nhật?

Vì bot nhận diện game qua hình dáng của nó. Khi bản cập nhật đổi đồ họa, bố cục hoặc phông chữ, một số ảnh tham chiếu và vùng cắt OCR không còn khớp cho tới khi được chụp lại. Đó là lý do lời khuyên chuẩn là giữ phiên bản game cũ cho tới khi bản cập nhật bot được phát hành.

Bot có đọc bộ nhớ của game hay lưu lượng mạng không?

Không. Các ứng dụng của chúng tôi làm việc từ ảnh chụp màn hình và thao tác chạm qua giả lập, giống như một người chơi. Những công cụ chèn vào client game hoặc nói chuyện với máy chủ của game sẽ hỏng sau mỗi bản vá và là con đường nhanh nhất dẫn đến khóa tài khoản.

Thử trên tài khoản của bạn

Tạo tài khoản miễn phí, tải Emulator Automation Tool hoặc ESB-TKR và làm theo Tài liệu hướng dẫn. Hỗ trợ có trên Discord.