All streams
Search
Write a publication
Pull to refresh
14
0

Химик и программист.

Send message
Сильно меньше! Дамп игры сделал великое дело!
Трудно сказать. Упомянутый в статье SRHDDumpReader на github. ИМХО приток не большой. Но автору виднее: ридер очень популярен среди игроков. Сам с большой пользой познакомился с исходным кодом, за что очень благодарен автору.
Ok — это не взлом. Пробовал посылать сообщения о событиях мыши/клавиатуры. К сожалению, не работает, т.к. Direct Input :( Еще пробовал уговорить разработчиков игры на COM — не удалось :(
Спасибо за совет. Да. Есть проблемы с перерисовкой. В виндах много полезных флагов, но нам нужно смотреть DirectX. Какие флаги там работают? Или нужно делать несколько чтений экрана и сравнивать результаты распознавания. Цифры меняются медленно — раз в несколько секунд.
Спасибо за советы. Возможно, в дальнейшем придется воспользоваться Вашим опытом. Но пока будем двигаться от простого к сложному и попытаемся выжать как можно больше инфы из миникарты.
И нет, к разработке не присоединюсь, есть более интересный проект.
Жаль, что такое Ваше решение. Но чисто из интереса позвольте спросить: а в чем проблема? Даже в очень интересном проекте случаются моменты, когда хочется отдохнуть, переключившись на что-то другое. И раз у Вас есть наработки, разве долго вставить готовый код в другой проект. Или же этот код закрыт? — Тогда понятно, почему нет ;)
Прежде всего, можно предположить, что возможно обойти защиту. Просто потому, что никому в мире не удавалось сделать 100%-ю защиту, и можно предположить, что теоретически 100% защита невозможна. (Только давайте не будем здесь обсуждать проблемы типа P =? NP, иначе далеко уйдем от темы :) Итак, предположим, что защиту мы обошли. Тогда наш бот будет не нужен. Без всякого прохождения пишем в память желаемое количество очков и отсылаем сверх-рекорд. Что-то подобное было с первыми КР2 в эпоху Elemental Games. За слово ArtMoney на их форуме можно было заработать бан :) Кончилось тем, что таблицу рекордов закрыли. Т.о. ИМХО этот путь обсуждать не стоит, как не относящийся к теме, т.е. к боту — бот, повторю, при таком пути станет не нужен.

Далее. Основную сцену «роботы за деревьями» распознавать ИМХО слишком сложно и затратно, тем более в реальном времени. Гораздо проще и продуктивней использовать миникарту в левом нижнем углу экрана (рис.1 в статье). Там роботы обозначены маленькими кружочками, заводы и базы — квадратиками, шума нет. В отличие от роботов заводы и базы не меняют координат, а только цвет. Их распознать проще. BTW если будет не хватать времени, то всегда можно сделать паузу в игре, т.о. проблему реального времени можно легко обойти.
Пока в проекте мало участников — можно и без github. Будет больше — будем думать.
Пока и opencv не успели попробовать.
Ok. И мы работаем на ХР, у меня еще линукс+Oracle VM VirtualBox. Еще проблема имитации клавиатуры: Direct Input игры для ПБ не хочет даже на низком уровне. В других частях игры имитировать удается.
Добро пожаловать!
Мы рады любой помощи. А опыт придет — было бы желание. По идее скрипты писать не сложно, если даже не знать стандартный Паскаль, то его можно изучить прочитав всего 30 страниц :) Но нужно много пробовать, экспериментировать, т.е. кропотливо заниматься серьезной исследовательской работой. Это не просто, но не требует много знаний. Чтобы править бота — нужно больше знаний, но для программиста с опытом — это направление м.б. легче. Есть и другие работы. Нпр., выше хороший совет — сделать видео.
Ответ встал выше: не учел, что сначала нужно одобрить :)
Очень рад! Ответил ЛС в диалоге.
Потому как обычно «программисты сложных игровых ботов» не торопятся раскрывать свои секреты и редко пишут статьи о таком хобби, хотя тема очень любопытная.
Из подзаголовка «Приглашение к совместному проекту с открытым исходным кодом» следует, что это не тот случай: все секреты, даже код — в открытом доступе (код выложу сегодня/завтра на сайте СНК).

Видео пока нет. Спасибо: хорошая идея, нужно будет сделать.
Карта боя пока не анализируется. Распознавалку только успели сделать и испытать. (BTW Там проблемы получения снимка экрана с виндами 8 и моложе). В двух приложенных к боту скриптах игра идет вслепую. Как распознавать роботов, пока не думали. Заводы/базы — по цветам квадратиков 7х7 пикселей. Цифры просто сравниваются с шаблонами. Для статичного снимка, полученного средствами игры, шумов нет и фонт одинаковый, т.о. распознается 100%. В динамике хуже, сейчас ищем решение.

Античит-система есть. Любое посягательство на оперативную память игры отмечается, и это портит рекорд. Наш принцип: никакого взлома. (Иначе бы нас выгнали с сайта СНК, а так не гонят и помогают советами/инфой об устройстве игры :)

Много ли привязок к конкретным координатам экрана, по которым идут клики?
Сейчас все привязано к конкретным координатам (BTW в хелпе бота детальное описание функций).

Вроде на все вопросы Вашего сообщения ответил?
Зависит от дальнейшего хода работ и от успеха проекта. Пока в боте очень простая распознавалка (по широко известным алгоритмам), а интерпретатор Р5 уже описан в книге. Нужно изучать систему «игра+бот+скрипты», пробовать различные подходы в скриптах, расширять и исправлять функции бота. Тут могут получиться новые серьезные алгоритмы. Когда и если такое произойдет — конечно, нужно будет описать эти алгоритмы подробно. Может, не только здесь, но и на arxiv.org ;)
Рад возможности поблагодарить Вас за этот «прожект». ИМХО он стоил десяти лет! :)
BTW у Delphi хороший рейтинг, а
Игра «Космические рейнджеры» вошла в десятку лучших игр всех времен и народов по версии Хабрахабра 2013 года. (См.)
:)
Большое спасибо! :-)
12 ...
184

Information

Rating
Does not participate
Registered
Activity