Этот запрос является частью статьи о ресурсах по построению мира .
Но все эти прекрасные земли выглядят немного пустынными. В моем мире я хочу оживить его, и одним из первых шагов для завершения моей карты является нанесение границ и определение стран.
Есть ли альтернатива переписыванию всей истории от доисторических миграций до того времени, когда происходит действие истории?
Для данной страны я мог бы выполнить шаги, указанные в этом вопросе . Но если у меня есть целый континент?
Примечание:
Это часть серии вопросов, которые пытаются разбить процесс создания мира от первоначального создания суши до эрозии, погодных условий, биомов и любых других связанных тем. Пожалуйста, ограничьте ответы этой конкретной темой, а не переходите к другим областям, поскольку другие темы будут охвачены другими вопросами.
Все эти вопросы предполагают земной сферический мир на орбите в обитаемом диапазоне.
См. другие вопросы из этой серии здесь: http://meta.worldbuilding.stackexchange.com/questions/2594/creating-a-realistic-world-series
Национальные границы будут проходить по рекам, горным хребтам, большим лесам, внутренним озерам и пустыням.
Горные хребты, пустыни и большие леса образуют буферные зоны между странами, поскольку эти биомы не очень подходят для проживания (людей). Таким образом, у вас могут быть две большие нации, разделенные горным хребтом, но второстепенные нации, населяющие сами горы (например, Гималаи).
Так что подумайте о крупных нациях, разделенных буферными нациями, причем последние населяют буферные зоны с более сложной обитаемостью.
Сложная обитаемость не обязательно означает, что здесь невозможно или очень трудно жить, просто население там будет меньше и должно иметь специальные навыки, чтобы жить там.
Как только эти факторы будут приняты во внимание, нам нужно добавить второй уровень мелких деталей, основанный на построении вашего мира исторической лингвистики вашего мира. Решите, как мигрировали древние народы в вашем мире, и таким образом определите лоскутное одеяло различных языковых зон в вашем мире. Затем вы можете нарисовать больше национальных границ, основанных на языке, который будет служить для создания линий границы в областях, где нет естественных препятствий.
Чтобы увидеть отличный пример такой воображаемой истории миграции, вы могли бы сделать гораздо хуже, чем посмотреть работу Толкина о трех веках Средиземья — здесь ( http://tolkiengateway.net/wiki/Middle-earth ). Он охватывает создание эльфов, людей, хоббитов и гномов, и если вы просмотрите этот сайт выше, вы найдете описания различных моделей миграции и того, как они породили народы Средиземья во времена Властелина колец.
Что касается конкретно голландского, то он развился вместе с различными другими германскими языками из нижнефранконского языка, который был языком франков.
https://en.wikipedia.org/wiki/Низкие_франконские_языки
Затем, если у вас есть единая языковая зона, которая охватывает естественные препятствия, вы можете ввести отдельные диалекты/акценты этого языка.
Довольно часто границы проходят вдоль природных объектов, таких как реки или горы (также называемые «естественными границами»). По сути, это линия, которую, естественно, трудно пересечь. Следовательно, завоевать землю за этой границей также труднее, чем если бы изначально не было естественной границы. Кроме того, если граница согласована, эти ориентиры легко распознаются и, следовательно, могут предотвратить будущие разногласия по поводу положения границы.
Не могу поверить, что я пропустил этот вопрос.
Подготовительные шаги
Вам нужно сделать это, прежде чем вы действительно начнете, вы уже кое-что сделали, но я перечисляю все для будущих пользователей.
Вам нужна карта
Вам нужна история
Настройка сейчас
Определить период времени. Выберите социотехнический момент времени (или создайте свой собственный, средневековый твиттер!... кхм, в любом случае), чтобы ваше настоящее существовало.
добраться до него
Шаг 1: Таким образом, между вашим временным периодом и географической картой вы можете начать наносить очевидные места для начала цивилизации. Мы все знаем (или знаем сейчас), что самые ранние цивилизации на планете Земля зародились вдоль рек. Регулярный доступ к свежей, чистой воде значительно облегчает жизнь. Вам не нужно называть эти цивилизации или что-то в этом роде (хотя может быть интересно вернуться и сделать это позже).
Шаг 2: Примените грубые кисти истории, которые вы обрисовали в общих чертах в шагах подготовки (вы сделали шаги подготовки правильно?).
Шаг 3: Как только вы доберетесь до настоящего момента, остановитесь. Если в этот момент все выглядит слишком распланированным, это прекрасно. Именно там, где мы должны быть.
Шаг 4: Настройте свою карту.
Это поможет придать вашей карте больше глубины.
Всегда помните, что границы подвижны и в планетарном масштабе постоянно меняются.
Политические границы — это география плюс население плюс многое другое, что вы хотите добавить.
Обсуждение
Используя этот метод, мы можем ретроспективно увидеть, почему монголы получили так много территории, поскольку у них было огромное преимущество в мобильности по сравнению со своими сверстниками.
Каждый дополнительный «слой» информации, добавленный на карту, увеличит богатство вашего мира, но за счет сложности. Добавьте столько слоев, сколько сможете, затем остановитесь. Простого добавления местности, ресурсов и населения на карту будет достаточно для очень богатого мира.
Границы явно не статичны; они меняются годами, десятилетиями и столетиями по мере того, как страны растут, уменьшаются, рождаются и умирают. Со временем они могут стать расплывчатыми или спорными. Поэтому я бы сказал, что вам нужно создать несколько подробную историю региона, чтобы правильно определить, где находятся его границы в определенное время. Тем не менее, должно быть относительно легко получить приличное представление о том, где проходят границы страны, когда она только формируется, при соблюдении определенных условий.
Я собираюсь предложить способ построить границы страны с нуля, начиная с небольшого города-государства со средневековыми или досредневековыми технологиями. Я хочу сделать несколько ключевых предположений:
Я предполагаю, что первоначальные границы города-государства, согласно тому, что я обсуждал выше, можно аппроксимировать, создав диаграмму Вороного. По существу, учитывая набор точки (города) в некотором двумерном пространстве, диаграмма Вороного делит это пространство на регионы. Область содержит все точки ближе к точке (городу) . Линии диаграмм можно интерпретировать как границы этих областей. Вот пример:
Изображение предоставлено пользователем Википедии Balu.ertl под лицензией Creative Commons Attribution-Share Alike 4.0 International .
Диаграммы Вороного уже использовались для моделирования границ стран и государств; смотрите конкретно работы Джейсона Дэвиса (изображения, кстати, защищены авторским правом). Конечно, есть много отличий от реальных границ (хотя в некоторых частях, например в Северной Африке, вроде бы все работает), но опять же, это только первое приближение.
Для больших , создание такой диаграммы становится немного сложным. Поиск методом грубой силы работает, но явно утомителен; становятся полезными более сложные методы, такие как алгоритм Фортуны . Для получения дополнительной информации см. Самый простой алгоритм диаграммы Вороного для реализации? и Как мне получить диаграмму Вороного, учитывая ее набор точек и ее триангуляцию Делоне? .
Однако я хотел бы иметь дело с гораздо более простым случаем, когда . очевидно тривиально, и дает ровно одну границу, а именно серединный перпендикуляр к отрезку, соединяющему два города. Однако, немного интереснее, хотя решается конечно просто. Все, что нам нужно сделать, это найти единственную вершину, в которой все три границы совпадают.
Есть несколько способов сделать это, зная расположение трех городов и предполагая, что каждый из них является центром своего собственного города-государства . Мы могли бы использовать один из вышеперечисленных алгоритмов, если бы действительно захотели, но их реализация может занять много времени. В качестве альтернативы мы могли бы использовать тот факт, что любая вершина Вороного является центром окружности, содержащей три точки, и, следовательно, по трем точкам мы могли бы найти центр этой окружности. Однако я хотел бы использовать, как мне кажется, самый простой вариант: определить серединные перпендикуляры отрезков, соединяющих любые два города, и найти точку их пересечения.
Некоторые предположения (ну пока только одно):
Давайте иметь набор из трех городов, . Мы решили найти отрезки, соединяющие а также ( ) а также а также ( ). Учитывая, что множество точек, равноудаленных от обеих а также , мы можем установить
Проделываем описанное выше для всех трех наборов точек. Чтобы найти вершину, мы просто находим точку, где пересекаются все три линии, что просто, поскольку мы можем сделать это для любых двух прямых.
Я написал для этого программу на Python 3. Чтобы немного упростить ситуацию, я предположил, что никакие два города не имеют одинаковых -coordinate, так как это создает линию с бесконечным наклоном в . Если по какой-то причине ваша установка включает в себя такой случай, просто немного поверните систему координат, чтобы все три точки имели разные значения. -координаты.
Вот пример, с , а также :
import numpy as np
import matplotlib.pyplot as plt
P1 = [2,1]
P2 = [9,5]
P3 = [4,7]
Set = [P1,P2,P3]
def dist(point1,point2):
"""Returns distance between two points."""
x1 = point1[0]
y1 = point1[1]
x2 = point2[0]
y2 = point2[1]
return np.sqrt((x2 - x1)**2 + (y2 - y1)**2)
def perp(point1,point2):
"""Returns slope and y-intercept of the perpendicular
bisector of the segment connecting two cities."""
x1 = point1[0]
y1 = point1[1]
x2 = point2[0]
y2 = point2[1]
m = (x2 - x1)/(y1 - y2)
b = (x1**2 + y1**2 - x2**2 - y2**2)/(2*(y1 - y2))
return m,b
M1 = perp(P1,P2)[0]
B1 = perp(P1,P2)[1]
M2 = perp(P1,P3)[0]
B2 = perp(P1,P3)[1]
def vertex():
"""Finds central vertex"""
x = (B1 - B2)/(M2 - M1)
y = M1*x + B1
return x,y
"""
This next bit divides each of the lines into a certain number of line
segments by adding a number of points onto the lines, and then removes
those points in the third city's Voronoi cell.
"""
for point1 in Set:
for point2 in Set:
if point2 != point1:
N = []
delta = 0.001
for i in range(0,10000):
N.append(i*delta)
M = [perp(point1,point2)[0]*a + perp(point1,point2)[1] for a in N]
Other_point = [a for a in Set if a not in [point1,point2]]
i = 0
while i < len(N):
x = N[i]
y = M[i]
if dist([x,y],point1) > dist([x,y],Other_point[0]):
N.remove(x)
M.remove(y)
else:
i += 1
plt.plot(N,M,'k')
for point in Set:
name = 'City at ('+str(point[0])+','+str(point[1])+')'
plt.plot(point[0],point[1],'x',label=name)
plt.plot(vertex()[0],vertex()[1],'kx')
plt.legend(loc='upper left')
plt.title('Voronoi cells of three countries')
plt.xlim(0,10)
plt.ylim(0,10)
plt.show()
Вот результат:
Ячейки Вороного, я думаю, неплохое приближение. Однако они полностью игнорируют ландшафт и рельеф местности. Например, если край находится в середине долины, окруженной двумя высокими горными цепями, кажется вероятным, что граница может сместиться к одной из этих цепей, так как их легче защищать. То же самое касается рек, скал и т. д.
Я предполагаю, что следующие объекты вызовут сдвиг границ:
Я думаю, что эти объекты были достаточно оправданы как ограничения (см . ответ celtschk ).
Большинство из них можно аппроксимировать кривыми практически пренебрежимо малой толщины (не считая озер и океанов). Поэтому допустим, что любая форма рельефа может быть представлена в виде кривой, параметризованной переменной :
Разделять в точки . Для каждого , вычислить расстояние до всех точек на и выберите точку на что ближе всего, . Шаг соответственно. Я поиграл с вещами и определился с определенной формулой:
Это можно делать сколько угодно раз. Я обнаружил, что во многих случаях даже одной итерации может быть достаточно.
Вот моя реализация вышеизложенного, снова написанная на Python 3. Я выбрал :
import numpy as np
import matplotlib.pyplot as plt
scale = 0.3
RiverPath = np.linspace(0,49,1000)
def River(t):
x = np.sqrt(t)
y = t*np.exp(-t)
return x,y
BorderPath = np.linspace(0,7,1000)
def Border(t):
x = t
y = t/4
return x,y
def dist(y,x):
"""
Returns closest point on the target curve to a given
point on the border.
"""
Set = []
for loc in RiverPath:
dx = x - River(loc)[0]
dy = y - River(loc)[1]
distance = np.sqrt(dx**2 + dy**2)
Set.append([distance,loc])
Set = sorted(Set, key=lambda S: S[0])
dR = Set[0][0]
p = Set[0][1]
target = River(p)
return target
def move(Q):
"""Moves each point on the border curve parameterized by Q."""
X = []
Y = []
for q in Q:
x = Border(q)[0]
y = Border(q)[1]
point = dist(y,x)
point_x = point[0]
point_y = point[1]
mag = np.sqrt((point_x - x)**2 + (point_y - y)**2)
dx = (point_x - x)/(1 + scale*mag)
dy = (point_y - y)/(1 + scale*mag)
X.append(x + dx)
Y.append(y + dy)
return X,Y
plt.plot(River(RiverPath)[0],River(RiverPath)[1],'b',label='River')
plt.plot(Border(BorderPath)[0],Border(BorderPath)[1],'k',label='Border')
plt.plot(move(BorderPath)[0],move(BorderPath)[1],'r')
plt.legend(loc='upper left')
plt.show()
Он использует следующие параметризации:
Новая граница огибает реку слева, а затем смещается примерно на полпути между старой и новой границей. Возможно, было бы желательно больше итераций, но в настоящее время есть что-то вроде баланса.
Формула для а также мог бы нуждаться в некотором улучшении, но даже при том, что это несовершенно прямо сейчас, я действительно думаю, что это функционально. Его можно адаптировать для нескольких возмущающих объектов (т. е. нескольких рек, гор и т. д.) путем расчета всех песок с, суммируя их, а затем перемещая границу, не учитывая по одной форме рельефа. Вы можете изменить коэффициент масштабирования, если хотите, как в целом, так и для конкретных массивов суши. Я еще не играл, чтобы увидеть, как это может повлиять на вещи.
Границы стран до сих пор не совсем совпадают с этими приближениями. Я бы сказал, что частично это связано с современными технологиями. Однако многое связано с историей. Те горы вон там якобы непреодолимы. . . пока вражда между соперничающими королевствами не требует битвы, которая заканчивается победой одного короля, правителя обоих. А может, та река считалась довольно хорошей границей, пока на другом берегу не были найдены святые мощи и вдруг настоятель очень хочет участок внутри страны.
В этот момент я бы сказал, что ответ Джеймса становится неоценимым. В конце концов, именно люди вашего мира формируют его, часто больше, чем вы, богоподобная фигура вне его. Конечно, вы можете контролировать эту историю, но эти события могут и изменят мир. Все мои предложения — это просто немного более подробные таблицы, с которых можно начать строить страны. После этого дело за вами.
Не зацикливайтесь на реках
Реки иногда могут использоваться для обозначения границ (Рио-Гранде - одна из самых известных). Однако почти всегда бывает так, что граница все равно будет там, и они просто приспособили ее к реке, чтобы она обеспечивала им обоим некоторую защиту и избавляла каждую страну от необходимости постоянно ее пересекать.
Вот карта средневековой Европы:
Глядя на это, нужно помнить о нескольких вещах:
1) Самые могущественные нации основаны вокруг реки, не разделенной ни одной. Через Лондон, Париж и Рим протекают крупные реки. Это обеспечивает главную торговую артерию, а также плодородные пахотные земли, чтобы прокормить большое население. Со временем племена и города, которые расширяются, образуя королевства, как правило, имеют большое население. Таким образом, большинство ваших королевств будут иметь плодородную сердцевину, в которой проживает большая часть населения и, как правило, столица. Затем эта основная территория, вероятно, будет господствовать над более труднопроходимой внутренней территорией с гораздо меньшим населением.
Когда два из этих королевств сталкиваются, граница обычно довольно часто меняется, поскольку они сражаются друг с другом. Обычно очередь располагается где-то посередине между ними, как правило, на пересеченной или менее гостеприимной земле, за которую ни один из них не заинтересован в битве. Если бы одна сторона была занята завоеванием, скажем, плодородной долины, они бы не согласились остановиться и провести новую границу, пока не захватят ее целиком.
Лучшим примером этого является средневековая Шотландия. Подавляющее большинство населения Шотландии проживает в плодородной местности вокруг Эдинбурга, в то время как Хайленд и острова малонаселены. На приведенной ниже карте населения обратите внимание, что теперь основная сельскохозяйственная и торговая зона заполнена людьми и сформировала ядро королевства, которое затем расширялось. Обратите внимание, что это современная карта, и средневековые числа, вероятно, были немного более сбалансированными, хотя и с той же общей закономерностью.
2) Карта заполнена зависимыми королевствами.Так было и во времена Древнего Рима. Глядя на карту Римской империи, она кажется одним большим государством, но на самом деле внутри нее было множество зависимых королевств, которые контролировали внутренние дела, но во всем остальном подчинялись Риму. На приведенной выше карте Средневековой Европы Богемия, Хорватия и Моравия попадают в эту категорию наряду со многими другими. Вы можете включать или не включать это в свой сеттинг, но это было обычным историческим явлением. Эти зависимые государства часто существовали на границах своих родительских империй, содержали отдельную этническую группу и использовались в качестве буферных зон против враждебных империй. Позднесредневековая Хорватия попала в эту категорию. Они находились под властью Австро-Венгерской империи, но обладали значительной автономией и использовались в основном в качестве буфера против Османской империи.
3) Города-государства распространены в районах с большой береговой линией и пересеченной местностью. Города-государства просто управляют одним большим городом и окружающей сельской местностью. Эти государства в основном сосредоточены на торговле и редко строят империи в непосредственной близости от них, вместо этого завоевывая заморские владения для расширения своей торговой сети. Греки использовали эту систему в классическую эпоху, а итальянцы — большую часть средневековья. Если в вашем мире есть труднопроходимая/прибрежная зона с богатыми торговыми связями, я подозреваю, что она будет полна небольших городов-государств с небольшими (и несколько неважными) границами.
4) Неопределенные границы распространены на обширных необитаемых территориях.Никого (кроме Муаммара Каддафи) не волнует, где проходит граница через необитаемую пустыню. Обратите внимание на карту Средневековой Европы, как восточноевропейские княжества Киев и т. д. имеют границы, которые как бы исчезают в степях. Это обычное дело в малонаселенных королевствах, граничащих с неопределенными племенными группами. Поскольку всадники-кочевники все равно будут пересекать границу, а у государства нет ни воли, ни возможности охранять ее, то существует не столько граница, сколько общее понимание того, что «то, что там, принадлежит им». Это также относится к границам пустыни. На многих картах Древнего Египта изображена их империя, простирающаяся до Сахары, но вы не столкнетесь там с древнеегипетским пограничным патрулем. Скорее было просто понимание того, что Египет правил долиной Нила, и любой, кто подойдет слишком близко, будет в беде. Вы можете провести определенную линию для этих типов границ, но просто знайте, что реальность на земле будет гораздо более подвижной.
5) На границе правят неорганизованные племенные группы.На карте средневековой Европы обратите внимание на половцев, узов и влахов на юго-востоке, а также на пруссаков, селонов и т. д. на северо-востоке. В малонаселенных районах, особенно в тех, где живут кочевники, Королевств на самом деле не существует. Вместо этого территория разделена между племенами, кланами и другими небольшими образованиями. На картах они обычно отмечаются вместе как единая этническая группа (например, половцы), но не имеют цвета или границ. Вместо этого другие границы заканчиваются, и в белой области есть названия указанных этнических групп, причем местоположение примерно указывает, где они были, а размер слова часто указывает размер каждой из них. Таким образом, до Чингисхана область к северу от Китая была бы пустой областью со словом «монголы», написанным там, наряду с несколькими другими кочевыми группами. Исторически, эти группы часто объединялись и завоевывали своих оседлых соседей, образуя новые королевства, которые, в свою очередь, были завоеваны через несколько сотен лет. Хорошим примером этого является Парфянская империя, как кочевой конный народ, осевший и позднее завоеванный Сасанидами, еще одним кочевым конным народом (который затем был завоеван арабами, затем завоеван монголами, затем завоеван афганцы и др.).
Вот что я делаю при разработке кампании DnD, когда у меня есть карта:
Теперь вы находитесь в начале истории или кампании.
Сколько деталей вам нужно, чтобы ваша история имела смысл?
Как отмечали другие, национальные границы, как правило, проходят вдоль береговых линий, рек и горных хребтов. Но есть много исключений, особенно когда поблизости не было удобной реки или горного хребта, где два народа сталкивались друг с другом.
Конечно, вы могли бы написать историю мира до этого момента, чтобы объяснить, как возникли ваши границы. Но так ли это необходимо? Если в рассказе писатель говорит: «Боб был высоким и имел рыжие волосы», он обычно не считает необходимым проследить генетическую историю Боба до Ноя, чтобы объяснить, как именно он приобрел эти черты.
Если по какой-то причине вам нужна необычная национальная граница в вашей истории — скажем, страна А находится на западном берегу океана, а также контролирует крошечную полосу на восточном берегу океана, а страна Б находится к востоку от него. полоса - вам может понадобиться пара предложений, объясняющих, как это произошло. Но если история не имеет отношения к истории, то, вероятно, и это не нужно.
Если я читаю историю, действие которой происходит в выдуманном мире или в какой-то части мира, где я не знаком с географией, я не помню, чтобы когда-нибудь задавался вопросом: «Эй, подождите минутку! Foobar и Plughland проходят через долину Fwacbar? Разве автор не говорил, что поблизости есть река? Почему река не является границей? Что за история стоит за этим?" Если история не о географии и политике, я сомневаюсь, что такой вопрос вообще придет в голову 99,9% читателей.
Границы — сложная тема. Хотя большинство из них закончится из-за естественного ландшафта, такого как реки или горы, большинство границ устанавливаются расширяющимися королевствами, останавливаясь только тогда, когда они встречают сопротивление со стороны другого расширяющегося королевства. Из-за этого реальной формулы как таковой не существует.
Однако вам не нужно писать доисторические истории. Создайте одно королевство и получайте удовольствие. Подумайте, кто их враги. Что они производят? Может быть, они торгуют с соседним городом. Прежде чем вы это узнаете, перед вами появится процветающее королевство. Удачи!
Хотя реки здесь часто упоминаются, причина, по которой мы, люди, используем их в качестве границ, связана с транспортировкой товаров как в политический регион, так и из него.
Большинство граждан США не осознают, что в наших штатах шли перестрелки с гибелью людей за права на источники воды и водные пути для перевозки грузов, для орошения и питьевой воды. То же самое касается естественных портов на берегу океана (или на больших озерах). Войны за воду (буквально войны) являются основной причиной того, что на нашей карте есть странные выступы и расширения, доступ к воде, как для потребления, так и для путешествий, имеет решающее значение. Баржи, несомненно, являются самым дешевым видом транспорта для товаров; намного, намного дешевле, чем железная дорога, грузовики или конные повозки.
Если в регионе нет большого количества естественных озер, он, вероятно, не может сильно расти только за счет осадков. Не для сельского хозяйства или городской жизни.
Найдите свои ледники или тяжелые озера, которые пополняются за счет дождей. Проследите свои реки по долинам, ранжируйте каждую реку на основе того, сколько «хороших земель» она предоставляет, к скольким другим рекам она может присоединиться (ее сетевые соединения), достигает ли она береговая линия. Вероятно, вы сможете найти «хорошие гавани», основываясь на некоторых критериях окружающего ландшафта (и на том, сколько рек может достичь его).
Реки самого высокого ранга - границы; это те, за которые люди боролись, чтобы удержать какую-либо другую политическую фракцию (страну, штат, что угодно) от полной собственности. Если эти границы делают страну слишком большой, разделите ее, используя реку с самым высоким рангом, которая проходит через нее, и сделайте это рекурсивно.
Одной из альтернатив генерации всей истории является создание материала с использованием цепей Маркова на основе карты высот текущего года / данных о границе земли.
Сначала вы получаете карту высоты земли с границами стран.
Если пиксель карты высот — океан/граница, вы меняете его цвет на A, если это океан/международная земля, вы меняете его цвет B, если его океан/земля страны, вы меняете его тип на C, если это не океан/ границы вы меняете его цвет на цвет D, и если это не океан/международная земля, вы меняете на E, а если это не океан/страна, вы меняете на F.
Затем некоторая программа получит эту модифицированную карту высот и проанализирует ее, создав таблицу вероятностей: вероятность того, что некоторая плитка X является границей, «международной землей» или «землей страны», в зависимости от того, какой конкретный тип плитки имеет их 8 соседей, а также на основе плитки. сам по себе, который вы создаете, является океаном или не океаном.
Имея эту информацию в ваших руках, программа генератора карты мира получит случайную плитку и определит, является ли она «сельской землей», «международной землей» или границей, основываясь на их 8 соседних плитках и его собственном типе. После того, как вы найдете этот тип тайла, он перейдет к следующему и сгенерирует его, а затем перейдет к следующему и следующему... пока не сгенерирует всю карту.
Несколько важных вещей, чтобы убедиться, что это работает:
1-Вы всегда должны генерировать несгенерированный тайл с наибольшим количеством уже сгенерированных соседних тайлов, если вы этого не сделаете, мир будет иметь некоторые шаблоны, основанные на том, как вы его сгенерировали, например, генерация слева направо, начиная с первая строка, создайте что-то с шаблоном X.
2-Данные цепи Маркова должны быть основаны на ВСЕХ 8 соседях и также должны зависеть от направления соседней плитки.
2.1- Например, если в верхней части тайла океана, который вы создаете, есть тайл океана/границы, внизу этого тайла, который вы генерируете, тоже есть тайл океана/границы, а остальные 6 вы не создавали. соседние плитки, но все они океанские. «Вопрос, который задаст программа», примерно такой: «Предполагая, что эта плитка является океаном, верхняя и нижняя плитка — океаном/границей, а все остальные — океанскими плитками, какова вероятность того, что эта плитка является границей, какова вероятность того, что эта плитка является «международной землей» и какова вероятность того, что эта плитка является «сельской землей»?» Затем программа выберет тип плитки (граница, страна или международный) случайным образом, взвешенный по этим вероятностям.
2.2-Если вы не используете этот метод, большую часть времени у вас будет карта, полностью составленная из международной области или полностью состоящая из территории страны.
3-Точки 1 и 2 основаны на открытиях, которые я обнаружил, пытаясь составить карту цепи Макова. В Интернете вы найдете некоторые идеи генератора карт цепи Маркова, которые предполагают, что цепь Маркова не будет работать при создании карт (шаблон x или что-то еще), потому что они не обнаружили, что вызвало их проблемы, поскольку предполагали, что использование самой цепи Маркова было проблемой.
Вы можете использовать инструменты географической информационной системы , чтобы делать то, что хотите, создавая или используя существующие данные, вы можете использовать растры и векторы статически или динамически.
SJuan76
клем стереденн
SJuan76
Лостинфранс
Дэн
Си Джей Деннис
клем стереденн
клем стереденн
клем стереденн
Draco18s больше не доверяет SE