Этот раздел википедии о 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_AIM
ACCURACY - умение целиться во врага с определённым оружием в руках(Рекомендую снизить рейлган, чтобы ваш ИИ не бегал с одним рейлганом и ваншотал, как читак), SKILL - умение пользоваться оружием, снаряды которого летят не мгновенно или чувствительны к физике(GRENADELAUNCHER).
double
Нет, это не объяснение тем, у кого плохо с английским, а тем, кому может быть непонятна функция.
Объяснять остальные файлы смысл отсутствует, ведь они имеют схожие функции.
Далее нам нужно установить модели на пути (bomjii/models/players/Имя модели).
Учтите - часто с моделями бывают некоторые трудности, поэтому нужно очень внимательно работать с ними и не допускать ошибок.
Если вы допустили ошибку, то наверняка у вашего ИИ нет модели. У меня была схожая ситуация во время разработок своего ИИ (www.playground.ru/files/quake_3_arena_lordfito_b..) Я хотел установить модель Дума (скина скачанного с другого сайта), при этом сделав его под другим именем.
В принципе в (bomjii/sound/players/yourbomjii) можно изменить звуки.
Вики написано LORDfito.
Благодарю Playground.ru за то, что создали раздел для меня и вывели его на сайт.