Программы для прохождения компьютерных игр: боты, ИИ-агенты и компьютерное зрение
Программы для прохождения компьютерных игр: боты, ИИ-агенты и компьютерное зрение

Полная версия

Программы для прохождения компьютерных игр: боты, ИИ-агенты и компьютерное зрение

Язык: Русский
Год издания: 2026
Добавлена:
Настройки чтения
Размер шрифта
Высота строк
Поля
На страницу:
3 из 4

ГЛАВА 13. Платформы и фреймворки (ViZDoom, ML-Agents, Gym)


Gymnasium — единый API сред. ViZDoom — быстрый FPS-полигон. ML-Agents — Unity, curriculum, imitation, self-play. StarCraft (pysc2) — макро/микро, туман войны. Библиотеки: SB3, CleanRL, RLlib, Sample Factory. Путь: Gym → Atari → ViZDoom → ML-Agents → свои обёртки.


ГЛАВА 14. ИИ-боты для FPS, MMO и стратегий


FPS: YOLO → трекер → lead → сглаженное наведение → отдача; критична latency. MMO: UI, SM/BT, маршруты, инвентарь, recovery; perception = CV + OCR; high-level — LLM. MOBA — очень сложно. RTS — API предпочтительнее vision. Sandbox — иерархия и LLM. Принципы: частота решений, разделение слоёв, recovery, телеметрия, перехват человеком.


ГЛАВА 15. Античит-системы и методы детекции


Античиты: клиентские (BE, EAC, Vanguard), серверные (статистика, ML), гибриды. Детектируют сигнатуры, память, DLL, хуки, невозможные действия, аномалии поведения, injected input. Vision без инжекта невидим для memory-проверок, уязвим к behavioral. Исследователям — только offline/research.


ГЛАВА 16. Vision-Language Models и LLM-агенты в играх


VLM: изображение + текст → текст (описание, план, команды). Прямой агент универсален, но дорог. Гибрид: локально 95–98 %, LLM при застревании и планировании. Память, инструменты, ReAct. SIMA — generalist по инструкциям. Жёсткий формат ответа, лимит частоты, логи, YOLO для координат.


ГЛАВА 17. Кейс-стади: реальные проекты и архитектуры


Кейсы: OpenCV fishing; YOLO-aim; MAA-ассистенты; Mineflayer (API-first); Peek-a-bot (RL in UE5); SIMA; гибридный LLM-RPG. Уроки: узкое — надёжно; общее — дорого; гибриды выигрывают; важна поддержка после патчей.


ГЛАВА 18. Инструменты, библиотеки и экосистема


Стек: Python; OpenCV, ultralytics, ONNX/TensorRT, EasyOCR; mss/dxcam, pydirectinput; PyTorch, Gymnasium, SB3; Roboflow, CVAT. Минимум: mss+OpenCV+pydirectinput+ultralytics. Для продакшена — TensorRT, трекер, конфиги, логи.


ГЛАВА 19. Будущее ИИ-ботов в гейминге


Тренды: generalist-агенты; agentic AI в геймдизайне; sample efficiency; связь с робототехникой; ужесточение античитов; этика и регуляция. Практика: крепкий perception, мультимодальность, модульность, этика.


ГЛАВА 20. Заключение и практические рекомендации


Итоги: vision универсален; гибриды практичнее end-to-end; данные и инженерия важнее хайпа; этика обязательна. Дорожная карта: OpenCV → SM → YOLO → Gym/PPO → LLM-гибриды. Не начинайте с онлайн-шутера; логируйте; работайте offline. Игры — лучшая песочница для ИИ при ответственном подходе.


ПРИЛОЖЕНИЕ A. Примеры кода и шаблоны проектирования


A.1. Каркас главного цикла бота


while running:

frame = capture.get_frame()

if frame is None:

continue

state = vision.analyze(frame)

actions = decisions.decide(state)

input_ctrl.execute(actions)

logger.tick(state, actions)

if emergency_stop_pressed():

break


A.2. Рекомендации по структуре проекта


bot/

main.py

capture.py

vision/

detector.py

ocr.py

state.py

decisions/

state_machine.py

policies.py

input_controller.py

config.yaml

templates/

weights/

logs/


A.3. Чек-лист перед запуском на реальной игре


• Dry-run vision без ввода

• Совпадение координат клика с картинкой

• Аварийный стоп работает

• Окно игры в ожидаемом режиме (windowed/borderless)

• Логи пишутся

• Нет работы на свёрнутом окне без явного флага


ПРИЛОЖЕНИЕ B. Глоссарий ключевых терминов


Agent, Behavioral cloning, Bounding box, Curriculum learning, DPI awareness,

End-to-end, Gymnasium, IoU, Latency, mAP, NMS, OCR, Partial observability,

Policy, Reward shaping, ROI, State machine, Template matching, VLM, YOLO,

PPO, DQN, TensorRT, ONNX, ByteTrack, Kalman filter, ReAct, SIMA.


ПРИЛОЖЕНИЕ C. Рекомендуемые ресурсы


Документация: OpenCV, ultralytics YOLO, Gymnasium, Stable-Baselines3, ViZDoom,

Unity ML-Agents, mss, dxcam.


Книги: Sutton & Barto — Reinforcement Learning: An Introduction.


Статьи: DQN, AlphaGo, AlphaStar, OpenAI Five, SIMA (DeepMind).


Принцип: изучать открытый код критически и применять только в этических рамках.


КОНЕЦ КНИГИ


Книга подготовлена в образовательных и исследовательских целях.

Используйте знания ответственно. Не применяйте описанные методы

для нарушения правил онлайн-игр и создания нечестного преимущества.


РАСШИРЕННЫЕ ПРАКТИЧЕСКИЕ МАТЕРИАЛЫ И УГЛУБЛЁННЫЕ РАЗДЕЛЫ


— -----------------------------------------------------------

Углубление: проектирование state machine

— -----------------------------------------------------------


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


Переходы задаются предикатами над состоянием мира (то, что вернул perception). Избегайте «скрытого состояния» в глобальных переменных — всё, от чего зависит переход, должно быть явно в state object. Для отладки логируйте каждую смену состояния с timestamp и причиной перехода. При росте сложности рассмотрите hierarchical state machines или behaviour trees.


— -----------------------------------------------------------

Углубление: сбор и разметка датасета для YOLO

— -----------------------------------------------------------


Качество детекции на 80 % определяется данными. Снимайте геймплей в разных локациях, при разном освещении и погоде, с разными эффектами. Включайте частично перекрытые объекты, крайние ракурсы, моменты вспышек. Размечайте аккуратно: бокс должен плотно охватывать объект, класс — быть согласованным. Используйте active learning: прогоняйте текущую модель по новым видео и доразмечайте кадры с низкой уверенностью или ошибками. Балансируйте классы. Документируйте версию игры и настроек графики, на которых собран датасет.


— -----------------------------------------------------------

Углубление: снижение latency пайплайна

— -----------------------------------------------------------


В динамичных жанрах задержка от появления врага до движения мыши критична. Профилируйте каждый этап: захват, copy на GPU, инференс, трекинг, расчёт движения, отправка ввода. Часто узкое место — не модель, а лишние конвертации цветов или захват всего стола вместо окна. Используйте FP16/INT8, TensorRT, фиксированный input size, асинхронность. Детекцию можно делать не на каждом кадре, опираясь на трекер между запусками.


— -----------------------------------------------------------

Углубление: reward shaping без reward hacking

— -----------------------------------------------------------


Промежуточные награды ускоряют обучение, но агент начинает оптимизировать прокси. Если награждать за урон, агент может «фармить» слабых врагов вместо цели эпизода. Если штрафовать смерть слишком сильно — станет трусливым. Проверяйте выученную политику визуально и по вторичным метрикам (успех задачи, время, разнообразие поведения). Curriculum и иерархия часто безопаснее сложных ручных формул награды.


— -----------------------------------------------------------

Углубление: гибрид LLM + классический CV

— -----------------------------------------------------------


Паттерн: perception всегда локальный и быстрый. LLM получает структурированное описание (список объектов, OCR-поля, текущее SM-состояние, последние события) плюс редкий скриншот. Ответ — строгий JSON с командой или планом. Парсер отвергает любой неразбираемый вывод. LLM вызывается по триггерам: застревание, новый квест, неизвестный UI, конец эпизода. Так сохраняются скорость, стоимость и предсказуемость.


— -----------------------------------------------------------

Глубокий разбор: vision-aim в FPS

— -----------------------------------------------------------


Полный конвейер: захват с минимальной latency → YOLO (nano/small + TensorRT) → NMS → ассоциация с треками → оценка скорости цели (Kalman или конечно-разностная) → расчёт точки упреждения с учётом скорости пули и расстояния → перевод в дельту мыши через чувствительность и raw input → движение по сглаженной траектории → выстрел с учётом разброса и режима огня → компенсация отдачи по пресету оружия. Каждый блок тестируйте отдельно. Человечность: распределение времени реакции, шум траектории, редкие «промахи», запрет на мгновенные развороты. Никогда не используйте такой пайплайн в рейтинговых онлайн-режимах.


— -----------------------------------------------------------

Глубокий разбор: фарм-бот MMO на vision

— -----------------------------------------------------------


Модули: навигация по точкам/миникарте; бой (агро, ротация способностей, зелья); лут; инвентарь и продажа; квестовые маркеры; обработка смерти и возврат; анти-AFK (редкие осмысленные действия). Perception: детектор мобов/NPC, цвет/template для маркеров, OCR для HP и количества предметов. SM или behaviour tree связывает модули. Логируйте причины простоев — обычно это ложные срабатывания UI или застревание в геометрии.


— -----------------------------------------------------------

Глубокий разбор: обучение PPO в ViZDoom

— -----------------------------------------------------------


Обёртка среды в Gymnasium, выбор observation (пиксели vs game variables), frame skip, reward shaping под сценарий (навигация, сражение). Stable-Baselines3 PPO: n_steps, batch_size, learning_rate, ent_coef, gamma. Смотрите кривые reward и episode length. Усложняйте сценарий curriculum-ом. Перенос в реальный шутер прямым копированием весов почти никогда не работает; переносятся идеи архитектуры и shaping.


ЧАСТО ЗАДАВАЕМЫЕ ВОПРОСЫ


В: С чего начать, если я умею только базовый Python?

О: Установите OpenCV и mss. Сделайте скрипт, который показывает FPS захвата. Затем template matching по кнопке в любой single-player игре и клик через pydirectinput. Это уже бот.


В: Нужна ли видеокарта?

О: Для классического OpenCV — нет. Для YOLO в реальном времени желательна NVIDIA с CUDA/TensorRT. Для обучения детектора GPU сильно ускоряет процесс.


В: Можно ли полностью обойтись без нейросетей?

О: Да, для многих задач UI, цветов и стабильных объектов. Нейросети нужны при сильной вариативности внешнего вида и сложных сценах.


В: Как не получить бан?

О: Не запускайте ботов в онлайн-играх с античитом и ToS-запретом. Работайте в single-player, offline, собственных или research-средах.


В: Чем LLM лучше state machine?

О: Гибкостью в нестандартных ситуациях и способностью понимать текст/контекст. Хуже скоростью, стоимостью и предсказуемостью. Используйте вместе.


В: Сколько данных нужно для YOLO под одну игру?

О: Часто достаточно 300–1500 хорошо размеченных кадров при сильном предобучении и аугментациях, если домен узкий. Для сложных сцен — больше.


В: Что читать дальше?

О: Документацию ultralytics и Gymnasium; Sutton & Barto; блоги и статьи DeepMind по игровым агентам; исходники аккуратных open-source ассистентов.


— -------------------------------------------------------------------------------

Справочный блок: типичные параметры и рекомендации

— -------------------------------------------------------------------------------

• Целевой FPS perception в спокойных играх: 10–20; в FPS: 30–60+.

• Confidence YOLO: начинайте с 0.35–0.5 и подстраивайте.

• IoU NMS: 0.45–0.6 типичный диапазон.

• Задержка реакции «человечная»: не ниже ~0.15–0.2 с на визуальный стимул в среднем.

• Размер ROI: минимально достаточный; меньше ROI — быстрее и меньше false positives.

• Логи храните хотя бы несколько часов работы для разбора сбоев.

• Версионируйте веса моделей и конфиги вместе.

• Перед обновлением игры сохраняйте старые шаблоны и датасеты.

• Тестируйте на том же разрешении и настройках графики, на которых собирали данные.

• Имейте profile на игру: пути, ROI, hotkeys, sens, пороги.


Дополнение: при работе с несколькими мониторами всегда явно указывайте monitor index и проверяйте координаты клика на целевом дисплее.

Дополнение: для отладки OCR сохраняйте предобработанные ROI на диск — так легче понять, почему движок ошибся.

Дополнение: при imitation learning перемешивайте демонстрации разных сессий и игроков, если стиль должен быть общим, а не копией одного человека.


— -------------------------------------------------------------------------------

Справочный блок: типичные параметры и рекомендации

— -------------------------------------------------------------------------------

• Целевой FPS perception в спокойных играх: 10–20; в FPS: 30–60+.

• Confidence YOLO: начинайте с 0.35–0.5 и подстраивайте.

• IoU NMS: 0.45–0.6 типичный диапазон.

• Задержка реакции «человечная»: не ниже ~0.15–0.2 с на визуальный стимул в среднем.

• Размер ROI: минимально достаточный; меньше ROI — быстрее и меньше false positives.

• Логи храните хотя бы несколько часов работы для разбора сбоев.

• Версионируйте веса моделей и конфиги вместе.

• Перед обновлением игры сохраняйте старые шаблоны и датасеты.

• Тестируйте на том же разрешении и настройках графики, на которых собирали данные.

• Имейте profile на игру: пути, ROI, hotkeys, sens, пороги.


Дополнение: при работе с несколькими мониторами всегда явно указывайте monitor index и проверяйте координаты клика на целевом дисплее.

Дополнение: для отладки OCR сохраняйте предобработанные ROI на диск — так легче понять, почему движок ошибся.

Дополнение: при imitation learning перемешивайте демонстрации разных сессий и игроков, если стиль должен быть общим, а не копией одного человека.


— -------------------------------------------------------------------------------

Справочный блок: типичные параметры и рекомендации

— -------------------------------------------------------------------------------

• Целевой FPS perception в спокойных играх: 10–20; в FPS: 30–60+.

• Confidence YOLO: начинайте с 0.35–0.5 и подстраивайте.

• IoU NMS: 0.45–0.6 типичный диапазон.

• Задержка реакции «человечная»: не ниже ~0.15–0.2 с на визуальный стимул в среднем.

• Размер ROI: минимально достаточный; меньше ROI — быстрее и меньше false positives.

• Логи храните хотя бы несколько часов работы для разбора сбоев.

• Версионируйте веса моделей и конфиги вместе.

• Перед обновлением игры сохраняйте старые шаблоны и датасеты.

• Тестируйте на том же разрешении и настройках графики, на которых собирали данные.

• Имейте profile на игру: пути, ROI, hotkeys, sens, пороги.


Дополнение: при работе с несколькими мониторами всегда явно указывайте monitor index и проверяйте координаты клика на целевом дисплее.

Дополнение: для отладки OCR сохраняйте предобработанные ROI на диск — так легче понять, почему движок ошибся.

Дополнение: при imitation learning перемешивайте демонстрации разных сессий и игроков, если стиль должен быть общим, а не копией одного человека.


— -------------------------------------------------------------------------------

Справочный блок: типичные параметры и рекомендации

— -------------------------------------------------------------------------------

• Целевой FPS perception в спокойных играх: 10–20; в FPS: 30–60+.

• Confidence YOLO: начинайте с 0.35–0.5 и подстраивайте.

• IoU NMS: 0.45–0.6 типичный диапазон.

• Задержка реакции «человечная»: не ниже ~0.15–0.2 с на визуальный стимул в среднем.

• Размер ROI: минимально достаточный; меньше ROI — быстрее и меньше false positives.

• Логи храните хотя бы несколько часов работы для разбора сбоев.

• Версионируйте веса моделей и конфиги вместе.

• Перед обновлением игры сохраняйте старые шаблоны и датасеты.

• Тестируйте на том же разрешении и настройках графики, на которых собирали данные.

• Имейте profile на игру: пути, ROI, hotkeys, sens, пороги.


Дополнение: при работе с несколькими мониторами всегда явно указывайте monitor index и проверяйте координаты клика на целевом дисплее.

Дополнение: для отладки OCR сохраняйте предобработанные ROI на диск — так легче понять, почему движок ошибся.

Дополнение: при imitation learning перемешивайте демонстрации разных сессий и игроков, если стиль должен быть общим, а не копией одного человека.


— -------------------------------------------------------------------------------

Справочный блок: типичные параметры и рекомендации

— -------------------------------------------------------------------------------

• Целевой FPS perception в спокойных играх: 10–20; в FPS: 30–60+.

• Confidence YOLO: начинайте с 0.35–0.5 и подстраивайте.

• IoU NMS: 0.45–0.6 типичный диапазон.

• Задержка реакции «человечная»: не ниже ~0.15–0.2 с на визуальный стимул в среднем.

• Размер ROI: минимально достаточный; меньше ROI — быстрее и меньше false positives.

• Логи храните хотя бы несколько часов работы для разбора сбоев.

• Версионируйте веса моделей и конфиги вместе.

• Перед обновлением игры сохраняйте старые шаблоны и датасеты.

• Тестируйте на том же разрешении и настройках графики, на которых собирали данные.

• Имейте profile на игру: пути, ROI, hotkeys, sens, пороги.


Дополнение: при работе с несколькими мониторами всегда явно указывайте monitor index и проверяйте координаты клика на целевом дисплее.

Дополнение: для отладки OCR сохраняйте предобработанные ROI на диск — так легче понять, почему движок ошибся.

Дополнение: при imitation learning перемешивайте демонстрации разных сессий и игроков, если стиль должен быть общим, а не копией одного человека.


— -------------------------------------------------------------------------------

Справочный блок: типичные параметры и рекомендации

— -------------------------------------------------------------------------------

• Целевой FPS perception в спокойных играх: 10–20; в FPS: 30–60+.

• Confidence YOLO: начинайте с 0.35–0.5 и подстраивайте.

• IoU NMS: 0.45–0.6 типичный диапазон.

• Задержка реакции «человечная»: не ниже ~0.15–0.2 с на визуальный стимул в среднем.

• Размер ROI: минимально достаточный; меньше ROI — быстрее и меньше false positives.

• Логи храните хотя бы несколько часов работы для разбора сбоев.

• Версионируйте веса моделей и конфиги вместе.

• Перед обновлением игры сохраняйте старые шаблоны и датасеты.

• Тестируйте на том же разрешении и настройках графики, на которых собирали данные.

• Имейте profile на игру: пути, ROI, hotkeys, sens, пороги.


Дополнение: при работе с несколькими мониторами всегда явно указывайте monitor index и проверяйте координаты клика на целевом дисплее.

Дополнение: для отладки OCR сохраняйте предобработанные ROI на диск — так легче понять, почему движок ошибся.

Дополнение: при imitation learning перемешивайте демонстрации разных сессий и игроков, если стиль должен быть общим, а не копией одного человека.


— -------------------------------------------------------------------------------

Справочный блок: типичные параметры и рекомендации

— -------------------------------------------------------------------------------

• Целевой FPS perception в спокойных играх: 10–20; в FPS: 30–60+.

• Confidence YOLO: начинайте с 0.35–0.5 и подстраивайте.

• IoU NMS: 0.45–0.6 типичный диапазон.

• Задержка реакции «человечная»: не ниже ~0.15–0.2 с на визуальный стимул в среднем.

• Размер ROI: минимально достаточный; меньше ROI — быстрее и меньше false positives.

• Логи храните хотя бы несколько часов работы для разбора сбоев.

• Версионируйте веса моделей и конфиги вместе.

• Перед обновлением игры сохраняйте старые шаблоны и датасеты.

• Тестируйте на том же разрешении и настройках графики, на которых собирали данные.

• Имейте profile на игру: пути, ROI, hotkeys, sens, пороги.


Дополнение: при работе с несколькими мониторами всегда явно указывайте monitor index и проверяйте координаты клика на целевом дисплее.

Дополнение: для отладки OCR сохраняйте предобработанные ROI на диск — так легче понять, почему движок ошибся.

Дополнение: при imitation learning перемешивайте демонстрации разных сессий и игроков, если стиль должен быть общим, а не копией одного человека.


— -------------------------------------------------------------------------------

Справочный блок: типичные параметры и рекомендации

— -------------------------------------------------------------------------------

• Целевой FPS perception в спокойных играх: 10–20; в FPS: 30–60+.

• Confidence YOLO: начинайте с 0.35–0.5 и подстраивайте.

• IoU NMS: 0.45–0.6 типичный диапазон.

• Задержка реакции «человечная»: не ниже ~0.15–0.2 с на визуальный стимул в среднем.

• Размер ROI: минимально достаточный; меньше ROI — быстрее и меньше false positives.

• Логи храните хотя бы несколько часов работы для разбора сбоев.

• Версионируйте веса моделей и конфиги вместе.

• Перед обновлением игры сохраняйте старые шаблоны и датасеты.

• Тестируйте на том же разрешении и настройках графики, на которых собирали данные.

• Имейте profile на игру: пути, ROI, hotkeys, sens, пороги.


Дополнение: при работе с несколькими мониторами всегда явно указывайте monitor index и проверяйте координаты клика на целевом дисплее.

Дополнение: для отладки OCR сохраняйте предобработанные ROI на диск — так легче понять, почему движок ошибся.

Дополнение: при imitation learning перемешивайте демонстрации разных сессий и игроков, если стиль должен быть общим, а не копией одного человека.


— -------------------------------------------------------------------------------

Справочный блок: типичные параметры и рекомендации

— -------------------------------------------------------------------------------

• Целевой FPS perception в спокойных играх: 10–20; в FPS: 30–60+.

Конец ознакомительного фрагмента.

Текст предоставлен ООО «Литрес».

Прочитайте эту книгу целиком, купив полную легальную версию на Литрес.

Безопасно оплатить книгу можно банковской картой Visa, MasterCard, Maestro, со счета мобильного телефона, с платежного терминала, в салоне МТС или Связной, через PayPal, WebMoney, Яндекс.Деньги, QIWI Кошелек, бонусными картами или другим удобным Вам способом.

На страницу:
3 из 4