Вообще-то нет. Это вещь, которая сильно облегчает труд левелдизайнеров. Именно поэтому ни одна масштабная игра с открытым миром типа Скайрима или Обливиона без процедурной генерации сейчас и не обходится. Но поскольку любая процедурная генерация уступает разумному замыслу, то на практике делается комбинированный вариант: основу накидывают посредством процедурной генерации, а потом дизайнер вручную правит отдельные элементы, создавая более интересные и естественные сцены.
XYZ moment. Я практически нигде не упоминаю подобные инструменты(да тот же speedtree), потому что не отношу их к процедурной генерации полноценно. Это просто математическая утилита, которая, да, подходит под формальное определение процедурной генерации, но на опыт не влияет совершенно, разнообразия не придаёт и просто ставит вместо левелдизайнера деревья/фонарные столбы там же, где он бы их поставил.
Возможно тема для видоса - как совместить процедурную генерацию и тестирование геймплея? Возможно в энимал кроссинг сделано так мало карт из-за экономии бюджета на тестировании карт, так как каждая карта должна быть хорошо отточена с точки зрения геймплея.
Очень интересно, можно ли генерировать в 2д метроидвании уровни. Есть игры, по типу Полый Рыцарь и Ори (как пример). Ловушки, комнаты, проходы и ТД. Интересно
Если брать более широкий случай - то есть, когда комнаты собраны заранее и из них собирается уровень - то такая генерация есть во многих простых рогаликах, типа Neon Abyss. Если брать более сложный случай, когда в пределах каждой комнаты генерируется ещё и наполнение, то там уже более сложная структура на графах, однако, это тоже не ракетостроение и довольно просто, однако навскидку привести пример подобных игр не смогу.
Раздутый Quad-A(возможно даже Penta-A) бюджет, огромные затраты человекоресурсов и большие вопросы к любому из аспектов этого суперпроекта:D Или No Man's Sky, который релизнулся не без проблем, но сейчас представляет вполне себе прекрасный космосим.
Это чисто утилитарная штука. Чтоб она стала вызывать эмоции, нужно научить алгоритм понимать эти эмоции. А такой теории пока нет. Мы слабо представляем что нас может впечатлить.
1. Специалистов практически нет; 2. Средний программист плохо представляет, что такое процген; 3. Студии не хотят слабо контролируемых экспериментов. Сведя всё к одному - некому эту технологию применять.
Ну как в Майнкрафте для того чтоб сохранять мир было легче было просто вообще непонятно как они работают именно теорию дают а практики на Ютубе я невидел
То, о чём вы говорите - сид, зерно генерации. Сид используется не для сохранение мира, а для его повторяемого создания. Сид лежит в основе любого генератора псевдослучайных чисел(об этом неплохо написано на русской википедии). В целом чтобы с этим разобраться, рекомендую ознакомиться с тем, как работает рандом в языках программирования в целом. Для юнити, например, сид регулируется через поле Random.seed. С запуском приложения в него подставляется время запуска, однако его можно принудительно назначить каким угодно числом. С System.Random ещё проще - у него при создании экземпляра в конструкторе можно передать сид, так что этот процесс гарантированно контролируемый.
Был такой старый анекдот. - Да ну эти языки программирования. Вот бы был инструмент, чтобы описываешь ему игру в мельчайших подробностях, а он её делал сам! - Такой инструмент уже есть. - Надо же! Какой? - Язык программирования.
следующее видео: айсберг процедурной генерации в играх.
Почему бы и нет)
Жаль, что не получится особо глубоким.
@@alexeyrival кубик льда.
Было бы круто
Думал что сделал игру с проц. генератором, оказалось с рандомным. Спасибо, полезное видео.
Ого! Наконец то я нашел канал, который тесно связан с процедурной генерацией!) По моему эту тему как то несправедливо мало освещают
Есть такая тема)
Потому и начал поактивнее видосы пилить. Раньше хоть статьи на хабр переводили, а сейчас вообще пусто.
Потому что это невероятно объемная и сложная вещь в которую надо вложить душу.
В том числе, да)
Вообще-то нет. Это вещь, которая сильно облегчает труд левелдизайнеров. Именно поэтому ни одна масштабная игра с открытым миром типа Скайрима или Обливиона без процедурной генерации сейчас и не обходится. Но поскольку любая процедурная генерация уступает разумному замыслу, то на практике делается комбинированный вариант: основу накидывают посредством процедурной генерации, а потом дизайнер вручную правит отдельные элементы, создавая более интересные и естественные сцены.
XYZ moment.
Я практически нигде не упоминаю подобные инструменты(да тот же speedtree), потому что не отношу их к процедурной генерации полноценно. Это просто математическая утилита, которая, да, подходит под формальное определение процедурной генерации, но на опыт не влияет совершенно, разнообразия не придаёт и просто ставит вместо левелдизайнера деревья/фонарные столбы там же, где он бы их поставил.
@@Zero-md5qr Под словом "душа" я имел ввиду метафору.
Возможно тема для видоса - как совместить процедурную генерацию и тестирование геймплея? Возможно в энимал кроссинг сделано так мало карт из-за экономии бюджета на тестировании карт, так как каждая карта должна быть хорошо отточена с точки зрения геймплея.
Круто! Твоя любимая тема )
Интересно!
Годнота! Подписался, жду еще контента. Возможно это натолкнет меня на использование его в моей работе или в gamejam-ах :)
А у тебя интересный канал, спасибо
Надо мир чтоб генирился как в Майнкрафт а здания внутри как в Рогаликах!
Баланс найден!)
В cube world и ноу мен скай похоже!
Очень крутое видео,давай ещё
Да вот, как обычно над темой размышляю)
Процедурной генерациец обладает Баротраума кстати... Вроде как. Карта и пещеры делаются рандомно из созданных заранее элементов
Честно, думал что все возможности процгена ограничиваются перемешиванием комнат в рогаликах. На что еще она может повлиять?
У меня есть несколько отдельных видео на эту тему.
Если коротко - на вообще всё:D
Очень интересно, можно ли генерировать в 2д метроидвании уровни. Есть игры, по типу Полый Рыцарь и Ори (как пример). Ловушки, комнаты, проходы и ТД. Интересно
Если брать более широкий случай - то есть, когда комнаты собраны заранее и из них собирается уровень - то такая генерация есть во многих простых рогаликах, типа Neon Abyss.
Если брать более сложный случай, когда в пределах каждой комнаты генерируется ещё и наполнение, то там уже более сложная структура на графах, однако, это тоже не ракетостроение и довольно просто, однако навскидку привести пример подобных игр не смогу.
@@alexeyrival действительно) Спасибо за ответ
Что если совместить топ физику, графику, мультиплеер и процген? Шедевр или гора багов?
Раздутый Quad-A(возможно даже Penta-A) бюджет, огромные затраты человекоресурсов и большие вопросы к любому из аспектов этого суперпроекта:D
Или No Man's Sky, который релизнулся не без проблем, но сейчас представляет вполне себе прекрасный космосим.
Это чисто утилитарная штука. Чтоб она стала вызывать эмоции, нужно научить алгоритм понимать эти эмоции. А такой теории пока нет. Мы слабо представляем что нас может впечатлить.
В последнем видосе на канале - о теории - я как раз разбираю этот момент)
Видео называется, "Почему..." а ответа почему так и нет.
1. Специалистов практически нет;
2. Средний программист плохо представляет, что такое процген;
3. Студии не хотят слабо контролируемых экспериментов.
Сведя всё к одному - некому эту технологию применять.
No man's sky сейчас лучшая игра про космос
+
Кто может объяснить как ключи генерации делать или я тупой и они сами делаются
Смотря что подразумевается под ключами)
Ну как в Майнкрафте для того чтоб сохранять мир было легче было просто вообще непонятно как они работают именно теорию дают а практики на Ютубе я невидел
То, о чём вы говорите - сид, зерно генерации.
Сид используется не для сохранение мира, а для его повторяемого создания.
Сид лежит в основе любого генератора псевдослучайных чисел(об этом неплохо написано на русской википедии). В целом чтобы с этим разобраться, рекомендую ознакомиться с тем, как работает рандом в языках программирования в целом.
Для юнити, например, сид регулируется через поле Random.seed. С запуском приложения в него подставляется время запуска, однако его можно принудительно назначить каким угодно числом.
С System.Random ещё проще - у него при создании экземпляра в конструкторе можно передать сид, так что этот процесс гарантированно контролируемый.
@@greencube4308 Сид это просто число, которое вставляют в готовое уравнение и получают уникальный шум, из которого генерится карта и всё остальное
когда можно будет сгенерировать игру?
Смотря какую.
@@alexeyrival Может в будущем люди обучат ии делать игры... и тогда мы будем нажимать на одну кнопочку чтобы получить совсем другую игру :D
Был такой старый анекдот.
- Да ну эти языки программирования. Вот бы был инструмент, чтобы описываешь ему игру в мельчайших подробностях, а он её делал сам!
- Такой инструмент уже есть.
- Надо же! Какой?
- Язык программирования.
А вообще может потом сделаю видео на подобную тему, сам неоднократно задумывался в эту сторону.
Стрельба ракетами по воробьям. Нейросети во многих задачах - переусложнение. В этой в том числе.
Ясно, автор продался и создал видео для рекламы "Вкалендаре", которой уделил особое место в конце
Было бы круто продаться с 600 подписчиками на момент создания этого видео..........
Minecraft - скучный?
Ну ты загнул.
Сам кубач - не скучный. Скучна его генерация. На канале есть видео, в которых я объясняю, почему.
@@alexeyrival самая крутая генерация это в Dwarf Fortress)
Одна из)