Теория модостроения

Материал из Mod Wiki.

(Различия между версиями)
Перейти к: навигация, поиск
Версия 21:31, 8 июня 2007 (править)
Empro (Обсуждение | вклад)

← К предыдущему изменению
Версия 21:35, 8 июня 2007 (править) (отменить)
Empro (Обсуждение | вклад)

К следующему изменению →
Строка 1: Строка 1:
 +Выход долгожданной игры ознаменовался скандалами и возмущением общественности большим количеством убранного из игры.
 +На фоне вырезанного контента, огромного количества несоответствий игры обещаниям разработчиков стали формироваться моддерские команды.
 +К счастью, разработчики оставили возможность спокойного моддинга. Благодаря распаковщику игровых архивов мы получили полный доступ к ресурсам игры. Сверх того, разработчики оставили в финальном билде 2947 (и билдах после него) высший приоритет распакованной папки gamedata.
 +Итак, что же мы имеем?
 +Мультимедийный контент.
 +Звуки, видео и текстуры.
 +Звуки в игре записаны в формате ogg. Хочу заметить, что OGG Vorbis является признанным игровым форматом звука.
 +Проблем со звуком вообщем-то не возникает. Если Вы пользуетесь редактором звука, который не поддерживает OGG Vorbis, для Вас существует множество платных и бесплатных конвертеров.
 +Видео в игре также в формат Vorbis, расширения видео файлов - OGM. Для просмотра видео рекомендую Media Player Classic и CCCP Codec Pack ( http://cccp-project.net/ ).
 +Текстуры в игре имеют формат DDS (Direct Draw Surface). Для их редактирования рекомендую Adobe Photoshop CS 8.0 и NVidia Developer's Photoshop DDS Plugins ( http://developer.nvidia.com/object/photosh...ds_plugins.html ).
 +При этом учтите следующее:
 +- Вы конечно можете использовать сторонние конверторы. К таким относится Lister Total Commander'а, который умеет сохранять и просматривать DDS текстуры в других форматах.
 +Речь идёт о расширенной сборке Total Commander'a (платный файловый менеджер Кристиана Гислера) версии 6.55. Приобрести можно по адресу http://www.ghisler.com/ .
 +- Также Вы можете воспользоваться специальными DDS конвертером.
 +Но при этом после конвертации может исчезнуть прозрачность! А это очень важно в игре...
 +Поэтому настоятельно рекомендую использовать Photoshop CS 8.0 с плагинами.
 +Внимание! При сохранении не забудьте отметить пункт "Alpha Channels" и в открывшемся окне (после нажатия на кнопку "Сохранить"), выберите режим "DXT5 ARGB 8 bpp | interpolated alpha".
 +Также, в папке с игрой есть дополнительные текстуры с допиской в конце имени файла "bump". Бампы текстур используются для придание модели некоторой объёмности, которую ещё называют "псевдорельефностью".
 +Бампы текстур используются только при игре на втором рендере.
 +Следующий немаловажный компонент игры - OGF модели.
 +Модели расположены в папке meshes. Они содержат в себе информацию о материале, анимации и саму модель предмета.
 +Изменить текстуру модели реально при помощи WinHEX - путь к текстуре в первых строчках файла.
 +Для просмотра моделей незаменимой утилитой является OGF Viewer ( http://www.g3ddev.com/ ) от общепризнанного специалиста batya.
 +На текущий момент возможен только просмотр и конвертирование моделей в формат obj.
 +При использовании OGF Viewer необходимо задать путь к текстурам в конфигурационном файле, который лежит в папке с программой.
 +Следующим компонентом игры являются игровые уровни. Уровни можно разделить на МП уровни и уровни сингла.
 +МП уровни отличаются от уровней сингловой игры отсутствием либо разной структурой и содержанием файлов уровня. К примеру, на мультиплеерных уровнях отсутствует сетка ИИ.
 +Перед релизом бета-версии SDK (Software Development Kit от GSC Game World) я несколько недель тестировал его и сделал несколько печальных выводов.
 +Во-первых, при помощи SDK невозможно не только редактировать, но и даже просматривать уже откомпилированные уровни.
 +Дело в том, что SDK требует исходников уровней. К тому же, пора прекращать мечтать о SDK и выкрикивать: "Дайте мне СДК я вам новое оружие сделаю и движок поменяю!!!".
 +SDK - всего лишь маппер для мультиплеера. Возможно, будет маппер и для сингловой версии игры, но исходников уровней от GSC Game World даже и ждать не стоит.
 +Уровни из сингловой версии игры можно портировать под мультиплеер.
 +Алгоритм действий:
 +скопировать содержание папки уровня в новую папку с именем типа mp_yantar.
 +Удалить файлы level.game, level.ai, level.som. Скопировать level.game из любой мультиплеерной карты и вставить в переделываемую карту.
 +Открыть конфигурационный файл config\mp\maplist.ltx и добавить карту в список.
 +Скрипты.
 +В игре широко используются скрипты. Многие из них - тестовые и являют собой мусор, но никогда нельзя точно знать, где используется скрипт.
 +В скриптах используется язык LUA. Язык не очень сложный, с помощью него можно многое делать, в том числе и спаунить (от англ. "spawn" - размещать на карте) объекты.
 +К тому же, скрипты можно вызывать в spawn-файле, о нём подробнее.
 +Другая, немаловажная часть игры - конфигурационные файлы. Открываются обычным "Блокнотом", представлют собой набор параметров и их значений.
 +Про них подробнее. В игре существуют конфигурационные файлы существ, мультиплеера, погоды, оружия, объектов, геймплея, моделей, конфигурационные скрипты и конфигурация интерфейса.
 +Также существует множество других конфигурационных файлов.
 +О некоторых из них подробнее.
 +Конфигурации существ - одним из самых важных конфигурационных файлов является actor.ltx. В нём заданы параметры актора - главного героя игры.
 +На его примере рассмотрим структуру конфигурационного файла.
 +[actor] - пример entity. Конфигурацию актора вызывают при помощи названия entity. В данном случае - actor.
 +В других конфигурационных файлах мы можем найти пример ссылки на entity. Например:
 +[burer_arena]:m_burer_e
 +В данном случае существо "burer_arena" ссылается на существо "m_burer_e" и является его прототипом.
 +Также могут быть и ссылки на entity, обозначающей набор параметров. Например:
 +damage = m_burer_damage
 +Комментарии в ltx файлах начинаются с символа ";".
 +Также очень интересна система так называемых инклудов.
 +Инклуд обозначается строкой "#include "имя_файла.ltx""
 +Инклуды означают, что в файл, в котором написана вышеуказанная строка, вставляется содержание файла, указанного как аргумент к функции #include.
 +Получается так, что конфигурационные файлы монстров (к примеру) объединяются в файле monsters.ltx, файлы сталкеров - в stalkers.ltx. А файлы monsters.ltx, stalkers.ltx и все остальные файлы объединяются в файле system.ltx, в котором прописано около 20 инклудов.
 +Таким образом, всё содержание ltx-файлов объединено в system.ltx.
 +Помните - когда создаёте новый конфигурационный файл - не забудьте вставить его методом инклуда в общий конфигурационный список в system.ltx.
 +Последнее, о чём пойдёт речь - папка spawns. В ней расположен файл all.spawn. В этом файле обозначены почти все динамические объекты, которые содержатся в игровой Зоне. Это и монстры и сталкеры, это и приёмник "Горизонт" на столе у торговца и ящик рядом с блокпостом.
 +Формат спаун-файла долго разбирался специалистами и благодаря товарищу Zeed'у разобран и им же была написана специальная программа ( http://www.gameru.net/forum/index.php?act=...135#entry492221 ) для спауна динамических объектов. Примечание: если почитать тему дальше, есть ссылки на более новые версии программы с важными исправлениями.
 +Кроме файлов спауна в директории gamedata также присутствует папка с шейдерами, папка с анимациями камеры, папка с некоторыми файлами A-life и несколько файлов в формате xr.
 +В файле gamemtl.xr лежат настройки материалов, текстур и hit_fx эффектов.
 +В режиме HEX файл более или менее читаем.
 +И последнее.
 +Не пробуйте искать где указаны классы типа AI_CROW.
 +Все классы существ находятся в xrGame.dll и попытки извлечь их или изменить бессмыслены.
 +
 +Empro.
 +
Выход долгожданной игры ознаменовался скандалами и возмущением общественности большим количеством убранного из игры. Выход долгожданной игры ознаменовался скандалами и возмущением общественности большим количеством убранного из игры.
На фоне вырезанного контента, огромного количества несоответствий игры обещаниям разработчиков стали формироваться моддерские команды. На фоне вырезанного контента, огромного количества несоответствий игры обещаниям разработчиков стали формироваться моддерские команды.
Строка 71: Строка 141:
[[Категория:Статьи участников]] [[Категория:Статьи участников]]
 +
 +[[Автор:Empro]]

Версия 21:35, 8 июня 2007

Выход долгожданной игры ознаменовался скандалами и возмущением общественности большим количеством убранного из игры. На фоне вырезанного контента, огромного количества несоответствий игры обещаниям разработчиков стали формироваться моддерские команды. К счастью, разработчики оставили возможность спокойного моддинга. Благодаря распаковщику игровых архивов мы получили полный доступ к ресурсам игры. Сверх того, разработчики оставили в финальном билде 2947 (и билдах после него) высший приоритет распакованной папки gamedata. Итак, что же мы имеем? Мультимедийный контент. Звуки, видео и текстуры. Звуки в игре записаны в формате ogg. Хочу заметить, что OGG Vorbis является признанным игровым форматом звука. Проблем со звуком вообщем-то не возникает. Если Вы пользуетесь редактором звука, который не поддерживает OGG Vorbis, для Вас существует множество платных и бесплатных конвертеров. Видео в игре также в формат Vorbis, расширения видео файлов - OGM. Для просмотра видео рекомендую Media Player Classic и CCCP Codec Pack ( http://cccp-project.net/ ). Текстуры в игре имеют формат DDS (Direct Draw Surface). Для их редактирования рекомендую Adobe Photoshop CS 8.0 и NVidia Developer's Photoshop DDS Plugins ( http://developer.nvidia.com/object/photosh...ds_plugins.html ). При этом учтите следующее: - Вы конечно можете использовать сторонние конверторы. К таким относится Lister Total Commander'а, который умеет сохранять и просматривать DDS текстуры в других форматах. Речь идёт о расширенной сборке Total Commander'a (платный файловый менеджер Кристиана Гислера) версии 6.55. Приобрести можно по адресу http://www.ghisler.com/ . - Также Вы можете воспользоваться специальными DDS конвертером. Но при этом после конвертации может исчезнуть прозрачность! А это очень важно в игре... Поэтому настоятельно рекомендую использовать Photoshop CS 8.0 с плагинами. Внимание! При сохранении не забудьте отметить пункт "Alpha Channels" и в открывшемся окне (после нажатия на кнопку "Сохранить"), выберите режим "DXT5 ARGB 8 bpp | interpolated alpha". Также, в папке с игрой есть дополнительные текстуры с допиской в конце имени файла "bump". Бампы текстур используются для придание модели некоторой объёмности, которую ещё называют "псевдорельефностью". Бампы текстур используются только при игре на втором рендере. Следующий немаловажный компонент игры - OGF модели. Модели расположены в папке meshes. Они содержат в себе информацию о материале, анимации и саму модель предмета. Изменить текстуру модели реально при помощи WinHEX - путь к текстуре в первых строчках файла. Для просмотра моделей незаменимой утилитой является OGF Viewer ( http://www.g3ddev.com/ ) от общепризнанного специалиста batya. На текущий момент возможен только просмотр и конвертирование моделей в формат obj. При использовании OGF Viewer необходимо задать путь к текстурам в конфигурационном файле, который лежит в папке с программой. Следующим компонентом игры являются игровые уровни. Уровни можно разделить на МП уровни и уровни сингла. МП уровни отличаются от уровней сингловой игры отсутствием либо разной структурой и содержанием файлов уровня. К примеру, на мультиплеерных уровнях отсутствует сетка ИИ. Перед релизом бета-версии SDK (Software Development Kit от GSC Game World) я несколько недель тестировал его и сделал несколько печальных выводов. Во-первых, при помощи SDK невозможно не только редактировать, но и даже просматривать уже откомпилированные уровни. Дело в том, что SDK требует исходников уровней. К тому же, пора прекращать мечтать о SDK и выкрикивать: "Дайте мне СДК я вам новое оружие сделаю и движок поменяю!!!". SDK - всего лишь маппер для мультиплеера. Возможно, будет маппер и для сингловой версии игры, но исходников уровней от GSC Game World даже и ждать не стоит. Уровни из сингловой версии игры можно портировать под мультиплеер. Алгоритм действий: скопировать содержание папки уровня в новую папку с именем типа mp_yantar. Удалить файлы level.game, level.ai, level.som. Скопировать level.game из любой мультиплеерной карты и вставить в переделываемую карту. Открыть конфигурационный файл config\mp\maplist.ltx и добавить карту в список. Скрипты. В игре широко используются скрипты. Многие из них - тестовые и являют собой мусор, но никогда нельзя точно знать, где используется скрипт. В скриптах используется язык LUA. Язык не очень сложный, с помощью него можно многое делать, в том числе и спаунить (от англ. "spawn" - размещать на карте) объекты. К тому же, скрипты можно вызывать в spawn-файле, о нём подробнее. Другая, немаловажная часть игры - конфигурационные файлы. Открываются обычным "Блокнотом", представлют собой набор параметров и их значений. Про них подробнее. В игре существуют конфигурационные файлы существ, мультиплеера, погоды, оружия, объектов, геймплея, моделей, конфигурационные скрипты и конфигурация интерфейса. Также существует множество других конфигурационных файлов. О некоторых из них подробнее. Конфигурации существ - одним из самых важных конфигурационных файлов является actor.ltx. В нём заданы параметры актора - главного героя игры. На его примере рассмотрим структуру конфигурационного файла. [actor] - пример entity. Конфигурацию актора вызывают при помощи названия entity. В данном случае - actor. В других конфигурационных файлах мы можем найти пример ссылки на entity. Например: [burer_arena]:m_burer_e В данном случае существо "burer_arena" ссылается на существо "m_burer_e" и является его прототипом. Также могут быть и ссылки на entity, обозначающей набор параметров. Например: damage = m_burer_damage Комментарии в ltx файлах начинаются с символа ";". Также очень интересна система так называемых инклудов. Инклуд обозначается строкой "#include "имя_файла.ltx"" Инклуды означают, что в файл, в котором написана вышеуказанная строка, вставляется содержание файла, указанного как аргумент к функции #include. Получается так, что конфигурационные файлы монстров (к примеру) объединяются в файле monsters.ltx, файлы сталкеров - в stalkers.ltx. А файлы monsters.ltx, stalkers.ltx и все остальные файлы объединяются в файле system.ltx, в котором прописано около 20 инклудов. Таким образом, всё содержание ltx-файлов объединено в system.ltx. Помните - когда создаёте новый конфигурационный файл - не забудьте вставить его методом инклуда в общий конфигурационный список в system.ltx. Последнее, о чём пойдёт речь - папка spawns. В ней расположен файл all.spawn. В этом файле обозначены почти все динамические объекты, которые содержатся в игровой Зоне. Это и монстры и сталкеры, это и приёмник "Горизонт" на столе у торговца и ящик рядом с блокпостом. Формат спаун-файла долго разбирался специалистами и благодаря товарищу Zeed'у разобран и им же была написана специальная программа ( http://www.gameru.net/forum/index.php?act=...135#entry492221 ) для спауна динамических объектов. Примечание: если почитать тему дальше, есть ссылки на более новые версии программы с важными исправлениями. Кроме файлов спауна в директории gamedata также присутствует папка с шейдерами, папка с анимациями камеры, папка с некоторыми файлами A-life и несколько файлов в формате xr. В файле gamemtl.xr лежат настройки материалов, текстур и hit_fx эффектов. В режиме HEX файл более или менее читаем. И последнее. Не пробуйте искать где указаны классы типа AI_CROW. Все классы существ находятся в xrGame.dll и попытки извлечь их или изменить бессмыслены.

Empro.

Выход долгожданной игры ознаменовался скандалами и возмущением общественности большим количеством убранного из игры. На фоне вырезанного контента, огромного количества несоответствий игры обещаниям разработчиков стали формироваться моддерские команды. К счастью, разработчики оставили возможность спокойного моддинга. Благодаря распаковщику игровых архивов мы получили полный доступ к ресурсам игры. Сверх того, разработчики оставили в финальном билде 2947 (и билдах после него) высший приоритет распакованной папки gamedata. Итак, что же мы имеем? Мультимедийный контент. Звуки, видео и текстуры. Звуки в игре записаны в формате ogg. Хочу заметить, что OGG Vorbis является признанным игровым форматом звука. Проблем со звуком вообщем-то не возникает. Если Вы пользуетесь редактором звука, который не поддерживает OGG Vorbis, для Вас существует множество платных и бесплатных конвертеров. Видео в игре также в формат Vorbis, расширения видео файлов - OGM. Для просмотра видео рекомендую Media Player Classic и CCCP Codec Pack ( http://cccp-project.net/ ). Текстуры в игре имеют формат DDS (Direct Draw Surface). Для их редактирования рекомендую Adobe Photoshop CS 8.0 и NVidia Developer's Photoshop DDS Plugins ( http://developer.nvidia.com/object/photosh...ds_plugins.html ). При этом учтите следующее: - Вы конечно можете использовать сторонние конверторы. К таким относится Lister Total Commander'а, который умеет сохранять и просматривать DDS текстуры в других форматах. Речь идёт о расширенной сборке Total Commander'a (платный файловый менеджер Кристиана Гислера) версии 6.55. Приобрести можно по адресу http://www.ghisler.com/ . - Также Вы можете воспользоваться специальными DDS конвертером. Но при этом после конвертации может исчезнуть прозрачность! А это очень важно в игре... Поэтому настоятельно рекомендую использовать Photoshop CS 8.0 с плагинами. Внимание! При сохранении не забудьте отметить пункт "Alpha Channels" и в открывшемся окне (после нажатия на кнопку "Сохранить"), выберите режим "DXT5 ARGB 8 bpp | interpolated alpha". Также, в папке с игрой есть дополнительные текстуры с допиской в конце имени файла "bump". Бампы текстур используются для придание модели некоторой объёмности, которую ещё называют "псевдорельефностью". Бампы текстур используются только при игре на втором рендере. Следующий немаловажный компонент игры - OGF модели. Модели расположены в папке meshes. Они содержат в себе информацию о материале, анимации и саму модель предмета. Изменить текстуру модели реально при помощи WinHEX - путь к текстуре в первых строчках файла. Для просмотра моделей незаменимой утилитой является OGF Viewer ( http://www.g3ddev.com/ ) от общепризнанного специалиста batya. На текущий момент возможен только просмотр и конвертирование моделей в формат obj. При использовании OGF Viewer необходимо задать путь к текстурам в конфигурационном файле, который лежит в папке с программой. Следующим компонентом игры являются игровые уровни. Уровни можно разделить на МП уровни и уровни сингла. МП уровни отличаются от уровней сингловой игры отсутствием либо разной структурой и содержанием файлов уровня. К примеру, на мультиплеерных уровнях отсутствует сетка ИИ. Перед релизом бета-версии SDK (Software Development Kit от GSC Game World) я несколько недель тестировал его и сделал несколько печальных выводов. Во-первых, при помощи SDK невозможно не только редактировать, но и даже просматривать уже откомпилированные уровни. Дело в том, что SDK требует исходников уровней. К тому же, пора прекращать мечтать о SDK и выкрикивать: "Дайте мне СДК я вам новое оружие сделаю и движок поменяю!!!". SDK - всего лишь маппер для мультиплеера. Возможно, будет маппер и для сингловой версии игры, но исходников уровней от GSC Game World даже и ждать не стоит. Уровни из сингловой версии игры можно портировать под мультиплеер. Алгоритм действий: скопировать содержание папки уровня в новую папку с именем типа mp_yantar. Удалить файлы level.game, level.ai, level.som. Скопировать level.game из любой мультиплеерной карты и вставить в переделываемую карту. Открыть конфигурационный файл config\mp\maplist.ltx и добавить карту в список. Скрипты. В игре широко используются скрипты. Многие из них - тестовые и являют собой мусор, но никогда нельзя точно знать, где используется скрипт. В скриптах используется язык LUA. Язык не очень сложный, с помощью него можно многое делать, в том числе и спаунить (от англ. "spawn" - размещать на карте) объекты. К тому же, скрипты можно вызывать в spawn-файле, о нём подробнее. Другая, немаловажная часть игры - конфигурационные файлы. Открываются обычным "Блокнотом", представлют собой набор параметров и их значений. Про них подробнее. В игре существуют конфигурационные файлы существ, мультиплеера, погоды, оружия, объектов, геймплея, моделей, конфигурационные скрипты и конфигурация интерфейса. Также существует множество других конфигурационных файлов. О некоторых из них подробнее. Конфигурации существ - одним из самых важных конфигурационных файлов является actor.ltx. В нём заданы параметры актора - главного героя игры. На его примере рассмотрим структуру конфигурационного файла. [actor] - пример entity. Конфигурацию актора вызывают при помощи названия entity. В данном случае - actor. В других конфигурационных файлах мы можем найти пример ссылки на entity. Например: [burer_arena]:m_burer_e В данном случае существо "burer_arena" ссылается на существо "m_burer_e" и является его прототипом. Также могут быть и ссылки на entity, обозначающей набор параметров. Например: damage = m_burer_damage Комментарии в ltx файлах начинаются с символа ";". Также очень интересна система так называемых инклудов. Инклуд обозначается строкой "#include "имя_файла.ltx"" Инклуды означают, что в файл, в котором написана вышеуказанная строка, вставляется содержание файла, указанного как аргумент к функции #include. Получается так, что конфигурационные файлы монстров (к примеру) объединяются в файле monsters.ltx, файлы сталкеров - в stalkers.ltx. А файлы monsters.ltx, stalkers.ltx и все остальные файлы объединяются в файле system.ltx, в котором прописано около 20 инклудов. Таким образом, всё содержание ltx-файлов объединено в system.ltx. Помните - когда создаёте новый конфигурационный файл - не забудьте вставить его методом инклуда в общий конфигурационный список в system.ltx. Последнее, о чём пойдёт речь - папка spawns. В ней расположен файл all.spawn. В этом файле обозначены почти все динамические объекты, которые содержатся в игровой Зоне. Это и монстры и сталкеры, это и приёмник "Горизонт" на столе у торговца и ящик рядом с блокпостом. Формат спаун-файла долго разбирался специалистами и благодаря товарищу Zeed'у разобран и им же была написана специальная программа ( http://www.gameru.net/forum/index.php?act=...135#entry492221 ) для спауна динамических объектов. Примечание: если почитать тему дальше, есть ссылки на более новые версии программы с важными исправлениями. Кроме файлов спауна в директории gamedata также присутствует папка с шейдерами, папка с анимациями камеры, папка с некоторыми файлами A-life и несколько файлов в формате xr. В файле gamemtl.xr лежат настройки материалов, текстур и hit_fx эффектов. В режиме HEX файл более или менее читаем. И последнее. Не пробуйте искать где указаны классы типа AI_CROW. Все классы существ находятся в xrGame.dll и попытки извлечь их или изменить бессмыслены.

Empro.Автор:Empro

Личные инструменты