сначала пара идей о постановке задачи.
я думаю, нужно как-то моделировать (пусть чисто внешне) движение тектонических плит. чтобы получить нечто напоминающее земные континенты (не по очертаниям, а по принципу расположения).
в цивилизации континенты были представлены
1. либо большими лепёхами овальной формы
2. либо длинными колбасками (скрипт tectonics)
материки выглядели неестественно т.к. их форма была произвольной и форма одного материка не зависела от формы другого.
нам это не подходит.
как должны выглядеть материки?
1. часть материков должны иметь зеркальные края (см. южная америка - африка)
2. береговая линия не должна быть правильной формы (прямая, дуга)
пока всё
EC2 - разработка игры
Мастерская Steam - мои моды для Civilization V
Last Citadel - сайт игроков Warlords III
У меня провы сейчас генерируются так:
Сначала карта "засевается", каждая провинция состоит из одной ячейки.
Затем пробегаем по карте несколько раз и ячейки, граничащие с провинциями, с определённой вероятностью передают в эти провинции.
Peter, твою идею довольно трудно реализовать. Особенно, чтобы контур одного материка входил в контур другого. По крайней мере я не представляю, как это можно сделать.
Для начала. Мы имеем узлы. Они пронумерованы и упорядочены так, что закручиваются по сфере по правилу правого винта с севера на юг. (Треугольники кстати так же закручиваются). Есть готовая функция, которая по номеру узла i выдает окружающие его узлы j0, j1, j2, j3, j4, j5. Если узел окружен не шестиугольником, а пятиугольником, то всегда выполняется условие: j4==j5.
Я планировал поступить более банально. Выбирается точка (узел) на сфере. Эта точка есть как бы точка образования. Далее в примерно определенном направлении (а это можно контролировать с помощью углов тета и фи) строится горный хребет или вообще какая-либо возвышенность, от которой материк "расползается" по спадающей, пока не превратится в море.
Даже не знаю, стОит ли начинать с механизма плит. Для начала могу предложить попроще.
1. В зависимости от общей характеристики рельефа (горный/равнинный) задать некоторое количество горных хребтов и отдельных пиков.
2. Набросать их на карту (на всю карту)
3. Для узлов, куда горы попали, определить высоту как явно выше среднего
4. Для узлов, куда горы не попали, определить высоту как функцию от расстояния до ближайших гор/пиков. Чем удаленнее от гор, тем ниже. Можно использовать некий сорт линейной функции, к вычисленной высоте прибавить случайное число в некотором диапазоне (ширина диапазона влияет на изрезанность береговой линии).
5. Залить полученный рельеф водой, исходя из сильно водного/слабо водного мира.
6. Дальше построить несколько миров, обсудить здесь, произвести корректировки алгоритма, выступить на gamedev, получить <strike>ш</strike>нобелевскую премию мира и т.д.
О, кстати, sweeper, когда стоит о проекте рассказывать на gamedev.ru и что это даст?
<div class='quotetop'>Цитата(General * 21.7.2010, 18:44) [snapback]342962[/snapback]</div>Ну откуда ж я знаю. Почитай. Посмотри. Есть такой ресурс, там народ тусуется с прислоном к игростроению. Это всё, что мне известно.О, кстати, sweeper, когда стоит о проекте рассказывать на gamedev.ru и что это даст?
[/b]
<div class='quotetop'>Цитата(General * 21.7.2010, 16:44) [snapback]342962[/snapback]</div>смотря чего ты хочешьО, кстати, sweeper, когда стоит о проекте рассказывать на gamedev.ru и что это даст?
[/b]
EC2 - разработка игры
Мастерская Steam - мои моды для Civilization V
Last Citadel - сайт игроков Warlords III
1.Вписать свою страницу в историю инди игр
2.Добиться финансовой независимости, чтобы продолжать заниматься любимым делом
<div class='quotetop'>Цитата(General * 21.7.2010, 20:13) [snapback]343072[/snapback]</div>можешь создать такую тему в "проектах": мол вот игра, зацените, подскажите как найти издателя. тебе еще советов дадут как ее улучшить1.Вписать свою страницу в историю инди игр
2.Добиться финансовой независимости, чтобы продолжать заниматься любимым делом
[/b]
специфика геймдев.ру в том чтоесли есть работающая версия то практически любого уровня игры принимаются благосклонно. если нет - лучше тему не создавать.
EC2 - разработка игры
Мастерская Steam - мои моды для Civilization V
Last Citadel - сайт игроков Warlords III
Это мой примерно тысячный пост, если счетчики не врут. Глупо тратить его на пустяки, поэтому попробую изложить нечто полезное.
Некоторое время назад была тема про сетку на поверхности шара http://www.civfanatics.ru/threads/70...BB%D0%B0%D1%8F
И где-то примерно здесь http://www.civfanatics.ru/threads/70...0%D1%8F/page15 начались картинки
И я сам тоже кое-что выкладывал. Пора сделать очередной шаг -- нормальный генератор карт. Вышеприведенный алгоритм дает кривенькие карты -- иногда ничего, а иногда полная лажа. Типа сверхглубокого озера возле вершины горы. Кроме того, интересует алгоритм рисования рек. Реки у меня тоже не фонтан. Хреновые, прямо скажем, реки -- неуверенные какие-то.
Идея с движением материков мне нравится всё больше, хотя пока слабо представляю программную реализацию разлома Гондваны на несколько материков.
Стоит ли заморачиваться с реализмом на таком уровне?
Может быть, появились свежие идеи?
О, какая тема! Кстати, мне пункт 1 выполнить удалось
Не пойму, как в твоём алгоритме получается сверхглубокое озеро около вершины горы? Это же фрактал плазма по сути?
EC2 - разработка игры
Мастерская Steam - мои моды для Civilization V
Last Citadel - сайт игроков Warlords III