Я тут подумал насчёт АГР… Придумал иной принцип его работы (пока только на это маны хватило).
Ведь как в природе создаётся ландшафт? Есть литосферные плиты, перемещающиеся друг относительно друга. Там, где они сталкиваются, образуется горная цепь. Там, где расходятся – каньон/впадина. Вроде, так…
Причём, при столкновениях два варианта можно отметить: либо одна плита подползёт под вторую, и тогда образуется, я думаю, обрыв вида:
__/l__
либо в месте стыка они обе вылезут вверх:
__/\__
и получится хребет.
Так вот я подумал, что неплохим способом было бы вручную наметить в мелком масштабе границы литосферных плит (опорные точки поставить) и задать характеристики границы в каждой отдельной опорной точке. АГР же выстроит цепь с элементами рандома по указанным точкам с указанными характеристиками: «с этой стороны склоны хребта пологие, с этой – крутые (одна плита под другую подползла)» и в таком духе. Т.е. это уже не будет Автоматический Генератор Рельефа, а получится Управляемый Генератор Рельефа, что, ИМХО, необходимо – оговаривались уже, что нужны некоторые сюжетные места, где рельеф будет вручную создаваться – ну, максимум цели не будет достигнут, но хоть как-то запрограммировать общие черты удастся…
Далее. Размер карты. Нужно чётко определиться, каких размеров мир необходим.
Для этого я хотел бы спросить, кто знает, каких размеров были сектора В М2 (сколько ячеек в длину и ширину было на карте)? Просто если ориентироваться на гиг оперативы, то картина такая: в моей реализации в памяти висят 2 матрицы для карты: одна – сама карта (карта вершин из float'ов, 4 байта на ячейку), и вторая – карта данных (1 байт на ячейку). Т.е. если оперативы 1 Гб, и из них на матрицы, думаю, останется всего метров 600, то максимальный размер карты в вершинах такой:
600.000.000 / (4+1) = 120.000.000 (вершин). Если карта квадратная, то будет иметь размеры, соответственно:
КОРЕНЬ(120.000.000) ~ 11.000 вершин в ширину и длину.
Давайте сравним с сектором и решим, достаточно ли этого для размеров материка (а именно столько хочет большинство, походу)?
Если этого действительно слишком мало, т.е. не удастся генерить карту в памяти целиком, мне придётся сильно поразмыслить над разделением карты на отдельные квадраты при генерации, что чревато, как минимум, сильным замедлением процесса рельефогена.
Я не могу с вероятностью сказать, что приступлю к созданию УГР, но хотя бы идея, КАК он должен работать, думаю, тоже полезна.
---
ИМХО, Рельефоген – самое сложное в М3. Если не полдела, то 30% как минимум…