Size: a a a

RU Rust GameDev — русскоговорящее сообщество

2020 April 10

AL

Andrey @ozkriff Lesnikov in RU Rust GameDev — русскоговорящее сообщество
Знает кто, где можно посмотреть алгоритмы генерации комнатных данжей в 3д мире?
источник

AL

Andrey @ozkriff Lesnikov in RU Rust GameDev — русскоговорящее сообщество
Переслано от Andrey @ozkriff Lesnikov
я бы начал копать с https://redblobgames.com и http://roguebasin.com, но это лучше в @rust_gamedev_ru обсуждать дальше
источник

AT

Alexander Tchitchigin in RU Rust GameDev — русскоговорящее сообщество
Andrey @ozkriff Lesnikov
Знает кто, где можно посмотреть алгоритмы генерации комнатных данжей в 3д мире?
По-моему, обычно генерирую 2D карту и просто шлёпают по ней "стандартные" 3D комнаты.
источник

AT

Alexander Tchitchigin in RU Rust GameDev — русскоговорящее сообщество
Генерация интересных (2D) карт — творческий вопрос, на эту тему публикуют статьи с разными алгоритмами и подходами. В частности, есть статьи про генетические алгоритмы генерации, в частности, из Университета Иннополис.
источник

AL

Andrey @ozkriff Lesnikov in RU Rust GameDev — русскоговорящее сообщество
Alexander Tchitchigin
По-моему, обычно генерирую 2D карту и просто шлёпают по ней "стандартные" 3D комнаты.
смотря что именно человеку нужно. я точно где-то видел статейки о том, как именно в 3д сначала раскидывают заготовки комнат со случайным поворотом в разные стороны, а потом выбирают интересные способы их соединения между собой
источник

AT

Alexander Tchitchigin in RU Rust GameDev — русскоговорящее сообщество
Andrey @ozkriff Lesnikov
смотря что именно человеку нужно. я точно где-то видел статейки о том, как именно в 3д сначала раскидывают заготовки комнат со случайным поворотом в разные стороны, а потом выбирают интересные способы их соединения между собой
У меня "комнатные данжи" не вызывают ассоциаций с уровнями из Quake I. 🤷‍♀️😊
Но я и написал "по-моему" и "обычно". 😊
источник

AL

Andrey @ozkriff Lesnikov in RU Rust GameDev — русскоговорящее сообщество
так-то да, точно не распространенный подход
источник

MD

Max Demydenko in RU Rust GameDev — русскоговорящее сообщество
Ну вообще хочется рандомные комнатки, что бы они одинаковыми не были все, но пока что все сводится к тому что придется все самому придумывать.
источник

MD

Max Demydenko in RU Rust GameDev — русскоговорящее сообщество
В общем что-то более сложное чем это
источник

MD

Max Demydenko in RU Rust GameDev — русскоговорящее сообщество
источник

AL

Andrey @ozkriff Lesnikov in RU Rust GameDev — русскоговорящее сообщество
привет процедурноте из даггерфола https://cdn.tutsplus.com/gamedev/uploads/2014/01/animation-daggerfall-moduleshighlighting.gif
источник

AL

Andrey @ozkriff Lesnikov in RU Rust GameDev — русскоговорящее сообщество
в общем, не могу вспомнить что за статью\пейпер я листал, но статьи о чем-то подобном вполне гуглятся https://gamedevelopment.tutsplus.com/tutorials/bake-your-own-3d-dungeons-with-procedural-recipes--gamedev-14360 - если сильно странного не хотеть, то довольно и простые брутфорсные алгоритмы вполне должны вменяемые пещеры выдавать
источник

AL

Andrey @ozkriff Lesnikov in RU Rust GameDev — русскоговорящее сообщество
если хочется прям естественно выглядящих пещер, то можно за основу брать диаграмму вороного по случайным точкам. выбрать случайные дорожки из полигонов диаграммы и потом, если сеттинг требует, уже туда вклеить искусственно созданные людьми прямоуголные комнаты с более прямыми выкопанными людьми соединениями
источник

MD

Max Demydenko in RU Rust GameDev — русскоговорящее сообщество
мб так и сделаю
источник

ВМ

Виталий Медоваров in RU Rust GameDev — русскоговорящее сообщество
Тут стоит учесть, что разные комнаты не сделают тебе разный геймплей. В первую очередь нужно придумать как генерировать интересный граф этих комнат. В том смысле что одной и той же цели было бы возможно добиваться разными способами, например, иметь короткий путь с сильными монстрами, либо долгий но с более слабыми, так же очень интересно делать генерацию когда на уровне нужно искать ключи для отпирания дверей и всё такое. Советую почитать книжек/статей по левелдизайну и отталкиваться в первую очередь от идей оттуда
источник

AL

Andrey @ozkriff Lesnikov in RU Rust GameDev — русскоговорящее сообщество
по spelunky, например, довольно много есть заметок\анализов почему его процгенерация так хорошо работает - советую полистать
источник

ВМ

Виталий Медоваров in RU Rust GameDev — русскоговорящее сообщество
Можно заюзать волнофункциональный коллапс кстати, он работает как для 2д так и для 3д
источник

ВМ

Виталий Медоваров in RU Rust GameDev — русскоговорящее сообщество
Но нужно заготавливать очень мгого "тайлов"
источник

AL

Andrey @ozkriff Lesnikov in RU Rust GameDev — русскоговорящее сообщество
ржавая статейка насчет WFC: https://gridbugs.org/wave-function-collapse/
источник

AL

Andrey @ozkriff Lesnikov in RU Rust GameDev — русскоговорящее сообщество
да и у брекета в его ржаво-рогаликокниге есть глава https://bfnightly.bracketproductions.com/rustbook/chapter_33.html
источник