Tôi đang làm một trò chơi giống như Civilization và tôi đang tìm một thuật toán tốt để tạo bản đồ thế giới giống như Trái đất. Tôi đã thử nghiệm với một số lựa chọn thay thế, nhưng vẫn chưa tìm được người chiến thắng thực sự.
Một tùy chọn là tạo bản đồ độ cao bằng cách sử dụng nhiễu Perlin và thêm nước ở mức sao cho khoảng 30% diện tích thế giới là đất liền. Mặc dù nhiễu Perlin (hoặc các kỹ thuật dựa trên Fractal tương tự) thường được sử dụng cho địa hình và thực tế một cách hợp lý, nhưng nó không cung cấp nhiều cách kiểm soát số lượng, kích thước và vị trí của các lục địa kết quả, mà tôi muốn có từ quan điểm chơi trò chơi.
Tùy chọn thứ hai là bắt đầu với một hạt một ô được đặt ngẫu nhiên (tôi đang làm việc trên một lưới ô), xác định kích thước mong muốn cho lục địa và mỗi lượt thêm một ô nằm ngang hoặc dọc liền kề với lục địa hiện có cho đến khi bạn đã đạt đến kích thước mong muốn. Lặp lại cho các lục địa khác. Kỹ thuật này là một phần của thuật toán được sử dụng trong Civilization 4. Vấn đề là sau khi đặt một vài lục địa đầu tiên, có thể chọn một vị trí bắt đầu được bao quanh bởi các lục địa khác và do đó sẽ không phù hợp với lục địa mới. Ngoài ra, nó có xu hướng sinh ra các lục địa quá gần nhau, dẫn đến một thứ trông giống một con sông hơn là lục địa.
Có ai tình cờ biết một thuật toán tốt để tạo các lục địa thực tế trên bản đồ dựa trên lưới trong khi vẫn kiểm soát số lượng và kích thước tương đối của chúng không?