Бот (відеоігри)
![](http://upload.wikimedia.org/wikipedia/uk/thumb/a/ac/Counter-Strike_GO_gameplay.jpg/220px-Counter-Strike_GO_gameplay.jpg)
Бот — програма-робот, що керується комп'ютером та імітує партнерів і противників у мережевій грі, мережевих поєдинках, командних битвах тощо. Програма-бот заснована на модулі штучного інтелекту, який адаптований до особливостей цієї гри: жанру, ролі персонажа, конкретної карти. У деяких консольних іграх також можна знайти ботів.
У МКС (мульти-користувальницкий світ, англ. Multi User Dungeon, MUD) гравці експлуатують ботів для виконання деяких типових завдань у власних цілях. Буває, що боти виконують велику частину ігрового процесу. Використання цієї техніки заборонено в більшості МКС, але незважаючи на це, така можливість могла би заощадити багато часу гравцеві, поки бот збирає ресурси для його персонажа (досвід тощо).
Застосування[ред. | ред. код]
Боти можуть допомогти гравцеві потренуватися у обраних умовах. Наприклад, підвищити точність пострілу, що додасть йому майстерності у грі, перед тим, як він буде грати онлайн. Деякі ПК-гравці віддають перевагу грі виключно з ботами, через низьку швидкість доступу до мережі Інтернет (dial-up з'єднання) вони не можуть грати онлайн. Боти не змушують гравця турбуватися про чесність суперника, який може використовувати чит-коди або баги гри. У цьому відношенні, боти подовжують зацікавленість гравця до відеогри. Зазвичай боти можуть використовувати наявні тривимірні моделі, текстури і звуки гри.
Деякі мережеві відеоігри були видані без комплекту ботів і режиму однокористувацької гри. У таких випадках, фанати і ентузіасти створювали ботів пізніше в спільноті з моддинґу ігор.
Боти зазвичай написані на С/С++ як самостійний незалежний додаток або плаґін чи просто клієнтська бібліотека (англ. Dynamic-link library, DLL) для конкретного грального рушія. Для бота OpenKore у мережевій грі Ragnarok Online використовували мову програмування Perl. Деякі автори пишуть додатки, які дозволяють змінювати поведінку ботів та інші характеристики. Наприклад, додаток Bot studio для Quake III Arena.
МКС-боти[ред. | ред. код]
Програмування, способи та цілі використання МКС-ботів сильно відрізняються від ботів FPS-ігор. МКС-боти реалізовані не як звичайні суперники, а як збирачі ресурсів для персонажа гравця. Часто руйнівні для екосистеми гри, тому і заборонені в багатьох МКС відеоіграх.
Найчастіше, МКС-бот — це розширений і покращений скрипт MUD-клієнта, зазвичай використовується для підключення до сервера гри. Різні МКС забороняють різні аспекти використання нелегальних скриптів в грі, деякі просто повністю забороняють використання автоматизованих скриптів.
За основною угодою, достатньо складний бот не буде відрізняться від гравця, якщо він здатний досягати цілей, для яких не був запрограмований. Для менш складних ботів, таким є будь-яка подія, на яку вони не запрограмовані реагувати. Для більш складних ботів, це спілкування в чаті, і більш складні завдання.
Тест Тюрінга використовується для визначення того, чи може машина вести себе так само, як людина у певних умовах. До 2007 року, жодна машина не склала такий тест, роблячи цей тест відмінним іспитом на шляху нових розробок. Проте, тест втрачає свою ефективність, якщо бот-клієнт може відповісти людині на питання досить короткою фразою. Таким чином, швидкість відеоігор і спілкування гравців роблять задачу визначення складнішою у реальному часі.
Прийняття рішень[ред. | ред. код]
Бот використовує нечітку логіку, нейронні мережі і машини кінцевих станів для того, щоб «думати». У процесі прийняття рішень бот ґрунтується на власних характеристиках (здоров'я, захищеність) і на характеристиках доступного йому спорядження (броня, кількості патронів, вражаючи фактори зброї тощо). Деякі параметри змінюються під час бою (наприклад, завдати значної шкоди боту, що призведе його до необхідності відступити). Бот може виконувати також й інші операції, коли він не веде бій, такі як збір предметів (артефактів гри) або переслідування. Всім операціям призначаються відповідні пріоритети, для того, щоб бот не відволікався під час ведення бою на збір артефактів. У той же час, збір деяких з них (аптечка, додаткові патрони) може збільшити здатність бота до виживання. Бот використовує експертні системи і системи виведення логічних висновків для того, щоб вести розмови у чаті і взаємодіяти з іншими гравцями[1].
Види ботів[ред. | ред. код]
За принципами навігації[ред. | ред. код]
Боти можуть бути як статичними, так і динамічними.
Статичні боти слідують заздалегідь розкиданим по карті вейпоінтам або використовують пошук шляху (англ. pathfinding) для навігації на кожному рівні гри. Їм необхідно дуже багато заздалегідь створених систем вейпоінтів на кожній карті або вбудована в картку система місць руху, щоб пересуватися. Наприклад, боти в Quake III Arena використовують у цих цілях Систему Знання Області (AAS, Area англ. Awareness System), у той час як у Counter-Strike боти використовують файли вейпоінтів (WPT) (виняток — ''Zbots'', в якому використовується режим AAS).
Іншим прикладом ботів, які використовують вейпоінти, можуть бути знамениті боти MeatBot для відеогри Call of Duty 2. Цікаво, що створили їх майже перед самим виходом Call of Duty 4. Також, зараз є можливість для створення вейпоінтів до будь-якої карти будь-яким бажаючим. Unreal Tournament має вбудовану систему місць руху в файлі карти.
Динамічні боти, у свою чергу, досліджують карту послідовно, по мірі того, як грають. RealBot для Counter-Strike — приклад таких ботів. Деякі боти поєднують у собі методи динамічних і статичних ботів.
За програмною архітектурою[ред. | ред. код]
Вбудовані боти спочатку знаходяться в EXE-файлах гри.
Позаігрові боти (англ. out-game) — це окремі ігрові клієнти, які не потребують запущеної відеогри.
Внутрішньоігрові боти (англ. in-game) приєднуються до запущеної гри і працюють через маніпуляцію пам'яттю, або через маніпуляцію переданих по мережі даних (замінюють, доповнюють тощо).
Див. також[ред. | ред. код]
- Алгоритм пошуку A*
- Експертна система
- Інтелектуальна інформаційна система
- Ігровий штучний інтелект
- Неігровий персонаж
Примітки[ред. | ред. код]
- ↑ Quake III Arena; диссертация, Жан-Поль ван Ваверен, 2001