Я экспериментировал с алгоритмами для автоматического создания дорожных карт для игры, над которой я работаю.
Я использую игры « Kingdom Rush » в качестве ориентира, так как у них есть отличные карты.
Я новичок в генерации процедурного контента, и мне было интересно, есть ли у кого-нибудь здесь указатели. Я экспериментировал с генерацией случайных топологий дорог, например, нескольких узлов входа / источника, нескольких внутренних узлов (разветвления и слияния) и некоторых узлов выхода приемника, а затем с использованием алгоритмов компоновки графа для создания реальной дорожной карты на основе этой информации.
Вот один пример использования алгоритма Fruchterman-Reingold для разметки дороги:
Синий график использует несколько случайно сгенерированных контрольных точек Безье, чтобы края выглядели менее прямыми.
Вот еще один пример, сгенерированный с использованием того же алгоритма, но разных случайных чисел:
Проблема в том, что большинство результатов в итоге выглядят довольно схожими, и я не уверен, какие правила я могу добавить, чтобы улучшить управляемость и разнообразие процедурно сгенерированных карт.
Любой совет приветствуется.
источник
Ответы:
В ваших примерных дорогах есть кривые на отрезках между перекрестками, где ваши сгенерированные не имеют. Вы пытались добавить больше «лишних» контрольных точек на ваших дорогах?
Как насчет того, чтобы количество циклов было параметром генерации? Также «извилистость» (количество избыточных контрольных точек) Количество выходов будет другим.
Я думаю, что вы также можете заканчивать дороги, когда они попадают на перекрестки, давая им двойные контрольные точки. Это должно заставить пересечения выглядеть лучше.
источник