Введение

Quake Army Knife (или QuArK) — бесплатная программа с открытым исходным кодом для создания 3D-моделей и других ресурсов для широкого спектра шутеров от первого лица, например, для видеоигр, использующих движки Quake от id Software или Torque.

Обзор

QuArK распространяется под лицензией GNU General Public License. Также возможно перемещать или изменять динамические игровые объекты без необходимости перекомпиляции всей карты, что ускоряет тонкую настройку деталей. QuArK использует внешние компиляторы (например, Q3Map2) для создания финального файла уровня, используемого игрой. Эти компиляторы можно полностью настроить, используя параметры командной строки, и после этого QuArK запоминает эти настройки для последующего использования. Интерфейс основан на VCL и включает множество всплывающих подсказок и других форм внутрипрограммной документации. Он также предлагает различные варианты расположения редактора, включая 2D-каркасное и 3D-текстурированное отображение, позволяющие увидеть, как карта или модель будет выглядеть в игре. Этот вид можно отобразить с помощью встроенного программного рендерера, Glide, OpenGL или Direct3D. Виды имеют три режима: каркасный, сплошной цвет и текстурированный, и поддерживают прозрачность и освещение в режиме OpenGL. Можно добавлять плагины, написанные на Python, для расширения функциональности редактора, или вносить изменения в официальные Python-файлы, чтобы изменить работу функций QuArK. Более подробную информацию можно найти в Инфобазе QuArK. Сам QuArK предъявляет очень низкие системные требования, хотя загруженные игровые данные могут занимать значительные дополнительные ресурсы. Объём этих ресурсов зависит от выбранного режима игры, а также от размера и сложности редактируемой карты или модели. QuArK поддерживает платформу Win32, включая Windows 95, 98, ME, NT 4, 2000 и XP. Он также работает на 64-битных операционных системах (в 32-битном режиме), Windows Vista и более новых версиях, а также может работать на платформах Unix с использованием слоя совместимости Wine.

Процесс составления карты

В QuArK для создания карты можно использовать различные типы объектов, основным строительным элементом которых является кисть. Кисти могут быть примитивными формами (такими как кубы, сферы и конусы), предопределенными формами (например, лестницы) или пользовательскими формами (например, призмы и другие многогранники). В процессе этого кисти преобразуются в сетки, которые могут быть отрисованы игровым движком. Часто использование кистей ограничивается только выпуклыми формами, поскольку это снижает сложность процесса разделения пространства на бинарные области. Однако, с помощью операций CSG можно создавать сложные комнаты и объекты, добавляя, вычитая и пересекая кисти друг с другом. Кроме того, кисти могут использоваться для создания жидкостей или в качестве зон активации. Для облегчения работы доступны более продвинутые функции, включая инструменты конструктивной твердотельной геометрии, такие как вычитание кистей. Также, для движков, которые это поддерживают, можно использовать поверхности Безье для создания криволинейных поверхностей. В QuArK также встроен инструмент поиска утечек, предотвращающий появление отверстий в карте. Элементы можно добавлять на карту, просто выбирая их из списка доступных сущностей, а их свойства можно редактировать после размещения на карте.

Использование и популярность

QuArK — один из трех наиболее известных редакторов уровней для Quake, наряду с Radiant и Worldcraft. QuArK — один из двух самых популярных редакторов для Quake II, GtkRadiant — другой. QuArK — самый популярный инструмент для работы с файлами WAD. QuArK, вероятно, является вторым по популярности инструментом для создания уровней для Half-Life, после официального Valve Hammer Editor. QuArK также используется как инструмент для построения карт в научных исследованиях.

История

QuArK начинался как программа Delphi под названием "Quakemap", написанная Армином Риго в 1996 году. Первоначально она могла редактировать только карты для Quake, но возможности редактирования для QuakeC, звуков и скомпилированных карт были добавлены в версии 2, которая была выпущена в октябре 1996 года. В 1997 году был проведен конкурс по переименованию программного обеспечения, и QuArK, что означает "Quake Army Knife" (многофункциональный инструмент для Quake), был выбран. Название дано в честь серии игровых движков Quake и швейцарского армейского ножа, поскольку программа могла не только редактировать карты, но и включала редактор моделей и браузер текстур. Версия 3.0 стала первым релизом под этим названием. QuArK вскоре расширил поддержку, включив Hexen II с версией 4.0, а Quake II – вскоре после этого. С выпуском версии 5.0 в 1998 году была добавлена поддержка Python для создания плагинов. Последней стабильной версией QuArK была 6.3, выпущенная в январе 2003 года. Однако с тех пор было выпущено множество новых альфа- и бета-версий с множеством новых функций и поддержкой многих новых игр. Краткий (и неполный) обзор основных релизов после 6.3:

Версия | Дата последнего выпуска | Наиболее заметные изменения
------- | -------- | --------
6.4.1 Alpha | Сентябрь 2003 | Поддержка Doom 3 и Half-Life 2.
6.5.0 Alpha | Июль 2006 | Возможность отображения материалов HL2. <br/> Исправлена зависимость от световых объектов для работы прозрачности OpenGL. <br/> Добавлены быстрые создатели объектов для быстрого создания простых геометрических фигур. <br/> Поддержка Quake 4.
6.5.0 Beta | Декабрь 2007 | OpenGL-рендеринг доступен во всех окнах редактора. <br/> Устранены проблемы с зависанием и размытием в режимах Software и Glide. <br/> Поддержка освещения и прозрачности OpenGL. <br/> Исправлено множество утечек памяти. <br/> Добавлен QuArKSAS. <br/> Первоначальная поддержка Star Trek: Elite Force II. <br/> Возможность сохранения моделей md3.
6.6.0 Beta | Май 2021 | Поддержка Call of Duty 2, Team Fortress 2, Heavy Metal: F.A.K.K.², Prey, Nexuiz, Warsow, Portal и American McGee's Alice. <br/> Значительные улучшения поддержки Star Trek: Elite Force II. <br/> Возможность загрузки и сохранения моделей ase, stl, md5, моделей Half-Life 1 и Medal of Honor: Allied Assault, а также загрузки gr2.

Порты

Были планы создать версию QuArK на C++, использующую существующие файлы Python, портировать программу на macOS и Linux, а также полностью переписать QuArK на C++ и Python, но разработка всех этих проектов была остановлена.