Бот (компьютерные игры)
Бот — программа-робот, управляемая компьютером, имитирующая партнёров в сетевой игре, в сетевых поединках, командных сражениях и т. д. Программа-бот основана на модуле искусственного интеллекта, который адаптирован к особенностям данной игры: карте, правилам, а также к типу игры. В некоторых консольных играх также можно найти ботов.
В МПМ (мульти-пользовательский мир, англ. 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) присоединяются к запущенной игре и работают через манипуляцию памятью, либо через манипуляцию передаваемых по сети данных (заменяют, дополняют и т. п.).
Кликеры также требуют запущенной игры. Но общаются с игрой они через выводимую на экран картинку и эмуляцию мыши и клавиатуры.