Ноябрь 21 2017 00:59:15
Навигация
Анекдот
Учительница по математике отчитывает первоклашку:
- Да... Чуров... Такой ужасной домашней работы я в жизни не видела...
Что? Опять папа помогал?

DSI 11.01.12

Просмотреть все »
Случайное с баша
Сервер FarCry 1.4

Адрес: farcry.su
Игроков: 0
Карта: mp_to_minetrip
Тип игры: Assault
Время игры: 30 мин.
Режим сервера: LAN
Провайдер: SUMTEL
TeamSpeak2 farcry.su
TeamSpeak farcry.su
Welcome
FarCry
Красные
Синие
Admin Channel
FarCry 3
Болталка
Кто здесь
Иерархия статей
Статьи » Сервер » Создание модов игры
Создание модов игры

Вступление.

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 самостоятельно, в задачи настоящего документа это не входит. Также прочитайте документацию редактора Sandbox, которая включает хороший раздел о скриптинге и создании чего-либо нового при помощи редактора.
Подсказка: убедитесь, что для log_verbosity выставлено значение 8, когда работаете над модификацией.
Большая часть игры определяется через скрипты, которые дают гибкость настоящего языка программирования, однако работать с ними проще, чем с С++, они не требуют компиляции и сложной среды разработки, любой текстовый редактор подойдет. Вдобавок, в редакторе Sandbox можно изменять и перезагружать скрипты в реальном времени. В случае появления ошибок в скриптах вы узнаете об этом из файла журнала и консоли. Вы также можете проверить ошибки Lua, встроив компилятор Lua в текстовый редактор типа UltraEdit®. Ошибки в скриптах могут вызвать появление непредвиденных вещей и замедлить игру или загрузку уровней.
Вот шаги для интегрирования компилятора Lua в UltraEdit®:
- Зайдите в advanced -> tool configuration
- Command line: luacompiler %F (убедитесь, что luacompiler.exe есть в вашей  папке  с FarCry)
- Working directory: (директория с игрой, к примеру, c:\games\FarCry)
- Menu name: Lua Compiler
- Выставьте "output to list box" и "capture output"
- Теперь нажмите insert, затем OK
- При желании включите view -> display line numbers
Теперь вы можете использовать новый элемент меню "advanced" или его быструю клавишу, чтобы проверить ваш скрипт. Если никаких сообщений нет, значит, вы можете запустить игру, не опасаясь непредвиденных результатов. Если сообщения появятся, то они укажут на строки с ошибками. Игра также включает визуальный Lua дебаггер, который выключен по умолчанию. Чтобы включить его, добавьте в system.cfg строку:
sys_script_debugger = "1"
Если дебаггер включен, он будет появляться при каждой ошибке скрипта; вы также можете вызвать его в любой момент клавишей "F8". На данный момент в Сети должны быть доступны для свободного скачивания также Lua IDE (интегрированные среды разработки) и Lua дебаггеры. Пожалуйста, отметьте, что, хотя компилятор укажет на синтаксические ошибки, вы не избавлены от возможности совершения ошибок логических, которые не исправляются им. Вот почему важно просматривать игровые сообщения. Скрипты не обязательно компилировать вручную, игра и редактор позволяют получить результат "на лету". Хотя вы можете распространять скрипты в прекомпилированном виде, мы настоятельно не рекомендуем вам делать это, чтобы остальные смогли чему-нибудь научиться из них. Мы решили оставить все скрипты в текстовом формате, открытыми для игрового сообщества. Продолжая пример с субмариной, мы модифицируем скрипт. Давайте сделаем игру "Один Выстрел - Один Труп". Для этого нам потребуется извлечь и изменить скрипт "Scripts\Default\GameRules.lua" (это для одиночной игры, для сетевой папки будут соответственно Штурм, FFA и TDM). Найдите функцию “function  GameRules:OnDamage( hit )”. Перед ней добавьте строку:
“hit.damage=99999;”
Такого урона не выдержит ни один объект, и его жизнь немедленно оборвется. Сделайте все эти операции в папке с модификацией. Теперь запустите игру и вашу модификацию. Вы сможете убивать или будете убиты с одного попадания. Возможно, вы решите модифицировать и доступное снаряжение, вооружив всех только пистолетами с несколькими патронами - обратитесь к документации редактора, чтобы узнать, как это сделать.

ModExe.lua
У вас есть возможность выполнить Lua скрипт при загрузке модификации, чтобы проиграть сценку, переназначить клавиши, загрузить уровень и многое другое. Чтобы это сделать, просто добавьте файл ModExe.lua в корневую директорию вашей модификации и внесите в него инициализацию.

Глава 4.
Подготовка модификации для распространения.
После создания модификации поделитесь ею с остальным миром.

Ваш крутейший мод готов предстать во всей красе перед другими игроками в Far Cry. Вы должны сделать его установку как можно более простой: лучше всего будет сделать инсталлятор; если вы не способны на это, то, по крайней мере, сделайте zip архив, который пользователь распакует в папку с модификациями. Как упоминалось ранее, для корректной игры должен быть создан pak файл. Существует командный файл, автоматизирующий этот процесс: PackerForDistrib.bat, в папке "Tools". В основном, все, кроме папки "Levels", идет в pak. Вы должны поместить этот файл в папку "Mods" в директории с игрой. Запустите командный файл с именем модификации в качестве параметра, чтобы создать соответствующий pak, например, “PackerFordistrib Submarine”. Чтобы создать pak, он будет искать PKZIP® 2.5, который доступен бесплатно на сайте pkWare®, но вы можете сделать pak и сами при помощи любого архиватора, сохраняющего zip. Командный файл создаст поддиректорию в папке "Mods", в которой будет лежать дистрибутив модификации. Неплохо было бы теперь запустить игру в нормальном режиме и посмотреть, доступна ли ваша модификация в меню "Модификации". Если все хорошо, то содержимое той поддиректории является тем самым, для чего вы создаете инсталлятор или zip архив и распространяете. Также туда можно добавить дополнительную информацию о вашей модификации и картинку. Добавление файла ModDesc.txt сделает это. Игра ищет ключевые слова и выводит их в меню "Модификации". Значение ключа должно быть заключено в “кавычки”.
Вот некоторые ключи:
_Title_:  заголовок модификации. Пример: _Title_= “ZeitGeistMod”
_Author_: ваше имя или название команды разработчиков. Пример: _Author_ =  “ZeitGeist”
_Version_: версия модификации. Пример: _Version_ = “1.0.0.0”
_Website_: сайт модификации. Пример: _Website_ = “www.Buka.ru\ZeitGeistFarCryMegaMod”
_Description_: описание модификации. Здесь могла быть ваша реклама. В этом поле будет создана полоса прокрутки, если текст не помещается в видимую область.
Любой остальной текст игнорируется, так что вы можете добавлять свои комментарии. Картинка должна быть в формате DDS, размером 256*256. Она должна лежать в корневой папке модификации вместе с файлами ModDesc.txt и ModExe.lua и называться ModPreview.dds. После выполнения всех этих действий вы будете готовы к сборке Финального Дистрибутива и размещению его на просторах Сети. Теперь его смогут скачать все желающие. Проверяйте официальный и неофициальные сайты Far Cry для получения дополнительной информации и обновлений. Удостоверьтесь, что все шаги завершены корректно, а тестирование не выявило ошибок, прежде чем выкладывать модификацию; иначе у других игроков могут возникнуть технические проблемы, и они не насладятся вашим творением в полной мере. 

оригинал документа взят из папки SUPPORT  в директории с установленной игрой.

Комментарии
Нет комментариев.
Добавить комментарий
Пожалуйста, авторизуйтесь для добавления комментария.
Рейтинги
Нет данных для оценки.

Рейтинг доступен только для пользователей.

Пожалуйста, авторизуйтесь для голосования.


Общая панель
Добро пожаловать, посетитель!





Не могу войти

Мини-чат
Только пользователи могут отправлять сообщения.

[off] 21-05-2017 19:09
Улыбчивый

[off] 28-03-2017 00:16
Спасибо пацаны !!! Усмехающийся

[off] 25-03-2017 21:15
С Днюхой Саня vinsent

[off] 25-03-2017 00:40
С Днюхой Саня и кучной стрельбы! vinsent

[off] 05-03-2017 15:24
всем привет ! Нас приглашают по участвовать в турнире , турнир состоится в апреле , вся инфа на сайте клана RnT Шок

[off] 27-02-2017 19:10
С прошедшим праздником, бойцы! drinks

[off] 23-02-2017 13:05
всех праздником 23 феврвля comando

[off] 23-02-2017 00:52
С 23 парни! vinsent

[off] 13-01-2017 22:03
В сех со старым Н coolовым Годом

[off] 02-01-2017 19:16

Счетчики

Яндекс.Метрика