Перейти в начало страницы

Здравствуйте, гость ( Авторизация | Регистрация )

Gameru.net останавливает работу в связи с вторжением армии РФ в Украину. Следите за дальнейшими анонсами.
Support Gameru!

> Помощь по разделу

Сайт S.T.A.L.K.E.R. Inside / [ЗП] Параметры командной строки / Распаковщик ресурсов

> X-Ray Oxygen, (x64) Why not?
ForserX
сообщение 29.10.2017, 22:38
Сообщение #161


Почти Игроман
*********

Репутация:   91  
Группа: Модератор
Сообщений: 516
Регистрация: 19.07.2015




Вставить ник Цитировать выделенное в форуму быстрого ответа



X-Ray Oxygen 1.7f
«X-Ray Oxygen» - это OpenSource проект по рефакторингу движка X-Ray, представляющий собой платформу для разработки игр или же модификаций. Проект не имеет мультиплеера, так же он неподдерживает 32 битные системы. Кроме рефакторинга, у нас есть расширенный скриптовый функционал для создания более гибкой скриптовой логики, так же различные улучшения в оружейной части, включая поддержку новых звуков и анимаций, если таковые имеются. Особую роль для нас играет графическая составляющая, какой же прок от движка в 2018 годе без хорошей графики smile.gif? Помимо этого, мы стараемся задействовать как можно больше функционала вашего процессора, из-за чего мы стараемся использовать различные наборы инструкций, таких, как SSE 4.1. Так же основную роль в наше время играет многопоточность, о которой мы стараемся не забывать.

К нам в проект требуются: C# программисты, C++/CLI разработчики, HLSL программисты, не помешали бы OpenGL/Vulkan разработчики, которых в ST-Community практически нет, а жаль... Если вы желаете помочь проекту, свяжитесь со мной или же воспользуйтесь системой Issues/PR на GitHub.

Основные изменения
• Полностью рабочий x64
• Переделанная Mixed конфигурация (для разработчиков)
• Удалёно много ненужного кода, в том числе стороннего API и мультиплеерного.
• Многоядерная обработка потоков
• Многопоточность
• Новая звуковая система: OpenAL Soft + EFX
• C# Скриптинг (Spectre Script Engine)
Планы

• Поддержка DirectX 12
• Обновление графической составляющей
• Улучшение оптимизации
• xAudio2




[WARNING!] Для работы данного проекта требуется C++ Redistributable for VS 2019 x64.
[WARNING!] Нет статического освещения. Бугага!
[WARNING!] Нет поддержки WinXP



Сообщение отредактировал ForserX - 12.06.2021, 00:13


--------------------

В армии по 01.07.2020.
Перейти в начало страницы
 
29 страниц V  « < 7 8 9 10 11 > »   
Начать новую тему
Ответов
Willy
сообщение 25.01.2016, 17:32
Сообщение #162


Новичок
*

Репутация:   1  
Группа: Участник
Сообщений: 10
Регистрация: 22.10.2015




Вставить ник Цитировать выделенное в форуму быстрого ответа


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


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

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

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

Сообщение отредактировал Willy - 25.01.2016, 17:44
Перейти в начало страницы
 
abramcumner
сообщение 25.01.2016, 18:05
Сообщение #163


Игровое Воплощение
*********************

Репутация:   394  
Группа: Участник
Сообщений: 4791
Награды: 4
Регистрация: 27.04.2011




Вставить ник Цитировать выделенное в форуму быстрого ответа


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

Создание потенциально бесконечной сетки потребует потенциально бесконечного времени. Играть-то когда?
Перейти в начало страницы
 
Willy
сообщение 25.01.2016, 18:26
Сообщение #164


Новичок
*

Репутация:   1  
Группа: Участник
Сообщений: 10
Регистрация: 22.10.2015




Вставить ник Цитировать выделенное в форуму быстрого ответа


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


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

Ответишь на этот вопрос -- примерно таким же будет ответ и на вопрос, который задан мне.
Перейти в начало страницы
 
abramcumner
сообщение 25.01.2016, 18:34
Сообщение #165


Игровое Воплощение
*********************

Репутация:   394  
Группа: Участник
Сообщений: 4791
Награды: 4
Регистрация: 27.04.2011




Вставить ник Цитировать выделенное в форуму быстрого ответа


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

Ответ простой - потенциальные бесконечности кроме фантазий больше нигде не встречаются. Есть подозрения, что в3 и ф4 уместятся в вышеупомянутую сетку smile.gif
Перейти в начало страницы
 
Willy
сообщение 25.01.2016, 18:41
Сообщение #166


Новичок
*

Репутация:   1  
Группа: Участник
Сообщений: 10
Регистрация: 22.10.2015




Вставить ник Цитировать выделенное в форуму быстрого ответа


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


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

Но это уже на МайнСталкер какой-то похоже. Хотя, я бы разок сыграл.
Перейти в начало страницы
 
abramcumner
сообщение 25.01.2016, 18:49
Сообщение #167


Игровое Воплощение
*********************

Репутация:   394  
Группа: Участник
Сообщений: 4791
Награды: 4
Регистрация: 27.04.2011




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(Willy @ 25.01.2016, 18:47) *
Как насчет процедурно генерируемой Зоны и процедурно генерируемой сетки, соответственно?
Это вполне реально.

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

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

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

Сообщение отредактировал abramcumner - 25.01.2016, 18:54
Перейти в начало страницы
 
Willy
сообщение 25.01.2016, 19:03
Сообщение #168


Новичок
*

Репутация:   1  
Группа: Участник
Сообщений: 10
Регистрация: 22.10.2015




Вставить ник Цитировать выделенное в форуму быстрого ответа


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

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

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

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


Это реально, но бесполезно. Можно яблоко глотать целым и не жевать, но ты же его откусываешь по кусочку, верно?
Или я не прав и цель работы движка -- занять как можно больше гигабайт ОЗУ и файла подкачки?
Перейти в начало страницы
 
abramcumner
сообщение 25.01.2016, 19:12
Сообщение #169


Игровое Воплощение
*********************

Репутация:   394  
Группа: Участник
Сообщений: 4791
Награды: 4
Регистрация: 27.04.2011




Вставить ник Цитировать выделенное в форуму быстрого ответа


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

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

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

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

Ты как-то прыгаешь из стороны в сторону. Если ты уже на лету все генерируешь, то размер сетки вообще не важен - пусть она будет хоть 100х100 - ты же ее нагенерируешь тут же.
Перейти в начало страницы
 
RedMagic
сообщение 25.01.2016, 19:26
Сообщение #170


Высший Игровой Бог
************************

Репутация:   1747  
Группа: Супермодератор
Сообщений: 12594
Награды: 15
Регистрация: 05.11.2009




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(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
сообщение 25.01.2016, 19:28
Сообщение #171


Новичок
*

Репутация:   1  
Группа: Участник
Сообщений: 10
Регистрация: 22.10.2015




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(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). Если бы была чанковая подгрузка в процессе игры, то можно было бы поступить именно таким образом -- подставлять готовые структуры на процедурно генерируемый в процессе игры террейн. Я не думаю, что это слишком сложно.

Сообщение отредактировал Willy - 25.01.2016, 19:43
Перейти в начало страницы
 
Trollz0r
сообщение 25.01.2016, 19:56
Сообщение #172


Почти Мастер
***********

Репутация:   1357  
Группа: Участник
Сообщений: 1155
Награды: 5
Регистрация: 28.05.2010




Вставить ник Цитировать выделенное в форуму быстрого ответа


Едрить фантазёров понабежало


--------------------
Сверхнарод, не желающий кормить своего уицраора шаввой, будет кормить чужого гаввахом!
---------------
------------
----------
--------
------
----
--
Перейти в начало страницы
 
abramcumner
сообщение 25.01.2016, 20:10
Сообщение #173


Игровое Воплощение
*********************

Репутация:   394  
Группа: Участник
Сообщений: 4791
Награды: 4
Регистрация: 27.04.2011




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(Willy @ 25.01.2016, 19:34) *
Точно так же и сейчас -- я определенно точно знаю значение каждого термина, который употребил в сообщении.

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

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

Процедурная генерация всего лишь говорит о том, человеком или компьютером создается та или иная сущность. В ней нет разделения на сдк или движок, те или не те структуры.
Перейти в начало страницы
 
Willy
сообщение 25.01.2016, 21:23
Сообщение #174


Новичок
*

Репутация:   1  
Группа: Участник
Сообщений: 10
Регистрация: 22.10.2015




Вставить ник Цитировать выделенное в форуму быстрого ответа


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-сетку".

===

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


Сообщение отредактировал Willy - 25.01.2016, 21:36
Перейти в начало страницы
 
abramcumner
сообщение 25.01.2016, 22:03
Сообщение #175


Игровое Воплощение
*********************

Репутация:   394  
Группа: Участник
Сообщений: 4791
Награды: 4
Регистрация: 27.04.2011




Вставить ник Цитировать выделенное в форуму быстрого ответа


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

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

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

Сообщение отредактировал abramcumner - 25.01.2016, 22:03
Перейти в начало страницы
 
Willy
сообщение 25.01.2016, 22:30
Сообщение #176


Новичок
*

Репутация:   1  
Группа: Участник
Сообщений: 10
Регистрация: 22.10.2015




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(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
сообщение 25.01.2016, 22:47
Сообщение #177


Опытный Геймер
*******

Репутация:   22  
Группа: Участник
Сообщений: 169
Награды: 2
Регистрация: 19.11.2010




Вставить ник Цитировать выделенное в форуму быстрого ответа


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

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


--------------------
Перейти в начало страницы
 
abramcumner
сообщение 25.01.2016, 22:49
Сообщение #178


Игровое Воплощение
*********************

Репутация:   394  
Группа: Участник
Сообщений: 4791
Награды: 4
Регистрация: 27.04.2011




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(Willy @ 25.01.2016, 22:36) *
Надо закрыть тему, закрыть репо и со спокойной душой считать,

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

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

Хочешь конструктивное - скажи, я тут добавляю в ЛЕ процедурную генерацию карты. Убери косяки, оптимизируй и только тогда можно будет посмотреть и подумать - можно ли ее засовывать в движок "на лету". Тоже самое с сеткой и прочим.
Перейти в начало страницы
 
Cossack-HD
сообщение 25.01.2016, 23:11
Сообщение #179


TECHNOSLAV 80 уровня
**********************

Репутация:   379  
Группа: Участник
Сообщений: 5758
Награды: 6
Регистрация: 26.01.2014




Вставить ник Цитировать выделенное в форуму быстрого ответа


Зачастую бывает проще написать с нуля, чем пытаться внести новый функционал в изначально неприспособленный под это код, да ещё и в n-итирациях.

Некоторые кастомные фанатские движки к играм предлагают новые технологии и свистоперделки, + полную совместимость с оригинальным контентом - вот к этому нужно стремиться, допиливая "рентген".


--------------------
Ryzen 3700X
Arctic Freezer 33 eSports Duo
16GB DDR4 3600MHz
Strix GTX 1080 TI
Перейти в начало страницы
 
Giperion
сообщение 25.01.2016, 23:17
Сообщение #180


Геймер
******

Репутация:   19  
Группа: Участник
Сообщений: 105
Награды: 2
Регистрация: 12.05.2010




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(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
сообщение 25.01.2016, 23:18
Сообщение #181


Новичок
*

Репутация:   1  
Группа: Участник
Сообщений: 10
Регистрация: 22.10.2015




Вставить ник Цитировать выделенное в форуму быстрого ответа


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


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

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


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

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

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

В любом случае, в моих словах есть ссылки на факты. В твоих словах только ссылки на "докажи сам или слабó?" или же "ты не прав", но при этом варианта лучше ты не предлагаешь. Достойное поведение, чтобы указывать на неконструктивность.
Перейти в начало страницы
 

29 страниц V  « < 7 8 9 10 11 > » 
Ответить в данную темуНачать новую тему
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 19.04.2024, 10:09