4분 읽기 작성자 EAT team

AI Evony 봇이 있나요? 컴퓨터 비전과 OCR로 움직이는 자동화 도구

Evony 봇의 'AI'가 뜻하는 것: 화면과 버튼을 알아보는 컴퓨터 비전, 숫자와 타이머를 읽는 OCR, 다음 할 일을 정하는 스케줄러. 챗봇은 필요 없어요.

이 글은 자동으로 번역되었어요. 영어 버전이 기준이에요. 영어로 읽기

네, 중요한 의미에서는 그래요. 요즘 Evony 봇은 오늘날 AI라고 불리는 많은 기술과 같은 컴퓨터 비전과 광학 문자 인식(OCR) 기술로 움직여요. 게임 스크린샷을 보고, 그 안의 버튼, 아이콘, 카드, 숫자를 알아본 다음, 다음에 무엇을 탭할지 정해요. 챗봇이 아니고, 게임을 하는 데 대규모 언어 모델을 쓰지도 않아요. Evony 봇의 "AI"가 실제로 하는 일과, 이 설계가 게임 업데이트 뒤에도 계속 동작하는 이유를 알려드릴게요.

문제: 봇은 픽셀만 볼 수 있어요

에뮬레이터가 봇에게 주는 것은 스크린샷과 탭을 보내는 방법, 두 가지뿐이에요. "집결이 열려 있나요?"라고 물어볼 수 있는 메뉴는 없어요. 봇은 그림을 보고 직접 알아내야 해요. 팝업, 이벤트 배너, 게임 업데이트마다 달라지는 화면에서 분당 수백 번씩 말이에요. 이건 인식 문제이고, 인식은 컴퓨터 비전이 하는 일이에요.

1단계: 화면과 버튼 알아보기

가장 먼저 하는 일은 지금 어디에 있는지 아는 거예요. 성 안인지, 지도인지, 집결 목록인지, 선술집(Tavern)인지, 팝업인지 말이에요. 봇은 게임에 나오는 버튼, 아이콘, 라벨을 작게 잘라 둔 참조 이미지 라이브러리를 가지고 있고, 이를 현재 스크린샷과 맞춰 봐요. 집결 카드의 "Join" 버튼이 높은 신뢰도로 일치하면 봇은 집결 카드가 있다는 것과 어디를 탭해야 하는지를 알아요. 같은 기법으로 집결 카드의 보스 아이콘, 드래곤 먹이 주기 화면, Wheel of Fortune 칸, 암시장(Black Market) 아이템, 그리고 일일 루프가 건드리는 수백 가지를 알아봐요.

생각보다 어렵게 만드는 점이 두 가지 있어요. 사양이 낮은 기기에서는 게임이 더 흐릿하게 그려져서, 성능 좋은 PC에서 캡처한 참조 이미지가 노트북에서는 약하게 일치할 수 있어요. 그래서 일치 기준은 화면마다 이를 감안해서 정해야 해요. 또 게임이 업데이트 때 그래픽을 바꾸기 때문에, 봇을 유지 관리한다는 것은 패치마다 참조 이미지를 다시 캡처하고 여러 에뮬레이터에서 테스트하는 일이기도 해요.

2단계: 숫자와 텍스트 읽기

행군 화면이 열려 있다는 것만 아는 걸로는 부족해요. 봇은 행군 시간, 병력 수, 스태미나, 타일 레벨, 집결의 남은 자리를 읽어야 해요. 이게 OCR이에요. 봇은 숫자가 있는 영역을 잘라서 텍스트 인식기에 넣어요. OCR 덕분에 집결 봇은 자리가 없는 집결을 거절하고, 파밍 봇은 레벨 4 타일보다 레벨 6 타일을 고르고, 스케줄러는 행군이 14분 뒤에 돌아온다는 것을 추측하지 않고 알 수 있어요.

게임 글꼴에 대한 OCR은 그 자체로 하나의 기술이에요. 테두리가 있는 숫자, 색이 있는 배경, 아주 작은 크기는 범용 인식기를 헷갈리게 해요. 그래서 화면마다 잘라내는 영역을 조정하고, 읽은 값이 말이 되는지 확인해요(스태미나 9,000은 기적이 아니라 오독이에요).

3단계: 무엇을 할지 정하기

인식은 "화면에 무엇이 있나요"에 답해요. 스케줄러는 "다음에 무엇을 해야 하나요"에 답해요. 스케줄러는 계정별 작업 목록과 우선순위, 타이머를 가지고 있어요. 채집 행군은 정해진 시간에 돌아오고, 보스는 정해진 일정에 다시 나타나고, 이벤트 건물은 캘린더에 따라 열리고 닫히고, 일일 퀘스트는 정해진 시각에 초기화돼요. 스케줄러가 다음 작업을 고르고 그 작업의 로직에 화면을 넘기면, 작업은 1단계와 2단계를 써서 수행해요. 행군을 보내는 것처럼 위험한 일 전에는 확인 절차를 거쳐요.

앱의 이벤트 캘린더, 그리고 이벤트가 실제로 언제 끝나는지에 대한 커뮤니티 제보가 이 단계에 있어요. 에뮬레이터 로테이션이 지금 실행할 계정과 기다릴 계정을 정하는 것도 여기예요.

왜 대규모 언어 모델이 아닌가요?

언어 모델은 언어에 강해요. Evony를 하는 건 인식과 타이밍 문제예요. 화면을 보고, 숫자를 읽고, 1초 안에 탭하고, 밤새 흐트러짐 없이 반복하는 일이에요. 비전 파이프라인은 내 PC에서 이를 안정적이고 저렴하게 해내요. 루프 안에 언어 모델을 넣으면 느리고 비싸고, Join 버튼을 알아보는 데 더 낫지도 않아요. 언어 모델이 쓸모 있는 곳은 봇 주변이에요. 문서 검색, 지원, 그리고 봇을 유지 관리하는 사람들을 위한 도구죠. 루프 안에서는 비전, OCR, 스케줄러가 일해요.

사용자에게 의미하는 것

  • 화면에 관한 설정이 중요해요. 해상도, 그래픽 모드, 게임 버전은 비전 단계의 입력값이에요. 설정 가이드가 그렇게 구체적인 이유예요.
  • 업데이트는 정상이에요. 게임 패치 뒤에는 참조 이미지와 잘라내는 영역을 다시 캡처해요. 봇 업데이트가 곧 수정이에요. 봇 업데이트가 나올 때까지는 이전 게임 버전을 유지하세요.
  • 확인 절차는 기능이에요. 행군 전송 전 확인과 OCR 값의 타당성 검사가 오독으로 병력을 잃는 일을 막아 줘요.

직접 작동하는 모습을 보고 싶다면 무료 계정을 만들고, 앱을 다운로드한 다음, 실행되는 동안 로그를 지켜보세요. 로그의 모든 줄이 봇이 무엇을 알아보고 무엇을 정했는지 알려 줘요.

자주 묻는 질문

Evony 봇은 AI를 쓰나요?

컴퓨터 비전과 OCR을 써요. 이것들은 AI 기술이에요. 스크린샷에서 버튼과 화면을 알아보고 숫자를 읽은 다음, 스케줄러가 다음 할 일을 정해요. 게임을 하는 데 챗봇이나 대규모 언어 모델은 쓰지 않아요.

ChatGPT가 대신 Evony를 해 줄 수 있나요?

현실적으로는 어려워요. 게임을 하는 건 인식과 타이밍 문제예요. 화면을 알아보고, 숫자를 읽고, 1초 안에 탭하는 걸 밤새 해야 해요. 내 PC의 비전 파이프라인은 이를 안정적으로 해내지만, 언어 모델은 느리고 비싸고 버튼을 알아보는 데 더 낫지도 않아요.

게임 업데이트 뒤에 봇이 왜 고장 나나요?

봇은 게임을 보이는 모습으로 알아보기 때문이에요. 업데이트로 그래픽, 레이아웃, 글꼴이 바뀌면 일부 참조 이미지와 OCR 영역이 다시 캡처될 때까지 일치하지 않아요. 그래서 봇 업데이트가 나올 때까지 이전 게임 버전을 유지하라는 것이 표준 조언이에요.

봇이 게임 메모리나 네트워크 트래픽을 읽나요?

아니요. 우리 앱은 플레이어처럼 에뮬레이터를 통해 스크린샷과 탭으로 동작해요. 게임 클라이언트에 주입하거나 서버와 통신하는 도구는 패치마다 고장 나고, 계정 정지로 가는 가장 빠른 길이에요.

내 계정에서 써 보기

무료 계정을 만들고 Emulator Automation Tool 또는 ESB-TKR을 다운로드한 뒤 문서를 따라 하세요. 지원은 Discord에서 받을 수 있어요.