Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Общие вопросы по программированию, компьютерный форум
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.12.2018, 20:19   #1
Gin Freecss
Новичок
Джуниор
 
Регистрация: 09.12.2018
Сообщений: 2
По умолчанию Навигация в игре

Добрый день,
Играю в MMO RPG ArcheAge.

Скриншот из игры:
ScreenShot0011.jpg

Хотел бы сделать небольшую программу (AAHalper), которая мне поможет в перевозке паков (крафтовый ресурс).
Программа не должна вмешиваться в процесс самой игры (decompiling, decrypting, engineering data analysis...), необходимо использовать только Computer Vision, например, OpenCV и Python.
Пример как может веглядить программа:
Безымянный.jpg

• Synchronize - синхронизизация игры и AAhelper, то есть выбор локации (map) и местоположения игрока на карте;
• Record – сохранение траектории в виде последовательности точек (координаты) или линии траектории (не знаю что лучше);
• Save - сохранение траектории в виде точки или кривой (не знаю что лучше);
• Open - открытие сохраненной ранее траектории и последовательности точек;
• Play - переход к начальной точке, а затем движение по заданной траектории;
• Config - изменение точности, интервала между точками и изменение параметров следования траектории (PID регулятор)

Следование по траектории осуществляется нажатием и удержанием клавиш на клавиатуре или на панели Numlock.

Вот пример перевозки через 3 локации, по времени занимает примерно 15 мин, видно, что в каждой локации своя карта
ScreenShot0001.jpg
ScreenShot0010.jpg
ScreenShot0011.jpg

Иконка игрока на мини карте:
player_cursor.png

Направление:
player_cursor1.png

Вопросы:
Как лучше и легче всего это можно сделать?
Есть ли похожие проекты на облаке?
Какие алгоритмы можно использовать?

Заранее благодарю за ответы.
Gin Freecss вне форума Ответить с цитированием
Старый 20.12.2018, 21:20   #2
Gin Freecss
Новичок
Джуниор
 
Регистрация: 09.12.2018
Сообщений: 2
По умолчанию

Добрый вечер,
пытался выделить иконку игрока на карте, помощью Python, OpenCV.
Параметры HSV и результаты показаны на картинках

Код:
# -*- coding: utf-8 -*-
"""
Created on Thu Dec 20 18:49:54 2018

@author: gin
"""

import cv2
import numpy as np
import time
from PIL import ImageGrab

if __name__ == '__main__':
    def nothing(*arg):
        pass

cv2.namedWindow( "result" ) # создаем главное окно
cv2.namedWindow( "settings" ) # создаем окно настроек


last_time = time.time()

# создаем 6 бегунков для настройки начального и конечного цвета фильтра
cv2.createTrackbar('h1', 'settings', 0, 255, nothing)
cv2.createTrackbar('s1', 'settings', 0, 255, nothing)
cv2.createTrackbar('v1', 'settings', 0, 255, nothing)
cv2.createTrackbar('h2', 'settings', 255, 255, nothing)
cv2.createTrackbar('s2', 'settings', 255, 255, nothing)
cv2.createTrackbar('v2', 'settings', 255, 255, nothing)
crange = [0,0,0, 0,0,0]

while True:
    print('loop delay {} seconds'.format(time.time()-last_time))
    
    img =  np.array(ImageGrab.grab(bbox=(1165,0,1920,565)))

    hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV )
 
    # считываем значения бегунков
    h1 = cv2.getTrackbarPos('h1', 'settings')
    s1 = cv2.getTrackbarPos('s1', 'settings')
    v1 = cv2.getTrackbarPos('v1', 'settings')
    h2 = cv2.getTrackbarPos('h2', 'settings')
    s2 = cv2.getTrackbarPos('s2', 'settings')
    v2 = cv2.getTrackbarPos('v2', 'settings')

    # формируем начальный и конечный цвет фильтра
    h_min = np.array((h1, s1, v1), np.uint8)
    h_max = np.array((h2, s2, v2), np.uint8)

    # накладываем фильтр на кадр в модели HSV
    thresh = cv2.inRange(hsv, h_min, h_max)

    cv2.imshow('result', thresh) 
 
    
    last_time = time.time()
    if cv2.waitKey(25) & 0xFF == ord('q'):
        cv2.destroyAllWindows()
        break
параметры HSV и результат показанный на изображении
Для теста картинка захватывались с видео на youtube Видео

Тест1
test1.jpg

Тест2
test2.jpg

Проблема в том, что по ходу движения меняется ландшафт и значит значение цвета на карте,
из-за этого усложняется распознание иконки игрока.
Подскажите пожалуйста как можно нивелировать влияние ландшафта за картой на распознание иконки?
Спасибо.
Gin Freecss вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
навигация stason4ikas Микроконтроллеры, робототехника, схемотехника, 3D принтеры 7 08.10.2016 13:33
Какие знания по php и mysql нужно иметь, что бы в игре сделать такой бой в онлайн текстовой игре jonikster Общие вопросы Web 4 15.06.2016 18:10
Навигация inkognitik HTML и CSS 1 13.05.2016 14:44
Навигация Abbath1349 ASP.NET 0 22.12.2011 05:58
подредактировать античит к игре игре Nhl 09 (античит написан на дельфи) Viper18 Фриланс 3 03.08.2011 17:37