<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Muhammet Çay</title>
    <description>The latest articles on DEV Community by Muhammet Çay (@veinpsycoo).</description>
    <link>https://dev.to/veinpsycoo</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4197796%2Ff0c6b8a4-13fc-4062-b1dd-e53eec628e16.jpg</url>
      <title>DEV Community: Muhammet Çay</title>
      <link>https://dev.to/veinpsycoo</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/veinpsycoo"/>
    <language>en</language>
    <item>
      <title>How We Built Screen-Based Automation for Last War on Windows</title>
      <dc:creator>Muhammet Çay</dc:creator>
      <pubDate>Wed, 21 Oct 2026 08:19:56 +0000</pubDate>
      <link>https://dev.to/veinpsycoo/how-we-built-screen-based-automation-for-last-war-on-windows-3oc5</link>
      <guid>https://dev.to/veinpsycoo/how-we-built-screen-based-automation-for-last-war-on-windows-3oc5</guid>
      <description>&lt;p&gt;Last War Botu is an independent, third-party automation tool for &lt;em&gt;Last War: Survival&lt;/em&gt;. It runs on Windows 10/11 with the game’s official PC client. An emulator is not required. That distinction matters here: the tool watches the PC game window and acts through mouse clicks, so its behavior depends on what is visible on screen.&lt;/p&gt;

&lt;p&gt;We built it around screenshots, image recognition, Turkish OCR, and template matching. These methods help the tool identify game screens, labels, and controls before it clicks. It does not read game memory, modify game files, intercept network traffic, or inject code into the game. The interface and support are in Turkish, matching the terms players see in the game.&lt;/p&gt;

&lt;h3&gt;
  
  
  Resolution is part of the problem
&lt;/h3&gt;

&lt;p&gt;A screen-based tool has to know where it is looking. A button’s position and appearance can change with the game window’s size, display scaling, or the screen that holds it. We therefore treat display conditions as something to verify, rather than assuming that a click location works everywhere.&lt;/p&gt;

&lt;p&gt;Live checks cover 1920×1080 and 1366×768. The recorded checks also include a 1920×1057 game window, multiple monitors, and Windows scaling at 150%. Other resolutions such as 1600×900 and 2560×1440 have not been live-tested as supported configurations. The game window needs to be full screen or maximized and in front. Before a click, the tool checks that the point under the cursor belongs to the game window; if another window is in front, it waits.&lt;/p&gt;

&lt;h3&gt;
  
  
  Matching what the game actually shows
&lt;/h3&gt;

&lt;p&gt;Template matching and OCR serve different needs. A visual pattern can help locate an on-screen element, while OCR can read Turkish text that gives a control its meaning. Both depend on the current screen. For example, “Go” can lead to an action the tool should avoid, even when a nearby reward is ready to collect.&lt;/p&gt;

&lt;p&gt;The task logic reflects those distinctions. For radar missions, it collects ready rewards but does not press the “Go” control that leads into combat. For daily tasks, it collects completed rewards without pressing “Go.” Resource gathering follows the game’s Search and Gather flow, selects a resource type and level, then sends an available squad. These are screen-driven sequences, not direct changes to game state.&lt;/p&gt;

&lt;p&gt;A zombie loop has another practical constraint: the target may not be visible. The tool can scroll the map to look for an invader zombie, send the selected squad, and wait while that squad is attacking. It skips a locked squad. For normal zombies and monsters, it uses the game’s Search control and a selected level range. An energy floor prevents attacks when energy falls below the configured value.&lt;/p&gt;

&lt;h3&gt;
  
  
  Timing and controls
&lt;/h3&gt;

&lt;p&gt;Clicks alone are not enough for a sequence that includes travel, attacks, rewards, and changing windows. The tool uses randomized delays and waits for an attacking squad. It also has a scheduler, a stuck-state watchdog, an emergency stop control, and a mode that observes without clicking. Those controls give the user ways to inspect or interrupt behavior when the screen does not match the expected flow.&lt;/p&gt;

&lt;p&gt;We added boundaries around spending actions. The tool does not press diamond purchase controls, paid buttons, or purchase offers. Optional bag speedups are a beta feature and are off by default. In that mode, the tool presses “Speed Up” only in the Construction Queue and uses a speedup item from the bag; it does not use diamonds. Describing that exception precisely is more useful than making a blanket claim about every button with the same label.&lt;/p&gt;

&lt;h3&gt;
  
  
  Keeping up with changes
&lt;/h3&gt;

&lt;p&gt;Screen automation depends on recognizable screens and controls, so game updates make continued checking necessary. We have live-tested steps of the signed automatic updater across recorded releases. That updater helps deliver changes to the tool; it does not remove the need to test how the tool behaves against the game’s current interface.&lt;/p&gt;

&lt;p&gt;The project is supplied as a single-folder Windows executable, so users do not need to install Python to run it. Some PCs may need the Microsoft Visual C++ 2015–2022 x64 runtime. The tool is independent of the game developer and is not an official part of &lt;em&gt;Last War: Survival&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;Automation may violate the game’s rules, regardless of how it interacts with the screen. Users should read the game’s terms and decide whether to use it on their own account; that decision and its consequences are their responsibility.&lt;/p&gt;

&lt;p&gt;Project page: &lt;a href="https://lastwarbotu.com" rel="noopener noreferrer"&gt;https://lastwarbotu.com&lt;/a&gt; — GitHub download repository: &lt;a href="https://github.com/veinpsycoo/lastwarbotu-indir" rel="noopener noreferrer"&gt;https://github.com/veinpsycoo/lastwarbotu-indir&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;This post was drafted with AI assistance and reviewed by the project team.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>automation</category>
      <category>softwaredevelopment</category>
      <category>tools</category>
    </item>
  </channel>
</rss>
