Giter Site home page Giter Site logo

kot-skipper's People

Contributors

jartanftw avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

kingofslavs

kot-skipper's Issues

Gold Recognition

Gold text recognition incorrectly adds a 1 to the end of the real gold count sometimes, likely due to the gold rim of the treasure chest.

Some sort of change should be made to improve the accuracy of this.

Low priority

Mod menu

It should have the following functions:
player teleport,
speed change,
immortality,
auto search for gems,
turn off traps and collisions,
game acceleration

Gold Skipper Stop Condition

Add a config condition for the final skipping program to stop if a certain amount of gold is seen.

Can use a random text recognition module (I think most would work for this) on the chest to detect gold count.

the following arguments are required: emulator

  1. Go to 'kot-skipper'
  2. Click on 'main.py'
  3. See error "the following arguments are required: emulator"

Expected behavior:
I installed everything that was in the requirements, but the program does not see the emulator

Screenshots:
https://user-images.githubusercontent.com/111542848/185511600-fcfe8b8a-a66c-437c-8732-d65cedec26a0.png

Desktop:

  • OS: Windows
  • Emulator: bluestacks
  • Version: 5.9.0.1061 n32

Additional context:
got this error, although the emulator was open

Slots

Implement into main cli tool:
Slots identification
Slots debug image saving
Slot cropping
Slot debug image saving

After, use the tool to gather model training images, sort them via the sorter, and then train the recognition model.

After, implement the recognition model into the main cli tool to identify gems.

[REQ] Adaptive Delay

Is your feature request related to a problem? Please describe.
The current program uses a static delay entered as an argument (default 1 second) which is waited after skipping a base to allow the game to load the next base. This works, but is inefficient and inconsistent as the time it takes to load the next based varies depending on the user's connection among other factors.

Describe the solution you'd like
A delay system that dynamically changes, increasing to "dungeon same as last dungeon" incidents, and gradually decreasing over time.

[REQ] Chest Identification Improvements

Is your feature request related to a problem? Please describe.
Chest identification commonly fails when there are traps or other objects in-front. This causes issues with gem identification, which is dependent upon chest identification to narrow down gem slot location.

Describe the solution you'd like

  1. Implement a custom chest identification model, replacing pyscreeze. This would be used both in gem identification and gold identification. Text identification would still use easyocr, at least for now.
  2. Optionally create a new gem identification model that accepts full screen input rather than narrowed images.

Additional context
A gem identification model that accepts full screen input was attempted previously, but I didn't have any way of creating the sheer amount of data I needed. Now, I can modify a version of the existing solution to generate training data for this new solution. Along with this, at the time I hadn't learnt much/anything about convolution layers which should also help significantly.

Gold Text Innacuracy

While it's been greatly improved, it still gets it wrong with an added 1 at the end because of the chest border on rare occasions.

Bluestacks Window Identification

If the Bluestacks subwindow has any name other than Bluestacks, program fails to identify it.
I'm thinking that the whole advanced specific window screenshot system I made (stole, with credit) from stackoverflow might be coming back to bite me. It was used for the upside that it screenshots the game even if another window is on-top of it, but really what I wanted was the ability to screenshot the window if it was minimized but I couldn't find any way to do that.
I think it might be a better idea to just screenshot the entire screen and filter through instead. Some sort of identification system still needs to be implemented for resized windows, see #10 and #11

[BUG]

Describe the bug
The program gives an error if the totem is blocked when trying to recognize a gem

To Reproduce
Launch the program and tries to recognize the blocked totem

Expected behavior
The program must try again

Screenshots
Снимок экрана 2024-01-11 140935

Desktop (please complete the following information):

  • OS: windows 11
  • Emulator LDplayer
  • Version 9

Update Readme

Update the readme with more relevant information including command line arguments, and a basic explanation of what the tool can do.

Chest Location Identification Problems

Chest Identification fails consistently if the bluestacks window is resized. This is because it's trying to locate the exact chest dimensions.
Some alternative searching mechanism will need to be implemented in replacement. This system isn't maintainable.

README Typo

Typo in README.md under the debug parameter, slots is listed as slot. There is also a slot option so it's listed twice.
Will fix next time this program has any noticeable updates.

[REQ] Probability of finding the required gem

Is your feature request related to a problem? Please describe.
In most cases, when the program finds a suitable gem with a chance of less than 70 percent, this stone is not suitable

Describe the solution you'd like
It would be possible to add a function that will automatically continue the search if the stone comes up with less than a certain percentage

Describe alternatives you've considered
You can also make the program identify the stone 2 times in order to increase the percentage of finding the correct gem.
it is also possible to add a delay of 5 seconds after a slot identification error so that the dungeon inscription disappears and the program can correctly identify the gem

Target Gems Screenshot Debug Parameter

Add a new option to the debug parameter "tgems" which saves screenshots of only target gems, versus the already implemented "gems" which saves all.
This can be used to reduce the amount of unneeded images, for example r3 gems which I have 2825 pictures of at the time of writing, versus y6 gems in which I have 5 pictures of.

Skip Empty Slot Screenshot Saving

Add an option to the scraper tool to not save empty slot screenshots.
The first tensorflow model I created can be used for this purpose.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.