Как сгенерить карту, тобто землю, воду, леса, поля и т.д.

From
Boris Rudakov (2:5054/9.4)
To
Anton Zykov
Date
2000-02-29T11:18:34Z
Area
RU.ALGORITHMS
Hello Anton!

26 Feb 00 10:43, Anton Zykov wrote to Boris Rudakov:

 AZ> Thrive, thou glory Boris!

 AZ> Wednesday February 23 2000 10:22, you wrote to Sergey Andrianov:

 BR>> Я бы рекоммендовал использовать шумовые функции, типа Perlin
 BR>> Noise
 AZ>     В большинстве случаев от карты требуется главное: быть
 AZ> pregenerated (извиняюсь, проблемы с русским языком), чтобы не
 AZ> замедлять вычислений во время игры. В этом случае алгоритмический
 AZ> подход в чистом виде не годится.

Дык, а кто ж тебе мешает ее скешировать в тех же ячейках матрицы ?! Суть то в другом:

* Фрактальные шумовые функции дают очень естественные результаты - они для того и придуманы чтобы имитировать натуральные эффекты

* Ими очень удобно пользоваться

* Они имеют ограниченную только аппаратурой разрешающую способность (фрактал он и есть фрактал)

* Они не являются случайными, т.е. в точке X,Y функция всегда вернет одно и то же значение. Это значит что ты можешь скешировать не всю карту, а только часть ее, а остальное получать по мере необходимости в нужном разрешении.

Грубо говоря, с фрактальными шумовыми функциями ты можешь использовать плоские карты практически бесконечного размера :) Если на карте что-то меняется в результате действий игрока - сохраняешь эти изменения, если ничего не менялось - не сохраняешь, всегда можно заново сгенерировать это место.

Кстати, я встречал ссылочку, жаль не сохранил, на сгенерированную таким образом МОДЕЛЬ ПЛАНЕТЫ. Поищи на Алтависте нечто типа "+perlin +noise +planet +world +model) - может найдешь. Там тебе все - каньоны, леса, тропики, ледники, а в основе - шумовые функции.

 AZ>     ·-─═╦═════════───-──--··· · ··--──-───────── Crystal Falcon

Борис Рудаков,               - Мальчик, кем ты хочешь стать когда вырастешь ?
BBR                          - Билли Гейтсом !

--- Be happy: BBR is looking at you !
 * Origin: АлкАголь малыми дозами безвреден в любых количествах (2:5054/9.4)