Quake 3 Arena

Создание своего ии в Quake 3

Этот раздел википедии о quake3 ориентируется на глубоком и внятном обучении о создании своего ИИ.

В основном причиной создания ИИ является недостаточный уровень сложности ИИ в "ванильном" квейке.

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

Для того что бы создать своего ИИ, необходимо понять как работает движок "кваки".

Схема работы движка при включении

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

Просто говоря - мы создадим архив с информацией о боте, а именно:

- Его внешний вид (скин);

- Его поведение в определённой ситуации.

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

- Скрипт который позволяет подключиться (найти) к файлам, отвечающим за перечисленные функции выше.

Теперь, когда мы знаем как устроен движок, каким образом устроен бот, можно приступить к программной части.

Программисты на си (не ++) могут сразу же выключать это вики и приступить к созданию своего ии вручную.

Для тех кто остался - важная информация. Ии должен находится в .pk3 архиве. Этот архив открывается при помощи обычного вин-рара, того самого у которого пробный срок длится дольше, чем существует всё человечество.

Создать такой архив может быть проблематично, если вы решите создать .rar, а потом его переименовать в расширение pk3. Проще всего зайти в системный архив "кваки"(Baseq3), скопировать любой архив с таким же раширением и очистить его. Для создания ии нужны файлы с ванильными ботами (а то названия переменных такие, что задумываешься - А я вообще английский знаю?), поэтому нужно копнуть сюда>(q3/baseq3/pak0.pk3/botfiles/bots).

Мы "своруем" оттуда 4 файла бота Anarki (Anarki_c.c, Anarki_i.c, Anarki_w.c, Anarki_t.c) и запихнём их по адресу (yourbomjii.pk3/botfiles/bots).

Джон Кармак на столько гениален, что ему показалось банальным создать обычный си скрипт для указания адреса файла. Короче говоря создаём папку скрипт внутри нашего архива ии под названием scripts.

В файле скриптов создаём bots.txt (.txt, об этом я и говорил),

пишем следуещее:

{

name bomjii

model anarki

aifile bots/anarki_c.c

}

Как вы понимаете, этот ти-икс-ти документ отвечает за название в игре(имя), модель и показывает отображение одного из файлов, необходимых для работы ИИ.

Далее самое сложное в создании ИИ - его конфиг.

Объяснять всё будет бесполезно, поэтому я просто укажу функции, их значение в поведении ИИ и тип данных, которым мы будем задавать значение переменной.

Функции(переменные) в скрипте Anarki_c.c 

CHARACTERISTICИспользуется для указания имени ИИ, файла конфигурации оружия, пола, скилла и меткости

string                                                    double

CHARACTERISTIC_CHATИспользуется для указания файла чата и частоты общения в различной ситуации.

string                                              double

CHARACTERISTIC_(другой)Указывает прыгучесть ИИ, использование Хука, кемперство, агрессию, изи-фрагерство и др.

itemweights - string                                 остальные - double

CHARACTERISTIC_AIMACCURACY - умение целиться во врага с определённым оружием в руках(Рекомендую снизить рейлган, чтобы ваш ИИ не бегал с одним рейлганом и ваншотал, как читак), SKILL - умение пользоваться оружием, снаряды которого летят не мгновенно или чувствительны к физике(GRENADELAUNCHER).double

Нет, это не объяснение тем у кого плохо с английским, а тем, кому может быть не понятна функция.

Объяснять остальные файлы смысл отсутствует, ведь они имеют схожие функции.

Далее нам нужно установить модели на пути (bomjii/models/players/Имя модели).

Учтите - часто с моделями бывают некоторые трудности, поэтому нужно очень внимательно работать с ними и не допускать ошибок.

Если вы допустили ошибку, то наверняка у вашего ИИ нету модели. У меня была схожая ситуация во время разработок своего ИИ (www.playground.ru/files/quake_3_arena_lordfito_b..) Я хотел установить модель Дума (скина скачанного с другого сайта), при этом сделав его под другим именем.

В принципе в (bomjii/sound/players/yourbomjii) можно изменить звуки.

Вики написано LORDfito.

Благодарю Playground.ru за то, что создали раздел для меня и вывели его на сайт.

Нравится2
Комментарии
    B
    i
    u
    Спойлер