Исходными данными для построения планеты являются следующие данные: Номер орбиты (Seed), Тепло от солнца (SunEffectKoef [0-10]), количество жидкости (WatersKoef [0-10]), сейсмическая активность (SeismicKoef[0-10]). Для ускорения расчетов карта планеты имеет размер 128х64.
Тектонические плиты
Карта тектонических плит имеет еще меньший размер 32х16. первым этапом по планету псевдослучайным методом раскидываются изначальные точки плит, затем в цикле они растут во все стороны. Когда свободных ячеек не остается, то карта детализируется до размера 128х64 при помощи алгоритма Diamond-Square. Получаются очень "географические" очертания.
Сейсмическая карта
Сейсмическая активность каждой точки зависит от общего коэффициента SeismicKoef и увеличивается на границах между созданными ранее тектоническими плитами. Такие границы будут основой для создания горных хребтов.
Карта высот
Высота поверхности зависит от того, является ли плита океанической либо материковой (коэффициент WatersKoef), а также от текущего уровня сейсмоактивности.
Температура
С температурой все просто. Чем больше солнца на планете, тем жарче (SunEffectKoef). Чем больше высота, тем холоднее.
Влажность
Влажность распространяется путем испарения от океанов с учетом особенностей рельефа, воздушных течений и других факторов.
Биомы
Биомы определяются по классической отработанной схеме, зависящей от температуры и влажности:
{BIOM_JUNGLES, BIOM_SWAMP,
BIOM_SEASONALFOREST, BIOM_FOREST,
BIOM_SAVANNA, BIOM_WOODS, BIOM_TAIGA
BIOM_DESERT, BIOM_PLAINS, BIOM_TUNDRA, BIOM_ICEPLAINS
BIOM_HOTWATER, BIOM_WARMWATER, BIOM_COLDWATER, BIOM_ICEWATER}
Карта со спутника
Сопоставив карту биомов земли со спутниковой картой, я подобрал примерные цветовые схемы, дорисовав сверху карту облаков и получил примерные спутниковые карты новых планет. Кстати, плотность облаков зависит от количества жидкости на планете.
Здесь показаны возможные изменения параметров при фиксированном зерне генератора (seed):
А тут различные варианты зерна генератора (seed) при фиксированных параметрах, близких к земле: