HLFX.Ru Forum
Показать все 7 сообщений этой темы на одной странице

HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Наши проекты (https://hlfx.ru/forum/forumdisplay.php?forumid=1)
-- F.A.Q. по XashNT (https://hlfx.ru/forum/showthread.php?threadid=5696)


Отправлено Дядя Миша 15-08-2021 в 11:11:

F.A.Q. по XashNT

В связи с тем, что по XashNT есть довольно много информации, часть которой уже успела устареть и вступает в противоречие с более свежей, у народа может вполне сформироваться неправильное представление о том, что же это за движок такой, каковы его возможности, что там планируется и что уже реализовано. Частично информация есть на csm.dev (уже очень старая), частично в в этой теме. Наконец что-то есть на Boosty. Сформировать из этого целостную картину непросто.
Поэтому я решил все потенциально возникающие вопросы оформить в виде F.A.Q., который традиционно будет обновляться по мере появления новых вопросов. Поехали:

Q. Что такое XashNT?
A. Движок, который должен найти свою нишу для довольно большой (по моим прикидкам) аудитории, которую так или иначе не устраивают уже существующие решения. Напомню, что в настоящее время выбор весьма невелик - либо Unreal либо Unity. CryEngine похоже окончательно списали со счетов и там всё довольно грустно. Если вас по каким-то причинам не устраивают уже существующие решения, рекомендую присмотреться к XashNT, возможно это будет именно то, что вы так долго искали, но не смогли найти.

Q. В чём его основные отличия от уже существующих движков?
A. На мой взгляд, главное отличие в отсутствии навязываемой модели разработки, обусловленной внутренней архитектурой самого движка.
Как вы знаете, старые движки, базирующиеся еще на архитектуре от Кармака (idTech) позволяли делать уровни, только используя браши или вставляя модели с ограниченным функционалом. Новые движки, напротив, либо совсем не умеют работать с брашами, либо их поддержка реализована на уровне "чтобы были". XashNT это в первую очередь попытка абстрагироваться от типа примитивов, которыми оперирует левел-дизайнер. Вы можете смешивать браши, модели и кривые Безье в абсолютно любых пропорциях на ваших уровнях, вы можете делать уровни, состоящие целиком из моделей, вы можете делать уровни, состоящие целиком из брашей и это всегда даст корректный результат и высокую производительность. Между брашами, моделями и патчами, нет никакого различия в физическом взаимодействии, наложении лайтмапы, наложении декалей, равно как и в способах рендеринга. Есть и другие важные отличия, как в идеологии, так и в реализации. О них чуть ниже.

Q. Какие будут возможности в графическом плане, не будет ли там устаревший рендерер?
A. XashNT не предполагает наличие встроенного рендерера. Я много размышлял над этим и пришёл к выводу, что существующих техник слишком много и для разных игр могут потребоваться в корне отличающиеся друг от друга режимы рендеринга, поэтому намертво зашивать этот механизм в ядро нет никакого смысла. Вместо собственной модели рендерера XashNT имеет прозрачный транспорт до видеодрайвера, оснащенный мощной скриптовой системой, позволяющей создавать архитектуру рендерера прямо в текстовом файле. А вторая подсистема позволяет разработать свой уникальный язык описания материалов или сэмулировать уже существующий. Таким образом в одной игре вы можете иметь отложенное освещение с каскадными тенями, PBR, SSLR, LPV и кучей других современных техник, а в другой - NPR и стилизацию под мультфильмы. Или наоборот - максимальное упрощение конвейера для повышения производительности под мобильные устройства.
Ядро при этом остаётся неизменным и вы фактически напрямую контролируете видеодрайвер. Это даёт абсолютную свободу в плане построения графики.

Q. Какие будут возможности в плане физической симуляции?
A. Здесь у меня нет каких-то особенных планов, т.к. все мои исследования говорят о том, что большинству важнее красивая картинка, нежели корректная физическая симуляции. Гораздо важнее не допускать, чтобы персонажи и игрок не застревали "в текстурах". Соответственно, надёжности просчёта столкновений будет уделено первоочередное внимание. Конечно будет типовой набор физических объектов - катающиеся бочки, верёвки, машинки, возможно занавески, физика тряпичных кукол (ragdoll). Так же будет доступна портальная физика, когда все объекты будут корректно проходить сквозь порталы (как в игре Portal). Разумеется кинематические тела (двери, поезда) тоже будут в наличии. На мой взгляд этого вполне достаточно.

Q. В чём можно будет создавать игры под XashNT?
A. По совокупности исследований было принято решение о написании собственного редактора (разработка начнётся с сентября 2021-го года), однако есть возможность использования Blender и JackHammer, хотя это и не совсем удобные решения, поскольку для JackHammer отсутствует соответствующий плагин (его появление - вопрос времени), а на Blender не слишком удобно работать с брашевыми объектами. На данный момент этот вопрос остаётся открытым и вы можете вносить свои предложения. Но мне в любом случае не хотелось бы жестко привязывать пользователей к одному-единственному редактору, на мой взгляд это неправильный подход.

Q. К каким движкам по духу будет ближе всего XashNT?
A. Здесь нельзя назвать какой-то конкретный движок, приведу список:
Quake, Quake II, Quake 3, Doom 3, Half-Life, Half-Life 2, Call Of Duty, STALKER, возможно GTA. В силу высокой гибкости скриптовой системы, движок можно адаптировать под стиль и специфику вышеперичисленных движков, практически неотличимо от оригинала ну или с минимальными отличиями.
Частично проверить справедливость моего утверждения, вы сможете, ставь участником бета-тестирования и скачав приватную бету (подробности ниже). Конечно в бете реализован не весь потенциал от заявленного, но выводы сделать уже можно. В идеале XashNT можно будет настроить на эмуляцию большинства известных движков, по крайней мере в плане графической части. И это тоже одна из поставленных мною задач.

Q. Как будут обстоять дела с мультиплеером?
A. Этот вопрос пока еще детально не прорабатывался, но есть всего две мультиплеерные модели. Первая - классический клиент-сервер, с ограниченным числом игроков на нём (обычно не более 32-64), и вторая с неограниченным кол-вом игроков и более непредсказуемой синхронизацией. Лично мне больше нравится первая модель, но для гигантских миров с тысячами игроков, конечно предпочтительнее вторая.
Возможно я сделаю механизм, позволяющий реализовать обе модели по выбору пользователя.

Q. Какие форматы моделей\уровней использует новый движок и с чем они совместимы?
A. XashNT использует собственные форматы уровней и моделей, не совместимые ни с чем. Однако сами форматы устроены таким образом, что для них возможно написание конверторов практически из любой другой игры (хотя это конечно и не нужно для разработки собственной).
В качестве входных форматов для описания уровней используется формат .map (quake1, quake2, quake3, doom3, half-life). В качестве входных форматов для статичных моделей используется текстовый формат описания (smd, ase, obj). Для анимированных моделей используется формат .smd. С появлением собственного редактора, есть вероятность, что вышеперечисленные форматы перейдут в разряд испортируемых, а в движке появятся собственные исходные форматы, но этот момент пока еще не определён окончательно.

Q. Как будет устроен игровой код XashNT?
A. Я склоняюсь к устройству мощной скриптовой машины с С++ подобным языком, однако это не окончательное решение, к тому же сама машина может быть выполнена в качестве надстройки над пользовательской игровой библиотекой. К визуальному программированию отношусь отрицательно, у него низкий порог вхождения, но оно весьма сложно в отладке при возрастании сложности кода.

Q. На какие типы и жанры игры будет ориентирован XashNT?
A. Приоритетное направление, конечно же игры от первого и третьего лица. Так же движок довольно легко будет сконфигурировать для двухмерного отображения, изометрической проекции. Каких-либо шагов в направлении многопользовательских серверных игр с тысячями игроков я пока что не предпринимал, однако абстрактность архитектуры и форматов, позволяет довольно безболезненно это проделать в дальнейшем, если возникнут соответствующие запросы.

Q. На какие платформы будет доступен движок?
A. У меня в планах Windows и Android, как наиболее распространённые.
Пользователи Linux на данный момент могут использовать Wine без каких-либо проблем и без заметного падения производительности.

Q. Есть ли хотя бы одна игра, которая уже разрабатывается на XashNT?
A. Да, такая игра есть, это M.I.R. (Meanwhile In Russia). Первоначально игра была сделана на связке Xash3D+XashXT, теперь мы с её автором осуществляем миграцию на XashNT. Так же вполне возможно переиздание обоих частей Paranoia на новом движке.

Q. По какой схеме будет распространяться движок?
A. Скорее всего по общепринятой в настоящее время. Сам движок и его использование будут бесплатными, отчисления автору, только с дохода от продажи игр, сделанных на нём. Так же в планах создание магазина с различными дополнениями и ассетами. Есть конечно и другие мысли, но на данном этапе разработки об этом пока еще рано говорить.

Q. Будут ли доступны исходники движка?
A. Исходники не будут доступны до окончания разработки XashNT. Вполне вероятно, что я воспользуюсь моделью поведения Джона Кармака, когда исходники будут закрыты в течение всего времени жизнненого цикла движка, а затем опубликованы под лицензией GPL. Впрочем, это касается только ядра. Исходники пользовательской части будут доступны всем изначально. В первую очередь мои соображения продиктованы защитой от безответственных форкеров исходного кода, которые плодят энтропию.

Q. Меня заинтерисовал ваш проект, как я могу ознакомиться с бетой\принять посильное участие в разработке?
A. На данный момент открыта платная подписка на участие в бета-тестировании XashNT. Подробности в доступны в официальном телеграм-канале проекта по ссылке: https://t.me/xashnt/102

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено Дядя Миша 17-08-2021 в 10:12:

Важный технический момент!
Некоторые поступления приходят без комментариев, то ли человек забыл, то ли сбербанк зарезал описание. На всякий случай пишите мне в приват, чтобы не возникало недоразумений.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено Дядя Миша 24-09-2023 в 06:35:

Прошло два года, по прежнему ничего не поменялось. Сбербанк всё так же удаляет комментарии, если ему (программе перевода), покажется что комментарий - бессмысленный набор букв. Может быть они думают что таким образом с кем-то борются или чему-то препятствуют, я не знаю.
А мне в свою очередь приходит перевод без каких-либо опознавательных знаков. Если вы отправили взнос, а в течении дня доступ так и не открылся - пишите мне в личку с деталями перевода.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено Дядя Миша 14-10-2023 в 09:17:

И снова пришёл перевод без сопроводительного комментария. Пишите в личку.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено COHOL 13-11-2023 в 19:05:

12 числа купил подписку на бусти за 1000р. Написал ник в комментах. Что дальше?

__________________
No War! No Z, no V!
Делаю карту для CS1.6 с 2018 года


Отправлено Дядя Миша 13-11-2023 в 20:34:

COHOL я на бусти редко бываю, так что ты правильно сделал, что отписался здесь. Открыл доступ.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено Дядя Миша 01-12-2023 в 12:48:

Немного отредактировал FAQ по поводу принятия участия в бета-тестировании. Так же имейте в виду, что присоединиться после 10-го декабря к бета-тестированию будет возможно только при следующем наборе участников, где-то в мае-июне следующего года.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Временная зона GMT. Текущее время 18:52.
Показать все 7 сообщений этой темы на одной странице

На основе vBulletin версии 2.3.0
Авторское право © Jelsoft Enterprises Limited 2000 - 2002.
Дизайн и программирование: Crystice Softworks © 2005 - 2024