Я бы хотел создать некий FAQ по движку, поэтому прошу - спрашивайте в этой теме всё, что хотели бы знать о движке. Вопросы могут быть любые*, начиная от общих и заканчивая частностями. Если их несколько - нумеруйте вопросы, так легче будет отвечать. Убедительная просьба - не повторяться.
Заранее предупреждаю любителей задавать вопросы типа "А будет ли реализована фича ХХХХХ?". Ответа тут может быть ровно три:
1) Фича ХХХХХ уже реализована.
2) Фича ХХХХХ реализована не будет, или будет реализована в далёкой перспективе.
3) Фича ХХХХХ будет реализована в случае перехода движка на "коммерческие рельсы".
Так что если вы ждёте четвёртого варианта - сразу говорю, его не будет.
Прошу также по возможности разделить понятия "Volatile3D II" и "Option Implicit". То есть не надо задавать вопросы по конкретным геймплейным фичам, по сюжету игры и т.д.
Ответы я постараюсь дать серьёзные и исчерпывающие. Надеюсь, вопросы будут, т.к. если их нет - значит, и движок человеку ни в какой степени не интересен.
* - я знаю, некоторые задаются и такими вопросами, как "а кому это говно вообще нужно", "неужели вам совсем нечем заняться, когда есть УДК" и т.п. Задавайте и такие, попробую ответить
1. Полный релиз стабильных версий планируется на какую-то дату или сроки не определены?
2. В общих чертах - что смогут делать с Volatile3D II любители-игроделы (точнее левел-дизайнеры без навыков программирования)? Будут ли доступны утилиты для конвертации собственного контента в игровые форматы? Как обстоят дела с анимациям моделей?
3. Игры каких жанров можно реализовать на движке Volatile3D II? Можно ли сделать логический квест, аркаду вроде Соника или стратегию?
SluX писал: Полный релиз стабильных версий планируется на какую-то дату или сроки не определены?
Вопрос, как я понимаю, о сроках релиза движка, т.е. демо-версий и инструментария.
Сроки пока не определены. В данный момент идет проработка маркетинговой концепции, анализ текущих возможностей движка, поиск сильных и слабых сторон. До сих пор неясно, как будет распространяться инструментарий - будет ли он полностью бесплатным, бесплатно-урезанным или каким-нибудь еще. Вполне может быть, что мы первое время будем сотрудничать с заинтересованными людьми в закрытом режиме, в процессе дорабатывая функционал движка и (самое главное) инструментария.
Цитата:
SluX писал: что смогут делать с Volatile3D II любители-игроделы (точнее левел-дизайнеры без навыков программирования)? Будут ли доступны утилиты для конвертации собственного контента в игровые форматы? Как обстоят дела с анимациям моделей?
Без навыков программирования - очевидно, ничего, кроме демо-уровней. Они смогут делать моды к играм на движке, пользуясь их игровой логикой. В данный момент игровая логика движка = игровая логика Option Implicit, но впоследствии я её, разумеется, вырежу, оставив самое необходимое. Утилиты для конвертации, разумеется, будут доступны, но см. ответ на первый вопрос. Анимации моделей делаются так же, как для GoldSrc - формат SMD, с привязкой вершины к одной кости.
Цитата:
SluX писал: Игры каких жанров можно реализовать на движке Volatile3D II? Можно ли сделать логический квест, аркаду вроде Соника или стратегию?
Движок Volatile3D II разрабатывался для игр в жанре "First Person Shooter". Так же можно сделать и вид от третьего лица (от второго - увы, нельзя). Движок, в отличие от некоторых других, не опирается на ландшафт в первую очередь, а опирается на коридоры, в то время как открытые пространства - лишь дополнение к коридорам. Поэтому стратегию сделать вряд ли удастся, да и большое количество объектов в кадре для динамического рендера - проблема. В то же время даже на первом Quake делали и аркады, и гонки - значит, это возможно и у нас.
В движке существует также высокопроизводительный статический рендерер. Планируется специальная casual-версия движка, в которой динамический будет отключен. В этом случае проблема производительности больше не будет давить так сильно, и пространство для творчества увеличится.
Что касается текущего состояния движка - то грамотный программист сможет хоть сейчас сделать на нем, скажем, сетевые 3D-шахматы с динамическими тенями от фигур или простенький шутер в лабиринте а ля Wolfenstein-3D. Лично я никаких препятствий тут не вижу, кроме как незнакомый код. Но для тех, кто программировал под GoldSrc, он будет знакомым - серверная и клиентская библиотеки написаны в стиле этого движка.
Цитата:
Дядя Миша писал: ты колоизацию из дуум3 планируешь приделать?
Вообще физику взять более современную.
В ближайшее время - нет.
Но, возможно, я вынесу какие-то callback-функции в серверную и клиентскую библиотеки, чтобы физику можно было прикрутить через них. Мы и к халфе ее прикручивали безо всяких callback-ов, а тут будет даже проще.
Насколько сложным будет переход с GoldSrc/Source на Volatile 3D II? При условии построения шутера а-ля Half-Life (портирования мода)? Много ли дополнительной работы с ресурсами? Какие принципиальные отличия в маппинге и моделлинге?
Ku2zoff писал: Насколько сложным будет переход с GoldSrc/Source на Volatile 3D II? При условии построения шутера а-ля Half-Life (портирования мода)?
Портирование мода видится мне очень сложным ввиду определённых отличий в создании уровней. Тот, кто создавал карты под Quake3, сразу поймёт, о чём я говорю. Само по себе портирование карты сводится к следующим этапам:
1) конвертации геометрии в формат, понятный радианту, переименование базовых энтитей, таких как точка старта игрока (можно вручную в map-файле);
2) конвертация текстур. В случае сорса это простой конверт VTF->TGA->VTX, в случае голда - сложнее, так как в вадах текстуры 8-битные. Можно, конечно, и их взять, но лучше найти полноцветные оригиналы.
3) написание шейдерных скриптов. Движку не нужны шейдеры для каждой текстуры - только для тех, которые в чём-то нестандарнты - особые параметры, дополнительные слои или, скажем, текстура светящаяся.
А дальше начинается самое сложное:
4) переработка игровой логики, расстановка новых энтитей, создание lua-скриптов (в движке нет никаких логических энтитей, кроме триггеров). Но, правда, можно взять серверную библиотеку и написать свои логические энтити. Но на мой взгляд, это лишняя трата эдиктов.
5) переработка концепции освещения, если карта делается под динамический рендерер. Разделение фоновой подсветки (ее можно оставить лайтмапами) и источников света, от которых будет бамп и тени - чем их меньше, тем лучше (выше фпс). На картах под голдсорс и сорс, в связи с тем, что там полная статика, обычно лампочек не жалеют.
6) создание карт нормалей, блеска и, опционально, хейтмап - для динамического рендера.
7) оптимизация уровня - ручное склеивание брашей (компилятор этого не делает, позволяя контролировать размер полигонов левел-дизайнеру в редакторе), замена брашевых колонн на кривые, конвертация брашевых деталей в статические модели (в сорсе, опять же - статик пропы это норма, так что с этим проще), расстановка ареапорталов и т.д.
А вот переход с Quake3/Doom3 будет, наверное, намного проще.
Если же начать делать карты под Volatile3D II с нуля - то, я думаю, переход окажется довольно несложным, тем более, что в комплекте будут уроки по созданию уровней в VolatileRadiant.
Цитата:
Ku2zoff писал: Много ли дополнительной работы с ресурсами?
В данный момент - возни много, но утилиты будут дорабатываться. Особенно если движок будет коммерческим.
Цитата:
Ku2zoff писал: Какие принципиальные отличия в маппинге и моделлинге?
Про маппинг я уже ответил выше. В моделлинге - пожалуй, никаких, кроме того, что движок не поддерживает smd-файлы формата Source (привязка одной вершины к нескольким костям; при декомпиле каннонфодером надо ставить галку "Dump old unweighted SMDs") и желательно использовать минимум текстур, стараясь уместить всё в одной, пусть и большего размера (это не обязательное условие, но чем меньше текстур - тем быстрее отрисовка; впрочем, иногда необходимо разделять - например, если у текстур разные шейдерные эффекты). Ну, и размеры любых текстур должны быть степенями двойки.
BeFore писал: Размер карт, количество полигонов в модели, количество энтитей на карте.
Максимальный размер карт в игре - 262144 х 262144 юнита, в редакторе - 32768х32768 юнита. На самом деле необходимость в таких больших картах для 3D-шутера сомнительна, к тому же у нас есть seamless changelevel, как в Half-Life.
Максимальное число вершин в модели 4096, треугольников - 21800.
Максимальное число энтитей на карте - 1024. С учетом того, что статические акторы удаляются на этапе компиляции, а логика реализуется в основном с помощью lua - это довольно много.
XaeroX писал: конвертации геометрии в формат, понятный радианту
Самый сложный момент, так как 220 формат использует базисы для натяжки текстур, а волатиловский проецирование по нормалям. По идее, моя утилитка hlq переваривает при конвертировании такие вещи, но в некоторых случаях дает сбой.
Scrama
Я, по правде говоря, именно твою утилитку и имел в виду
Надо будет при случае обсудить её сложности, может, я чем помочь смогу. И в итоге получится полноценный конвертор хл1->волатила.
XaeroX писал: Максимальный размер карт в игре - 262144 х 262144 юнита, в редакторе - 32768х32768 юнита
Так, я поработал с этими лимитами, и уточняю ответ.
Максимальный размер карты и в движке, и в редакторе составляет 131072 х 131072 юнита, или ~ 11 кв. км.
Цитата:
Flash писал: Какие возможности будут у моделей (физбокс, свет, бамп и т.д.)?
Если я правильно понял, подразумеваются динамические модели, а не статические? Для коллизий используется ббокс, для точечных трейсов - хитбоксы как в хл1. Вопрос освещения и бампа того или иного объекта в Volatile3D II не ставится вообще - это честный движок, для которого нет разницы, модель это, браш, патч и т.п. (этой честностью и объясняется порой невысокий фпс). Но, разумеется, опционально тени и бамп для той или иной модели можно отключить.