» Software Development Kit
(OFF) stohe (B) 4 апр 2014

SDK Far Cry

Вступление.

Far Cry создавался в расчете на возможность редактирования в реальном времени и может быть легко модифицирован конечным пользователем. Этот документ дает поверхностный обзор неограниченных возможностей редактирования, которые предлагает Far Cry.

Замечания.
- Этот документ НЕ является руководством или уроком программирования или моделирования: предполагается, что вы уже знакомы с базовыми концепциями той части игры, которую хотите редактировать. Ни настоящий, ни будущие релизы наборов для разработки приложений (SDK) Far Cry не включают коммерческих инструментов разработки. Инструменты, исходный код и документы, входящие в состав SDK, созданы компанией Crytek и являются ее собственностью. Для получения более полной информации см. текст Лицензионного Соглашения.

- Редактор уровней Critec Sandbox не локализуется. Получить информацию о том, как создавать модификации игры с помощью редактора, вы можете из Руководства.

- Желающие играть в созданные модификации могут осуществить свои самые смелые мечты по ссылке Модификации из главного меню игры.

Напоминаем, что редактор не локализуется. Просим извинения за неудобства, которые это может вызвать.
Относящаяся к редактору фраза "This is the normal Far Cry game. Load this in case you got another mod loaded, and you want to switch back to normal Far Cry." означает "Это основная модификация Far Cry. Загрузите ее, чтобы вернуться к основной игре в том случае, если у вас выставлена иная модификация."
А в остальном - да поможет вам Far Cry!


Что включает в себя SDK.

- Корневая директория:
* Лицензия SDK.
* Этот документ.
- Docs:
* Содержит документацию по Lua, физике, шейдерам, Искусственному Интеллекту, локализации, персонажам и средствам передвижения.
- Multiplayer:
Документация по Сетевой Игре.
- Sandbox Documents:
Расширенная документация по редактору Sandbox.
- Sources:
- Animations:
Примеры анимации.
- ccgDump/cfgDump :
Исходники формата файла Crytek для анимированных и статических объектов на С++.
- Objects:
Примеры объектов, созданные в 3ds Max®.
- ResourceCompilerPC:
Исходники на С++ для создания прекомпилированных анимированных объектов. Полезно, чтобы узнать больше о файловых форматах и анимированных моделях.
- Scripts:
Исходники всех Lua скриптов(в текстовом формате), выпущенных вместе с оригинальной версией Far Cry.
- Tools:
* Командные файлы для FarCry DEVMODE и PackerForDistrib.
- Bin32:
32-битные бинарники инструментария.
- CryExporter:
Плагин экспорта из 3dsMax® и его документация.
- DDSPlugin:
Исходники Nvidia® DDS плагина и его документация.
- LypSinch Tool:
Бинарники инструментария LipSync (синхронизация движения губ персонажа с фразами) и его документация.
- PolybumpPlugin:
Polybump плагин и его документация.


Глава 1.
Базовая часть.
Здесь вы научитесь основам моддинга для Far Cry.

Режим Разработчика.
Far Cry имеет два режима функционирования: DEVMODE (Режим Разработчика) и не DEVMODE (обычный режим). Чтобы запустить игру в Режиме Разработчика, создайте ярлык или командный файл для запуска FarCry.exe с параметром -DEVMODE. В Режиме Разработчика включены все "жульнические приемы"; порядок файловых операций отличен от нормального для облегчения создания и тестирования нового игрового содержания (уровни, скрипты и т.д.). Однако, вы не сможете играть через Интернет в этом режиме, плюс, помните, что остальные пользователи будут использовать вашу модификацию в нормальном режиме, так что вы должны удостовериться в том, что ваша модификация работает и в нормальном режиме. Еще одно важное отличие состоит в том, что при запуске игры в Режиме Разработчика или запуске редактора будет исполняться файл DEVMODE.lua. Он содержит много дополнительных команд и вещей, которые мы использовали при создании игры. Надеемся, они будут полезны и вам при создании модификации.

Pak файлы.
Информация и скрипты содержатся в .pak файлах. Эти файлы являются обычными zip архивами, которые могут быть открыты любым совместимым архиватором. Они хранятся в папке FCData. Это:
- Scripts.pak: содержит все .lua скрипты, использованные в Far Cry. Это простые текстовые файлы, которые можно изменять любым текстовым редактором. Для получения более полной информации обращайтесь к разделу Руководство по Lua в документации.
- Shaders.pak: содержит все шейдеры (пиксельно-вершинные подпрограммы), использованные в Far Cry. Обращайтесь к соответствующему разделу документации.
- CCGF_Cache.pak: содержит прекомпилированную анимацию. Обращайтесь к ccgDump, исходникам ResourceCompiler'а и соответствующим разделам документации.
- Effects.pak: содержит бинарники для эффектов, созданных с помощью систем частиц. Обращайтесь к документации Sandbox, чтобы научиться создавать и использовать такие эффекты в редакторе.
- Music.pak: содержит музыкальную палитру в форматах .wav и .ogg, использованную для проигрывания динамической музыки. Читайте раздел музыкальной документации Sandbox, чтобы узнать, как редактировать и добавлять новые музыкальные наборы.
- Objects.pak: содержит все объекты и персонажей, использованных в Far Cry. Обращайтесь к соответствующей документации.
- Sounds.pak: содержит все звуки из Far Cry в .wav формате. Читайте документацию Sandbox, чтобы узнать, как размещать звуковые точки, звуковые области и т.д.
- Textures.pak: содержит все текстуры из Far Cry, в основном, в .DDS формате. Читайте соответствующие материалы по DDS формату.

Доступ к информации Движка.
При запуске игры все .pak файлы открываются. Все их содержимое отправляется в виртуальную файловую систему движка в соответствии с внутренней структурой этих файлов. Когда игра пытается загрузить файл, она реагирует по-разному в зависимости от режима функционирования. При работе в нормальном режиме файлы внутри pak'ов загружаются первыми; в режиме разработчика первыми загружаются файлы вне pak'ов. Преимущество режима разработчика состоит в том, что вы можете тестировать свою модификацию, не создавая себе трудностей с pak файлами до того момента, когда вы будете собирать финальный релиз. К примеру, вы решили изменить текстуру компаса, заменив ее на синюю, для, скажем, модификации про субмарины. Первым вашим шагом должно стать создание поддиректории в папке Mods, например, "Mods\Submarine". Если вы посмотрите в текстурный pak, то увидите, что текстура компаса находится в файле "Textures\Hud\compass.dds"; теперь просто извлеките его в корневую директорию мода. Если вы измените его и запустите игру в нормальном режиме, то не заметите никаких отличий, потому что текстура грузится из pak файла. Если вы запустите игру в режиме разработчика, то увидите, что ваша текстура заменила оригинальную, т.к. она грузилась извне pak'а. Если вы уберете свою текстуру, то она заменится оригинальной, даже если вы работаете в режиме разработчика, потому что игра, не найдя вашего файла, будет использовать оригинальный.

Основы модификаций.
Для чистоты и облегчения упаковки, вместо того, чтобы класть файлы в корневую директорию, вам следует переместить их в папку вашей модификации. Для упоминавшегося файла путь будет примерно следующим - "Mods\Submarine\Textures\Hud\compass.dds". Если вы играете с использованием этой модификации, то игра станет рассматривать папку "Mods\Submarine" как корневую и будет сначала искать файлы там, потом в корне игры, если используется режим разработчика, и в последнюю очередь в pak файле. Чтобы запустить модификацию, вы можете выбрать ее из списка модификаций в главном меню игры или запустить игру с соответствующим параметром. Если вы выбрали модификацию из меню, то игра перезагрузит всю имеющуюся информацию и заменит ее на соответствующую из вашей модификации. Параметры командной строки, если вы не пошли предыдущим путем, выглядят так:
"-MOD:Submarine".

Файл журнала и приоритет.
Сообщения, появляющиеся в консоли и файле журнала, имеют разный приоритет. Игре можно сообщить, чтобы она выводила туда только ограниченный объем информации. Во время тестирования модификации часто необходимо проверять наличие сообщений об ошибках и предупреждениях, чтобы быть уверенным в том, что вы не делаете ошибок в модификации. Главные файлы, в которые стоит смотреть - это log.txt и editor.log, они создаются при запуске игры или редактора. Консольная команда, определяющая уровень приоритета, называется "log_verbosity" и имеет диапазон от 0 до 8, где 0 – запрет на отображение сообщений, а 8 – отправка всех сообщений в консоль/файл журнала. По умолчанию стоит значение 0.

Глава 2.
Создание новых уровней и игрового содержания.
Ниже описано все, что вам нужно знать для создания новых модификаций.

Возможно, первой и простейшей вещью, с которой вы захотите поэкспериментировать, будет создание новых уровней без нового содержания и скриптов. Все, что вам потребуется - это редактор Sandbox и существующие скрипты и игровая информация. Чтобы научится создавать, изменять и экспортировать уровни, обратитесь к документации редактора. Отметим только, что в этом случае, поскольку вы не изменяете имеющееся содержание pak файлов, вашим уровням не нужны будут собственные файлы, и вы можете сохранять их прямо в папке "Levels". Они также будут оставаться вне главного pak'а при последующем распространении. Для получения большей информации читайте "Главу 4: Подготовка модификации к распространению". Вызвав консоль и введя "\map имя_уровня", вы можете загрузить любой уровень. При распространении модификации, чтобы уменьшить размер дистрибутива, вам не нужно включать .cry файлы, т.к. они содержат информацию редактора и не являются необходимыми. Игре нужна только экспортированная информация. Однако, право решать, оставлять эти файлы или нет, остается за вами. Мы решили оставить все исходники уровней, чтобы вы могли посмотреть, как они делались.

Создание новых текстур/материалов и объектов/персонажей.
Чтобы сделать новый объект для вашего уровня, вам будет нужна программа типа Photoshop® для создания и изменения текстур, а также программа типа 3dsMax® для создания объектов. Объекты могут быть экспортированы в формат CGF с помощью плагина Cry Exporter (см. соответствующую документацию). Текстуры желательно экспортировать в формат DDS (см. DDS плагин). Отметьте, что вы можете добавлять новые материалы к объектам в редакторе в реальном времени, без создания новых объектов. Для создания новых персонажей и анимации требуется программа типа 3dsMax® (см. примеры). Документация Cry Exporter и его исходники предоставляют детальную информацию о формате CGF на тот случай, если вы решите писать экспортер для другой программы.

Звуки и музыка.
Любой музыкальный редактор, способный экспортировать форматы .wav и .ogg, может быть использован для создания звуков для Far Cry. Отметьте, что, хотя в музыкальном pak'е находятся файлы и .wav, и .ogg, .ogg используется только при условии, что для настроек музыки выставлено высокое качество. Если игра не находит .ogg файл, то будет искать соответствующий .wav; помните об этом, когда будете заменять стандартные наборы. Новые звуки добавляются в уровни посредством редактора Sandbox (см. соответствующую документацию).

Глава 3.
Создание скриптов.
Самый мощный аспект модифицирования Far Cry - это Lua скрипты.

Возможно, самый гибкий путь полного изменения геймплея и игровой логики Far Cry состоит в использовании скриптов. Скриптовая система Far Cry использует lua скрипты (www.lua.org); пожалуйста, ознакомьтесь с руководством по Lua самостоятельно, в задачи настоящего документа это не входит.
Навигация (1/2): далее >

Комментарии (0)

Показать комментарий
Скрыть комментарий
Для добавления комментариев необходимо авторизоваться
» Software Development Kit
Битва танков
Управляй многотонной боевой машиной, участвуй...
Тема: Светлая | Тёмная
Версия: Mobile | Lite | Touch | Доступно в Google Play