Войти
ПрограммированиеФорумИгровая логика и ИИ

Подкиньте несложный алгоритм построения локаций...

#0
15:55, 17 окт. 2017

Всем доброго для, ищу адекватный, не сложный (без наворотов) алгоритм (пример) построения локаций.
По сути нужно генерировать карту

1. 2 уровня высот (море/земля)
2. На земле могут встречаться лесные массивы, горы(заградительный элемент)
3. Всякого рода шахты с голдой, "заброшенные" каменоломни....
4. Реки, озера...

желательно масштабировать это все до бесконечности ))


#1
16:20, 17 окт. 2017
+ Показать
#2
16:22, 17 окт. 2017

смешно.

#3
16:29, 17 окт. 2017

joub
> желательно масштабировать это все до бесконечности
Вот и ответ. Фрактал, однако...

#4
16:44, 17 окт. 2017

joub
> Всем доброго для, ищу адекватный, не сложный (без наворотов) алгоритм (пример)
> построения локаций.
> По сути нужно генерировать карту
> 1. 2 уровня высот (море/земля)
> 2. На земле могут встречаться лесные массивы, горы(заградительный элемент)
> 3. Всякого рода шахты с голдой, "заброшенные" каменоломни....
> 4. Реки, озера...
>
> желательно масштабировать это все до бесконечности ))

Если нужна карта планеты (квадратной, не шарообразной и не тороидальной), то вот мой вариант.
Делал без масштабирования до бесконечности, без рек, озёр и шахт с голдой. Крайне геморный вариант.
1. Карта высот алгоритмом Diamond Square (сойдёт любой другой). Опционально сглаживание.
2. Карта материков и океанов с разными глубинами и высотами.
3. Карта влажности в зависимости от высоты над уровнем моря и чего-то там ещё. Уже не помню как делал. Посмотрел карты нашей земли и попытался сделать похоже.
4. Карта температур в зависимости от высоты над уровнем моря и влажности. Так же посмотрел карты и сделал, чтобы генерировало похоже.
5. Карта биомов. Тоже открывал атлас, играл с цифрами и пытался сделать как на земле.

В результате получается плоская карта биомов с 2-мя уровнями высот. Она используется. Остальные карты выкидываются

Вот такой результат даёт генератор.
Карта высот:

+ Показать

Раздельно суша и океаны:
+ Показать

Карта влажности
+ Показать

Карта температур:
+ Показать

Биомы:
+ Показать

Если надо, могу скинуть исходник или рабочую прогу (если найду незапоротую версию). Исходник на Lua.

#5
16:49, 17 окт. 2017

Алгоритм на Lua (да, говнокод. Сорян)

+ Показать

+ Показать
+ Показать
#6
16:50, 17 окт. 2017

Продолжение

+ Показать

#7
18:08, 17 окт. 2017

Васян
мысль уловил ))) буду копаться в этом направлении, а какие алгоритмы карт высот еще бывают ?: )

#8
19:25, 17 окт. 2017

joub
> а какие алгоритмы карт высот еще бывают ?
Perlin Noise

#9
0:17, 4 дек. 2017

Ура, немного получилось сгенерировать то что нужно ))

Теперь встал вопрос с более мелкими деталями, имеет ли смысл генерировать этим же алгоритмом более мелкие детали, такие как биомы леса, пустынь, скал...

Тут пример генератора на Java

+ Показать

#10
11:16, 4 дек. 2017

Вот пример карты из как мне кажется - удачного...

карта | Подкиньте несложный алгоритм построения локаций...
#11
12:44, 4 дек. 2017

Может стоит попросту процентно задать столько хотим воды, песка, зелени и гор ? :)

#12
15:53, 28 дек. 2017

Генератор миров (в разных проекциях) http://topps.diku.dk/torbenm/maps.msp на простом С.
ИзображениеИзображение

ПрограммированиеФорумИгровая логика и ИИ

Тема в архиве.