Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Модостроительство Half-life против Сталкерского.
GAMEINATOR forums > Общие разделы > Создание и модификация игр. Геймдев.
Страницы: 1, 2, 3, 4, 5, 6, 7, 8
NanoBot-AMK
Не давно пытался скачать Метро 33, дак ничего не вышло, файл оказался зашифрованным, все остальные на торрентах, а модем, т.е провайдер с которого качал, блокировал торрент, так и не получилось скачать. Со своего тоже проблематично, 9 Гб в месяц в наличии... ну это ладно. Разрабы метро говорили, что использовали Lua правильно, т.е. только для "умного" задания параметров игровым объектом, ЧТО, ЧТО, ЧТО, да для этого достаточно конфигов как в сталкере, что за бред они несут. Так что я рад что эти ребята покинули проект С.Т.А.Л.К.Е.Р. с ними он бы получился визуально лучше, но гораздо хуже для модинга, скорей всего. z_crazy.gif
Diesel
NanoBot-AMK, давай иди в другую тему: https://www.gameru.net/forum/index.php?show...p;#entry1647596

А где ты был осенью прошлого года? Метро на халяву Стим предлагал.
\SteamLibrary\steamapps\common\Metro 2033
RayTwitty
Цитата(Modera @ 18.01.2019, 00:25) *
Документации нет, инструментов нет, всё возможности движка неизвестны.

Цитата(Modera @ 18.01.2019, 00:25) *
Преимущества перед иксреем есть

На самом деле нет, те же яйца только в профиль. К тому времени, как будет что-то известно о моддинге Метро и как только люди начнут что-то делать на нем, оно уже морально устареет как сталкер. Только вот сталкер распаковали через месяц (?) после релиза, а Метро через 10 лет.
Modera
Цитата(RayTwitty @ 18.01.2019, 01:23) *
К тому времени, как будет что-то известно о моддинге Метро и как только люди начнут что-то делать на нем, оно уже морально устареет как сталкер.

4A Engine ещё развивается, новые игры на нём выходят. А хрей уже гарантированно мёртв, как десять лет назад там надо было 20 часов реального времени чтобы опустить летающий ящик, так и через десять лет будет, допиливать хрей некому, почти пять лет наличия исходников в сети и почти полное отсутствие прогресса подтверждают.
И поэтому даже десятилетний билд 4A Engine будет более продвинутым, чем X-Ray в будущем.

Цитата(RayTwitty @ 18.01.2019, 01:23) *
Только вот сталкер распаковали через месяц (?) после релиза, а Метро через 10 лет.

Сталкир распаковали ещё до релиза, и если бы не официальный СДК так бы и делали мультиплеерные карты в ЛЕ от бати, может даже только для Р1.
Cossack-HD
Цитата(Modera @ 18.01.2019, 03:58) *
Цитата(RayTwitty @ 18.01.2019, 01:23) *
К тому времени, как будет что-то известно о моддинге Метро и как только люди начнут что-то делать на нем, оно уже морально устареет как сталкер.

4A Engine ещё развивается, новые игры на нём выходят. А хрей уже гарантированно мёртв

Посоны, я не понял, а как развивается GldSrc?
Вот так?


В плане моддинга на Metro - впилить бы туда инвентарь и запилить функционал "поднятия" предметов и необходимые скрипты вокруг этого, и уже можно пилить столкира.
На Half-Life есть моды с инвентарём, если чё.
Diesel
Insurgency убежала из Сурса в UE4.
Supple Hope
Цитата(Cossack-HD @ 18.01.2019, 01:28) *
Посоны, я не понял, а как развивается GldSrc?
Вот так?

Вот так.
RayTwitty
Цитата(Cossack-HD @ 18.01.2019, 02:28) *
В плане моддинга на Metro - впилить бы туда инвентарь и запилить функционал "поднятия" предметов и необходимые скрипты вокруг этого, и уже можно пилить столкира.

Хрена с 2. В сталкере ты можешь заспавнить 10-строчками кода 5 сталкеров и 5 монстров и смотреть полчаса как они друг с другом играют. Уже геймплей. Я так в свое время в одном моде Варлаб заселил, все остальное за меня сделал AI сам biggrin.gif Никаких рестрикторов, условий, всё само.

В Метро вряд ли ты так сможешь. Там ведь прописано откуда кто выпрыгивает или как?
А в ХЛ так можно?

Цитата(Modera @ 18.01.2019, 01:58) *
почти пять лет наличия исходников в сети и почти полное отсутствие прогресса подтверждают.

А что ты хотел увидеть за 5 лет? ДХ12 или физикс вместо ОДЕ? Сталкеру не хватает сейчас одного - риалтайм редактора, всё остальное руки.

Цитата(Modera @ 18.01.2019, 01:58) *
Сталкир распаковали ещё до релиза, и если бы не официальный СДК так бы и делали мультиплеерные карты в ЛЕ от бати, может даже только для Р1.

Ну для Метро СДК нет до сих пор. А как ты без него заманишь школьников спавнить коробки? Байт код твой править через распаковщики? Ахахах.
Ты скажешь - а нафиг нам школьники? Да очень просто - сегодня школьник, завтра возможно разраб. Никто на этот свет с 3дмаксом в зубах и прочитанным Кнутом не появился, нужно пройти определенные этапы.
Modera
Цитата(RayTwitty @ 18.01.2019, 03:47) *
А что ты хотел увидеть за 5 лет? ДХ12 или физикс вместо ОДЕ? Сталкеру не хватает сейчас одного - риалтайм редактора, всё остальное руки.

Ну и что было сделано в области риалтайм редактора за пять лет? Я пока из того что можно хоть как-то считать развитием вижу только порт на линукс, и тот всё ещё уступает виндовой версии.

Цитата(RayTwitty @ 18.01.2019, 03:47) *
Ну для Метро СДК нет до сих пор. А как ты без него заманишь школьников спавнить коробки? Байт код твой править через распаковщики? Ахахах.

Ну вы же как-то заставили расставлять сталкиров через АЦДЦ. Школьники даже до сих пор исключительно так и делают.
RayTwitty
Цитата(Modera @ 18.01.2019, 04:07) *
Ну и что было сделано в области риалтайм редактора за пять лет?

Единого редактора нет, я уже писал на прошлых страницах. Есть по частям, где-то одно, где-то другое можно править. Ну и надо учитывать, что исходники слили через 7 лет после релиза, явно интерес куда меньше, чем если бы слили (или выпустили легально) например в 2008-09 годах сырцы ТЧ.

Цитата(Modera @ 18.01.2019, 04:07) *
Я пока из того что можно хоть как-то считать развитием вижу только порт на линукс, и тот всё ещё уступает виндовой версии.

Номинально может это и прикольно, что переписали рендер и т.д. но практически в игры на линексе никто не играет, поэтому выхлоп от этого почти никакой. Нужно поднимать привлекательность платформы в виде простых и понятных инструментов, а не заниматься внедрением ДХ12 или физикса, который все равно никто не заюзает по причине отсутствия этих самых инструментов.

Цитата(Modera @ 18.01.2019, 04:07) *
Ну вы же как-то заставили расставлять сталкиров через АЦДЦ. Школьники даже до сих пор исключительно так и делают.

Олдфаги и начинали это делать от безысходности. Сейчас может быть просто по привычке. А новичку нахрен вся это морока с распаковщиками? Спавн ЗП вполне себе одним батником собирается.
Modera
Цитата(RayTwitty @ 18.01.2019, 04:21) *
Единого редактора нет, я уже писал на прошлых страницах. Есть по частям, где-то одно, где-то другое можно править.

Цитата(RayTwitty @ 18.01.2019, 04:21) *
Номинально может это и прикольно, что переписали рендер и т.д. но практически в игры на линексе никто не играет, поэтому выхлоп от этого почти никакой. Нужно поднимать привлекательность платформы в виде простых и понятных инструментов, а не заниматься внедрением ДХ12 или физикса, который все равно никто не заюзает по причине отсутствия этих самых инструментов.

Я же говорю, хрей мёртв.

Цитата(RayTwitty @ 18.01.2019, 04:21) *
Олдфаги и начинали это делать от безысходности. Сейчас может быть просто по привычке. А новичку нахрен вся это морока с распаковщиками? Спавн ЗП вполне себе одним батником собирается.

Даже при наличии СДК и исходников уровней распаковщик всё-ровно понадобится, спавн без готовых уровней в геймдате не соберётся. Ну можно их самому скомпилировать конечно, ещё +250 впустую потраченного времени.

Лолд.
RayTwitty
Цитата(Modera @ 18.01.2019, 04:47) *
Я же говорю, хрей мёртв.

Он мертв только для тех, кто для себя это решил.

Если судить по просмотрам на ТыТубе, многие сотни тысяч так не считают.
Modera
Цитата(RayTwitty @ 18.01.2019, 04:51) *
Если судить по просмотрам на ТыТубе, многие сотни тысяч так не считают.

Ты недавно что-то говорил про миллионы просмотров и говно, вот это тот самый случай.
RayTwitty
Цитата(Modera @ 18.01.2019, 04:54) *
Ты недавно что-то говорил про миллионы просмотров и говно, вот это тот самый случай.

Аудитория говна шире в миллионы раз чем аудитория сталкера, поэтому я считаю это успех biggrin.gif

Обычно о том, мертв или не мертв <название>, говорят те, кто ничего не смог добиться в этой области. Они просто начинают ее поносить, тем самым пытаясь оправдать собственную несостоятельность.
jamakasi
Цитата(RayTwitty @ 18.01.2019, 04:58) *
Обычно о том, мертв или не мертв <название>, говорят те, кто ничего не смог добиться в этой области. Они просто начинают ее поносить, тем самым пытаясь оправдать собственную несостоятельность.

Ок. Как там за столько лет сталкера с туториалами НОРМАЛЬНЫМИ? а книги есть по модингу? а видеоуроки опять грамотные? А полноценный сторонний SDK со всеми инструментами?
Вот в сорсе все это есть. Скажем если кто то спросит " а как модить сорс" я могу банально ткнуть в книжку "Source SDK Game Development Essentials" в которой есть абсолютно все для чайника который вообще впервые решил заняться модингом, все определения, весь инструментарий, что и как устанавливается. Обзор почти всех возможностей редакторов. Все с примерами и написано очень простым языком с кучей картинок.
Есть еще замечательная книжка "Half Life 2 Mods for Dummies" но мне в свое время именно первая зашла.
Есть крайне крутая серия двд дисков "Mod Your World", тут по большей части все о текстурах, материалах, моделинге(причем 3dmax\maya\xsi), анимациях.
Как тебе сделанный с нуля sdk "Wall Worm" под сорс. Мало того есть еще и комерческая версия его же в которой фич еще больше.

Возвращаясь к сути, если человеку захочется сделать мод. Ну скажем по сталкеру и не имея ни малейшего понятия как это делается. То банально взяв первую книжку он за пару дней сделает вполне себе рабочий мод с парой уровней и небольшим сюжетом с кучкой скриптовых моментов. Если захочет глубже и сделать всякое непотребство то добро пожаловать в с++ штатно. Если с++ это страшно то есть gmod и lua в нем. Если и gmod это оверхед то есть sourcemods на котором в си подобном языке можно писать не только серверные плагины но и клиентские. Еще можно воспользоваться любым подходящим форком коих много.
dPlayer
Цитата(NanoBot-AMK @ 18.01.2019, 02:46) *
Не давно пытался скачать Метро 33, дак ничего не вышло, файл оказался зашифрованным, все остальные на торрентах, а модем, т.е провайдер с которого качал, блокировал торрент, так и не получилось скачать. Со своего тоже проблематично, 9 Гб в месяц в наличии... ну это ладно

От беда то. Говори адрес, нарежу да вышлю тебе пару дисков.
Supple Hope
Цитата(dPlayer @ 18.01.2019, 08:16) *
Цитата(NanoBot-AMK @ 18.01.2019, 02:46) *
Не давно пытался скачать Метро 33, дак ничего не вышло, файл оказался зашифрованным, все остальные на торрентах, а модем, т.е провайдер с которого качал, блокировал торрент, так и не получилось скачать. Со своего тоже проблематично, 9 Гб в месяц в наличии... ну это ладно

От беда то. Говори адрес, нарежу да вышлю тебе пару дисков.

С запароленными билдами?
RayTwitty
Цитата(jamakasi @ 18.01.2019, 08:29) *
Цитата(RayTwitty @ 18.01.2019, 04:58) *
Обычно о том, мертв или не мертв <название>, говорят те, кто ничего не смог добиться в этой области. Они просто начинают ее поносить, тем самым пытаясь оправдать собственную несостоятельность.

Ок. Как там за столько лет сталкера с туториалами НОРМАЛЬНЫМИ? а книги есть по модингу? а видеоуроки опять грамотные? А полноценный сторонний SDK со всеми инструментами?
Вот в сорсе все это есть.

А причем тут все это? Какая разница мне как игроку, какие там туториалы, игрок моды не делает. Ты походу совсем не улавливаешь о чем я писал, говоря "Он мертв только для тех, кто для себя это решил".

С точки зрения новой разработки, не в сеттинге сталкера/хл - и хрей, и сорс - говно мамонта, разумеется надо брать нормальный современный движок вроде УЕ4.
Cossack-HD
Цитата(Supple Hope @ 18.01.2019, 05:13) *
Цитата(Cossack-HD @ 18.01.2019, 01:28) *
Посоны, я не понял, а как развивается GldSrc?
Вот так?

Вот так.


Это Source а не GldSrc.

Интересно, что может Source 2. Там ведь вместо BSP уже всё по-человечески?
Supple Hope
Цитата(Cossack-HD @ 18.01.2019, 10:16) *
Это Source а не GldSrc.
Ну да. Халф-лайф 2 ближе к релизу сталкера вышла, чем хл1. Или ты хотел схитрить, переведя тему на сравнение движков игры 2007 года и 1998 года, ммм?
Mirus
Цитата(Дизель @ 18.01.2019, 02:41) *
Insurgency убежала из Сурса в UE4.

Думаю в первую очередь из-за лицензирования. Они реально дают лучшие условия в сравнении с конкурентами.
Cossack-HD
Цитата(Supple Hope @ 18.01.2019, 13:23) *
Цитата(Cossack-HD @ 18.01.2019, 10:16) *
Это Source а не GldSrc.
Ну да. Халф-лайф 2 ближе к релизу сталкера вышла, чем хл1. Или ты хотел схитрить, переведя тему на сравнение движков игры 2007 года и 1998 года, ммм?

В названии темы Half-Life, а не Half-Life 2 tongue.gif

Цитата(Mirus @ 18.01.2019, 13:24) *
Цитата(Дизель @ 18.01.2019, 02:41) *
Insurgency убежала из Сурса в UE4.

Думаю в первую очередь из-за лицензирования. Они реально дают лучшие условия в сравнении с конкурентами.

Source 2 ещё не финализирован, а из Source все соки уже выжаты. BSP не хватает для современных игор.

Интересно, как запилен Titanfall 2? Тоже BSP?
Mirus
Цитата(Cossack-HD @ 18.01.2019, 11:53) *
Интересно, как запилен Titanfall 2? Тоже BSP?

Может, что свое наваяли. Все же графен выглядит куда лучше как для первого сорса
Diesel
Цитата(Mirus @ 18.01.2019, 13:24) *
Думаю в первую очередь из-за лицензирования. Они реально дают лучшие условия в сравнении с конкурентами.

Какие условия лицензирования в Сурс 2? - единственное условие: разместить игру в Стиме, а потом делай, что хочешь, хоть в GOG отдавай.
Сурс2 - бесплатное приложение к Стиму, там тебе и сингл и онлайн и всякая хрень.
Дело однако не в лицензировании, а в чём то другом?
Mirus
Цитата(Дизель @ 18.01.2019, 12:53) *
Дело однако не в лицензировании, а в чём то другом?

Может шутерная механика под их нужды была лучше.
Cossack-HD
Цитата(Mirus @ 18.01.2019, 14:25) *
Цитата(Cossack-HD @ 18.01.2019, 11:53) *
Интересно, как запилен Titanfall 2? Тоже BSP?

Может, что свое наваяли. Все же графен выглядит куда лучше как для первого сорса

TiFa2 = Portal 2 на стероидах, местами аж прямые цитаты. Склоняюсь к тому, что они юзали BSP. Движок CoD, с котором работали разрабы Titanfall до этого, растёт из BSP'шного Quake 3.
dPlayer
Под bsp понимается построение уровней аля doom3? А как тогда называется современные способы, типа хрей сдк?
abramcumner
Цитата(Дизель @ 18.01.2019, 12:53) *
Какие условия лицензирования в Сурс 2? - единственное условие: разместить игру в Стиме, а потом делай, что хочешь, хоть в GOG отдавай.
Сурс2 - бесплатное приложение к Стиму, там тебе и сингл и онлайн и всякая хрень.

biggrin.gif
Скорее всего там не так. А как-то так:
https://partner.steamgames.com/doc/sdk/uplo...g_source_engine
Цитата
You can only sell your Source Engine game via Steam unless you get a full Source Engine license.

Хочешь продавать где-то еще кроме стима, будь добр получить некую "full Source Engine license"™.
Cossack-HD
Цитата(dPlayer @ 18.01.2019, 15:13) *
Под bsp понимается построение уровней аля doom3? А как тогда называется современные способы, типа хрей сдк?

BSP подразумевает посекторное разбитие на "комнаты", т.е. геометрия по дефолту является этаким набором из HOM'ов. Это не годится для открытых пространств. Рояль в кустах в CSGO (самая большая официальная карта на Source) задизайнили с кучей хаков.

Столкир по методу построения уровней больше похож на CryEngine, но не WYSIWYG, вероятно из-за имплементации статичных, качественных лайтмапов в стиле Half-Life, плюс террейн импортится как модель из стороннего пакета.
Diesel
Цитата(abramcumner @ 18.01.2019, 15:21) *
Цитата(Дизель @ 18.01.2019, 12:53) *
Какие условия лицензирования в Сурс 2? - единственное условие: разместить игру в Стиме, а потом делай, что хочешь, хоть в GOG отдавай.
Сурс2 - бесплатное приложение к Стиму, там тебе и сингл и онлайн и всякая хрень.

biggrin.gif
Скорее всего там не так. А как-то так:
https://partner.steamgames.com/doc/sdk/uplo...g_source_engine
Цитата
You can only sell your Source Engine game via Steam unless you get a full Source Engine license.

Хочешь продавать где-то еще кроме стима, будь добр получить некую "full Source Engine license"™.


Какая жо.. жостокость оказалась. А эти бюрократы возмещают потери от эмуляторов игры в Стиме?
Modera
Цитата(Cossack-HD @ 18.01.2019, 14:16) *
BSP подразумевает посекторное разбитие на "комнаты", т.е. геометрия по дефолту является этаким набором из HOM'ов. Это не годится для открытых пространств. Рояль в кустах в CSGO (самая большая официальная карта на Source) задизайнили с кучей хаков.

Причём тут это вообще? BSP это разбитие пространства на квадро-дерево или окто-дерево.
Первое разбивает уровень на четыре квадарата в ширину и глубину, второе разбивает ещё и в высоту, на восемь кубов. Потом каждый квадрат или куб ещё раз разбивается, и так несколько раз.

Смысл: Если мы не видим или не попали пулей в какой-то большой куб или квадрат, всё что внутри него можно не обрабатывать.
Технология подходит для любых уровней и наверное во всех современных движках используется.
Cossack-HD
Цитата(Modera @ 18.01.2019, 16:32) *
Цитата(Cossack-HD @ 18.01.2019, 14:16) *
BSP подразумевает посекторное разбитие на "комнаты", т.е. геометрия по дефолту является этаким набором из HOM'ов. Это не годится для открытых пространств. Рояль в кустах в CSGO (самая большая официальная карта на Source) задизайнили с кучей хаков.

Причём тут это вообще? BSP это разбитие пространства на квадро-дерево или окто-дерево.
Первое разбивает уровень на четыре квадарата в ширину и глубину, второе разбивает ещё и в высоту, на восемь кубов. Потом каждый квадрат или куб ещё раз разбивается, и так несколько раз.

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

Чё то про BSP я слышал только в контексте "оно плохо подходит для открытых пространств". И я сомневаюсь, что имплементация BSP в HL работает так, как ты его описал. Поиграй в Half-Life с wallhack'ом, это который OpenGL32.dll (только не в Steam версию), там видно, как игра не отрисовывает комнаты, которые не видно за стеной - оно и есть BSP в стиле Quake.
Некое подобие BSP есть при обработке сложных партиклов взрывов, когда пространство разбивается на сектора чтобы рассчитать что куда летит и что рисуется - оно разгружает видеокарту (меньше рисовать), но нагружает ЦП (больше думать).
dPlayer
Ну да. В итоге то мы имеем 2 вида создания уровней - типа квейк, где мы делаем уровеньы как бы выкапывая комнаты внутри некоего пространства и главное, чтобы левел был замкнут на себя и типа сталкер сдк, где мы в безграничной пустоте делаем уровень, так?
Цитата(Cossack-HD @ 18.01.2019, 16:16) *
Это не годится для открытых пространств.
quake4, enemy territory: quake wars??
jamakasi
Цитата(dPlayer @ 18.01.2019, 15:09) *
Ну да. В итоге то мы имеем 2 вида создания уровней - типа квейк, где мы делаем уровеньы как бы выкапывая комнаты внутри некоего пространства и главное, чтобы левел был замкнут на себя и типа сталкер сдк, где мы в безграничной пустоте делаем уровень, так?

Пространство всегда ограничивается и даже в сталкере\ue\юньке и т.д. и это не связано в BSP Ограничение вырастает уже из особенностей реализации:
К примеру в хл\хл2\кваке есть расчет статически запеченного света, чтобы этот свет просчитать используется тот самый рейтрейсинг, чтобы он работал должна быть 100% гарантия что ни один луч не улетит в пустоту т.к. просчитать пиксель тогда не получится т.к. луче бесконечно летит и ждет столкновения и пока счетчик отражений не дойдет до заданного лимита и луч будет считаться успешно просчитанным. Тут опять же если кодеры обдумали эту проблему то ограничение может быть на физически заданным в виде вот замкнутая коробка и отражайся в ней но и "типа динамической" скажем если луч на протяжении N милисекунд не столкнулся с поверхностью то считать что он отработал.
Еще ограничение в виде разбивка пространства и расчета что рендрить а что нет. Вот тут то уже одна из реализации это BSP дерево, чтобы оно хорошо работало пространства стараются делать как можно меньше и в виде комнат\квадратов. Дальше компилятор условно говоря берет всю геометрию уровня и умещает в куб, дальше бьет этот куб на 2(или 4) вложенных куба, и так циклически до заранее заданного минимального размера куба. Тут же юзают и всякие порталы\home которые говорят компиляторы "эй, вот от сих до сих это уже готовый куб". Информация сохраняется. Непосредственно в реалтайме игра оперирует полученными кубами, условно говоря если игрок видит перед собой и находится в 2х кубах то рендрятся только они. Раньше это был единственный вариант чтобы уровни были большие и при этом это не тупило отрисовкой невидимых объектов.
Сталкер к слову тоже бьет пространство подобно BSP но по иному подходу, хотя в целом алгоритм такойже, геометрия также крошится на мелкие блоки и рендр идет этими услоными блоками.
Modera
Cossack-HD, это ты описываешь то что мы называем секторами и порталами. Тоже по сути BSP. И его можно использовать вместе с тем что я описал, в сталкере так.
Почему сорс до сих пор не научился в открытые пространства? laugh.gif


Цитата(jamakasi @ 18.01.2019, 15:55) *
К примеру в хл\хл2\кваке есть расчет статически запеченного света, чтобы этот свет просчитать используется тот самый рейтрейсинг, чтобы он работал должна быть 100% гарантия что ни один луч не улетит в пустоту т.к. просчитать пиксель тогда не получится т.к. луче бесконечно летит и ждет столкновения и пока счетчик отражений не дойдет до заданного лимита и луч будет считаться успешно просчитанным. Тут опять же если кодеры обдумали эту проблему то ограничение может быть на физически заданным в виде вот замкнутая коробка и отражайся в ней но и "типа динамической" скажем если луч на протяжении N милисекунд не столкнулся с поверхностью то считать что он отработал.

Какой-то сложный рейтейсинг. В сталкеровских компиляторах просто проверяют есть ли препятствие на пути луча, и никаких полётов во времени.
jamakasi
Цитата(Modera @ 18.01.2019, 16:12) *
Почему сорс до сих пор не научился в открытые пространства? laugh.gif

Сам двиг может и ему пофиг на геометрию и бесконечности пространства. Не может редактор т.к. в нем искусственные рамки ради компиляторов. Грубо говоря вот реально бесконечный мир без BSP резки, естественно без освещения. Никакого замкнутого пространства нет.



Т.е. чтобы впилить такой мир вот прям щас нужно:
1) В коде переписать рэндер неба, на самом деле довольно просто сделать по типу skydome.
2) Расширить динамическое освещение, оно уже есть в игре, его просто чуть чуть расширить необходимо, а если совсем по хорошему то нужно и статическое запекание но только для статических источников света типа point light. Но это по желанию.
3) Решить проблему динамической генерации BSP чтобы бить пространство блоками иначе будут тормоза, либо написать новый формат карт без bsp с частичной реализацией как в том же ue\юнике\crye.

Вот способом похожим на то что выше и для облегчения задачи портирования уровня сталкера можно взять wallworm, в нем карты для сорса моделятся в 3dmax. И без компиляторов запхать в игру, оно будет работать но без освещения и неба. Если банально полученные импортированный уровень запихать в один огромный блок замкнутый то уже можно юзать освещение т.к. оно сможет его оттрасировать.

Кстати помню мод был для alien swarm, там была динамическая генерация условно бесконечных уровней. В as нет проблемы с освещением т.к. оно там полностью динамическое, проблему с секторами\порталами тоже решили просто путем реалтаймового дополнения bsp дерева.

Цитата(Modera @ 18.01.2019, 16:12) *
Какой-то сложный рейтейсинг. В сталкеровских компиляторах просто проверяют есть ли препятствие на пути луча, и никаких полётов во времени.

А теперь тебе вопрос, как ты думаешь программно вычисляют есть или нет препятствия? z_6.gif Кидается луч и в коде банальный цикл который удлинняет его до столкновения, если его нет то будет бесконечный цикл который займет бесконечное процессорное время. Вот про это время я и писал.
Cossack-HD
Цитата(jamakasi @ 18.01.2019, 19:23) *
Кидается луч и в коде банальный цикл который удлинняет его до столкновения, если его нет то будет бесконечный цикл который займет бесконечное процессорное время. Вот про это время я и писал.

Что мешает сразу кинуть луч на километр для первичной проверки ПОТРАЧЕНОСТИ луча, а уже после этого урезать его длину для точности? Мм? Или они каждый unit прощупывают? Вот в столкире пули пролетают несколько метров за цикл, но они не пролетают сквозь геометрию.

И если с созданием бесконечных уровней в Source всё так просто, то почему вольво так заморочились с боевым кустарным роялем в CSGO и всё равно сделали уровень не больше, чем позволяет Source? Чисто для оптимизации?
jamakasi
Цитата(Cossack-HD @ 18.01.2019, 17:38) *
И если с созданием бесконечных уровней в Source всё так просто, то почему вольво так заморочились с боевым кустарным роялем в CSGO и всё равно сделали уровень не больше, чем позволяет Source? Чисто для оптимизации?

Оптимизации, любой разработчик всегда в первую очередь смотрит на железо ниже среднего чтобы игры работала нормально у максимального числа игроков.

Цитата(Cossack-HD @ 18.01.2019, 17:38) *
Что мешает сразу кинуть луч на километр для первичной проверки ПОТРАЧЕНОСТИ луча, а уже после этого урезать его длину для точности? Мм? Или они каждый unit прощупывают? Вот в столкире пули пролетают несколько метров за цикл, но они не пролетают сквозь геометрию.

Это уже реализация. У каждой есть свои плюсы и минусы. В твоем случае а что если поверхность уже в 1 мм от точки трасировки. Начинаешь идти от конца к началу с шагом N и тратишь на это M времени, а что если дойдя до точки старта препятствия так и не было, надо опять удлинять луч, а что если этими постоянными удлиннениями ты уже ушел на десятки тысяч км?) Так же как точно определять обратным ходом начала препятсвия? Ну получилось так что идят от 1км к 0 у тебя случилось 400 препятствий , да еще и из них надо бы отсеять те которые явля.тся выходом начал препятствия (скажем 10 метровая стена, у нее то будет 2 стороны).
Алгоритмов ускорения трасировки очень много, сейчас вот даже нвидия хардварную трасировку сделала. Кстати что любопытно само ускорение универсально и оно не обязательно только освещение может считать но и что угодно другое в т.ч. и для такого подхода использоваться.
Modera
Цитата(jamakasi @ 18.01.2019, 17:23) *
А теперь тебе вопрос, как ты думаешь программно вычисляют есть или нет препятствия? z_6.gif Кидается луч и в коде банальный цикл который удлинняет его до столкновения, если его нет то будет бесконечный цикл который займет бесконечное процессорное время. Вот про это время я и писал.

Перебирают треугольники, вычисляют в какие луч попал, да и всё. Если требуется узнать только есть препятствие или нет можно выйти после первого попавшегося треугольника, если требуется узнать расстояние до ближайшего препятствия нужно перебирать треугольники дальше и запоминать самый ближний.
Количество треугольников всегда конечно, никаких бесконечных циклов.
jamakasi
Цитата(Modera @ 18.01.2019, 17:48) *
Перебирают треугольники, вычисляют в какие луч попал, да и всё. Если требуется узнать только есть препятствие или нет можно выйти после первого попавшегося треугольника, если требуется узнать расстояние до ближайшего препятствия нужно перебирать треугольники дальше и запоминать самый ближний.
Количество треугольников всегда конечно, никаких бесконечных циклов.

Какие нафиг треугольники ? У тебя есть точка А и вектор ее движения, дальше эта точка движется по этому направлению до первой преграды которая и будет препятствием. Дальше уже если считают свет то от этой преграды идет отражение вектора и идет продолжение до следующего препятствия, число отражений небольшое чтобы это было быстро. Если же трасировку делают для скажем для пули то хватит и первого препятствия.
Modera
Цитата(jamakasi @ 18.01.2019, 17:55) *
Какие нафиг треугольники ?

Из которых все без иключения модели состоят в твоей игре. Шарики, кубики и другие примитивы перебираются точно так-же.

Как проверить пересечение лучом треугольника: http://www.lighthouse3d.com/tutorials/math...e-intersection/
Cossack-HD
Цитата(Modera @ 18.01.2019, 19:48) *
Цитата(jamakasi @ 18.01.2019, 17:23) *
А теперь тебе вопрос, как ты думаешь программно вычисляют есть или нет препятствия? z_6.gif Кидается луч и в коде банальный цикл который удлинняет его до столкновения, если его нет то будет бесконечный цикл который займет бесконечное процессорное время. Вот про это время я и писал.

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

А, так вот зачем нужны AVX-инструкции. Одна инструкция, много данных = один вектор, много стен biggrin.gif

Насчёт novidia и трассировки "не только света" - а вот AMD ещё пару лет назад анонсировали трассировку звуковых волн, вроде как для CSGO. Видимо они хотели начать обкатывать милдовый raytracing в игорях. А то у них уже есть хардварный raytracing (весьма шустрый), но без denoise и для проф. применения. Звук в CSGO обновился и теперь имитирует приглушённость/эхо, но по-моему они сделали software решение.

А вот в Insurgency есть задержка воспроизведения звука - чем дальше источник звука, тем дольше задержка. Чё то в столкире до сих пор этого нету.

ЗЫ: Баллистика в столкире конечно очень доставляет: если выстрелить под правильным углом, то трейсеры скачут как зайчики ^-^ По-больше бы такой красоты в других играх. Я кстати заметил, что баллистика сильно просаживает FPS'ы в столкире (если стрелять патроном с сотней дроби), но все projectiles можно распараллелить и считать отдельно т.к. они не взаимодействуют друг с другом. Даёшь многопоточные маслины!
NanoBot-AMK
В XRay пули и так в отдельном потоке рассчитываются, по моему в ТЧ пули рассчитываются довольно быстро, если их конечно не тысячи, хотя танки почему сильно просаживают ФПС, много полигонов наверно, хм, есть идея как это по фиксить, но надо модели дорабатывать.
dPlayer
Цитата(Cossack-HD @ 18.01.2019, 20:07) *
Даёшь многопоточные маслины!

В интервью с krodin на амк сказал, что вынесли буллет_менеджер в отдельный поток на их огср64 движке
abramcumner
Цитата(jamakasi @ 18.01.2019, 17:55) *
Какие нафиг треугольники ? У тебя есть точка А и вектор ее движения, дальше эта точка движется по этому направлению до первой преграды которая и будет препятствием. Дальше уже если считают свет то от этой преграды идет отражение вектора и идет продолжение до следующего препятствия, число отражений небольшое чтобы это было быстро. Если же трасировку делают для скажем для пули то хватит и первого препятствия.

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

То, что ты описываешь, похоже на raymarching в шейдерах. Там действительно приходится идти вдоль луча с каким-то шагом, но это исключительно из-за отсутствия доступа к нормальной геометрии. Как раз модный RTX и обеспечивает возможность работы с нормальной геометрией из шейдеров.
Trollz0r
Цитата(jamakasi @ 18.01.2019, 15:55) *
У тебя есть точка А и вектор ее движения, дальше эта точка движется по этому направлению до первой преграды которая и будет препятствием
Цитата(jamakasi @ 18.01.2019, 15:55) *
до первой преграды
Цитата(jamakasi @ 18.01.2019, 15:55) *
преграды
А что такое преграда? Треугольник знаю, вектор знаю, точку знаю, преграду не знаю.

Цитата(Cossack-HD @ 18.01.2019, 12:16) *
террейн импортится как модель из стороннего пакета
Вот не пойму, что за дроч на создание геометрии террейна в левеледиторах.
jamakasi
Цитата(Modera @ 18.01.2019, 18:00) *
Из которых все без иключения модели состоят в твоей игре. Шарики, кубики и другие примитивы перебираются точно так-же.


Еще раз, я уже незнаю как еще тебе объяснить.
Есть огромное бесконечное пространство, по сути это абсолютно весь мир игры, если хочешь представь это как бесконечный график с осями xyz.
В этом мире движек рисует, пусть будут модели из треугольников. Но каждая модель это точка в пространстве мира, уже относительно этой точки рисуются треугольники этой модели.
Ты находишься в точке, пусть 0.0.0 в этом мире, предположим ты выстрелил из этой точки по направлению вектора (0 10 20), теперь ты от этой точки ведешь трасировку по этому вектору с шагом определенным чтобы не пробежать ни одну модель. Т.е. ты сдвинулся на (0 1 2) , теперь ты проверяешь есть ли тут в ПРОСТРАНСТВЕ МИРА по этим координатам какая та модель, НО т.к. модель не точка а кучка треугольников то проверяешь уже попадание по , скажем сфере в которой умещается вся модель, если попадает то уже считаешь в какой именно треугольник на этой модели ты попал. Если не попал то перемещаешься на новую точку в ПРОСТРАНСТВЕ по заданному вектору и снова все проверяешь. И таким образом пока во что то не воткнешься.

Еще раз, модель это модель состоящая из треугольников, но у тебя в мире много этих моделей и у всех свои координаты. Если и так не понятно то представь что ты кинул кирпич через забор , утрированно ты знаешь только точку где за забором стоит человек, этот человек в мире не точку а объемная модель. Вот чтобы понять попал ты в него или нет тебе нужно просчитать по траектории кирпича где он будет находится, и не попал ли на каждой итерации ты в точку вокруг которой объем занимает человек. Вот только тут у тебя может быть толпа людей за забором или бесконечное пространство. Перебирать в лоб абсолютно каждого человека на планете слишком долго, а если у кирпича нет веса и он просто полетел в небо , космос, другую галактику ... . Это и есть трасировка, ты пускаешь луч, каждый раз сдвигаешься в пространсве и ждешь когда во что то воткнушься, когда воткнулся ты можешь знать что это за объект.

Цитата(Люпус Эст @ 18.01.2019, 19:23) *
Вот не пойму, что за дроч на создание геометрии террейна в левеледиторах.

Дроч потому что есть выбор, пытаться делать полноценный 3д редактор со всеми вытекающими. Создание треугольников\полигонов\uv карт\ инструментария для удобной работы с ними и еще тонну всего, или обойтись максимально простыми средствами. Написать 3д редактор моделей очень сложно и их пишут не один год и даже не 2-3(3дмакс\майка\ксюха и т.д.). Гораздо проще реализовать самое базовое. В сталкере так и сделали, весь моделинг идет в стороннем софте, сам редактор уровня просто дает двигать это готовые модели и поверх накатывать игровые объекты(точки спавна\свет и т.д.). В сорсе уже сделали примитивнй 3д редактор с минимально необходимым набором инструментов чтобы редактировать примитивы, террейн сделать можно но инструменты неудобные. В UE пошли дальше и к тому что есть в сорсе добавили недостающие удобные инструменты именно для террейна и кривых поверхностей.
Trollz0r
Ты описал обстоятельства и предпосылки, но не ответил на вопрос "нафига". Зачем давать левелдизайнеру возможность менять геометрию (в смысле форму меша) террейна, если левелдиз не работает в нормальном 3д-редакторе? Это опциональная возможность, которую вводят "потому что модно", или реально ускоряющая работу фича?
И ещё мне непонятно, как увязывается работа в нормальном 3д-пакете с работой васяна в ЛЕ. Я создаю террейн Кордона из сталкира, отправляю Васяну, он вазюкает кисточкой и создаёт бугры разной формы. Теперь я хочу получить обратно в Майю свой террейн, облагороженный творческим видением Васяна, и притом чтобы оный ландшафт не был триангулирован. Такое возможно в модном УЕЧ или Юнити?
jamakasi
Цитата(Люпус Эст @ 18.01.2019, 20:37) *
Ты описал обстоятельства и предпосылки, но не ответил на вопрос "нафига". Зачем давать левелдизайнеру возможность менять геометрию (в смысле форму меша) террейна, если левелдиз не работает в нормальном 3д-редакторе? Это опциональная возможность, которую вводят "потому что модно", или реально ускоряющая работу фича?
И ещё мне непонятно, как увязывается работа в нормальном 3д-пакете с работой васяна в ЛЕ. Я создаю террейн Кордона из сталкира, отправляю Васяну, он вазюкает кисточкой и создаёт бугры разной формы. Теперь я хочу получить обратно в Майю свой террейн, облагороженный творческим видением Васяна, и притом чтобы оный ландшафт не был триангулирован. Такое возможно в модном УЕЧ или Юнити?

Снова путаешь все. Даже лень писать уже почему.
Modera
Цитата(jamakasi @ 18.01.2019, 20:09) *
Но каждая модель это точка в пространстве мира

Цитата(jamakasi @ 18.01.2019, 20:09) *
НО т.к. модель не точка а кучка

Цитата(jamakasi @ 18.01.2019, 20:09) *
модель это модель

Хорошо, это понятно.

Цитата(jamakasi @ 18.01.2019, 20:09) *
Ты находишься в точке, пусть 0.0.0 в этом мире, предположим ты выстрелил из этой точки по направлению вектора (0 10 20), теперь ты от этой точки ведешь трасировку по этому вектору с шагом определенным чтобы не пробежать ни одну модель. Т.е. ты сдвинулся на (0 1 2) , теперь ты проверяешь есть ли тут в ПРОСТРАНСТВЕ МИРА по этим координатам какая та модель, НО т.к. модель не точка а кучка треугольников то проверяешь уже попадание по , скажем сфере в которой умещается вся модель

То есть для того чтобы найти сферу нужно их все перебрать. Почему я должен это делать (длинна луча / длинна шага) раз, когда можно перебрать их всего один раз запоминая всегда ту до которой дистанция меньше? Я уже давал ссылку на сайт, там есть про пересечение сферы лучом без всяких циклов.

Цитата(jamakasi @ 18.01.2019, 20:09) *
Если и так не понятно то представь что ты кинул кирпич через забор , утрированно ты знаешь только точку где за забором стоит человек, этот человек в мире не точку а объемная модель. Вот чтобы понять попал ты в него или нет тебе нужно просчитать по траектории кирпича где он будет находится

Кирпич через забор это вообще не из этой оперы, он в отличии от луча летит не по прямой и имеет объем.

Цитата(jamakasi @ 18.01.2019, 20:09) *
Вот только тут у тебя может быть толпа людей за забором или бесконечное пространство. Перебирать в лоб абсолютно каждого человека на планете слишком долго

Для того чтобы не перебирать абсолютно каждого есть BSP деревья, про которые объясняли выше.

Цитата(jamakasi @ 18.01.2019, 20:09) *
а если у кирпича нет веса и он просто полетел в небо , космос, другую галактику ...

В хрее из за этого специально отключают физику если объект оказался за пределами баунд бокса уровня. Чтобы какая-нибудь гадость которая провалилась под карту не заглючила пролетев 100500 километров в пустоту. Но причём тут лучи?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.