Оптическое распознавание юнитов на изображении
3199 UAHЕсть такая популярная игра на мобильных платформах - Clash Royale. В ней есть около 77 различных юнитов, как карты в колоде (часть из них, правда, не юниты, а "заклинания", которые видоизменяют игровое поле).
И есть около 12 разных игровых полей, отличающихся цветами обстановки, на которых происходит бойня, отличающихся цветами обстановки.
Нужно написать алгоритм, который бы распознавал, какие именно вражеские юниты находятся на поле (они помечены красным квадратиком, в котором указан уровень воина). Некоторые юниты представляют из себя сразу толпу маленьких юнитов и у каждого свой квадратик. В первую очередь распознавать нужно именно одиноких воинов, а в массе достаточно выцепить одного и распознать его (чтобы понять, летающие они или наземные).
У всех юнитов есть анимация, то есть они шагают, машут руками, крыльями и т.п.
Реализовать алгоритм, в принципе, можно на чем угодно, если будет возможность потом встроить это в проект на C#.
Відгук замовника про співпрацю з фрилансером
Оптическое распознавание юнитов на изображенииЧоловік подав заявку на виконання проекту, обіцяв зробити за 4 дні і зник. У особистих повідомленнях не відповідає, пройшов місяць, більше немає сенсу чекати, я думаю.
Профіль видалено | Сейф
-
А зачем вам распознавание образов? Получить точные данные юнитов можно другим более простым путём.
-
Данные между клиентом и сервером шифруются наверняка. А вот клиент шифровать не будут - себе дороже.
Модифицировать клиент собственно и не нужно. Клиент передаёт и получает данные в том числе кол., положение и действия с игровыми объектами. В случае шифровки канала ещё дополнительно выполняеться шифрование/ дешифрование данных. "Перехватить" данные можно во время отправки, получения, перед шифрованием или после дешифровки. Можно "вычленить" логику обработчика и найти блок с данными объектов. Возможно это не менее трудозатратно чем обучить нейросеть, но программа будет намного легче. К стати, не что подобное делает арт моней.
-
Да, и уточнение. передать данные можно в любую программу на любом языке. Для этого нужен доступуп к блоку памяти с соответствующими правами. Если есть необходимость встроить перехватчик в конечную программу можно писать на языке про ни или на крайний случай воспользоваться компелятором.
-
Сильно сомневаюсь в том, что клиент передает данные о расположении юнитов. Разве что в каком-нибудь пвп-режиме, но я такого в игре не видел. А обычное пве в поддержке сервера не нуждается.
Вообщем, близжайшим вариантом видится модификация клиента для логирования передвижений юнитов. -