Бот (компьютерные игры)

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску

Бот — программа, имитирующая действия игроков в компьютерных играх: сетевых поединках, командных сражениях и т. д. В основе ботов лежит модуль искусственного интеллекта, адаптированный к особенностям данной игры: карте, правилам, а также другим тонкостям геймплея. В некоторых[каких?] консольных играх также можно найти ботов.

В МПМ (мульти-пользовательский мир, англ. Multi User Dungeon, MUD) игроки эксплуатируют ботов для выполнения некоторых типичных задач в собственных целях. Бывает, что боты выполняют большую часть игрового процесса. Но использование ботов запрещено в большинстве МПМ.

Применение[править | править код]

Боты могут помочь игроку потренироваться в точности выстрела, добавив ему мастерства в игре перед тем, как он будет играть в многопользовательскую игру. Некоторые PC игроки предпочитают играть исключительно с ботами. Из-за маленькой скорости соединения с интернетом (к примеру, dial-up соединение) они не могут играть онлайн. Боты не заставляют игрока беспокоиться о честности соперника, который может использовать чит-коды или баги игры. В этом отношении, боты продлевают интерес геймера к игре. Обычно боты могут использовать существующие трехмерные модели, текстуры и звуки игры или её мода.

Некоторые сетевые игры были выпущены без комплекта ботов и режима одиночной игры. В таких случаях фанаты и энтузиасты создавали ботов позже в сообществе по моддингу игр.

Боты обычно написаны на C/C++ как самостоятельное независимое приложение, плагин или просто динамически подключаемая библиотека (англ. Dynamic-link library, DLL) для существующего движка игры. Для бота OpenKore в сетевой игре Ragnarok Online использовали язык программирования Perl. Некоторые авторы также пишут приложения, позволяющие изменять поведение ботов и другие характеристики. Примером такого приложения служит Bot studio для Quake III Аrenа.

Боты МПМ[править | править код]

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

Чаще всего бот МПМ — это расширенный и усовершенствованный скрипт MUD-клиента обычно используемого для подключения к серверу игры. В различных мирах запреты на использование нелегальных скриптов в игре могут отличаться, в некоторых просто полностью запрещено использование автоматизированных скриптов в игре.

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

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

Принятие решений[править | править код]

Бот использует нечёткую логику, нейронные сети и машины конечных состояний для того, чтобы «думать». В процессе принятия решений бот основывается на собственных характеристиках (здоровье, защищённость) и на характеристиках доступного ему оружия (количестве патронов, поражающем факторе оружия и т. д.). Некоторые параметры изменяются во время боя (например, противник может существенно ранить бота, что приведёт его к необходимости отступить). Бот может выполнять также и другие операции, когда он не ведёт бой, такие как сбор предметов (артефактов игры) или преследование. Всем операциям назначаются соответствующие приоритеты для того, чтобы бот не отвлекался во время ведения боя на сбор артефактов. В то же время сбор некоторых из них (аптечка, дополнительные патроны) может увеличить выживаемость бота. Бот использует экспертные системы и системы вывода логических заключений для того, чтобы вести разговоры в чате и взаимодействовать с другими игроками[1].

Виды ботов[править | править код]

По принципам навигации[править | править код]

Боты могут быть как статическими, так и динамическими.

Статические боты следуют заранее размещенным маршрутам или их вариантам при обходе препятствия. Например, боты в Quake III Арена используют в этих целях систему знания области (AAS, англ. Area Awareness System), в то время как в Counter-Strike боты используют WPT-файлы (исключение — Zbots, в котором используется режим AAS).

Другим примером ботов, использующих вэйпоинты, могут служить знаменитые боты MeatBot для игры Call of Duty 2. Интересно, что создали их почти перед самым выходом Call of Duty 4. Сейчас доступен также инструментарий для создания вэйпоинтов к любой игровой карте любым желающим. Unreal Tournament имеет встроенную систему мест движения в файле карты.

Динамические боты, в свою очередь, исследуют карту последовательно по мере того, как играют. RealBot для Counter-Strike — пример таких ботов. Некоторые боты совмещают в себе методы динамических и статических ботов.

Существуют боты с искусственным мышлением, способные сами решать куда им двигаться. В настоящее время такие боты находятся на стадии тестирования.

По программной архитектуре[править | править код]

Встроенные боты изначально встроены в игру.

Внеигровые боты (out-game) — это отдельные игровые клиенты, не требующие запущенную игру.

Внутриигровые боты (in-game) присоединяются к запущенной игре и работают через манипуляцию памятью либо через манипуляцию передаваемых по сети данных (заменяют, дополняют и т. п.).

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

См. также[править | править код]

Ссылки[править | править код]

  1. Quake III Arena; диссертация, Жан-Поль ван Ваверен, 2001. Дата обращения: 28 января 2008. Архивировано 5 марта 2005 года.