Генерация карты 951456 В конец треда | Веб
Подскажите, как можно сгенерировать карты как в Генерале? (первые три скрина). В примерах карты 50 на 50 для 7 стран. При этом территории одинакового размера.

Мой максимум - это сгенерировать диаграмму Вороного. В примере я сгенерил 50 на 50 поле для 7 стран (скрин 4). При этом разбиение все равно не идеальное, размеры стран слегка отличаются. Ну и выглядит всрато. Границы прямые. И положение стран всегда одинаковое, так как и при рандомном выборе стартовых точек генерации не получится сгенерить территории одинакового размера.

https://ru.wikipedia.org/wiki/%D0%94%D0%B8%D0%B0%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0_%D0%92%D0%BE%D1%80%D0%BE%D0%BD%D0%BE%D0%B3%D0%BE
2 951460
дрочилися в эту игру вдвоём на компе в 2001 году
3 951469
>>460
да, игра великая, но исходники не выкладывают
Figure1.png30 Кб, 640x480
4 951480
import numpy as np
import matplotlib.pyplot as plt
from scipy.spatial import Voronoi, voronoi_plot_2d

# Generate random points
points = np.random.rand(10, 2)

# Calculate Voronoi diagram
vor = Voronoi(points)

# Visualize the Voronoi diagram
fig, ax = plt.subplots()
voronoi_plot_2d(vor, ax=ax)
plt.show()

Ну да, у диаграмы Вороного будут всегда прямые границы.
Может, объединять некоторые ячейки?
5 951485
>>480
вот сейчас копаю в этом направлении: генерировать кучу маленьких сегментов диаграммы Вороного и как-то их мерджить, а потом балансировать размеры полученных территорий. ChatGPT полнейший даун в это вопросе, к сожалению.
6 951487
>>485
Ещё можно модулировать шумом
https://www.redblobgames.com/maps/noisy-edges/
7 951489
>>456 (OP)
https://ru.wikipedia.org/wiki/Клеточный_автомат

Предлагаю такой алгоритм.
1. Изначально поле заполнено нулями.
2. Ставим несколько рандомных точек - зёрна стран.
3. Гоняем клеточный автомат по правилу:

>клетка страны может захватить только нули


4. Когда нулей не осталось, считаем площади.
5. Если площади не равны, гоняем по правилу:

>клетка жирной страны захватывается тощей


6. Когда площади +/- равны, карта готова.

Какие будут результаты - не знаю, пробуй сам.
sage 8 951521
>>489
о, это в markov junior легко делоется.

как и задачка ОПа, там кажись готовое даже есть
9 951523
>>521

>markov junior


Игрушка интересная, а как это в игру встраивать?
image.png12 Кб, 406x648
10 951525
>>521
Крутая штука, но для этой задачи работает примитивно
11 951526
нашел вот такую штуку, тоже на диаграмме вороного базируется
https://azgaar.github.io/Fantasy-Map-Generator/
12 951592
>>525
Так надо код немного пописать, чтобы было не примитивно.
Можно начать с вороного, потом наложить шум сверху, и пройтись клеточным автоматом, чтобы разгладить грани и убрать лишний мусор.
Обновить тред
« /gd/В начало тредаВеб-версияНастройки
/a//b//mu//s//vg/Все доски

Скачать тред только с превьюс превью и прикрепленными файлами

Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах.Подробнее