Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: X-Ray Oxygen
GAMEINATOR forums > S.T.A.L.K.E.R. > Мастерская: создание модов для S.T.A.L.K.E.R.
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12
-StalkMen-
Цитата(abramcumner @ 25.01.2016, 14:20) *
* Разработать новое API на C#.

С этого места можно поподробней?
Neo][
Цитата(abramcumner @ 25.01.2016, 16:20) *
* WYSIWYG редактор (xrRender подключается напрямую к LevelEditor) Статус: 85%.

Отчего же не WYSIWYP сразу?
1001v
Сделайте лучше X-Ray OS
Giperion
Цитата(1001v @ 25.01.2016, 16:05) *
X-Ray OS

Для большей аутентичности тогда надо MS-DOS (ну как первые Windows запускались), чтобы когда случался ASSERT - вылетал в DOS, и приходилось идти Norton Commander и копипастить туда лог ошибок. Ясен фиг - все файлы после вылета будут теряться. biggrin.gif
abramcumner
Цитата(Neo][ @ 25.01.2016, 15:23) *

Отчего же не WYSIWYP сразу?

P=play, а WYSIWYP = in-game редактор? Такой уже пилится в другом тайном подвалелаборатории.

Кстати согласно лучшим сталкерским традициям в лабораториях должно быть темно, сыро и одиноко smile.gif
Молния в вакууме
Цитата(Giperion @ 25.01.2016, 17:16) *
Цитата(1001v @ 25.01.2016, 16:05) *
X-Ray OS

Для большей аутентичности тогда надо MS-DOS (ну как первые Windows запускались), чтобы когда случался ASSERT - вылетал в DOS, и приходилось идти Norton Commander и копипастить туда лог ошибок. Ясен фиг - все файлы после вылета будут теряться. biggrin.gif

О да, сталкер под DOS это было бы круто.
Cartoteka
Цитата(saas @ 25.01.2016, 16:50) *
О да, сталкер под DOS это было бы круто.


Скрестить X-Ray и idTech1 XD

А что? Спрайтовые Чики-Брики с маслинами.

По мне, так, А-лайф можно и на idTech 1 замутить. Графон, конечно, 64х64 или 128х64 максимальное, но оно того стоит.
Молния в вакууме
Цитата(Cartoteka @ 25.01.2016, 18:01) *
Графон, конечно, 64х64 или 128х64 максимальное, но оно того стоит.

Ну почему же, Mesa3D на современных компьютерах может и лучше.
Вон кто-то сделал небольшой "движок" с динамическим освещением и управлением как в шутерах. laugh.gif
https://www.youtube.com/watch?v=vkUwT9U1GzA
krovosnork
Цитата
* Если все выше получится, можно подумать о поддержке огромных локации

Кто же знал, что для поддержки огромных локаций нужно столько всего. Мне вот хватило небольшой переделки xrAI для создания огромной аи-сетки.
Tron
Цитата(-StalkMen- @ 25.01.2016, 15:10) *
Цитата(abramcumner @ 25.01.2016, 14:20) *
* Разработать новое API на C#.

С этого места можно поподробней?

Байдинги он писал, на C++/CLI.(сейчас не знаю)

Я предлагал SWIG, как более быстрое решение.

Есть еще один вариант:
https://github.com/mono/CppSharp

Но я его не использовал лично

Цитата
* Изменить систему AI, придумать аналог AI сетки (или улучшить существующую конструкцию), которая будет стримится прямо во время игры.

Давно уже есть, recast-detour, разработано в Crytek
Willy
Цитата(krovosnork @ 25.01.2016, 19:21) *
Кто же знал, что для поддержки огромных локаций нужно столько всего. Мне вот хватило небольшой переделки xrAI для создания огромной аи-сетки.


Даже у long long количества ячеек есть предел (4294967296 ячеек, если быть точным). А тут потенциально бесконечная сетка, ограниченная размерами жесткого диска, на котором лежит файл AI, ведь ноды будут подгружаться и выгружаться согласно передвижению актёра.

Можно и компилятор стеки выбросить, чтобы никто потом не плакал "ой, на моём Pentium III не хватает моих 256 Mb RAM для компиляции сетки 30х30 км" и генерировать сразу готовую сетку в SDK (или заставить движок кушать "сырую" сетку -- тут уж как будет)

Останется только придумать стримминг геометрии таким же образом (или по чанкам) и можно получить настоящий бесшовный мир.
abramcumner
Цитата(Willy @ 25.01.2016, 17:38) *
А тут потенциально бесконечная сетка, ограниченная размерами жесткого диска,

Создание потенциально бесконечной сетки потребует потенциально бесконечного времени. Играть-то когда?
Willy
Цитата(abramcumner @ 25.01.2016, 20:11) *
Создание потенциально бесконечной сетки потребует потенциально бесконечного времени. Играть-то когда?


Создание потенциально бесконечного мира Зоны потребует потенциально бесконечного моделлинга. А играть-то когда?

Ответишь на этот вопрос -- примерно таким же будет ответ и на вопрос, который задан мне.
abramcumner
Цитата(Willy @ 25.01.2016, 18:32) *
Создание потенциально бесконечного мира Зоны потребует потенциально бесконечного моделлинга. А играть-то когда?
Ответишь на этот вопрос -- примерно таким же будет ответ и на вопрос, который задан мне.

Ответ простой - потенциальные бесконечности кроме фантазий больше нигде не встречаются. Есть подозрения, что в3 и ф4 уместятся в вышеупомянутую сетку smile.gif
Willy
Цитата(abramcumner @ 25.01.2016, 20:40) *
Ответ простой - потенциальные бесконечности кроме фантазий больше нигде не встречаются. Есть подозрения, что в3 и ф4 уместятся в вышеупомянутую сетку smile.gif


Как насчет процедурно генерируемой Зоны и процедурно генерируемой сетки, соответственно?
Это вполне реально.
Создавать вокселы, добавлять заранее подготовленные юниты (постройки, пропы) а потом сглаживать поверхность -- это даже на Unity уже реализовано и успешно продается года два или даже больше.

Но это уже на МайнСталкер какой-то похоже. Хотя, я бы разок сыграл.
abramcumner
Цитата(Willy @ 25.01.2016, 18:47) *
Как насчет процедурно генерируемой Зоны и процедурно генерируемой сетки, соответственно?
Это вполне реально.

Заклинание "процедурно генерируемая" делает предложение в 10 раз более убедительным? Или помогает выполнить потенциально бесконечный цикл за 10 секунд?
К сведению сетка и сейчас "процедурно генерируется" wink_old.gif Ручками ноды никто не расставляет.

Ну и еще заклинание:
Цитата
Останется только придумать стримминг геометрии таким же образом (или по чанкам) и можно получить настоящий бесшовный мир.

Почему магический чанк не может быть размером с уровень сталкера? И при приближении к к левелченжеру не грузить в фоне соответствующий уровень. А при переходе просто поменять указатели с текущего на новый.
Willy
abramcumner, а зачем потенциально бесконечный цикл, если можно выполнять функцию, которая "достроит" мир по мере необходимости на основе полученных данных (рандом, положение актёра, время, что_вам_будет_еще_угодно) и вызывать ее при перемещении / по интервалу времени / каждый фрейм рендера / по желанию ? Да и не обязательно выполнять эту функцию в основном потоке -- можно вынести в параллельный поток именно под эти нужды, чтобы можно было играть во время генерации.

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

И это будет вполне играбельно.

Цитата
Почему магический чанк не может быть размером с уровень сталкера? И при приближении к к левелченжеру не грузить в фоне соответствующий уровень. А при переходе просто поменять указатели с текущего на новый.


Это реально, но бесполезно. Можно яблоко глотать целым и не жевать, но ты же его откусываешь по кусочку, верно?
Или я не прав и цель работы движка -- занять как можно больше гигабайт ОЗУ и файла подкачки?
abramcumner
Цитата(Willy @ 25.01.2016, 19:09) *
Это реально, но бесполезно. Можно яблоко глотать целым и не жевать, но ты же его откусываешь по кусочку, верно?
Или я не прав и цель работы движка -- занять как можно больше гигабайт ОЗУ и файла подкачки?

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

Цитата(Willy @ 25.01.2016, 19:09) *
abramcumner, а зачем потенциально бесконечный цикл, если можно выполнять функцию, которая "достроит" мир по мере необходимости на основе полученных данных (рандом, положение актёра, время, что_вам_будет_еще_угодно) и вызывать ее при перемещении / по интервалу времени / каждый фрейм рендера / по желанию ? Да и не обязательно выполнять эту функцию в основном потоке -- можно вынести в параллельный поток именно под эти нужды, чтобы можно было играть во время генерации.

А можно просто подойти к монолиту и сказать: "хочу сталкер2" biggrin.gif

Ты как-то прыгаешь из стороны в сторону. Если ты уже на лету все генерируешь, то размер сетки вообще не важен - пусть она будет хоть 100х100 - ты же ее нагенерируешь тут же.
RedMagic
Цитата(krovosnork @ 25.01.2016, 17:21) *
Цитата
* Если все выше получится, можно подумать о поддержке огромных локации

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

На самом деле можно сделать поддержку открытых локаций которая будет работать на любом железе. Другое дело что реализация подобного механизма потребует немало усилий, сейчас уже почти прошли те времена когда разработчики боролись за каждый килобайт свободной памяти.
На данный момент почти все игры с открытым миром используют много различных уловок которые позволяют снизить нагрузку. Кому интересно - можете почитать статьи по разбору мира GTA 5, и системы рендеринга (пример уловки: когда ГГ находится в автомобиле, то на улице чаще появляются автомобили того же типа что и игрока. Это позволяет выгрузить лишние модели и освободить память), ссылок сейчас не скину, помню точно только то что на хабре была статья про рендеринг GTA 5.
PS: Может для кого-то это будет открытием, но вот еще одна оптимизация ресурсов которую применили в Super Mario. К сожалению сейчас такого почти не наблюдается, обычно разработчики даже не заботятся об оптимизации т.к. вычислительная мощность игрового ПК позволяет "расслабится".

Цитата(Willy @ 25.01.2016, 18:47) *
Цитата(abramcumner @ 25.01.2016, 20:40) *
Ответ простой - потенциальные бесконечности кроме фантазий больше нигде не встречаются. Есть подозрения, что в3 и ф4 уместятся в вышеупомянутую сетку smile.gif


Как насчет процедурно генерируемой Зоны и процедурно генерируемой сетки, соответственно?
Это вполне реально.
Создавать вокселы, добавлять заранее подготовленные юниты (постройки, пропы) а потом сглаживать поверхность -- это даже на Unity уже реализовано и успешно продается года два или даже больше.

Но это уже на МайнСталкер какой-то похоже. Хотя, я бы разок сыграл.

Идея неплохая, если это хорошо реализовать чтобы все работало как надо и органично вписалось (+ добавить типы генерируемых зон, свалка, болотистая местность, промышленная зона), то это будет даже лучше чем обычная бесшовная зона, т.к. будет эффект неожиданности никогда не знаешь что будет впереди и чего стоит ожидать.
---
Но это мечты конечно же. Слишком большой объем работы, тут не каждая студия это потянет, не говоря уже о разрозненном комьюнити.
Willy
Цитата(abramcumner @ 25.01.2016, 21:13) *
smile.gif Так все-таки грузить зону по кусочкам это правильно или нет? А то я уже запутался.

На вкус и цвет фломастеры разные ©
Но потоковая подгрузка мира без минутных пауз и "Клиент: Синхронизация" нравится гораздо бóльшему количеству людей.

Цитата(abramcumner @ 25.01.2016, 21:13) *
Ты употребляешь магические слова, не вдумываясь в их смысл.

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

Цитата(abramcumner @ 25.01.2016, 21:13) *
А потом оказывается, что сетка уже процедурно-генерируемая. А бесшовная зона уже подгружается чанками.

Геометрия загружается не в отдельном потоке и поэтому приходится сидеть и ждать, пока старый уровень выгрузится из памяти, новый загрузится...

А сетка генерируется той процедурой, которая вообще находится в SDK и берет явно не те структуры ("сырые" -- на основе .object-ов же генерируется сетка), которые используются в самом движке (скомпилированная геометрия мало похожа на формат .object)

====
Цитата(abramcumner @ 25.01.2016, 21:13) *
процедурно-генерируемая

Это как промежуточный вариант между процедурной и генерируемой? Или откуда тут дефис?


Цитата(abramcumner @ 25.01.2016, 21:13) *
Ты как-то прыгаешь из стороны в сторону. Если ты уже на лету все генерируешь, то размер сетки вообще не важен - пусть она будет хоть 100х100 - ты же ее нагенерируешь тут же

Я прыгнул в сторону только один раз на том моменте, когда мы с тобой договорились, что мир будет генерироваться "на лету", а не заранее моделироваться 3D-Artist'ом. Далее все сообщения несут в себе мысль в ключе "Если бы мир генерировался процедурой прямо во время игры". Как геометрия, так и AI-сетка может генерироваться в процессе игры в отдельном потоке (а не в SDK руками, а потом еще компиляцией нагенерированого в xrAI). И в таком случае -- да, размер сетки и геометрии будет ровно таким, каким необходимо и задано в коде движка.

STALKER2011x, спасибо за объективность.
upd. Насчет органичности вписывания, типов структур и прочего.
Есть Indy-игры, в которых заранее подготовленные 3D-модели частей уровня складываются в одно целое в виде случайных комбинаций (пускай тот же SCP:Containment Breach). Если бы была чанковая подгрузка в процессе игры, то можно было бы поступить именно таким образом -- подставлять готовые структуры на процедурно генерируемый в процессе игры террейн. Я не думаю, что это слишком сложно.
Trollz0r
Едрить фантазёров понабежало
abramcumner
Цитата(Willy @ 25.01.2016, 19:34) *
Точно так же и сейчас -- я определенно точно знаю значение каждого термина, который употребил в сообщении.

Очень сомнительно smile.gif Ты просто намешал кучу терминов в кучу.
Например, если ты умеешь генерировать сетку на лету, то тебе сама сетка и не нужна. Ты и без нее сможешь рассчитывать навигацию на лету. Аи-сетки используются только потому, что на лету данные для навигации не посчитаешь.
Если ты умеешь генерировать геометрию налету, зачем тебе стриминг. Ты ее всегда себе нагенерируешь. Стриминг используется для заранее приготовленных данных.

Цитата
А сетка генерируется той процедурой, которая вообще находится в SDK и берет явно не те структуры ("сырые" -- на основе .object-ов же генерируется сетка), которые используются в самом движке (скомпилированная геометрия мало похожа на формат .object)

Процедурная генерация всего лишь говорит о том, человеком или компьютером создается та или иная сущность. В ней нет разделения на сдк или движок, те или не те структуры.
Willy
abramcumner,
===

Цитата(abramcumner @ 25.01.2016, 22:16) *
Очень сомнительно smile.gif Ты просто намешал кучу терминов в кучу.

Вам виднее, магистр. У моего провайдера Википедия работает в отличии от вашего.


Цитата(abramcumner @ 25.01.2016, 22:16) *
Например, если ты умеешь генерировать сетку на лету, то тебе сама сетка и не нужна. Ты и без нее сможешь рассчитывать навигацию на лету. Аи-сетки используются только потому, что на лету данные для навигации не посчитаешь.

Нужно будет сменить алгоритмы A-Life на те, которые не будут использовать сетку (алгоритмы Дейкстры и А*).
Проще на ходу сгенерировать сетку, как это делает SDK и "научить" движок использовать "сырую" нескомпилированную сетку вместо той, которую предоставляет нам xrAI.

Цитата(abramcumner @ 25.01.2016, 22:16) *
Если ты умеешь генерировать геометрию налету, зачем тебе стриминг. Ты ее всегда себе нагенерируешь. Стриминг используется для заранее приготовленных данных.

Стриминг я упоминал только в ключе как раз-таки загрузки готовой геометрии в самом начале. При создании "на лету" я рассказывал о потоках создания данных (сетки, геометрии), а не чтения их из ресурсов. Мы же договорились, что у нас процедура генерирует и сетку и геометрию? Кстати, это тоже потоки, в которые эта процедура генерации "сущностей" будет осуществлять дозапись, не так ли?

Цитата(abramcumner @ 25.01.2016, 22:16) *
Процедурная генерация всего лишь говорит о том, человеком или компьютером создается та или иная сущность.
В ней нет разделения на сдк или движок, те или не те структуры.

Ты вырвал слова из сообщения и утратил контекст, в котором они употреблялись.

С таким подходом мои слова про "откусываешь по кусочку" -- инструкция по поеданию яблок. Не делай больше так, а то станешь похожим на нашу жёлтую прессу.


Посмотрим сюда:
Цитата(abramcumner @ 25.01.2016, 22:16) *
К сведению сетка и сейчас "процедурно генерируется". Ручками ноды никто не расставляет.

Твоя фраза? Твоя. А в каком приложении "Ручками ноды никто не расставляет" ? Не в SDK ли часом?
А в движке на данный момент есть такая функция? Я видел только в SDK. В работающем xrEngine.exe как-то не довелось видеть кнопку "Сделать AI-сетку".

===

И вообще. Где конструктивизм? Последние твои сообщения указывают только на мои "ошибки" (как тебе кажется; фактически все логично и в полном порядке). А как же предложения, новые идеи? Или это тема только для флуда и "Ой-ой-ой, Вилли некомпететнтен в области, о которой говорит"?
abramcumner
Цитата(Willy @ 25.01.2016, 21:29) *
И вообще. Где конструктивизм? Последние твои сообщения указывают только на мои "ошибки" (как тебе кажется; фактически все логично и в полном порядке). А как же предложения, новые идеи? Или это тема только для флуда и "Ой-ой-ой, Вилли некомпететнтен в области, о которой говорит"?

Конструктивизм был у krovosnork`а и у меня про монолит и сталкер2. От тебя только вакханалия процедурной генерации текстов. А еще вот выяснили, что потенциально бесконечная сетка это оказывается сетка 100 на 100. Тоже считаю конструктивным.

Ну я надеялся, что Giperion расскажет подробней, начал ли он новый проект(разработка СДК), а на старый(новая платформа для моддинга) забил. Или просто первый этап он сделал и начал второй. А так только флудить и остается.
Willy
Цитата(abramcumner @ 26.01.2016, 00:09) *
Цитата(Willy @ 25.01.2016, 21:29) *
И вообще. Где конструктивизм? Последние твои сообщения указывают только на мои "ошибки" (как тебе кажется; фактически все логично и в полном порядке). А как же предложения, новые идеи? Или это тема только для флуда и "Ой-ой-ой, Вилли некомпететнтен в области, о которой говорит"?

Конструктивизм был у krovosnork`а и у меня про монолит и сталкер2. От тебя только вакханалия процедурной генерации текстов. А еще вот выяснили, что потенциально бесконечная сетка это оказывается сетка 100 на 100. Тоже считаю конструктивным.


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

"Должно быть <вот так> потому что оно сделано <вот тут> именно таким образом и это можно использовать в X-Ray."

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

Сейчас же вдруг
Цитата(abramcumner @ 26.01.2016, 00:09) *
сетка 100 на 100
"переехала" в какое-то из моих сообщений, так что ли? Или нынче множество "бесконечность" стало равняться 10 000? (100x100)
Грубо говоря, вызовешь функцию генерации нодов 10 000 раз -- получишь сетку 100х100.
Будешь вызывать при передвижении актёра в цикле -- получишь сетку, которая будет генерироваться, пока актёр двигается. Если актёр будет двигаться бесконечно -- получишь бесконечную генерацию сетки. Бесконечная генерация сетки генерирует бесконечную сетку, не так ли?

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

Цитата(abramcumner @ 26.01.2016, 00:09) *
Ну я надеялся, что Giperion расскажет подробней, начал ли он новый проект(разработка СДК), а на старый(новая платформа для моддинга) забил. Или просто первый этап он сделал и начал второй. А так только флудить и остается.

Я бы на месте тов. Giperion похвалил и тебя, abramcumner, и RedPython за "добрые" <=*сарказм* напутствия. Они ведь так хорошо ободряют и подсказывают что именно надо делать! Надо закрыть тему, закрыть репо и со спокойной душой считать, что добрых 40 или даже 50% сообщества уж точно "прогнило" © и ни на что, кроме "фу, не сможешь, сольёшься, дай билд! Пруфы!!11!" не способно. Не так ли?
Flammable
Цитата(Willy @ 25.01.2016, 21:29) *
Нужно будет сменить алгоритмы A-Life на те, которые не будут использовать сетку (алгоритмы Дейкстры и А*).
Проще на ходу сгенерировать сетку, как это делает SDK и "научить" движок использовать "сырую" нескомпилированную сетку вместо той, которую предоставляет нам xrAI.

Навигацию без графов, подходящую для таких игр, как сталкер, делать еще не научились, насколько мне известно. Было бы здорово вместо клеток фиксированного размера использовать т.н. navigation mesh: его можно генерировать в рантайме, как в том же CryEngine. Целиком избавиться от заранее заданных графов, наверное, не получится, потому что клеточки используются для постоения детальных путей, а длинные пути строятся в других графах, которые собираются вручную левелдизайнерами под конкретный уровень.
Хорошая сторона X-Ray состоит в том, что реализация A* в нем способна работать с произвольными графами.
abramcumner
Цитата(Willy @ 25.01.2016, 22:36) *
Надо закрыть тему, закрыть репо и со спокойной душой считать,

Чтобы закрыть репо, его сначала надо открыть smile.gif

Извини, Willy, я не считаю конструктивными заявления типа: "мы все будем генерировать на лету", " мы сделаем полную симуляцию жизни", "потенциально бесконечные" и тому подобное. Просить ст2 у монолита и то конструктивней.

Хочешь конструктивное - скажи, я тут добавляю в ЛЕ процедурную генерацию карты. Убери косяки, оптимизируй и только тогда можно будет посмотреть и подумать - можно ли ее засовывать в движок "на лету". Тоже самое с сеткой и прочим.
Cossack-HD
Зачастую бывает проще написать с нуля, чем пытаться внести новый функционал в изначально неприспособленный под это код, да ещё и в n-итирациях.

Некоторые кастомные фанатские движки к играм предлагают новые технологии и свистоперделки, + полную совместимость с оригинальным контентом - вот к этому нужно стремиться, допиливая "рентген".
Giperion
Цитата(abramcumner @ 22.01.2016, 17:07) *
Первый раз что ли видишь, как говорят одно, а делают другое?

А ты точно умеешь читать?
Цитата(Giperion @ 22.10.2015, 02:55) *
Главная цель: Сделать сталкер более дружелюбным для моддинга.

Я писал вот это. Это главное.
А вот список запланированных фич я могу менять постоянно. Хоть по 100 раз на дню. Имею полное право, проект принадлежит мне. Разработчики Сталкера так же постоянно меняли концепцию игры, да и не только Сталкера - многие разработчики так делают. Даже моды - и те объявляли одно, а в релиз уходили другими.

Цитата(Tron @ 25.01.2016, 17:26) *
Я предлагал SWIG, как более быстрое решение.

SWIG плохо подходит, по сравнению с Lua - это шило на мыло, нету экзепшенов, LINQ и других классных вещей. Да и скриптовой код не должен дублировать код исходников - это банально не красиво, да и не юзабельно.

Цитата(krovosnork @ 25.01.2016, 17:21) *
Кто же знал, что для поддержки огромных локаций нужно столько всего.

Поддержка огромных локации осуществима за разумное время. Это факт.

Цитата(Willy @ 25.01.2016, 17:38) *
А тут потенциально бесконечная сетка, ограниченная размерами жесткого диска, на котором лежит файл AI, ведь ноды будут подгружаться и выгружаться согласно передвижению актёра.

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

Цитата(abramcumner @ 25.01.2016, 18:55) *
Или помогает выполнить потенциально бесконечный цикл за 10 секунд?

Я смотрю ты вообще никогда не занимался процедурным генерированием. Иначе бы знал, что у каждого алгоритма есть своя сложность в зависимости от размера участка и детализации который мы требуем от него. Расход процессорного времени легко можно спрогнозировать, и никаких "потенциально бесконечных" циклов тут просто не может быть. Подобные вещи нужны, когда игровой мир изменился и надо ребилдить этот участок, соответственно запускается генератор, который работает на фоне и расчитывает новую сетку.
В случае Сталкера - некоторые вещи стоит генерировать в рантайме. Например карту укрытий вполне можно генерировать на лету, кэшируя результаты.
Цитата(RedPython @ 25.01.2016, 20:02) *
Едрить фантазёров понабежало

Флудеров тоже смотрю достаточно, абсолютно не конструктивный пост.

Willy
Цитата(abramcumner @ 26.01.2016, 00:55) *
Чтобы закрыть репо, его сначала надо открыть smile.gif


Закрыть == удалить. Согласен, немного неточно.

Цитата(abramcumner @ 26.01.2016, 00:55) *
Извини, Willy, я не считаю конструктивными заявления типа: "мы все будем генерировать на лету", " мы сделаем полную симуляцию жизни", "потенциально бесконечные" и тому подобное. Просить ст2 у монолита и то конструктивней.


А где такие заявления в моем исполнении? Я где-то писал, что "будем"? И что это будет в X-Ray? Это были примеры. Вполне реальные примеры, хоть и в виде теории или "так работает в других играх"

Цитата(abramcumner @ 26.01.2016, 00:55) *
Хочешь конструктивное - скажи, я тут добавляю в ЛЕ процедурную генерацию карты. Убери косяки, оптимизируй и только тогда можно будет посмотреть и подумать - можно ли ее засовывать в движок "на лету". Тоже самое с сеткой и прочим.

Ах, значит теперь понятия "предложения" и "реализация" -- одно и то же или как? Тем более речь шла о процедурной генерации как примере, а не "вот, хочу сделать и подарить прогнившему © сталкерскому сообществу".

В любом случае, в моих словах есть ссылки на факты. В твоих словах только ссылки на "докажи сам или слабó?" или же "ты не прав", но при этом варианта лучше ты не предлагаешь. Достойное поведение, чтобы указывать на неконструктивность.
Giperion
Цитата(abramcumner @ 25.01.2016, 20:16) *
Например, если ты умеешь генерировать сетку на лету, то тебе сама сетка и не нужна.

Правда? Не нужна? Предлагаешь все генерировать на лету, раз мы умеем? Может мы еще и лайтмапы будем генерировать на лету, раз мы умеем? Бред писать пожалуйста не надо.

Цитата(abramcumner @ 25.01.2016, 22:09) *
Конструктивизм был у krovosnork`а и у меня про монолит и сталкер2.

Не знаю в каких темах вы это писали, но здесь вы непонятно что пытаетесь рассказать.
Цитата(abramcumner @ 25.01.2016, 22:09) *
Ну я надеялся, что Giperion расскажет подробней, начал ли он новый проект(разработка СДК), а на старый(новая платформа для моддинга) забил. Или просто первый этап он сделал и начал второй. А так только флудить и остается.

Нету никаких этапов, не надо ничего выдумывать abramcumner, как шла разработка X-Ray 1.7 с октября месяца, так и идет. И флудить пожалуйста не надо, для этого есть курилка на этом форуме.

Так, abramcumner в течений 8 страниц ты пытаешься здесь что-то доказать. Вопрос: зачем? Тебе не надоело? biggrin.gif . Ты будешь тратить своё время, на то чтобы Giperion "одумался" и прекратил делать свой проект? Этого не будет. Можешь успокоится. Я четко знаю зачем я делаю X-Ray 1.7, что я хочу сделать и с помощью чего. Ты многое знаешь, и сам мог бы что то помочь воплотить, но ты решил потратить силы в другое русло - пытаясь высмеивать другие проекты. Зачем? Какие тут лулзы можно получить, или я чего то не понимаю?

Хотя должен всех поблагодарить за проявленный интерес, особенно jamakasi за предоставленный материал о Cell-based culling.
Разработка X-Ray 1.7 продолжается, хотите вы этого, ну или, хех, не хотите.
Я так же продолжу менять список фич на лету, и сделаю это еще не раз и не два.
Человека я кстати недавно нашел, пока достаточно.
Новости будут тогда, когда они появятся, я обязательно здесь напишу.
Будете дальше кричать "Остановись глупец, ты не пройдешь там?!" и снова нафлудим на 10 - 30 страниц, или может уже успокоимся?
krovosnork
Цитата(Giperion @ 25.01.2016, 21:23) *
Поддержка огромных локации осуществима за разумное время. Это факт.

Для поддержки огромных локаций достаточно эти локации сделать. Я сделал огромную (по сравнению с оригиналом) локацию за 7 месяцев, на стандартном сдк 0.4 с единственной правкой. Единственное проблемное место - ограничение по оперативной памяти, с х64 движком можно запихнуть хоть все 30км. Было бы желание.
abramcumner
Цитата(Giperion @ 25.01.2016, 23:24) *
и сам мог бы что то помочь воплотить,

Я уже писал о том, что мне не нравится:
1. закрытые исходники,
2. постоянное изменение планов.
Для тебя эти пункты принципиальны, так что не получится.

Цитата
но ты решил потратить силы в другое русло - пытаясь высмеивать другие проекты.

Просто забавные взаимоисключающие параграфы попадаются smile.gif
SkyLoader
Цитата(Willy @ 25.01.2016, 17:38) *
Даже у long long количества ячеек есть предел (4294967296 ячеек, если быть точным). А тут потенциально бесконечная сетка, ограниченная размерами жесткого диска, на котором лежит файл AI, ведь ноды будут подгружаться и выгружаться согласно передвижению актёра.

Как минимум надо делить аи-сетку на сектора и в параллельном потоке делать подгрузку. По-моему, самое оптимальное решение.
abramcumner
Цитата(Giperion @ 25.01.2016, 23:24) *
Нету никаких этапов, не надо ничего выдумывать abramcumner, как шла разработка X-Ray 1.7 с октября месяца, так и идет. И флудить пожалуйста не надо, для этого есть курилка на этом форуме.

blink.gif По списку задач(октябрь и январь) это два полностью разных проекта. Вообще нет ничего общего. Так что разработка явно идет не так, как шла. Раньше это была "платформа для моддинга", а теперь ты добавляешь "холод" и "хитрые" аномалии.

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

Цитата(abramcumner @ 26.01.2016, 00:01) *
1. Закрытые исходники. При том что они форк опенхрей.

Неважно чей форк, можно подумать опенхрей сам X-Ray изначально сделали. Они тоже взяли то, что дали. К сентябрю, посмотрев что последний коммит в OpenXRay был в апреле, я решил что проект заглох, ну и решил продолжить уже с него.

Цитата(abramcumner @ 26.01.2016, 00:01) *
2. Мне не нравится постоянная смена целей: начал с редизайна lua api, продолжил xrProtect, теперь вырезаешь рендеры, после пасхи будешь пилить опенгл. Хотелось бы чтобы сначала доделывалось одно, а потом брались за другое.

Я не планирую выпускать билды с отдельными фичами. У меня свои задачи, которые появляются в зависимости от текущих проблем. Мой проект фигли.

Цитата(abramcumner @ 26.01.2016, 00:01) *
3. Дурацкая секретность: если захотите пилить СДК, то я вам дам глючную длл без исходников. Ну и хрпротект впридачу.

xrProtect для передачи билда третьим лицам. Т.е. не разработчикам. По поводу секретности - её по сути нету, просто текущий список задач и исходный код закрыты.

Цитата(abramcumner @ 26.01.2016, 00:29) *
Раньше это была "платформа для моддинга", а теперь ты добавляешь "холод" и "хитрые" аномалии.

А что не так? Была платформа для моддинга, так и осталась.

Ты кстати что то еще писал про новости от левых людей и релиз от них (но потом стер). Что за левые люди, если не секрет?
Tron
Цитата(Giperion @ 25.01.2016, 23:24) *
Может мы еще и лайтмапы будем генерировать на лету, раз мы умеем? Бред писать пожалуйста не надо.

Вообще-то это возможно smile.gif
http://joshbeam.com/articles/dynamic_lightmaps_in_opengl/
http://www.humus.name/index.php?page=3D&ID=69
Giperion
Цитата(abramcumner @ 26.01.2016, 00:29) *
Ну и так в порядке высмеивания, чем холод будет отличаться от той же радиации(ну кроме иконки)? Попал в зону холода, обморозился, выпил водки, согрелся. Так это один в один радиация.

Водка не спасает.
Костюм с хорошей рад защитой не факт что спасет от холода. Холод снижает выносливость, а также влияет на другие геймплейные параметры (может замедлять скорость, но тут еще надо балансить). Холод проходит самостоятельно, причем проходит быстрее если игрок начнет бегать, ну или попадет в жарку biggrin.gif . Здоровье отнимается не сразу, т.е. низкие значения холода проходят безболезненно (не считая штрафов на характеристики). Что, похоже на радиацию?
Tron
Цитата(Giperion @ 25.01.2016, 23:23) *
Цитата(Tron @ 25.01.2016, 17:26) *
Я предлагал SWIG, как более быстрое решение.

SWIG плохо подходит, по сравнению с Lua - это шило на мыло, нету экзепшенов, LINQ и других классных вещей. Да и скриптовой код не должен дублировать код исходников - это банально не красиво, да и не юзабельно.

Так, подожди, а причем тут Lua? Ты наверно просто опечатался, и имел ввиду SWIG.
Я не хочу придираться к словам, но ты вообще понимаешь о том как работает SWIG(это только генерация байдингов)?. (если не понимаешь, я расскажу)
jamakasi
Как успехи?
Giperion
До официального анонса (его не было, я лишь команду собирал) я не буду постить новостей.

Когда будет анонс - тогда будет и группа в вк, и сайт с блогом и много чего.
Хотите ждите, хотите не ждите, будет вам сюрприз.
Burco
Цитата(Giperion @ 14.02.2016, 09:57) *
До официального анонса (его не было, я лишь команду собирал) я не буду постить новостей.

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

Здравствуйте, есть какие-нибудь новости?
Graff46
Живые есть?
dPlayer
Цитата(Giperion @ 26.01.2016, 02:52) *
Цитата(abramcumner @ 26.01.2016, 00:29) *
Ну и так в порядке высмеивания, чем холод будет отличаться от той же радиации(ну кроме иконки)? Попал в зону холода, обморозился, выпил водки, согрелся. Так это один в один радиация.

Водка не спасает.
Костюм с хорошей рад защитой не факт что спасет от холода. Холод снижает выносливость, а также влияет на другие геймплейные параметры (может замедлять скорость, но тут еще надо балансить). Холод проходит самостоятельно, причем проходит быстрее если игрок начнет бегать, ну или попадет в жарку biggrin.gif . Здоровье отнимается не сразу, т.е. низкие значения холода проходят безболезненно (не считая штрафов на характеристики).

Дак сто лет назад сделали скриптами.
Giperion
Цитата(Graff46 @ 12.06.2016, 03:24) *
Живые есть?

Есть, работа продолжается. Время не всегда есть, но работа идет.
Цитата(dPlayer @ 12.06.2016, 10:39) *
Дак сто лет назад сделали скриптами.

Я знаю, но хотелось бы это на нативном уровне.
dPlayer
Цитата(Giperion @ 12.06.2016, 13:59) *
хотелось бы это на нативном уровне

Если пилить нечто с прицелом для моддинга, то на нативном уровне уместнее смотрелась бы система для быстрого изменения хар-тик ГГ и прочего, чтобы геймдиз парой строк скрипта мог быстро бросить ГГ в жар/холод/голод/застарелый ревматизм, а не прикручивать к движку всякую мелочь.
Giperion
Цитата(dPlayer @ 12.06.2016, 17:38) *
а не прикручивать к движку всякую мелочь.

xrGame(С++) - это как раз таки модуль игры. Его можно будет редактировать.
В xrGame на мой взгляд надо реализовать ту самую основу - базовые вещи.
А вот в xrScripts (С#) там уже с этим играются.

В UE4 (да и в CryEngine) такая же система, и она оправдывает себя. Даже в Unity некоторую часть игровой графики можно написать на С++.
Ukot
Giperion, есть какие-нибудь новости в развитии проекта?
Giperion
Цитата(Ukot @ 14.09.2016, 17:24) *
Giperion, есть какие-нибудь новости в развитии проекта?

С августа пока ничего не делаю - очень много работы в IRL и по проекту на работе.
С октября продолжу, ибо в октябре выхожу в отпуск. До конца года кое какими новостями поделюсь.

Специально зарегистрировался чтобы спросить, или ты альт?
Ukot
Giperion, да, специально для вопроса регистрировался. Мне импонирует цель проекта, хотел узнать как продвигается работа. Новостями особо не балуют)
А больше в команду никого не нашли?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.