Quake III Arena

Quake III Arena

Not enough ratings
Набор утилит Quake Toolkit
By CEH92013
Это руководство по использованию пакета утилит Quake Toolkit. Он даёт широкие возможности, недоступные обычному игроку, но интересные для «продвинутого» или для модмейкера. Quake Toolkit имеет следующие функции:
- создание *arena файла с помощью Arena Creation Tool;
- создание бота с помощью Bot Maker;
- компиляция карты с помощью Map Compiler GUI;
- создание и редактирование профиля с помощью Profile Manager;
- генерация команд с помощью Random Team Generator;
- обработка *roq видео с помощью RoQ Compiler;
- создание и настройка мастер-сервера с помощью Server Configuration.

Программа старая, и в сети её практически уже не найти, поэтому вот ссылка на Яндекс.Диск (удалить пробел при вставке в адресную строку браузера) — https://yadi. sk/d/L7d1b9KX3SmncU.
Интерфейс полностью английский, к каждой утилите приложена документация (доступна по клику на вопросительный знак в каждом окне программы), но ниже подробно описана каждая часть пакета, кроме ROQ Compiler (я им не пользовался), для тех, кто английским не владеет.
   
Award
Favorite
Favorited
Unfavorite
1. Первоначальная настройка.
Первым делом распаковываем папку из zip-архива в удобное для вас место. В этой папке запускаем файл Toolkit.exe. Это и есть исполняемый файл пакета. Выскочит главное окно программы и информационное окно. Там написано, что это первый запуск программы и требуется первоначальная настройка. Кликаем по кнонке «ОК».





















В окне настройки (в дальнейшем его можно вызвать из контекстного меню, открывающегося кликом правой кнопкой мыши по любому месту главного меню) есть 4 вкладки. Первая из них — General Settings. В ниспадающей менюшке «Game in Map Compiler» выбираем пункт «Quake III Arena». Вообще, данный пакет поддерживает не только Quake 3, но и Return to Castle Wolfenstein, но в этом руководстве рассматриваться будет только работа с ресурсами Quake 3.
Далее потребуется указать, где находятся редакторы Radiant и RoQ Compiler, указать нужно путь именно к исполняемым файлам, а не только к папкам программ. RoQ Compiler лежит в папке «ROQ» архива. А удобную вам версию редактора Radiant можно достать отсюда: http://icculus.org/gtkradiant/downloads.html#binaries.
Переходим ко второй вкладке — «Q3 Settings». Там указываем путь к Quake3.exe и компилятору для карт Q3Map2. Его тоже сложно достать, поэтому я вложил папку с x32 и x64 версиями компилятора в архив. Нужен ещё и компилятор AAS (bspc.exe), он тоже есть в архиве (папка BSPC).





















Третью вкладку пропускаем (она для Return to Castle Wolfenstein). На четвёртой настройки внешнего вида программы. Можно выбрать оформление (меню «skin»), способ запуска (опция «Startup As»), расположение кнопок в режиме отображения Quickbutton и стилизацию под темы Windows.


2. Arena Creation Tool.











Данная утилита предназначена для создания *arena файлов карт. Они нужны для того, чтобы карты показывались в игре и могли запускаться. Разберём интерфейс по порядку.
BSP Filename – название *bsp файла карты.
Map title – надпись, которая показывается при загрузке карты (обычно это её название).
Gametypes – режимы игры, ставим галки напротив тех, которые хотим сделать доступными. Примечание: нужно задавать именно те, которые предусмотрены на самой карте, иначе она не запустится нормально.
Custom – пользовательские режимы игры.
Fraglimit – лимит фрагов (для Free for All, Tourney и Team).
Timelimit – лимит времени в минутах.
Capturelimit – лимит очков (для CTF, One Flag, Overload и Harvester).
Два больших списка со стрелками – инструмент для добавления ботов. Для выбора бота кликаем на его имя в левом поле и затем на стрелку вправо. Для удаления бота с карты кликаем по его имени в правом поле и на стрелку влево. Также можно добавить своего бота, вписав его имя в поле «Custom». При этом бот должен реально существовать, иначе он не появится в игре.
Закончив, жмём кнопку «Build» и выбираем папку сохранения. Всё, файл *arena создан, он находится в подпапке «scripts», находящейся там, где мы выбрали сохранение данных. Чтобы файл работал, папку «scripts» нужно запаковать в архив *pk3 и положить этот архив в папку «baseq3». Имя архива должно быть написано английскими буквами и без пробелов. Чтобы сделать такой архив, можно создать *zip архив, упаковать туда всё необходимое и изменить расширение готового архива на *pk3 (заменить этим индексом индекс *zip).
Кстати, при выборе карты в самой игре через «Skirmish» меню настройки матча покажет именно те опции, которые заданы в созданном файле, и там их тоже можно изменить для конкретного матча.
3. Bot Maker.
Мощный редактор ботов. Причём всё построено на интерфейсе, знание программирования не потребуется. Утилита имеет 10 вкладок, где можно по порядку всё настроить. Первая нужная нам вкладка – Personal.





























Она содержит три группы полей.

Первая – Author's Info. Это поле для указания информации о себе.
Name – ваше имя или ник.
EMail – адрес электронной почты.
Website – адрес сайта.
Version Number – версия бота.
Additional Info – текст, который можно добавть для комментария. Можно вписать какую-нибудь дополнительную информацию, историю версий и т. п. В принципе это всё необязательно, но если вы планируете выложить бота в сеть, то заполнить эти поля очень желательно.

Вторая группа полей – Bot's Personal Info.

Name – имя бота.
In-Game Name – имя бота, написанное так, как оно будет показываться в игре. Под графой есть линейка с цветами. Ткнув на цвет, вы вставите в графу специальный префикс. Он указывает, каким цветом писать следующий за ним текст. Если после префикса и буквы поставить другой префикс, то цвет следующих букв изменится на другой. Пример: задаём имя бота ^1Car^4ma^3ck. Получится [color=#ff1a33]Сar[/color][color=#0038ff]ma[/color][color=#eee62d]ck[/color].
Префиксы цветов:
^1 – красный
^2 – зелёный
^3 – жёлтый
^4 – синий
^5 – салатовый
^6 – сиреневый
^7 – белый

Кстати, для того, чтобы задать цвет текста в Steam, можно использовать код [color=#******]текст[/color], где #****** – код цвета в формате RGB. Но в официальной справке по форматированию этого почему-то нет. Цвета подбираем тут: http://www.color-hex.com/.

Raingun Color – цвет луча от рейлгана. White – белый, Blue – синий, Green – зелёный, Cyan – салатовый, Red – красный, Magneta – сиреневый, Yellow – жёлтый.
Gender – пол бота. Male – мужской, Female – женский, No Gender – бесполый бот (типа робот какой-нибудь).
ArenaLord – бот будет «контролить» арену (следить за появлением оружия и бонусов, перемещением игроков и т. п.).
Группа полей Appearance нужна для задания внешности бота. В графы «Model» и «Skin» вписываем названия модели и скина соответственно. Внимание! Название скина долно соответствовать названию основной модели. Модели и скины можно посмотреть в самой игре в меню настроек «Player». Если модель и скин не будут выбраны или будут выбраны неправильно, игра будет использовать стандартный скин бота Sarge.

На других вкладках (кроме «Chat Text») находятся ползунки. Пользоваться ими нужно следующим образом. Они имеют крайнее левое и крайнее правое значение, влияющее на приоритет/частоту/уровень чего-либо. Двигая ползунок, мы настраиваем соответствующий параметр (как правило, от 0 до 1 в диапазоне двух десятичных знаков). Далее даны расшифровки обозначений всех ползунков.

Вкладка «General» содержит базовые параметры.





























Каждый из них дан три раза, для трёх уровней сложности, I can win (1), Hurt me Plenty (3) и Nightmare (5). Значение параметра для сложности 1 является базовым, для сложности 3 не может быть меньше базового, а для сложности 5 не может быть меньше, чем для сложности 3.
Attack Skill – навык атаки.
Aim Skill – навык прицеливания с упреждением.
Aim Accuracy – Меткость стрельбы. При значении 1 бот почти никогда не будет промахиваться (если не увернуться от выстрела).
Firing Speed – скорость ведения огня. При значении 1 бот будет давить на гашетку словно конченный псих.
View Factor – резкость смены вида (насколько активно бот вертит головой).
Max View Change – смена угла обзора в секунду (до 360 градусов).
Reaction Time – время, по прошествии которого бот перестаёт реагировать на раздражитель (от 0 до 5 секунд).
Alertness – степень реагирования на раздражитель (при значении 1 бот будет параноиком).

Вкладка «Behaviour» – поведение бота (коэффициент приоритета от 0 до 1).





























Crouching – приседание. При значении 1 бот уподобится гусю.
Jumping – прыгучесть. При значении 1 бот станет скакать по арене аки кенгуру.
Rocket Jumping – активность использования рокетджампов (прыжков с помощью выстрела ракетой под ноги или в стену перед собой).
Grapple User – приоритет использования Grappling Hook – «крюка» для притягивания себя к стенам, полу и потолку. В базовой версии Quake III его нет.
Aggression – агрессивность.
Self Preservation – самосохранение.
Camping – «кемперство», стремление устраивать засады и выцеливать врагов из тёмных углов.
Vengefulness – мстительность. При значении 1 бот будет целенаправленно искать последнего игрока, убившего его, до тех пор, пока не покарает за фраг.
Goes for Easy Targets – коэффициент охоты за «лёгкими целями». В это понятие входят лежащие предметы и бонусы и враги, которые его не видят.
Walking – приоритет ходьбы перед бегом. При значениях выше 0,50 бот будет чаще двигаться шагом, чем бежать.

Вкладка «Weapon Accuracy» – настройка меткости стрельбы для каждого оружия.




























Правило настройки то же, что и при настройке параметров вкладки «General». Ниже даны названия «стволов»:
Machinegun – пулемёт, оружие №2.
Shotgun – дробовик, №3.
Grenage Launcher – гранатомёт, №4.
Rocket Launcher – ракетомёт, «рокет», №5.
Lightning Gun – Молниемёт, «шафт», №6.
RailGun – рейлган, «лазер», «рейл», №7.
Plasma Gun – плазмомёт, «плазма», №8.
BFG – BFG10K, №9.

Вкладка «Weapon Skill» отвечает за настройки навыка прицеливания из четырёх видов оружия – Grenade Launcher, Rocket Launcher, Plasma Gun и BFG. Параметры задаются так же, как и в предыдущей группе параметров.





























Вкладка «Weapon Preference» используется для настройки приоритетов использования каждого оружия (от 0 до 400). Чем больше значение, тем чаще бот будет пользоваться конкретным «стволом». Параметры не зависят друг от друга. Также здесь можно настроить приоритет использования Gauntlet («перчатка», «резак», оружие №1).





























Вкладка «Weapon Pickup» позволяет настроить стремление подобрать оружие (от 0 до 400). У каждого из видов оружия два ползунка, верхний и нижний. Верхний отвечает за приоритет подбора оружия, если его ещё нет, а второй – за подбор ещё одного в дополнение к имеющемуся.





























Вкладка «Item Pickup» – настройка приоритета подбора предметов.





























Ниже даны названия:
Health – аптечки.
Armor – броня.
Medkit – портативная аптечка.
Personal Teleporter – портативный телепорт.
Quad Damage – усилитель урона.
Battlesuit – щит.
Regeneration – регенерация.
Haste – ускорение.
Invisibility – невидимость.
Flight – полёт.
CTF Flag – флаг.

Рекомендуется для приоритета использования оружия задавать разные значения, отличные от 1, иначе бот будет использовать одно оружие в ущерб всем остальным. То же верно и для приоритетов использования сообщений (см. далее).
3а. Bot Maker (продолжение).
Вкладка «Chat» предназначена для настройки вероятности появления текстовых сообщений от бота.





























При значении 1 бот будет всегда выдавать сообщение в каждом конкретном случае. Ниже расшифрованы заголовки ползунков:
Chars per minute – количество сообщений в минуту. Не рекомендуется ставить выше 5-10, иначе бот будет постоянно засорять консоль.
Start/End level – сообщения при начале и окончании матча.
Enters/Exits game – сообщение при входе в игру и выходе из неё.
Kills – сообщение при фрагах.
Dies – сообщение при смертях других игроков.
Hit while talking – сообщение при получении урона во время написания другого сообщения.
Get hurt – сообщение при получении урона.
Hit opponent – сообщение при нанесении урона врагу.
Enemy suicide – сообщение при самоубийстве врага (подрыв, падение в пропасть и т. д.).
Replies – ответное сообщение.
Insults – сообщение при смерти.
Random – случайное сообщение.
Misc – сообщение общего характера.
Два последних параметра зависят от параметра Chars per minute. Вероятность высчитывается приблизительно следующим образом. При "решении" бота выдать сообщение, не подходящее к ситуации, где уместны другие сообщения, выдаётся сообщение одной из этих двух категорий.

И наконец, последняя вкладка «Chat text», в ней задаётся сам текст для сообщений.





























Делается это так. Из списка слева выбирается категория сообщения. Расшифорвка категорий сообщений:
Bot enters game – бот входит в игру.
Bot exits game – бот выходит из игры.
Level starts – начало матча.
Level ends (bot doesn't win nor lose) – конец матча (бот не занял первое ии последнее сместо по счёту).
Level ends (bot wins) – бот выиграл матч.
Level ends (bot loses) – бот проиграл вчистую (последнее место).
Bot is hit/kinned while talking – бот ранен или убит во время отправки сообщения.
Bot is hit by opponent (praise of insult) – бот ранен.
Bot hits opponent (praise of insult) – бот ранил врага.
Bot dies by telefrag – бот умер от "телефрага" (смерть от телепортации другого игрока на то место, где находится жертва, чаще всего происходит тогда, когда при старте игры на карте оказывается больше игроков, чем предусмотрено по максимуму).
Bot craters – бот разбился, упав с большой высоты.
Bot dies on lava – бот сгорел в лаве.
Bot dies in slime – бот растворился в кислоте.
Bot drowns – бот утонул.
Bot suicides by own weapon – бот подорвался при стрельбе.
Bot is killed by Gauntlet – бот убит "резаком".
Bot is killed by Railgun – бот убит "рейлганом"
Bot is killed by BFG – бот убит BFG.
Bot dies (insult) – бот убит внезапно (смотрел в другую сторону).
Bot dies (praise) – бот убит в открытом столкновении (увидел врага).
Bot kills with Railgun – бот убивает "рейлганом".
Bot kills with Gauntlet – бот убивает "резаком".
Bot kills by Telefrag – бот убивает "телефрагом".
Other player suicides – другой игрок убивает себя.
Bot kills other player (insult) – бот внезапно убивает другого игрока.
Bot kills other player (praise) – бот убивает другого игрока в открытом столкновении.
Random insult – другой игрок внезапно убивает кого-либо (не бота).
Random misc comment – сообщение общего характера или случайное (именно из этой категории подбираются сообщения в параметрах Random и Misc).

Сам текст вписывается в графу снизу и добавляется в поле справа кнопкой «Add line». Писать можно только латиницей (английскими буквами), иначе текст не будет показываться в игре (будут тупо пустые строки со знаками препинания). Можно для одной категории писать несколько сообщений, тогда каждый раз будет случайно выбираться одно из них. Кнопка «Delete line» удаляет выделенный вариант добавленного текста. Также есть кнопка «Insert variable into line». Она добавляет в текст специальный «ключ», выбранный вами из находящегося рядом ниспадающего списка. «Ключ» нужен для подстановки имён и названий в конкретной ситуации. В зависимости от категории сообщения доступны разные «ключи». Расшифровка ключей:
Random opponent (#RANDOMOPP#) – случайный враг (о ком упоминается в сообщении).
Opponent on 1st place (#FIRSTOPP#) – враг, который лидирует по счёту.
Opponent on last place (#LASTOPP#) – враг с наименьшим счётом, "лузер".
Level's title (#LVLTITLE#) – технический заголовок карты (название, которое показывается в меню выбора карты).
Attacker (#ATTACKER#) – враг, атаковавший бота.
Opponent (#OPPONENT#) – враг, атакованный ботом (только для категории "Bot hits opponent").
Enemy (#ENEMY#) – враг, к которому относится сообщение (для прочих категорий).
Enemy's Weapon (#ENEMYWEAP#) – оружие врага.
Randomly choosen opponent (#RNDOPP#) – случайно выбранный враг (адресат сообщения).
Last victim (#VICTIM#) – последняя жертва.
Желательно перед «ключом» и после него ставить пробел, в противном случае текст будет сливаться и выглядеть некрасиво. Если текстов сообщений не будет (все поля оставлены пустыми), то параметры из вкладки «Chat» в игре работать не будут, т. к. нечего будет выводить.

Закончив с ботом, жмём кнопку «Build» и выбираем папку, куда будут сохранены файлы. В этой папке появятся две подпапки: «botfiles» и «scripts». В папке «botfiles» окажется папка «bots», содержащая файлы вида [имя бота]_c.c, [имя бота]_i.c, [имя бота]_t.c и [имя бота]_w.c. Эти файлы можно редактировать с помощью текстового редактора. Каждый файл содержит:
[имя бота]_c.c – всю основную информацию, кроме проритетов использования оружия и предметов.
[имя бота]_i.c – приоритет использования предметов.
[имя бота]_t.c – тексты для сообщений.
[имя бота]_w.c – приоритет использования оружия.
В папке «scripts» находится файл [имя бота].bot. Он нужен для того, чтобы бот корректно распознавался игрой. Также с его помощью можно отредактировать существующего бота с помощью кнопки «Load Bot».
Внимание: в редакторе замечен баг: при загрузке бота из этого файла почему-то «теряются» тексты сообщений. Так что желательно сохранять их отдельно в каком-нибудь текстовом файле. При этом ещё и сбрасываются модель, скин, опция Arenalord и цвет рейлгана. Таким образом, лучше всего выверить всё с первого раза или записать нужные данные куда-нибудь ещё.
Чтобы бот появился в самой игре, нужно запаковать получившиеся папки «botfiles» и «scripts» в архив *pk3 и положить этот архив в папку «baseq3».

Прилагаю тестового бота. Все параметры поведения средние, кроме Walking, Camping, Crouching (они отключены) и Going for easy targets (он выкручен на максимум). Владение оружием также среднее (в районе 40-55). Бот охотно хватает всё, что увидит (кроме усиления Flight, т. к. с ним боты жутко тупят, просто зависают над местом, где подобрали бонус). Бот любит ракетомёт, BFG, плазмомёт и рейлган, даёт 5 сообщений в минуту. В тексте сообщений даны просто наборы символов, чтобы было легче уследить, что когда происходит.

Бот пригоден для тестов (для этого и создавался), но не для серьёзной игры. На его основе можно делать своих с помощью данного руководства. Ссылка: https://yadi. sk/d/lg9qH0Vcug2YU (удалить пробел).
4а. Map Compiler GUI (часть первая: общая характеристика).
Незаменимый инструмент для тех, кто любит делать карты. Он является графической средой для тонкой настройки компиляции карты из формата *MAP в формат *BSP и имеет следующие возможности:
– Множество параметров для компиляции;
– Выбор из нескольких шаблонов компиляции и возможность их редактирования;
– Возможность выбрать конкретную карту и конкретный аддон для компиляции;
– Возможность выбрать режим игры для компилируемой карты;
– Возможность компилировать файлы *AAS из файлов *BSP (эти файлы нужны для того, чтобы на компилируемой карте можно было играть с ботами).
Есть два вида компиляторов: Q3Map и Q3Map2. Второй более «продвинутый» и удобный в использовании, и в дальнейшем будет описан именно он.
Предупреждаю сразу: я знаю далеко не всё и буду говорить только о том, что использовал сам и о том, что понял из англоязычной документации. Если будут вопросы, замечания и дополнения – прошу писать всё это в комментариях.
Итак, допустим, что нам есть, что компилировать, и мы готовы приступить к изучению возможностей утилиты. Первое, что мы видим – основное окно, состоящее из нескольких частей. Каждый элемент помечен цифрой:
1 – панель параметров;
2 – окно карт (под кнопкой "maplist");
3 – список шаблонов компиляции (под кнопкой "presets");
4 – панель опций запуска (под кнопкой "options");
5 – информационная панель (под кнопкой "info");
6 – нижняя панель кнопок и строка состояния.


























Кнопки "options", "presets", "maplist" и "info" позволяют свернуть и развернуть находящиеся под ними разделы интерфейса.

Далее будет дано описание каждого элемента утилиты. Панель параметров содержит четыре вкладки – BSP, VIS, LIGHT и BSPC. На каждой из них расположены столбцы с параметрами, спомощью них и осуществляется управление компиляцией. Каждый параметр выбирается щелчком по нужной графе (появляется галочка) и записыванием значения в прилегающем к ней поле (если это небоходимо). Чтобы исключить параметр из обработки, нужно снять галочку. Каждый параметр при наведении курсора на его поле сопровождается кратким комментарием в строке состояния, что помогает приблизительно понять его назначение.
4б. Map Compiler GUI (часть вторая: панель параметров и ключи компиляции).
По умолчанию открыта вкладка параметров BSP, отвечающих за обработку геометрии уровня, с неё и начнём обзор опций:


























– convert [.bsp]: конвертирует *BSP в *ASE файл (что это за зверь, я не знаю, не пользовался);
– clustinfoparms: судя по комментарию в строке состояния, вроде бы загружает параметры обработки поверхностей из внешнего файла, но как это работает, не знаю, т. к. не пользовался;
– debuginset: судя по описанию в строке состояния, фиксит пересекающиеся полигоны поверхности брашей, но каких-либо видимых изменений в отображении я не заметил (возможно, на той карте, которую я включил, было нечего исправлять);
– debugportals: делает плоскости, являющиеся продолжениями граней брашей, видимыми и проходимыми;
– debugsurfaces: делает поверхности брашей разноцветными по принципу «четырёх красок» (смежные поверхности имеют разные цвета);
– fakemap: компилирует только базовую геометрию, создавая (вроде бы) отдельный файл;
– fixaas: применяется к *AAS файлам, правит эти файлы в соответствии с актуальной редакцией файла *BSP;
– flares: включает показ «корон» для источников света (для Quake 3 неактуально);
– flat: вроде бы выравнивает текстурирование поверхностей;
– force: заставляет компилятор обработать «неподдерживаемую» разновидность *BSP;
– format map: конвертирует *BSP обратно в *MAP, при этом сбивается текстурирование;
– fulldetail: учитывает детальные браши при компиляции;
– info: выводит подробную информацию при компилировании;
– leaktest: тестирует карту на наличие «дыр» в геометрии, при обнаружении дыры компиляция прерывается;
– meta: упорядочивает структуру брашей, разбивая их на полигоны, ключ обязателен для некоторых других;
– nocurves: компилятор не учитывает кривые безье;
– nodetail: компилятор не учитывает детальные браши;
– nofog: компилятор не учитывает туман;
– nohint: компилятор не учитывает технические браши с текстурой hint;
– nosubdivide: заставляет компилятор обработать смежные поверхности с одинаковыми текстурами как одну большую (заметнее всего для жидкостей);
– notjunc: не знаю, увы =( ;
– no water: компилятор не учитывает воду (а возможно, и лаву с кислотой);
– onlyents: компилятор учитывает только изменения энтити;
– patchmeta: упорядочивает «патчи» перед обработкой основной геометрии;
– skyfix: вроде бы как-то фиксит обработку неба на видеокартах ATI (не знаю, как именно работает, у самого карта от Nvidia);
– tmpout: записывает технические файлы в отдельную папку;
– v: выводит подробную информацию при компилировании;
– verboseentities: выводит подробную информацию об энтити при компилировании;
– mi: не знаю;
– mv: не знаю =( ;
– np: не знаю =( =( ;
– scale: масштабирование брашей (при базовом коэффициенте 1.0 не производится);
– snap: не знаю =( ;
– subdivisions: уровень детализации «патчей», базовое значение 8;
– texrange: ограничивает максимально возможное масштабирование текстур.
Вкладка VIS обсчитывает т. н. порталы VIS, отвечающие за обработку видимости игрового пространства в реальном времени. Параметры этой вкладки обрабатывают анимации, спецэффекты и некоторые технические аспекты отображения:


























– fast: быстрый и грубый обсчёт;
– hint: включает в обработку браши с текстурой hint;
– merge: упорядочивает систему порталов VIS;
– nopassage: отключает алгоритм обсчёта видимости (как работает – я без понятия);
– nosort: отключает сортировку порталов VIS;
– saveprt: сохраняет техническую информацию о порталах в отдельный файл;
– tmpin: заставляет компилятор читать информацию о VIS из временных файлов, сохранённых при использовании следующего ключа;
– tmpout: заставляет компилятор сохранять техническую информацию о VIS в отдельный файл;
– v: выводит подробную информацию при компилировании.
Вкладка Light отвечает за обработку освещения на уровне. Это самый долгий и сложный этап компиляции, и если ваша карта большая, то советую найти себе на время обсчёта другое занятие. К сожалению, у меня тут больше всего «белых пятен», известные мне параметры такие:


























– border: создаёт бордюры у границ освещаемых областей;
– bouncegrid: детальный обсчёт освещения;
– bounceonly: обсчёт только детализированного освещения (актуально для движка Tenebrae);
– cheap: прерывание обсчёта при превышении определённого порога значений;
– cheapgrid: прерывание обсчёта при превышении определённого порога значений детализированного освещения;
– clustinfoparms: аналог clustinfoparms для BSP;
– dark: затемнённое освещение;
– debug: различные режимы отладки, к сожалению, не знаю, как они работают, т к. не пользовался ими;
– debugaxes: - ;
– debugcluster: - ;
– debugorigin: - ;
– debugsurfaces: - ;
– debugunused: - ;
– dirty: - ;
– dump: записывает техническую информацию в файл дампа;
– export: записывает техническую информацию в отдельный файл;
– extra: дублирует опцию -super 2 (о ней ниже);
– extrawide: дублирует опцию -super 2 и опцию -filter (о ней также ниже);
– fast: быстрый и грубый обсчёт;
– fastbounce: быстрый обсчёт детализации освещения;
– faster: ещё один вариант быстрого обсчёта;
– fastgrid: быстрый обсчёт сетки освещения;
– filter: минимизирует контраст между освещёнными и неосвещёнными участками, делая плавные переходы;
– lomem: оптимизирует обсчёт освещения для меньшего объёма оперативной памяти;
– nocollapse: не учитывает пересечения областей освещения;
– nogrid: отключает обсчёт сетки освещения;
– normalmap: - ;
– nostyles: - ;
– nosurf: отключает трассировку освещения для детальных брашей и «патчей»;
– notrace: полное отключение трассировки;
– novertex: отключает вертексное освещение;
– patchshadows: детальный обсчёт теней от «патчей»;
– shade: - ;
– smooth: сглаживание освещения;
– sunonly: обсчитывает только «солнечный» источник света;
– trisoup: преобразовывает поверхности брашей в треугольники на время обсчёта освещения;
– v: выводит подробную информацию при компилировании;
– approx: - ;
– area: множитель интенсивности областных источников, по умолчанию (1) используются значения, заданые при создании карты;
– bounce: множитель интенсивности детального освещения;
– bouncescal: масштабирование детализации освещения;
– gamma: - коэффициент общей яркости источников света;
– lightmapsize: размер карты освещения;
– point: множитель интенсивности точечных источников;
– samples: - ;
– samplesize: - ;
– scale: множитель интенсивности всех источников;
– shadeangle: - ;
– sky: множитель интенсивности света от неба;
– super: коэффициент детализации освещения (по умолчанию 2);
– thresh: - .
Вкладка BSPC отвечает за просчёт маршрутов для ботов:


























– aasopt [.aas]: оптимизация маршрутов для ботов, ключ используется для файла *AAS;
– breadthfirst: - ;
– bsp2aas: компилирует *AAS из *BSP, без этого ключа компиляция BSPC не запустится;
– bsp2map: компилирует *MAP из *BSP, несовместим с предыдущим ключом;
– cluster [.aas]: вроде бы более детальная оптимизация для *AAS;
– forcesidevisible: делает все поверхности видимыми для ботов, обязателен, если при компиляции BSP был использован ключ -meta;
– freetree: - ;
– grapplereach: просчитывает возможность использования Grapple Hook на уровне;
– nobrushmerge: отключает объединение смежных брашей, образующих в совокупности выпуклое тело, при компиляции AAS;
– nocsg: - ;
– noliguids: отключает обсчёт жидкостей (боты не будут плавать в воде);
– noverbose: отключает вывод подробной информации при компилировании;
– optimize: оптимизация компиляции (сам не знаю, на что конкретно влияет);
– reach: - ;
– ext: - ;
– output: задаёт директорию для конечного файла, которую нужно прописать в поле справа.
4в. Map Compiler GUI (часть третья: настройки запуска компиляции).
Чтобы выбрать файл для компилирования, сначала выберите нужное расширение отображаемых файлов в верхнем правом списке под заголовком «maplist» (цифра 2), затем кликните по строке с названием нужного файла. Файлы *map являются заготовками карт, которые создаются в редакторе карт, файлы *bsp – откомпилированные карты, читаемые игрой, а файлы *aas – файлы маршрутов для ботов. Файлы, относящиеся к одной и той же карте, имеют одинаковое название, но разные расширения. Еси выбрано расширение *map, то в разделе «info» показывается некоторая информация о выбранном файле (дата и время последнего редактирования, кол-во брашей и т. п.). После выбора нужного файла задайте требуемые ключи компиляции вручную или с помощью шаблона (цифра 3). При этом записанные в шаблоне ключи сразу же отобразятся на всех вкладках. Уже выбранный шаблон можно редактировать, меняя параметры компиляции. При этом кнопка со значком дискеты слева внизу позволяет сохранить конфигурацию выбранных параметров компиляции в отдельный файл. В прилагаемом архиве с пакетом есть два шаблона STANDART и FINAL которые я использую для тестов и для финальной компиляции соответственно.
Также вы можете использовать дополнительные опции:
– графа «Developer mode» отвечает за включение режима чит-кодов на скомпилированной карте;
– графа «Run mod» позволяет включить пользовательскую модификацию для игры;
– графа «Gametype» позволяет выбрать режим игры на скомпилированной карте, но он будет работать только тогда, когда условия для его включения соблюдены при создании карты (для CTF расставлены флаги, для Team Deathmatch расставлены точки спавна игроков из разных команд, и т. п.);
– графа «Threads» вместе с числовым регулятором позволяет изменить количество ядер процессора, задействованных при компиляции;
– графа «Pause after [название этапа компиляции]» позволяет ставить компиляцию на паузу, позволяя прочесть техническую информацию после каждого этапа (этап Vlight есть только в версии компилятора Q3Map).
Определившись со всеми настройками, жмём кнопку «Compile and Run». Если вы всё делали правильно, то компиляция должна успешно завершиться, и карта запустится. Кнопка «Run» запускает карту из готового *BSP файла (перед этим его надо выбрать). Кнопка «Cancel» закрывает окно Q3Map2, а кнопка с вопросительным знаком является ссылкой на англоязычную документацию.
5. Profile Manager.
Эта утилита позволяет работать с *cfg-файлами игрока (создавать, редактировать, переключать). Профили на основе этих файлов отображаются в списке в центре окна. Кнопка «new» создаёт профиль (требуя ввести его название), кнопка «Set selected as current profile» выбирает профиль из списка в качестве базового, кнопка «Save profile» сохраняет профиль, кнопка «Launch» запускает игру с выбранным профилем, а кнопка «Cancel» закрывает окно менеджера.


В настоящее время утилита глючит, выдавая при запуске и попытке создать профиль ошибку "file not found" (хотя все пути заданы верно). Если знаете, как с ней справиться, пишите в комментариях.
6. Random Team Generator.
Простенькая утилитка для создания случайных списков команд. Сначала в графе «Player name» пишется имя игрока, затем кнопкой «Add» этот игрок добавляется в нижнее поле. Затем пишется имя второго игрока, он снова добавляется в нижний лист, и т. д. Имена не должны совпадать. Кнопка со значком дискеты сохраняет получившийся список в файл *lst, а кнопка со значком папки открывает сохранённый ранее список.
Когда общий список составлен, жмём кнопку с двойной стрелкой вправо, и все имена будут переписаны в среднюю область. Кнопка с одиночной стрелкой вправо позволяет переместить в среднюю область одного предварительно выбранного игрока, а кнопки со стрелками влево – переместить в левое поле одного или сразу всех игроков.
Кнопка «Generate» случайным образом разбрасывает игроков по командам «Red» и «Blue», а кнопка «Re-generate» повторяет тасовку. Верхняя стрелка вправо записывает выбранного игрока в команду «Red», а нижняя стрелка вправо – в команду «Blue». Редактировать оба списка команд отдельно нельзя. Кнопка «Close» закрывает утилиту.

7. Server Configuration.
Данная часть пакета предназначена для настройки собственного сервера в игре. Эта утилита на порядок мощнее встроенного в игру менеджера серверов и пригодится каждому, кто захочет по-своему настроить сервер именно так, как ему хочется. Первое, что мы видим при открытии утилиты – окно с тремя разделами («Map specifications», «Server Settings» и «Map Rotation»), рассмотрим каждый из них подробнее. Далее я не буду расписывать интерфейс (он предельно интуитивен), а просто расшифрую параметры.
































Раздел «Map specifications» предназначен для добавления карты на сервер и имеет такие опции:
BSP Name – название файла карты;
Gametype – режим игры;
Message of the Day – сообщение при входе на сервер;
Min clients – минимальное количество игроков;
FragLimit – лимит фрагов;
TimeLimit – лимит времени в минутах;
CaptureLimit – лимит захватов.
На этом настройки карты заканчиваются. Когда всё готово, жимём кнопку «Add Map to Rotation» и карта добавится в список раздела «Map Rotation». Точно так же добавляются и другие карты. Стрелками вверх и вниз можно регулировать положение карты, выбранной кликом по любой графе принадлежащей этой карте строки, а кнопка «Remove Map» удаляет выбранную карту из списка.
Теперь пора настроить сам сервер с помощью раздела «Server Settings»:
Hostname – название сервера;
Mod directory – путь к используемому моду;
Max Clients – максимальное количество игроков;
Bot skill – уровень сложности ботов;
RconPassword – пароль для входа на сервер (если оставить поле пустым, то пароля не будет);
Dedicated Server – сделать сервер выделенным;
Pure Server – «чистый» сервер;
Enable PunkBuster – включить античит Punkbuster;
Internet Server – сервер доступен через интернет;
Team Arena Server – сервер доступен только в аддоне Team Arena;
Advanced Settings – использовать расширенные настройки.
Расширенные настройки включаются кнопкой «Advanced…». При её нажатии появится отдельное окно.































Параметры там следующие:
g_warmup – время разминки в минутах;
g_weaponRespawn – время повторного появления оружия в секундах, при 0 оружие не исчезает при подборе;
g_weaponTeamRespawn – время повторного появления оружия в секундах для командных режимов игры;
g_forceRespawn – время до принудительного респауна игроков в секундах, при 0 респаун доброволен;
g_quadFactor – множитель урона для Quad Damage;
pmove_fixed on/off – одинаковая физика для всех игроков;
g_allowVote on/off – возможность голосования;
g_blueteam – выбор названия команды «синих»;
g_redteam – выбор названия команды «красных»;
g_password – пароль для входа на сервер;
sv_privateClients – количество мест для приватных игроков;
sv_privatePassword – пароль для приватных игроков;
sv_fps – максимальное количество пакетов в секунду, отправляемых клиенту;
sv_maxPing – максимальный пинг;
sv_minPing – минимальный пинг;
sv_maxRate – максимальное количество пакетов;
g_teamAutoJoin on/off – автоматическое присоединение к команде;
g_teamForceBalance – автоматический баланс количества игроков в командах (делает команды равными по размеру);
sv_allowDownload on/off – автоматическое скачивание контента с сервера при подключении к нему;
g_smoothClients – не понял, что это =(
g_inactivity – время неактивности игрока до его принудительного отключения;
sv_timeout – время неактивности клиента до его принудительного отключения;
sv_zombieTime – тоже не понял =(
sv_floodProtect on/off – защита от спама со стороны клиента;
sv_reconnectLimit – время в минутах на повторное подключение отсоединившегося клиента;
sv_strictAuth on/off – не понял =( =(
g_log – файл лога (задать имя);
g_logSync on/off – синхронизация логов клиентов с сервером;
logfile off/buffered/continious/append – способ формирования лога (отключен/буферизованный/пишется по ходу игры/пишется после игры).
Справа внизу находится поле «Master servers list». Это список серверов, через которые ищутся другие сервера. По умолчанию там есть адреса master.quake3arena.com и master0.gamespy.com. С помощью строки внизу и кнопки «Add» можно вписать другие мастер-сервера.
Разобравшись с дополнительными настройками, жмём кнопку «Close», и тогда мы вернёмся к предыдущему окну. В нём кликаем по кнопке «Build» для запуска сервера или по кнопке «Build and Launch» для запуска сервера и немедленного захода на него. Кнопка «Cancel» отменяет все настройки и закрывает утилиту.
8. Заключение.
Надеюсь, данное руководство оказалось для вас полезным. Всё, что вы считаете нужным, пишите в комментариях. Также прошу помощи для дополнения руководства недостающей информацией.
8 Comments
Nemet 21 Dec, 2022 @ 2:02am 
Windows 8.1, запуск в режиме совместимости не помог... Сама игра стоит на HDD, софт на SSD... Хмм, попробую перенести, правда не думаю что это как то повлияет...
CEH92013  [author] 20 Dec, 2022 @ 11:27pm 
И нет ли каких-то проблем с жёстким диском? Можно попробовать перенести игру и весь доп. софт к ней на другой. Там всё портативное фактически.
CEH92013  [author] 20 Dec, 2022 @ 11:25pm 
Какая ОС? Можно попробовать включить режим совместимости с Windows XP. И заодно убедиться, что папка Quake 3 вместе с подпапками не находится с активной опцией "только для чтения".
Nemet 20 Dec, 2022 @ 10:42pm 
Та, как оказалось, у меня проблемы не только в этом... У меня и в bsp не хочет конвертировать... Судя по командной строке, не пропускает некоторые ключи... Методом снятия галочек с последних, удалось проследить до новой ошибки: "Отсутствует файл в данном разделе", но как он может отсутствовать, если я его компилирую... Тут два варианта: либо я всё же что то делаю не так, либо сама программа решила меня послать...
CEH92013  [author] 20 Dec, 2022 @ 10:05am 
Надо сначала убедиться в том, что карта нормально открывается в самой игре. Далее в Quake Toolkit включить Map Compiler - BSPC. Выбрать карту, ключ bsp2map, и только его. Напишите пошагово, что и ка делаете, я попробую воспроизвести проблему. Также укажите ОС и параметры запуска (активен ли режим совместимости и пр.).

У меня обычно всё работает, но слетает позиционирование текстур и свет.
Nemet 20 Dec, 2022 @ 12:41am 
Можете подсказать как правильно компилировать из bsp в map...?? Что то у меня совсем ничего не выходит... Файл либо не появляется, либо появляется, но весом в 1 байт и радиант видит его пустым...
CEH92013  [author] 4 Feb, 2019 @ 12:35pm 
Попробуйте включить режим совместимости с Windows XP. Также окно настройки можно вызвать с помощью контекстного меню, это упомянуто в разделе "Первоначальная настройка".
Clover (L.D.) 4 Feb, 2019 @ 8:44am 
А как быть если информационное окно, которое открывается при первом запуске, не открылось и при запуске Map Complier GUI окно карт абсолютное пустое? Спасибо