Is there an AI Evony bot? How computer vision and OCR run a modern automation tool
What 'AI' means in an Evony bot: computer vision to recognise screens and buttons, OCR to read numbers and timers, and scheduling that decides what to do next. No chatbot required.
Yes, in the sense that matters: a modern Evony bot runs on the same computer vision and optical character recognition (OCR) techniques that power a lot of what people call AI today. It looks at screenshots of the game, recognises buttons, icons, cards and numbers in them, and decides what to tap next. It is not a chatbot and it does not use a large language model to play the game. Here is what the "AI" in an Evony bot actually does, and why that design is the one that keeps working after every game update.
The problem: the bot can only see pixels
An emulator gives a bot two things: screenshots and a way to send taps. There is no menu to ask "is a rally open?". The bot has to look at the picture and work that out, hundreds of times a minute, on a screen that changes with every pop-up, every event banner and every game update. That is a perception problem, and perception is what computer vision is for.
Layer 1: recognising screens and buttons
The first job is knowing where you are: the city, the map, the rally list, the tavern, a pop-up. The bot keeps a library of reference images, small crops of the buttons, icons and labels the game shows, and matches them against the current screenshot. When the "Join" button of a rally card matches with high confidence, the bot knows there is a rally card and knows where to tap. The same technique recognises a boss icon on a rally card, the dragon feeding screen, the Wheel of Fortune slices, the Black Market items, and the hundreds of other things the daily loop touches.
Two details make this harder than it sounds. The game renders softer on low-spec devices, so a reference image captured on a strong PC may match weakly on a laptop; the matching thresholds have to be set per screen with that in mind. And the game changes its art with updates, so part of maintaining a bot is re-capturing references after each patch and testing them across emulators.
Layer 2: reading numbers and text
Knowing that a march screen is open is not enough; the bot needs to read the march time, the troop count, the stamina, the tile level, the rally's remaining slots. That is OCR: the bot crops the region where the number lives and runs a text recogniser on it. OCR is what lets the rally bot refuse a rally with no room, the farming bot pick a level 6 tile over a level 4, and the scheduler know a march will be home in 14 minutes rather than guessing.
OCR on game fonts is its own craft. Numbers with outlines, coloured backgrounds and tiny sizes confuse general-purpose recognisers, so the crops are tuned per screen and the readings are sanity-checked (a stamina reading of 9,000 is a misread, not a miracle).
Layer 3: deciding what to do
Perception answers "what is on the screen". The scheduler answers "what should happen next". It holds the list of tasks for each account, their priorities and their timers: gathering marches come home at known times, bosses respawn on known schedules, event buildings open and close on a calendar, dailies reset at a fixed hour. The scheduler picks the next task, hands the screen to the task's logic, and the task uses layers 1 and 2 to carry it out, with checks before anything risky such as sending a march.
This is the layer where the apps' event calendar lives, including the community reports of when events really end, and where emulator rotation decides which accounts run now and which wait.
Why not a large language model?
Language models are good at language. Playing Evony is a perception and timing problem: see a screen, read a number, tap within a second, repeat all night without drifting. A vision pipeline does that reliably and cheaply on your own PC; a language model in the loop would be slow, expensive, and not better at recognising a Join button. Where language models are useful is around the bot: documentation search, support, and tools for the people maintaining it. Inside the loop, it is vision, OCR and a scheduler.
What this means for you as a user
- Settings about the screen matter. Resolution, graphics mode and game version are inputs to the vision layer, which is why the setup guide is so specific.
- Updates are normal. After a game patch the references and crops get re-captured; the bot's update is the fix. Keep the previous game version until it ships.
- Checks are features. The pre-send march check and the sanity checks on OCR readings are what keep a misread from costing troops.
If you want to see it work, create a free account, download the app, and watch the log while it runs: every line is the bot telling you what it recognised and what it decided.
Frequently asked questions
Does an Evony bot use AI?
It uses computer vision and OCR, which are AI techniques: it recognises buttons and screens in screenshots and reads numbers from them, then a scheduler decides what to do next. It does not use a chatbot or a large language model to play the game.
Can ChatGPT play Evony for me?
Not in any practical way. Playing the game is a perception and timing problem: recognise a screen, read a number, tap within a second, all night. A vision pipeline on your own PC does that reliably; a language model would be slow, expensive and no better at recognising a button.
Why does the bot break after a game update?
Because it recognises the game by what it looks like. When an update changes art, layout or fonts, some reference images and OCR crops stop matching until they are re-captured. That is why keeping the previous game version until the bot update ships is the standard advice.
Does the bot read the game's memory or network traffic?
No. Our apps work from screenshots and taps through the emulator, the way a player does. Tools that inject into the game client or talk to its servers break on every patch and are the fastest route to a ban.