SnoopLawg / PyAutoRaid

PC ONLY!! I am trying to automate Raid: Shadow Legends without accessing game data but using pyautogui and finding images on the game's screen.
18 stars 6 forks source link

Suggestion: simple ideas for next steps #7

Open Eianex opened 6 months ago

Eianex commented 6 months ago

Hello Mr. Logan.

I have been using your programs for some time now. Unfortunately, due to Python's limitations compared to languages like C++ or Java, it has one significant weakness: the difficulty in gaining direct access to a game's memory for automation purposes. One can aquire brain damage while trying :). However, I have come up with alternative proposals for expanding your software.

As a child, I enjoyed playing with LEGO, and I believe we can draw inspiration from its modularity. Considering that Raid offers various "modes" or "chambers" such as campaign, dungeons, and arena, what if instead of attempting to automate everything yourself, you only provide a platform? The community and other Python developers could then create modules capable of automating each screen in the game.

Imagine a project structure as follows:

/src/
     /campaign/
          /12-3brutal/
               brutal_12_3.py # with class Brutal_12_3
          /7-12nightmare/
               nightmare_7_12.py # with class Nightmare_7_12
     /dungeons/
          /spider/
               spider_20.py # class Spider_20

And so on, with each module being selectable from your list of checkboxes. This would allow pull requests from other dev's forks or branches, enabling the community to expand upon your code and create its own tools, with you as the manager.

I have some experience working with Docker images, and devs can create containers with selected features and deploy them on a Cloud server to run once every 24 hours on a Cloud computer. In this way we fully automate boring clicking inside the game but dont need to fully automate things within the game memory. The only task would become to provide support for the future creation of new modules.

Cheers <3

SnoopLawg commented 6 months ago

Would love further explanation on the docker side of things. I'm not sure I understand the need completely of containerizing this project on a cloud server?

Eianex commented 6 months ago

There is no need in reality. If one doesn't need it, then one can avoid implementing it. However, it was an exploration of an idea, an idea inspired by the same feeling that this repo gave me when I first stumbled upon it. Imagine you want to run your dailies, check weeklies, do clan boss, clan quests, etc., all completely automated. For that, you have two initial options:

  1. Wake up your PC at night, let's say 4 am, and have some script initiate all the .exe files one by one, letting it run until all tasks are completed and all prizes are collected.
  2. Boot up your PC yourself when you wake up and run the same script.

In the second case, your mouse will be controlled for more than 3 hours each day. In the first case, your PC must be booted up late at night every day.

But what if we run it in the cloud on a Windows machine? First, it is not your machine, so your PC is not running at night. Second, you have your PC available for other tasks when you wake up and don’t need to bother with booting it up because the process is already running in the cloud without any need for supervision.

ToonDawg commented 1 month ago

I love the sound of this! +1