Сначала генерировать некий "скелет", то есть каркас, структуру мира, на которую уже будет насаживаться всё остальное (по другим законам). Например, холм можно обозначить точкой в его условном центре, но не генерировать сразу. И по мере продвижения игрока к этой точке, можно уже сформировать его более детально, со всеми неровностями и мелкими незначительными особенностями.
Но это сложно. И ещё эта генерация на лету потом может выйти боком, когда игра начнёт притормаживать у игрока из-за генерации. Та же Террария сначала генерирует карту полностью, хоть это и занимает приличное время, но зато потом она просто работает согласно своим законам физики, безотносительно того, как именно была сгенерирована.
И ещё при генерации на лету сложно делать поэтапную генерацию. Например, сначала рельеф, потом заполнение водой. После второго этапа, как бы вода ни была расположена, третьим этапом её можно слить (приземлить в углубления). Но как это всё делать на лету? Очень сложно. Так что для красивого продуманного мира лучше подойдёт именно предварительная генерация, либо же в случае первого варианта нужно будет продумывать очень много деталей и то, как они будут связаны друг с другом.
В первом варианте алгоритм напоминает: "Что бы могло быть в этой точке, чтобы выглядело логично и согласованно?" (при том, что игрок уже мог "наследить" в мире). А во втором варианте - это некий план, и каждый тайл - часть этого плана, то есть он связан с соседними, и создаётся на определённом этапе.