Ресурсы ПЗ с точки зрения современных игр
#1
Вот такой вопрос возник к людям, кто так или иначе пересекался с более-менее современным игроделанием (или хотя бы игро копанием):

Как бы вы оценили форматы ресурсов ПЗ с точки зрения современности? Какие форматы используются сейчас?
Если гипотетически предположить, что будет развиваться ( и цвести =) ) новый движок для ПЗ, предполагающий развитие игры ( вглубь и ширь Smile ), то в какие форматы стоило бы перевести ресурсы ПЗ?

Необязательно про все ресурсы сразу говорить. Просто интересно узнать мнения. Кто о чём сможет. Smile
Ответ
#2
Так, форма, вроде пашет, можно писать.
По поводу формата 3д моделей. Тут однозначно необхлдима заточка под VBO, чтобы после считывания с диска сразу лить данные в массивы OGL. К слову, как я знаю на данный момент таких свободныхоткрытыхраспространенных форматов нет (может быть формат моделей Doom3). Текстуры - dds. Для GUI - dds, tga. Контент можно паковать в zip - что скрывать-то?
Вопрос как-то очень расплывчато поставлен. Можно обозначить моменты и пофлудить - было бы интересно с учетом того, что игру усиленно ковыряли.
Ответ
#3
Ну, вопрос был поставлен расплывчато, чтобы охватить все ресурсы игры. Smile

Можно потихоньку обсудить разные части форматов ресурсов ПЗ на тему, в каких форматах им бы предстать в новом движке. Чтобы они не сковывали по рукам и ногам разработчика аддонов.

Я попытался в краткой форме сделать выжимку всех ресурсов ПЗ и вкратце написал немного информации о форматах.
Просьба к знатокам поправить меня, где я предположительно ошибаюсь.
Ресурсы ПЗ Написал:* Заданные положения камеры (свой формат CAM). Не знаю точно, как используется. Вроде бы задаёт начальное положение камеры при входе в конкретную точку игровой зоны. Вроде бы, помню, была речь ещё о гипотетической возможности задания списка промежуточных позиций и положений камеры (как бы путь движения камеры).

* Настройки клавиш (свой TXT в виде списка: имя пробел значение)
* Настройки освещённости дня (INI для каждого аллода)
* Настройки отображения роликов (просто INI связывает имена роликов с жёстко заданными этапами - запуск, выиграл, проиграл, кредиты и т.п.)

* Настройки отображения экрана помощи (свой TXT в виде списка: имя пробел значение)

* AI - Что-то вроде настроек сложности/глобального баланса игры, подобно тому, как на разных игровых серверах одна и та же игра имеет разные настройки баланса (формат INI, конвертированный в свой формат REG)

* Файлы карт и сценариев на этих картах (файлы mob, mpr и mq)
** MOB как я понимаю, содержит объекты карты (включая позицию, инвентарь, некоторые характеристики объекта, связанные с объектом скрипты). Всё это в своём формате, чем-то отдалённо напоминающем бинарный XML.
** Если я верно понимаю, то в MOB хранятся в том числе и части скриптов сингла. При этом тексты квестов, баланс квестов (опыт за выполнение, какие айтемы забрать/дать), порядок квестов (зависимости друг от друга) и информация о брифинг-зонах хранится в отдельных других файлах.
** В MOB используется свой скриптовый язык (такой же используется в консоли ПЗ)
** MPR содержит информацию о ландшафте карты: высоты, где какие текстуры, участки проходимости/непроходимости, типы проходимости (то ли веса, то ли указания типов проходимости, а веса типов в отдельном файле). Формат свой бинарный.
** MQ содержит сценарии брифинга взятия/сдачи мультиплеерного квеста. Формат свой бинарный.
* Отдельно есть файл-архив AI.RES, видимо, для настройки поведения AI (компьютера). Какие оружия использовать каким юнитам, идентификаторы некоторых юнитов (это наверно для MOB файлов), веса проходимости различных тайлов ландшафта (это наверно для MPR файлов). Ещё там лежит файл normat.dat, не знаю для чего он нужен.

* Файлы данных различных игровых характеристик в своём бинарном формате грубо говоря в виде таблиц (файлы *.*db, запакованные в RES). Там лежат:
** Характеристики игровых объектов: оружия, доспехов, прочих айтемов, материалов, монстров и людей
** Характеристики уязвимостей различных частей тела к различным видам урона
** Информация о навыках
** Информация о следах, оставляемых на различных поверхностях
** Информация о различных игровых триггерах (рычагах/переключателей/дверей/алтарях и т.п.)
** Информация об игровых репликах (реплики нападения, кастования, бега, и т.п.)
** Информация о балансе квестов (опыт за выполнение, выдача/взятие айтемов), а также пооследовательность квестов (какой после какого).

* Файлы 3D-объектов. Для меня это тёмный лес пока что. Smile Хранятся в RES-архиве figures.res.
** Файлы mod и fig по-идее хранят трёхмерные объекты. Не знаю, как они там разделены. Возможно цельные айтемы это fig, а составные доспехи/тела - это mod. Но не знаю.
** Ещё есть файлы bon, которые опять же знаю что хранят. Smile Возможно какую-то информацию по частям модели (от слова bone - кость).
** Ещё слышал, что к моделям используется морфинг. Хранится 8 базовых моделей для крайних значений характеристик (сила, ловкость, рост что ли) и по конкретным характеристикам игра строит модель конкретного склада (толская, худая, низкая и т.п.)
** Файлы анимации (формат anm), которые по-идее хранят анимацию.

* Файлы текстур в архивах RES. Всего два архива. Я тут тоже не особо разбираюсь. В одном (redress.res) по-идее текстуры человечены и всего с этим связанного. В другом (textures.res) по-идее текстуры всех остальныъ объектов игрового мира. Формат всех файлов MMP (есть конвертеры в DDS).

* Файл gfx в виде архива RES. Хранит файл lightning.dat. Не знаю зачем.

* Файлы материалов. Хранятся в RES архиве. Имеют свой формат mat. Не знаю, что именно там хранится. Возможно настройки для наложения текстуры на модель и её внешнего вида. А может быть и нет. Smile При этом характеристики материалов хранятся в файлах данных (файлы *.*db, запакованные в RES; в данном случае файл items.idb).

* Отдельно лежат файлы для главного игрового меню также в RES архиве.
** Там присутствуют файлы текстуры меню (формат mmp)
** Файл настроки регионов пунктов меню (чтобы эти пункты по наводке курсора двигались) в формате REG (бинарный вариант текстового формата INI),
** Файлы 3D модели столба меню (anm, bon, mod)
** При этом сама зона главного меню (т.е. карта с объектами) хранится в общей папке с картами игры, насколько я знаю.

* Файл с конфигурацией финальных титров. Хранится в архиве RES. Там присутствует некий текстовый файл SCR с якобы командой скроллинга заданного текста с заданной скоростью. И рядом лежит тот самый заданный текст в стандартном формате RTF.

* Видео-ролики (формат BIK)

* Файлы с музыкой (лежат в отдельной папке Stream в формате mp3)
* Файлы с речью персонажей. Лежат в архиве speech.res, распределённые по папкам, в формате mp3.
* Файлы звуковых эффектов. лежат в архиве sfx.res, распределённые по папкам, в формате wav.

* Файлы текстов. Лежат в архивах texts.res (для сингла) и textslmp.res (для мультиплеера). В основном представляют из себя обычные тексты с описанием айтемов и квестовых разговоров в тексте. В текстах общения используются свои команды (начинающиеся со знака #), настраивающие переключения камеры в разговоре с одного на другого персонажа, а также указывающие, какую анимацию играть (по идентификатору).

* Файлы сохранённых мультиплеерных персонажей (свой формат MP)
** Насколько я знаю, в современных MMORPG такого рода информация хранится сугубо на сервере.
* Файлы сохранённых игр синглплеера (свой формат sav)

* Файл графических и звуковых ресурсов стартера игры (архив RES, содержит картинки и звуки стартера)
* Файл конфигурации стартера (содержит описание кнопок, некоторые действия по кнопкам, привязку графических ресурсов к кнопкам; формат INI, конвертированный в свой формат REG)

* Файлы конфигурации видеокарты (config_DX/GL.ini)

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

Ну вот пожалуй это всё основное.


Что касаемо нового движка ПЗ. Здесь пока что было два варианта. Первый -- это кроссплатформенный движок, написанный руками с нуля (платформы Win, Mac, Lin). Второй -- это предложение использовать готовый движок, например Unity3d (тогда это плафтормы Win и Mac, а также возможность запуска на iOS, Android и веб-платформах, если я верно понял).

Но любые обоснованные предложения будут ценны, думаю.

Думаю, часть форматов могут не зависеть от конкретного движка (как например характеристики, конфигурация, звуковые эффекты).
Другая же часть разумеется будет зависима. В принципе зависимую часть можно обсудить в контексте примеров каких-нибудь современных движков или игр, с которых, так сказать, можно брать пример. Smile

При этом в данном случае критерием скорее всего будет выступать скорее не крутость/технологичность игры/движка, а то, насколько сообщество игры/движка активно ими пользуется для разработки дополнений/аддонов.
Ответ
#4
ELF Ты хочешь сделать продолжение ПЗ или римейк? Wink
Ответ
#5
Честно говоря, сам не знаю чего я хочу Smile

Полноценный ремейк, да и полноценное продолжение по-хорошему требуют огромное количество работы полноценной команды разработчиков игр, насколько я понимаю. До такой задачи по-идее я ещё недорос. =)

Хочется скорее наверно открыть ПЗ для более-менее лёгкого создания аддонов. Предоставить движок и инструменты, позволяющие изменять сценарии, добавлять/убирать аллоды. Хочется также заложить возможность в последствии (если кто вдруг захочет) улучшать графику.

Ну и мультиплеер довести до ума. Smile

Так как даже по сравнению с этой задачей я очень маленький в плане времени и знаний Rolleyes , то, думаю, может быть что-нибудь получится если буду делать шаги в этом направлении небольшие, но сразу же завершённые. Чтобы любой желающий мог как воспользоваться результатом, так и продолжить что-нибудь делать (если захочет).

Если проект делать открытым (так как в таком виде он заранее коммерчески неуспешен, как мне кажется), то можно будет в принципе даже подавать заявки на какие-нибудь мероприятия в духе Google Summer of Code. Может быть тоже чем-нибудь пригодится.


Но это пока так просто декларация о намерениях. Да и намерения эти не твёрдые. Скорее в порядке эксперимента (а вдруг чего получится?). Smile
Ответ


Перейти к форуму:


Пользователи, просматривающие эту тему: 1 Гость(ей)