+ Ответить в теме
Показано с 1 по 13 из 13

Тема: Алгоритмы генерации материков

  1. #1
    Интересно начать тему об автоматической случайной параметрической генерации материков. У кого какие мысли и предложения?
    продвинь это сообщение в соцсеть:  

  2. #2
    Варвар

    Аватар для Peter

    Steam
    Mk Z

    Регистрация
    15.10.2005
    Адрес
    Россия, Самара
    Сообщений
    2,580
    сначала пара идей о постановке задачи.

    я думаю, нужно как-то моделировать (пусть чисто внешне) движение тектонических плит. чтобы получить нечто напоминающее земные континенты (не по очертаниям, а по принципу расположения).
    в цивилизации континенты были представлены
    1. либо большими лепёхами овальной формы
    2. либо длинными колбасками (скрипт tectonics)
    материки выглядели неестественно т.к. их форма была произвольной и форма одного материка не зависела от формы другого.
    нам это не подходит.
    как должны выглядеть материки?
    1. часть материков должны иметь зеркальные края (см. южная америка - африка)
    2. береговая линия не должна быть правильной формы (прямая, дуга)

    пока всё
    продвинь это сообщение в соцсеть:  
    EC2 - разработка игры
    Мастерская Steam - мои моды для Civilization V
    Last Citadel - сайт игроков Warlords III

  3. #3
    У меня провы сейчас генерируются так:
    Сначала карта "засевается", каждая провинция состоит из одной ячейки.

    Затем пробегаем по карте несколько раз и ячейки, граничащие с провинциями, с определённой вероятностью передают в эти провинции.
    продвинь это сообщение в соцсеть:  

  4. #4
    Peter, твою идею довольно трудно реализовать. Особенно, чтобы контур одного материка входил в контур другого. По крайней мере я не представляю, как это можно сделать.

    Для начала. Мы имеем узлы. Они пронумерованы и упорядочены так, что закручиваются по сфере по правилу правого винта с севера на юг. (Треугольники кстати так же закручиваются). Есть готовая функция, которая по номеру узла i выдает окружающие его узлы j0, j1, j2, j3, j4, j5. Если узел окружен не шестиугольником, а пятиугольником, то всегда выполняется условие: j4==j5.

    Я планировал поступить более банально. Выбирается точка (узел) на сфере. Эта точка есть как бы точка образования. Далее в примерно определенном направлении (а это можно контролировать с помощью углов тета и фи) строится горный хребет или вообще какая-либо возвышенность, от которой материк "расползается" по спадающей, пока не превратится в море.
    продвинь это сообщение в соцсеть:  

  5. #5
    Злой магрибский колдун CIVFANATICS.RU TEAM Аватар для sweeper


    Регистрация
    01.03.2005
    Сообщений
    2,968
    Даже не знаю, стОит ли начинать с механизма плит. Для начала могу предложить попроще.
    1. В зависимости от общей характеристики рельефа (горный/равнинный) задать некоторое количество горных хребтов и отдельных пиков.
    2. Набросать их на карту (на всю карту)
    3. Для узлов, куда горы попали, определить высоту как явно выше среднего
    4. Для узлов, куда горы не попали, определить высоту как функцию от расстояния до ближайших гор/пиков. Чем удаленнее от гор, тем ниже. Можно использовать некий сорт линейной функции, к вычисленной высоте прибавить случайное число в некотором диапазоне (ширина диапазона влияет на изрезанность береговой линии).
    5. Залить полученный рельеф водой, исходя из сильно водного/слабо водного мира.
    6. Дальше построить несколько миров, обсудить здесь, произвести корректировки алгоритма, выступить на gamedev, получить <strike>ш</strike>нобелевскую премию мира и т.д.
    продвинь это сообщение в соцсеть:  
    Вот уже несколько лет все мои посты крутятся вокруг темы реалистичной модели цивилизации.

  6. #6
    О, кстати, sweeper, когда стоит о проекте рассказывать на gamedev.ru и что это даст?
    продвинь это сообщение в соцсеть:  

  7. #7
    Злой магрибский колдун CIVFANATICS.RU TEAM Аватар для sweeper


    Регистрация
    01.03.2005
    Сообщений
    2,968
    <div class='quotetop'>Цитата(General * 21.7.2010, 18:44) [snapback]342962[/snapback]</div>
    О, кстати, sweeper, когда стоит о проекте рассказывать на gamedev.ru и что это даст?
    [/b]
    Ну откуда ж я знаю. Почитай. Посмотри. Есть такой ресурс, там народ тусуется с прислоном к игростроению. Это всё, что мне известно.
    продвинь это сообщение в соцсеть:  
    Вот уже несколько лет все мои посты крутятся вокруг темы реалистичной модели цивилизации.

  8. #8
    Варвар

    Аватар для Peter

    Steam
    Mk Z

    Регистрация
    15.10.2005
    Адрес
    Россия, Самара
    Сообщений
    2,580
    <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

  9. #9
    1.Вписать свою страницу в историю инди игр
    2.Добиться финансовой независимости, чтобы продолжать заниматься любимым делом
    продвинь это сообщение в соцсеть:  

  10. #10
    Варвар

    Аватар для Peter

    Steam
    Mk Z

    Регистрация
    15.10.2005
    Адрес
    Россия, Самара
    Сообщений
    2,580
    <div class='quotetop'>Цитата(General * 21.7.2010, 20:13) [snapback]343072[/snapback]</div>
    1.Вписать свою страницу в историю инди игр
    2.Добиться финансовой независимости, чтобы продолжать заниматься любимым делом
    [/b]
    можешь создать такую тему в "проектах": мол вот игра, зацените, подскажите как найти издателя. тебе еще советов дадут как ее улучшить
    специфика геймдев.ру в том чтоесли есть работающая версия то практически любого уровня игры принимаются благосклонно. если нет - лучше тему не создавать.
    продвинь это сообщение в соцсеть:  
    EC2 - разработка игры
    Мастерская Steam - мои моды для Civilization V
    Last Citadel - сайт игроков Warlords III

  11. #11
    Злой магрибский колдун CIVFANATICS.RU TEAM Аватар для sweeper


    Регистрация
    01.03.2005
    Сообщений
    2,968
    Это мой примерно тысячный пост, если счетчики не врут. Глупо тратить его на пустяки, поэтому попробую изложить нечто полезное.

    Некоторое время назад была тема про сетку на поверхности шара http://www.civfanatics.ru/threads/70...BB%D0%B0%D1%8F
    И где-то примерно здесь http://www.civfanatics.ru/threads/70...0%D1%8F/page15 начались картинки
    И я сам тоже кое-что выкладывал. Пора сделать очередной шаг -- нормальный генератор карт. Вышеприведенный алгоритм дает кривенькие карты -- иногда ничего, а иногда полная лажа. Типа сверхглубокого озера возле вершины горы. Кроме того, интересует алгоритм рисования рек. Реки у меня тоже не фонтан. Хреновые, прямо скажем, реки -- неуверенные какие-то.
    Идея с движением материков мне нравится всё больше, хотя пока слабо представляю программную реализацию разлома Гондваны на несколько материков.
    Стоит ли заморачиваться с реализмом на таком уровне?

    Может быть, появились свежие идеи?
    продвинь это сообщение в соцсеть:  
    Вот уже несколько лет все мои посты крутятся вокруг темы реалистичной модели цивилизации.

  12. #12
    О, какая тема! Кстати, мне пункт 1 выполнить удалось

    Не пойму, как в твоём алгоритме получается сверхглубокое озеро около вершины горы? Это же фрактал плазма по сути?
    продвинь это сообщение в соцсеть:  

  13. #13
    Варвар

    Аватар для Peter

    Steam
    Mk Z

    Регистрация
    15.10.2005
    Адрес
    Россия, Самара
    Сообщений
    2,580


    можно посмотреть код генерации в скриптах цив5
    продвинь это сообщение в соцсеть:  
    EC2 - разработка игры
    Мастерская Steam - мои моды для Civilization V
    Last Citadel - сайт игроков Warlords III

+ Ответить в теме

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
Рейтинг@Mail.ru

free counters