Что нового

[World of Tanks] Бот для игры by LTR

nowost

Знающий
Сообщения
178
Репутация
17
Re: [World of Tanks] Бот для игры.

Это даже не слушок, варгеминги выкладывали статью посвященную ботам. Там стоит скрипт который собирает статистику по всем игрокам: какие кнопки использует, как часто, что в чат пишет, как стреляет, расстояние пройденое за бой, дамага за бой итд.... и на основе анализа этих данных показывает вероятность того что игрок - бот в процентах.
 

Belfigor

Модератор
Локальный модератор
Сообщения
3,608
Репутация
941
Re: [World of Tanks] Бот для игры.

Кстати да, про вейпоинтинг, в базу так и так пишется каждое движение юзера и хранится какое-то время и вероятнее всего циклически раз в какой-то период времени анализируется. И даже не сложный скрипт, сможет отследить систему вейпоинтов даже с небольшим рандомом. Так что передвижение придется еще и рандомизировать, искать кратчайший путь и несколько других, и выбирать случайный путь из тех, где накатано меньше чем в кратчайшем.

И это во всех современных онлайн играх.
 
Автор
L

LTR

Знающий
Сообщения
55
Репутация
13
Re: [World of Tanks] Бот для игры.

Как игрок я могу сказать так:
есть стандартные направления атаки на картах
есть стандартные нычки куда всегда кто то заползает
есть не стандартные нычки туда не все заезжают

Дак вот, если учесть это, то по статистики каждый игрок бот.

Что же делает нас не ботом?

Реакция на передвижение вражских и союзных войск!

Если бот научить отслеживать позиции танков на карте, то отследить его с большой вероятностью будет трудно.

Работа с картой. Как полевой командир я знаю некоторые особенности командной игры. Задача анализировать каждый танк на миникарте, следить за своими и стараться двигаться с кем то в паре, но не толкая и не мешая ему, следить за вражескими танками, запоминать их место положение на карте, так же модель техники которая была обнаружена. На основе обнаруженных врагов можно строить аналитическую модель поведения, взвешивая перевес сил на том или инном фланге с учетом находящейся там техники союзников и врагов. Так же есть такое понятие как тайминги, это определение которое описывает скорость передвижения на карте для разной техники, те теоретически бот может как бы предполагать куда могут двигаться танки врага после исчезновения засвета.

Для определения типа техники на карте можно использовать цветные маркеры, возможно даже цветные для модели техники, но это нужно проверить.

Есть еще такое интересное понятие как фокус или концентрация огня на том у кого меньше всего хит пойнтов, так же к этому понятию справедливо добавить, что есть такая вещь как прикрытие подранков, это союзные танки на 1-2 выстрела.

Отслеживать количество здоровья можно по индикаторам, которые в общем то не трудно сделать средствами модов.

В любом случае бот которого представляю я себе, должен работать через поиск цветов на экране и их анализа, это основное требование для имитация управления человеком. Возможно будет полезным все таки прикрутить нажатие клавишь через драйвер и не эмуляцию.
 

winstan

Эксплотатор)
Сообщения
406
Репутация
79
Re: [World of Tanks] Бот для игры.

Nik_rus [?]
В один поток на автоите? Good luck, sir.
в один поток на квантовом процессоре мб и будет норм работать
Если создавать бот на всех этих функция то там уже и искусственный интеллект не далеко написать
 

illja

Знающий
Сообщения
30
Репутация
10
Re: [World of Tanks] Бот для игры.

Да реализуемо это) только через... ну короче многопоточно наверное все-же лучше будет)

Мне вот например неясно как выбирать приоритет цели? Как определять расстояние до нее?
 

Nik_rus

Python The Snake.
Сообщения
214
Репутация
62
Re: [World of Tanks] Бот для игры.

Расстояние можно будет опеределять только в САУ-режиме - на миникарте z-координату не определить, так что 100% прицелиться будет как минимум сложно.
Хотя как вариант - изменить swf на отображение цвета в зависимости от расстояния... но это гемор и маразм.
 

illja

Знающий
Сообщения
30
Репутация
10
Re: [World of Tanks] Бот для игры.

Ага и после обнов все это править)

Кто-то упоминал о специальном АПИ, вот где бы раздобыть об этом информацию. Может быть все решается через него?
 

Nik_rus

Python The Snake.
Сообщения
214
Репутация
62
Re: [World of Tanks] Бот для игры.

Всё так вами названное API можно сдампить средствами питона, там ведь есть расстояния, координаты и прочее. И, насколько я знаю, картошка координально свой код не меняет, из обновы в обнову всё это пашет.
Мне кстати интересно, как полевой командир сможет изложить в четкий автоит-код алгоритм принятия решений?
 
Автор
L

LTR

Знающий
Сообщения
55
Репутация
13
Re: [World of Tanks] Бот для игры.

Ну вы блин пессимисты...

1) Нет открытого апи по модификации и переменным игрового клиента, есть апи для сбора статистических данных
2) Как это реализовать уже есть идея, может она и костыльная, может и содержит множество ..., но в моем видение она вполне реальна.

Идея использовать для бота только AutoIT, уже давно отпала, на текущий момент для реализации бота планируется и используется:
Autoit - как средство ввода/вывода информации
MySQL - как бэкенд для хранения структурированных данных
С++/Python - как средства обработки данных
Cshell - как средство управления демонами
PHP/Ajax - как интерфейсc управления базой структурированных данных
Flash/Python - как инструмент управления индикаторами в клиенте

3) Касательно ведения боя. Цель определять очень просто, необходим набор семафоров, так например цели можно выделить по классам:
Drum-Lite - цели способные за малый промежуток времени нанести большой урон, но при этом имеющие слабую броню, такие цели можно отнести в единый класс, сюда попадут такие танки как Batchat, WTE100
Drum-Hight - те же цели но с неплохой броней, например Foch, T57Hevy
Подобный список можно продолжить и придумать градации для техники. Далее в бою проверяется условие по этим маркерам определяется приоритет цели в кого начать стрелять или условие на оставшееся здоровье техники. При выполнение этих условий становится однозначна ясно, что необходимо стрелять в слабо бронированную цель с хорошим дпм и у которой меньше всего здоровья.

4) Касательно четкого AutoIT кода, я не программист и даже не учусь. У меня есть идеи, которые я пытаюсь реализовать, делюсь я идеями для того чтобы получить помощь профессионалов и получить какую то критику по тем или иным идеям.

Собственно вот как то так :smile:
 

SLASH_CyberPunk

Новичок
Сообщения
2
Репутация
0
Re: [World of Tanks] Бот для игры.

LTR [?]
Идея использовать для бота только AutoIT, уже давно отпала, на текущий момент для реализации бота планируется и используется:Autoit - как средство ввода/вывода информацииMySQL - как бэкенд для хранения структурированных данныхС++/Python - как средства обработки данныхCshell - как средство управления демонамиPHP/Ajax - как интерфейсc управления базой структурированных данныхFlash/Python - как инструмент управления индикаторами в клиенте
Однако сильно стрелять из пушки по воробьям :scratch:
Даже если браться за идеал, проще поднять сервер с API для бота, но я все равно не понимаю, зачем мешать autoit c++ python... Не проще ли использовать что-то одно?
 
Автор
L

LTR

Знающий
Сообщения
55
Репутация
13
Re: [World of Tanks] Бот для игры.

Может и проще, но я выбрал клиент серверный вариант бота, с этим и связан выбор такого набора инструментов. Автоит как клиентская часть, С++/MySQL серверная часть.

Возможно я выбрал неверные инструменты, но время покажет.
 

SLASH_CyberPunk

Новичок
Сообщения
2
Репутация
0
Re: [World of Tanks] Бот для игры.

Ну если вы будете писать сервер на C++, то по теории Вы и свой WoT должны написать ;D
Это я к тому, что мало того, что Вам придется использовать кучу различных технологий, на которые необходимо как минимум время на изучение/познание дзен, так еще подбор этих технологий какой-то странный... Если Вам надо поднять сайт на сервере, Вы же не будете писать свой компилятор/интерпретатор/веб-сервер/бд/драйвер бд и т.д. и т.п.
На текущий момент есть много готовых решений для различных организаций клиент-серверных приложений, например, у меня на сервере стоит реализации REST API на python с MongoDB за NGINX, а клиентская часть реализуется уже в зависимости от местоположения использования/среды обитания.
Ну и на последок стоит отметить, что писать ботов на AutoIt не очень комильфо из-за легкого обнаружения подобных ботов. А использовать в AutoIt что-то не из коробки для перехвата процессов не выгодно из-за нестабильной работы и сложности разработки - в этом плане нормальные языки программирования более подходят, да и то не все.
 

Nik_rus

Python The Snake.
Сообщения
214
Репутация
62
Re: [World of Tanks] Бот для игры.

LTR [?]
Идея использовать для бота только AutoIT, уже давно отпала, на текущий момент для реализации бота планируется и используется:
1) Autoit - как средство ввода/вывода информации
2) MySQL - как бэкенд для хранения структурированных данных
3) С++/Python - как средства обработки данных
4) Cshell - как средство управления демонами
5) PHP/Ajax - как интерфейсc управления базой структурированных данных
6) Flash/Python - как инструмент управления индикаторами в клиенте
OH SH--
1 - AutoIt3 используют только из-за того, что он легок в освоении и имеет легкореализуемые эмуляцию действий пользователя и GUI. Создавать приложение на другом языке и передавать данные в аит-скрипт - бред, легче подключить библиотеку и реализовать своими средствами.
2 - шта? Зачем тут скуля?
3 - А зачем C++? Python не справится с обработкой данных? Очень даже справится.
4 - Зачем тут Cshell?! Какое управление демонами?
5 - Не нужна база - не нужен интерфейс (я так понял тут был намек на phpMyAdmin)
6 - в танках через питон вшит Flash-интерфейс, декомпилить swf не нужно.
Зачем так много ЯП? Гемор.
Зачем сервер-клиент? Ненужная куча кода.
 
Автор
L

LTR

Знающий
Сообщения
55
Репутация
13
Re: [World of Tanks] Бот для игры.

SLASH_CyberPunk [?]
На текущий момент есть много готовых решений для различных организаций клиент-серверных приложений, например, у меня на сервере стоит реализации REST API на python с MongoDB за NGINX, а клиентская часть реализуется уже в зависимости от местоположения использования/среды обитания.
Вот это я и хотел услышать :smile: Нужны варианты как еще можно реализовать :smile:

Nik_rus [?]
1 - AutoIt3 используют только из-за того, что он легок в освоении и имеет легкореализуемые эмуляцию действий пользователя и GUI. Создавать приложение на другом языке и передавать данные в аит-скрипт - бред, легче подключить библиотеку и реализовать своими средствами.
Я с вами полностью согласен что автоит легок в изучение, наверное поэтому мы с вами и переписываемся на этом форуме, а не где то на другом. Насчет передавать данные, возможно и бред, я не программист, мне важно услышать что есть бред, а что нет. Насчет подключить библиотеку, для меня пока темный лес :smile:

2 - шта? Зачем тут скуля?
Тут все просто, я с ней работал и хотя бы немного представляю что это. А вообще по задумке, все данные которые могут понадобится боту во время работы, должны хранится в базе, на стороне сервера и не должны быть доступно в каком либо виде тому кто использует бота.

3 - А зачем C++? Python не справится с обработкой данных? Очень даже справится.
Тут я с вами тоже полностью соглашусь, С был выбран только потому что опять же мне с ним приходилось работать, возможно и на питоне можно все реализовать, но увы я его в глаза не видел, нужно подключать кого то со стороны.

4 - Зачем тут Cshell?! Какое управление демонами?
Собственно это вытекает из пункта выше, если мы пишем серверное приложение то им надо как то управлять, хотя бы банальные старт, стоп, рестарт. Обязательное условие для серверного приложения, это работа под юникс/линукс.

5 - Не нужна база - не нужен интерфейс (я так понял тут был намек на phpMyAdmin)
База нужна, и следовательно интерфейс нужен.


6 - в танках через питон вшит Flash-интерфейс, декомпилить swf не нужно.
Вот тут простите меня, я совсем не понял про что вы :smile: Если можно на пальцах :smile:

Собственно почему именно клиент-сервер, да все просто, любой труд на завершенной стадии необходимо пытаться монетизировать, если вы собираетесь отдавать весь готовый продукт, то не о какой монетизации речи быть не может.
 

Nik_rus

Python The Snake.
Сообщения
214
Репутация
62
Re: [World of Tanks] Бот для игры.

Ладно, я понял зачем сервер, скуля и т.д., но всё равно не вижу смысла в Cshell.
В принципе реализовать такую систему несложно, единственное, что меня беспокоит - это отсутствие алгоритма обработки ситуации на поле боя и системы анти-анти-бот. По сути это главные и единственные две проблемы сейчас.
 

br2

Новичок
Сообщения
12
Репутация
2
Re: [World of Tanks] Бот для игры.

это отсутствие алгоритма обработки ситуации на поле боя и системы анти-анти-бот

Надо знать координаты союзной всей техники, группировать на их основе группы с близкими координатами, следовать за группой с большой кол-во технике, во время движения делать проверку, если группа разделилась, следовать за большей, минимальное значение один. Остались одни, проверяем счет, выигрываем - составляем путь на вражескую базу, проигрываем - путь на свою базу. Это что касается агрессивного режима.

В пассивном на оборот, выбираем самую маленькую группу, следуем за ней (выбор слабого направления) до ближайшей нычки. (берется из базы). Дальше, запускается счетчик 5 мин (устанавливается пользователем) ожидания, проверяем счет, если проигрываем возвращаемся на свою базу, если выигрываем едем на базу противника.

В настройках возможность указать процент использования тактик ( к примеру 70% агрессивно, 30% пассивно ) это как база, дальше по реализации этого, можно усложнять алгоритм.
 

diabloff

Новичок
Сообщения
9
Репутация
1
Re: [World of Tanks] Бот для игры.

:stars: Ничертасе у вас планы! Мдее, я думал вы тут делам заняты, обмениваетесь реализациями, а вы полемитку разводите...
Хочу вас огорчить и обрадовать: анти-бот у сябров никчёрту. Месяц назад написал простейшего бота, по 100 боёв в день, до сих пор не забанили. Бот не выложу, скажу лишь что он простейший: ищет кнопку в бой, потом ждёт зелёного индикатора лагов и шлёт три раза r, потом дожидается смерти (снизу оранжевые клавиши-напоминалки), перелистывает первые 3 танка на карусели в поисках готового к бою танка и по кругу. Всё! Примерно по 300-400к серебра за запуск.
Так что думайте, как там антибот работает.

П.С. кстати, заметил: стата ниже 0.4 не опускается.
 

blacklis

Новичок
Сообщения
64
Репутация
1
Re: [World of Tanks] Бот для игры.

Юзал подобный бот около полугода, забанили. При этом играл и сам.
Вот и думайте, что и как там работает :blink:
 

Golden_Snitch

Новичок
Сообщения
1
Репутация
0
Re: [World of Tanks] Бот для игры.

ребят подскажите пожалуйста.Как сделать так,что бы после того как функция pixelsearch нашла пиксель нужного цвета, передавала бы координаты мышки и,она туда перемещалась.Заранее спасибо :IL_AutoIt_1:
 
Верх