Quake III Arena

Quake III Arena

Not enough ratings
Маппинг в Quake III. Часть 6: выпуск карты.
By Арсенiй Каменевъ
Это шестая статья из серии «Маппинг в Quake III». Содержание статей основано на моём собственном опыте и материалах сайта http://q3mapping.umaksa.net и некоторых других ресурсов, которые я буду упоминать отдельно.

Оглавление ко всем частям серии руководств:
https://steamcommunity.com/sharedfiles/filedetails/?id=1518412938
   
Award
Favorite
Favorited
Unfavorite
1. Требования к готовой карте.
Итак, мы сделали свою первую карту и хотим видеть её в игре среди остальных карт. Что же нужно для этого сделать? Подготовить к выпуску.

Готовая карта имеет:
– техническое название (имя *bsp-файла карты);
– собственное название (показывается при загрузке);
– финальную камеру (ракурс с видом на карту, на фоне которого показывается итоговый счёт после окончания матча);
– своё место в меню карт в самой игре;
– снимок уровня, показываемый при загрузке;
– интерфейс для запуска через меню игры.

Сделать всё это совсем несложно, и я сейчас покажу, как это осуществить.
2. Подготовка карты к выпуску.
Перво-наперво включаем нашу карту в редакторе и принимаемся за настройку финальной камеры. Для этого ставим info_player_intermission и target_position, соединяем их. Всё!

Примечание №1: удобно настраивать ракурс камеры с помощью окна 3D-вида. Ищем подходящий ракурс, в точку с камерой 3D-вида ставим info_player_intermission, а в центр ракурса – target_position, затем остаётся только соединить их.


Хинт №1: помимо этого можно сделать и пьедесталы почёта для игроков, которые показываются при окончании матча в одиночной игре. Для этого ставим в ракурсе камеры рядом друг с другом три target_position и через Entity Inspector поочерёдно меняем их значения ключа classname на info_firstplace, info_secondplace и info_thirdplace соответственно. У меня, например, они стоят так:


Сделав камеру, приступаем к финальной компиляции карты. Для этого выбираем в меню «Build» предпоследнюю строку: Q3Map2: (final) BSP -meta, -vis, -light -fast -filter -super2 -bounce8. Процесс может затянуться надолго, особенно если карта большая. Длительность компиляции зависит от мощности центрального процессора вашего компьютера.

Скомпилировав карту, запустите её. Это можно сделать двумя способами: либо через консоль в самой игре, введя команду \map [название *bsp-файла карты без расширения], либо настроить запуск сразу после компиляции, включив опцию «Run Engine After Compile» в разделе «Build» меню настроек. В самой игре включите режим зрителя, выберите хороший ракурс, сделайте скриншот и сохраните его в формате *jpg или *tga, задав файлу изображения имя, совпадающее с именем *bsp-файла карты.

Примечание №3: создание скриншота клавишей Print Screen с последующей вставкой изображения в Paint из буфера обмена работает некорректно (вместо скриншота в буфер обмена попадает изображение окна загрузки карты). Для создания скриншотов лучше пользоваться сторонней программой, умеющей захватывать изображение с экрана по нажатию клавиши на клавиатуре и сразу сохранять его в отдельную папку (я сам, например, пользуюсь Fraps).
3. Создание *pk3-архива.
Карта готова, скриншот к ней тоже. Пришла пора создать *pk3-архив, из которого игра будет читать ресурсы карты. Создаём *zip-архив и переименовываем его расширение в *pk3. Вот и весь «секрет»! Можно задать ему удобное имя и наполнить его файлами.

Примечание №4: я должен сделать несколько важных замечаний. Во первых, во избежание ошибок распознавания желательно писать имя архива английскими буквами без специальных символов и пробелов (цифры, дефис и нижнее подчёркивание писать можно). Во-вторых, у вас может не оказаться возможности читать *pk3-файлы как архивы, так что целесообразнее сначала наполнить архив, и только затем переименовывать расширение. В-третьих, у вас может не показываться расширение файла, тогда его нужно будет включить в настройках вида папки (через Панель Управления).

В *pk3-архиве файлы и папки организованы следующим образом:


В папке «levelshots» лежит файл скриншота, показываемого при загрузке, в папке «maps» – файл самой карты, а в папке «scripts» – *arena-файл, предназначенный для того, чтобы обеспечить отображение карты в меню выбора карт. Если с первыми файлами всё очевидно, то о третьем расскажу подробнее. На самом деле это обычный текстовый файл с изменённым расширением, этот файл можно открыть хоть Блокнотом. Открыв его, мы увидим примерно следующее (я показываю уже настроенный файл):


Каждая строка обозначает следующее:
map «имя карты» – название файла карты;
longname «имя карты» – название карты, которое показывается при загрузке (оно записывается именно тут);
fraglimit «число» – количество фрагов, необходимое для победы;
type «значения через пробел» – режимы игры, для которых доступна карта.

Режимы игры записываются следующим образом:
ffa – «все против всех»;
team – командный бой;
single – одиночная игра;
ctf – захват флага;
tourney – дуэль;
oneflag – «один флаг» (актуально для Team Arena);
harvester – «жнец» (актуально для Team Arena);
overload – «перегрузка» (актуально для Team Arena).

Примечание №5: прежде чем записывать какой-либо режим игры в файл, убедитесь, что всё необходимое для него (точки старта для игроков разных команд, флаги и т. п.) есть на самой карте, иначе она не сможет нормально запуститься.

В этом файле ещё может быть параметр bots «имена ботов через пробел», указывающий, какие боты на этой карте будут по умолчанию. Но моя тестовая карта на данном этапе не настроена для ботов, поэтому в *arena файле этой настройки нет. Ещё есть параметр capturelimit «число», указывающий количество очков для победы, но он актуален только для командных режимов игры.

Хинт №2: для задания имени карты, показываемого при загрузке необязательно писать его в *arena-файле. Можно в самом редакторе вызвать Entity Inspector и в свойствах worldspawn, выделив любой браш или все браши сразу, прописать ключ message и имя карты в качестве значения.


Вообще, структура правильно организованного *pk3-файла с картой совпадает со структурой файла «pak0.pk3». В частности, в архиве с картой могут быть и такие папки в дополнение к трём первым:
- «models» – модели в формате *md3, разложенные по отдельным папкам;
- «music» – фоновая музыка в формате *wav;
- «sound» – звуки, разложенные по отдельным папкам и имеющие формат *wav;
- «sprites» – спрайты (плоские изображения спецэффектов) в формате *jpg или *tga;
- «textures» – текстуры, расположенные в отдельных папках и имеющие формат *jpg или *tga.

Примечание №6: универсальный совет: если сомневаетесь, что и как должно быть расположено в архиве, откройте файл «pak0.pk3» и посмотрите, как он устроен, и всё сразу станет понятно.

И вот оформление подошло к концу. Рассортировав весь контент для карты, мы закончили подготовку. Итогом всего этого должен стать *pk3-архив с папками, где размещены все необходимые файлы. Теперь можно включить карту в самой игре и полноценно играть.
4. Заключение.
Мы научились делать самые простые вещи и оформлять карту для того, чтобы её можно было запускать из меню выбора карт. Настала пора идти дальше. Вы же хотите узнать, как делаются всякие крутые штуки: колонны и арки, небо, «прыгалки», телепорты и т. п.? Вот этим мы и займёмся в следующих частях.

https://steamcommunity.com/sharedfiles/filedetails/?id=1509495793