Python
Programming
Games and game consoles
Comments 35
+1
По какому алгоритму работает matchTemplate? Насколько чувствительна к эффектам типа день/ночь (если они присутствуют)?
Ещё многие клиенты игр (ММО как минимум) мониторят манипуляции с вводом, ну или по-крайней мере пытаются. Главное, бан не поймайте.
0
Там попиксельно вычисляется «расстояние», встроено несколько методов — квадрат разности, пара корреляций, плюс их нормированные версии. Если при день/ночь искомая картинка меняется, то и не факт что найдет. Но можно работать с контурами, например.
0
Да никто не пытается кроме безумных азиатов.

При любой эмуляции ввода в винде API всегда выставляет определённый бит в сообщении о том, что это сообщение эмулировано, а не — от реального устройства. Проверить этот бит — раз плюнуть. Это самая элементарная защита от читера-нуба, которую можно реализовать без особых затрат, но никто не заморачивается.
Адекватно эмулировать можно только драйвером, но тогда легко спалить даже юзермод античитом неподписанный загруженный драйвер в test-режиме.

Короче, было бы желание и важность борьбы с читами.
Вполне учитывают менеджеры, что будут использовать читы. И в экономику это очень даже закладывается изначально. Баны начинаются только после того, как игрок отыграл на средний чек.
Это про гриндилки. В competition играх чуть иначе всё устроено.
0
> воспользуемся библиотекой PyAutoGUI
О, как то искал под Linux замену AutoIT. Похоже эта штука должна подойти.
0
Есть еще альтернатива для Java — sikuli.
Тоже когда то писал бота для bluestacks, вполне себе годно.
0
много играю в idle игры. И если у игры неспешный геймплей, то тоже пишу бота, только использую для этого программу автоматизации AutomaticMouseAndKeyboard. Считаю ее одной из самых удобных в этом плане, хотя бы из за встроенной возможности искать точно заданную картинку на экране. Недавно прикрутил к ней Capture2Text и могу определять написанный текст внутри игры, в частности для определения требуемых цифр. Вот теперь может еще и openCV задействую
0
последние которые меня наиболее сильно зацепили: kittens game (есть в браузере и на мобилке), zomidle (браузер, steam, мобилка), realm grinder (браузер, steam, мобилка)
0

Если для idle игры нужен бот — то это уже не idle игра, а кликер. Или вовсе RTS :-)

+1
Увы, реалии таковы, что надо встроить в бот защиту от антибота, в особенности от антибота-нейросети. В частности рандомные задержки операций, имитирующие человеческую реакцию и рандомные фейлы, чтоб сие стало более похоже на игрока… так же нужны рандомыне перерывы между забросами.
0

На Go есть удобная библиотека для автоматизации robotgo. Среди прочего там есть и функция MoveMouseSmooth, имитирующая движение мыши человеком.

+3
Писали как-то бота (коллективом из 3х разработчиков ) для одной популярной браузерки, добавили задержку ввода, рандомные действия, всё почти как у людей. Начали играть — всё равно всех забанили, говорят не может человек заниматься такой скукотищей по 16 часов в сутки каждый день.
0
Увы, реалии таковы, что надо встроить в бот защиту от антибота, в особенности от антибота-нейросети. В частности рандомные задержки операций, имитирующие человеческую реакцию и рандомные фейлы, чтоб сие стало более похоже на игрока…

Человеческую реакцию хорошо бы имитировать ещё и случайными матами в микрофон при неудаче. И мышка чтоб ещё отключалась и возвращалась через N минут, будто её об стену разбили и подключали новую.
+1
2 вопроса:
1) Разве бот не нарушает правила игры?
Я не против автоматизации, это интересная тема. Но, если формально это нарушение правил, стоит это упомянуть.
2) Почему бы, перед публикацией текста, не засунуть его хотя бы в Ворд? Да, это не мой государственный язык, но даже я насчитал 7 орфографических и более 30 пунктуационных ошибок.
Кровавые слезы заливают телефон, пока пишется этот комментарий.
0
Выделяете ошибку, нажимаете Ctrl+Enter, добавляете комент и автору прилетит письмо об ошибке :)

Но текст перед отправкой нужно проверять, согласен.
0
Я пару раз читал правила разных игр. Пришёл к выводу, что играя без бота ты всё равно нарушаешь. Тогда какая разница играть с ботом или нет?
Особенно впечатлил варгейминг. Меня забанили на форуме, я спрашиваю за что-отвечают. Я говорю, что этого не делал(я использовал очень аккуратные формулировки), долго думают, но отвечают. Я с удивлением смотрю на правила и понимаю что их поменяли уже после того, как меня забанили.
P.S. Я сейчас пишу более интересную(с точки зрения закона) вещь. По сути продвинутый UI. Но выводится он в прозрачной форме ПОВЕРХ игры. Т.е. интерфейс в игре я вижу, но формально это другое приложение.
-8
Те кто любит сказать, что это бесполезная трата времени, я замечу, что это лишь инструмент, эти библиотеки вы можете применить и в других проектах. Само компьютерное зрение применяется как при наведении баллистических ракет, так и в программах для помощи инвалидам. Куда вы решите их применить, только ваше желание.

То есть, можно было написать программу для помощи инвалидам, но вы решили написать чит для игры?
Oh, wait…
+5
То есть, можно было написать программу для помощи инвалидам, но вы решили написать этот комментарий?
+4
Если хочешь освоить новую технологию — ее надо применять там, где тебе лично это интересно(если это возможно!), тогда обучение проходит легче. А если писать абстрактную фигню — то есть немало шансов плюнуть на эту затею, не доведя ее до конца…
0
И дабы не тратить свои драгоценные часы жизни по напрасну...

Но ведь в этом и задумка всех (онлайн ММОРПГ) игр. Дайте угадаю, рыбалка там ведь не основное занятие, а вспомогательное, занимающее время?..
0
Именно, что запрещено, но вот с переходом игры на фри ту плей систему, таким игрокам, «кому жаль тратить драгоценные часы жизни», потерять бесплатный акк не так страшно, как то что ты бы потерял 20-100$ + фигову тучу часов на прокачку тех или иных веток или «профессий» если тебя поймают на ботоводстве.

конечно запрещено
13.3 No Manipulation

  • Users may only play the Game personally. They are not permitted to manipulate the Game or use technical tools that give Users an advantage over other players. In particular Users are forbidden to…
  • modify the gaming experience by using software or mechanisms that may affect the function and the game play unless permitted by the Game Rules,
  • use software playing in place of the player (such as scripts or bots),

0
Вот вот, купил монитор побольше, чтобы лучше видеть противников-забанили.
Настроил чувствительность мышки-бан.
P.S. Вспоминается CS 1.6. Когда для стрельбы из снайперской винтовки БЕЗ режима увеличения в центр монитора приклеивали бумажку.
0
Это какой-то CS 1.0.
В 1.6 уже вроде бы был нехилый разброс при стрельбе без оптики.
0
Насколько я помню, разброс там был при стрельбе в движении. Стрельба при остановке без оптики была нормальной. А может действительно версия была ниже.
0
Да ладно вам.
В вове обычная картина, когда бегает паровоз из нескольких человек по одному и тому же маршруту на каче, одновременно поворачивают, одновременно начинают атаковать, одновременно срываются в другую локацию. Смотришь на это и смешно.
Вов сейчас только на ботоводах и держится. И всем насрать.

К тому же, у них очень лайтовый и лояльный античит. Это вам не китайский адок с драйверами, виртуализацией, грязными хуками и прочими БСОДами в качестве античита.
0
В играх с платным созданием аккаунта ботов не банят моментально, их банят раз в N дней, чтобы ботоводы успевали отбить фармом стоимость аккаунта и у них был резон купить еще пачку новых аккаунтов.
+1
Соглашусь что ботоводство в определенной степени выгодно, но банят раз в N дней скорее по другой причине, а именно из-за того, что ботоводам сложнее подстраиваться под античит.
0
Адекватные разработчики ботов и так видят, что обновился античит, реверсят его и смотрят, что поменялось. При этом, в идеальном случае нужно пользователю показывать предупреждение, что-то типа: «Мы ещё не обработали обновления в античите, используйте бота на свой страх и риск или дождитесь его обновления».
0
отличная статья. большое спасибо за инфу, давно думал написать бота для одной мобильной игрушки но не доходили никак руки. теперь есть с чего начать, где копать :)
0
Идея интересная, но это пока бот не встретит первого ганкера ;)
0
Бота ганкера или просто игрока-ганкера? :)
А то вроде особо ботов ганкеров не встречал, это же надо уже намного больше действий выполнять (учитывать параметры противника и много других вещей), особенно если вы хотите «ботом-ганкером» убить обычного игрока.
Only those users with full accounts are able to leave comments., please.