Генератор поверхности планеты (генератор карт)?

Добрый день.


Для своей игрушки возникла мысль сделать случайную генерацию поверхностей планет (2D). У нас есть процентное соотношение элементов, из которых состоит планета, на основе которого мы вычисляем процентное соотношение элементов на поверхности планеты. Каждому элементу соответствует определенный цвет (допустим: вода — 70%, голубой или белый у полюсов; почвы — 20%, зеленый; песчаники — 10%, желтый; соединения кремния — 10%, темно-коричневый или черный). Соответственно нужно сгенерировать карту планеты, состоящую из указанных цветных областей указанной площади (не обязательно они могут быть в одном месте — должны быть океаны, континенты, моря). Каким образом можно осуществить генерацию карты? Какие есть алгоритмы?


Поскольку игрушка 2D, то вращение планеты будет осуществляться таким образом: по сгенерированной прямоугольной карте будет двигаться круг, область внутри которого и будет отображаемой поверхностью планеты. Оптимален ли этот способ или существуют лучше? Какую картографическую проекцию следует использовать в этом случае и как учесть это при генерации?
  • Вопрос задан
  • 16463 просмотра
Пригласить эксперта
Ответы на вопрос 6
vldkr
@vldkr
Если полюса планируете делать необитаемыми, то лучше всего подойдёт проекция Меркатора.
Главный минус проекции в том, что карта сильно деформируется к полюсу. Положительные особенности таковы, что, во-первых, проекция равноугольная; во-вторых, деформации пропорциональные (круг на экваторе остаётся кругом ближе к полюсу)
Ответ написан
vldkr
@vldkr
Дельный XKCD комикс в тему. А вообще, лучшая карта — это глобус.
Ответ написан
@orangeflute
Используйте алгоритмы процедурного генерирования (Procedural Content Generation Algorithms). Вот тут можно о них почитать.
Ответ написан
@Robotex Автор вопроса
А если просто генерировать случайные числа (скажем от 1 до 100) и в зависимости от процентного соотношения цвета ставить тот или иной пиксель на карте? Т.е. случайно разбросать все.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
ZAVOD Games Москва
До 70 000 руб.
PiRL Ventures Москва
от 170 000 руб.
Matryoshka Games Санкт-Петербург
от 90 000 до 130 000 руб.
26 июн. 2019, в 12:54
15000 руб./за проект
26 июн. 2019, в 12:49
50000 руб./за проект
26 июн. 2019, в 12:45
2000 руб./за проект