Оцените мой сайт
Всего ответов: 12


Онлайн всего: 1
Гостей: 1
Пользователей: 0

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

Содержание:

1 О модифицировании игры

2 Звуки

3 Текстуры

4 Модели

5 Уровни

6 Скрипты

7 Конфиги

8 Спавн-файл

9 Дополнительно


 





О модифицировании игры:





Выход долгожданной игры ознаменовался скандалами и возмущением общественности большим количеством убранного из игры. 

На фоне вырезанного контента и огромного количества несоответствий игры обещаниям разработчиков стали формироваться моддерские команды. К счастью, разработчики оставили возможность простого модифицирования игры. Благодаря распаковщику игровых архивов мы получили полный доступ к ресурсам игры. Сверх того, разработчики оставили в финальном билде 2947 (и билдах после него) высший приоритет распакованной папки gamedata. 

Итак, что же мы имеем? 



Звуки:

Звуки в игре записаны в формате ogg. Хочу заметить, что OGG Vorbis является признанным игровым форматом звука. 

Проблем со звуком вообщем-то не возникает. Если Вы пользуетесь редактором звука, который не поддерживает OGG Vorbis, для Вас существует множество платных и бесплатных конвертеров. 

Видео в игре также в формат Vorbis, расширения видео файлов - OGM. Для просмотра видео рекомендую Media Player Classic и CCCP Codec Pack (сайт проекта). 



Текстуры:

Текстуры в игре имеют формат DDS (Direct Draw Surface). Для их редактирования рекомендую Adobe Photoshop CS 8.0 и NVidia Developer's Photoshop DDS Plugins (скачать его можно здесь).     by HikeR

для тех, у кого нет несколько сот долларов на покупку Adobe Photoshop, рекомендую свободный и бесплатный GIMP и GIMP DDS Plugin 

При этом учтите следующее: 

Вы можете использовать сторонние конвертеры. К таким относится Lister Total Commander, который умеет сохранять и просматривать DDS текстуры в других форматах. Это расширенная сборка Total Commander'a (платный файловый менеджер Кристиана Гислера) версии 6.55. Приобрести его можно здесь. 

Также, Вы можете воспользоваться специальными DDS конвертером. Но при конвертации может исчезнуть альфа-канал текстуры, он очень важен для игры. Поэтому настоятельно рекомендую использовать Photoshop CS 8.0 с плагинами. 

Внимание! После работы в Photoshop над тестурами, при сохранении не забудьте отметить пункт "Alpha Channels" и в открывшемся окне (после нажатия на кнопку "Сохранить"), выберите режим "DXT5 ARGB 8 bpp | interpolated alpha". 

Также, в папке с игрой есть дополнительные текстуры с приписанным в конце имени файла словом "bump". Это бамп-карты текстур, используемые для придания модели некоторой объемности, которую ещё называют "псевдорельефностью". 

Бамп-карты текстур используются только при игре на втором рендере (динамическое освещение, то есть DirectX9-рендер. 



Модели:

Следующий немаловажный компонент игры - OGF модели. 

Модели расположены в папке meshes. 

Они содержат в себе информацию о материале, анимации и саму модель предмета. Изменить текстуру модели реально при помощи WinHEX - путь к текстуре находится в первых строчках файла. 

Для просмотра моделей незаменимой утилитой является OGF Viewer (сайт) от batya. На данный момент возможен только просмотр и конвертирование моделей в формат obj. 

При использовании OGF Viewer необходимо задать путь к текстурам в конфигурационном файле, который лежит в папке с программой. 



Уровни:

Следующим компонентом игры являются игровые уровни. Уровни можно разделить на мультиплеерные и сингловые. 

MP-уровни отличаются от уровней одиночной игры отсутствием некоторых компонентов и несколько иной структурой/набором файлов. Например, на мультиплеерных уровнях отсутствует координатная сетка для A-Life. 

Перед релизом бета-версии SDK (Software Development Kit от GSC Game World) я несколько недель тестировал его и сделал несколько печальных выводов. 

Во-первых, при помощи MP-SDK невозможно не только редактировать, но и даже просматривать уже откомпилированные уровни. Дело в том, что MP-SDK требует исходников уровней. К тому же, пора прекращать мечтать о SDK и выкрикивать: "Дайте мне СДК я вам новое оружие сделаю и движок поменяю!!!". MP-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, Hiker, Neo, haron разобран. Zeed'ом была написана специальная программа xrSpawner для спауна динамических объектов.
 



Дополнительно:

Кроме файлов спауна в директории gamedata также присутствует папка с шейдерами, папка с анимациями камеры, папка с некоторыми файлами A-life и несколько файлов в формате xr. 

В файле gamemtl.xr лежат настройки материалов, текстур и hit_fx эффектов. В режиме HEX файл более или менее читаем. 

И последнее. Не пробуйте искать где указаны классы типа AI_CROW. Все классы существ находятся в xrGame.dll и попытки извлечь их или изменить бессмыслены. 

Категория: Работа со скриптами | Добавил: Alexthunder (06.03.2020)
Просмотров: 295 | Рейтинг: 0.0/0
Всего комментариев: 0
avatar

  • Alexthunder|Репутация: 0
  • stop177mailru|Репутация: 0
  • kulakovskyzheka|Репутация: 0
  • tureskiye|Репутация: 0
  • kirillloskarev77|Репутация: 0
  • Тем на форуме: 30
    Новостей: 11
    Файлов: 17
    Статей: 16

    Работа со звуками [1]
    Респавн [1]
    Работа с текстурами [2]
    Работа со скриптами [9]
    По вопросам сотрудничества обращаться к Администрации

    uCoz By gsc-mod