Wykrywanie kształtu C++

0

Witam, próbuję stworzyć prostego bota do gry. Obecnie jest on w stanie klikać konkretne miejsca na ekranie w zależności od tego co się dzieje. Chciałbym dodać możliwość poruszania się jednostki w grze za pomocą WASD do konkretnego miejsca. W zależności od położenia respa trasa będzie wyglądać inaczej. W grze jest minimapa i pomyślałem, że na jej podstawie program będzie wyznaczał drogę. Moja jednostka jest zaznaczona inaczej niż reszta (wygląda jak kursor myszy) i na tej podstawie myślę, że mogę poznać punkt startowy. Kierunek kursora odpowiada kierunkowi ustawienia jednostki względem mapy, więc tak naprawdę potrzebuje znaleźć na ekranie czubek kursora.
title
Problem w tym, że nie wiem jak zrobić żeby program wiedział że jednostka znajduje się w miejscu o współrzędnych ekranu (x,y). Myślałem żeby identyfikować to po kolorze, ale nie mam pewności że dokładnie ten sam kolor nie występuje gdzieś jeszcze na minimapie + nie jest on zawsze identyczny. Sprawdzałem ColorPickerem i niestety mimo że wygląda na kolor biały to nie jest to zawsze dokładnie ten sam odcień.
Ma ktoś pomysł jak mógłbym rozwiązać ten problem? Da się sprawdzać jakoś zakres kolorów, żeby program np. stwierdził że w tym miejscu jest po prostu kolor biały nie biorąc pod uwagę konkretnego odcienia? Czytałem dosyć sporo o OCR czy tego typu rzeczach, aby wykrywać obiekty a nie działać na kolorach, ale nie wiem jak to zastosować w moim programie i wydaję mi się to na obecny stan mojej wiedzy bardzo skomplikowane.
Za każdą radę będę bardzo wdzięczny.

2

Zastanowił bym się czy nie lepiej czytać po pamięci gry w celu ustalenia współrzędnych <X, Y>.
Jeśli naprawdę mocno chcesz analizować obraz zainteresował bym się na twoim miejscu OpenCV, ale prawdopodobnie będzie to wolne i nie uzyskasz w ten sposób dokładnych koordynatorów.

1

A sama gra nie wspiera Lua lub czegoś analogicznego?

1 użytkowników online, w tym zalogowanych: 0, gości: 1