X-Ray SDK 0.7 Software Development Kit для движка X-Ray 1.6 (S.T.A.L.K.E.R.: Call of Pripyat). Полная версия. Позволяет работать с модификациями любой сложности, вплоть до тотальных конверсий с полностью новым содержимым. Ниже приведены основные изменения по сравнению с предыдущими версиями SDK.
--------------------------------------------
1. Состав
В отличие от SDK 0.5 (ЧН), предназначенного исключительно для работы с мультиплеерными уровнями и содержавшего лишь LevelEditor с основными компиляторами, SDK 0.7 содержит полный набор инструментов последних версий:
- ActorEditor
- LevelEditor
- ParticleEditor
- ShaderEditor
- Postprocess
- DialogEditor
- ScriptDebugger
А также компиляторов:
- xrAI
- xrDO
- xrLC (+ coordinator + agent)
--------------------------------------------
2. Изменения в компиляторах
--------------------------------------------
2.1. Общие изменения
В компиляторах новой версии улучшена поддержка многопоточной работы на многоядерных процессорах, и они используют до 4гб памяти (для сравнения: компиляторы ЧН хоть и поддерживали 4 ядра, но в них еще не была реализована адресация памяти, а в ТЧ и вовсе использовался только один поток).
Скорость компиляции при полной нагрузке, соответственно, может вырасти до двух раз по сравнению с ЧН.
Также стоит заметить, что именно невозможность адресации компилятором более, чем 2гб RAM, была причиной ряда ограничений, с которыми сталкивались разработчики модов:
на максимальный размер ai-сетки (и, следовательно, размер играбельной площади уровня)
и на максимальное количество вершин, - причем в ситуациях, когда сама игра бы вполне выдержала уровень.
Разумеется, это не означает, что стоит пробовать делать уровни в 5х5км или 20 миллионов полигонов, но ситуаций, когда движок может работать с уровнем, а компилятор - не в состоянии его собрать из-за ошибок переполнения памяти, - происходить уже не должно.
Нельзя не упомянуть о реализации для всех редакторов SDK поддержки Windows Vista и Windows 7.
--------------------------------------------
2.2. Сетевая компиляция
Важное нововведение - возможность компиляции уровня на нескольких компьютерах одновременно.
Выполняется она с помощью xrLC и дополнительных приложений. Один компьютер выполняет роль "координатора", остальные, "агенты", работают с определенными им задачами.
Для простоты работы к SDK приложены уже настроенные исполняемые файлы, с которыми достаточно лишь указать имя уровня и IP координирующего компьютера.
Смысл использования такой компиляции понятен - она позволяет собирать сложные уровни с очень высокими установками качества за куда меньшее время, чем на одном пк. Разумеется, со времен xrLC ТЧ, у которого уходило до недели чистого времени на сборку крупного уровня в высоком качестве, скорость работы компилятора возросла до четырех раз, но время компиляции всё равно не назовешь быстрым.
--------------------------------------------
3. Изменения в приложениях
--------------------------------------------
3.1. Общие изменения
Совершенно кардинальных изменений нет - движок создан не вчера, и большинство инструментов подходит для работы в неизменном виде уже который год. Главным является то, что все инструменты присутствуют в полном объеме, и совместимы с последними версиями форматов, используемых в X-Ray 1.6 (ЗП).
Отличия, о которых стоит упомянуть отдельно, могут быть приведены как по сравнению с SDK 0.5 (ЧН), так и с SDK 0.4 (ТЧ), так как в SDK ЧН целый ряд инструментов отсутствовал.
--------------------------------------------
3.2. LevelEditor
Доработан инструмент Move: теперь необязательно переключаться нужную ось для перемещения объекта: на объекте отображаются контроллеры, за которые достаточно просто потянуть курсором.
Появилась отсутствовавшая в SDK ЧН возможность использования spawn element классов:
- actor
- camp
- smart_terrain
- smart_cover
… и им подобных
Таким образом, в SDK появилась возможность работы со смарткаверами (которые хоть и появились впервые в ЧН, но в его SDK были недоступны) в частности и уровнями для одиночной игры в целом (имевшаяся в LE ЧН, но достаточно ограниченная).
Убран ряд устаревших классов spawn element, добавлены задействованные в ЗП классы.
Появился инструмент Simulate / UseSimulatePositions, предназначенный для проверки физики прямо в редакторе.
Для ряда классов spawn element отображаются вспомогательные модели, упрощающие работу в ситуациях, когда в сцене много объектов.
Небольшие изменения перечислять нет особого смысла. Так или иначе, LevelEditor содержит все необходимые для работы с любым уровнем инструменты.
--------------------------------------------
3.3. Postprocess
Приложение для создания и редактирования файлов .ppe (постпроцесс-эффектов). Достаточно просто в освоении: семь классов эффектов, ряд параметров в каждом, возможность строить последовательности и другие возможности.
Отсутствовало как в SDK ТЧ, так и в SDK ЧН.
--------------------------------------------
3.4. DialogEditor
Приложение для редактирования диалогов игры в формате .xml с поддержкой условий и проверок:
has_info, dont_has_info, give_info, disable_info, precondition, action.
--------------------------------------------
3.5 ScriptDebugger
Отладка Lua скриптов, проверка синтаксиса и их валидности, поддерживает работу с Source Control Center.
--------------------------------------------
4. Совместимость
Формат уровней (за исключением данных, относящихся к xrAI), практически не менялся, поэтому результаты работы xrLC могут быть использованы и в ЧН. Разумеется, это относится только к мультиплеерным картам либо использованию геометрии.
Таким образом, если вы хотите использовать SDK 0.7 для компиляции одиночного уровня к ЧН (скажем, из-за скорости работы xrLC), то это возможно, - но, соответственно, только с xrAI от ЧН.
Файлы, собранные xrDO, совместимы как с ЗП, так и с ЧН и ТЧ. Файлы .thm совместимы со всеми версиями игры вплоть до ТЧ 1.0004.
Формат скелетных объектов .ogf в ЗП и ЧН одинаков, - результаты работы в ActorEditor можно использовать в обеих играх.
--------------------------------------------
5. Благодарности
Благодарим всех поклонников S.T.A.L.K.E.R.-a за интерес к нашей игре.
Особая благодарность модмейкерам loxotron и bac9-flcl за помощь в сборке этого SDK.