Lý lịch
Tôi điều hành một máy chủ minecraft nơi tôi sẽ thiết kế một thành phố khởi đầu với quy mô khá lớn. Tôi có một loạt các thứ, như biển báo quy tắc và lồng mob, tôi muốn đặt trong các tòa nhà ở đó. Bản thân thành phố sẽ vô cùng rộng lớn và trải rộng, tốt nhất là có kích thước lên tới 1000 x 1000.
Bản thân các tòa nhà sẽ có dấu chân hình khối hoặc hình chữ nhật dựa trên một khối cơ sở nhất định, giống như tất cả bội số của 3 khối. Các đường phố và khoảng cách giữa các tòa nhà tốt nhất là rộng 5-11 khối, tùy thuộc vào tầm quan trọng của đường phố.
Khi tôi bắt đầu kế hoạch cho thành phố, tôi sẽ biết chính xác tôi muốn các tòa nhà lớn đến mức nào và sẽ có bao nhiêu.
Vấn đề
Vấn đề là thiết kế bố trí cho thành phố. Rõ ràng với một cái gì đó có quy mô như vậy, và tôi đến từ một nền tảng lập trình chứ không phải là một nền tảng kế hoạch đô thị, thật khó khăn để thậm chí bắt đầu xoay quanh vấn đề.
Vấn đề cụ thể là tôi muốn thành phố trông tự nhiên nhất có thể. Tất nhiên điều này sẽ khá dễ dàng để xây dựng trên một mẫu lưới đơn giản, nhưng tôi muốn tránh một lưới, hoặc bất cứ thứ gì trông giống như lưới, càng nhiều càng tốt.
Câu hỏi
Những thuật toán nào tôi có thể theo đuổi để có thể giúp tôi thiết kế nó bằng mã? Tôi đã nghĩ rằng nó sẽ trông tự nhiên nhất nếu tôi sử dụng fractals theo một cách nào đó, vì minecraft sử dụng fractals đã có trong thế hệ địa hình của nó, và một thành phố dường như phát triển theo mô hình fractal một cách tự nhiên.
Tôi nghĩ rằng nó tương tự như một số cách với thuật toán chơi tetris, vì vậy nếu có ai có giải pháp tồn tại theo hướng đó thì nó cũng có ích. Tôi đang hình dung một cái gì đó mà tôi có thể xác định các hình dạng mà tôi muốn sử dụng và phần mềm sau đó lặp đi lặp lại cho đến khi tìm thấy giải pháp "tối ưu" nhất để phân phối các tòa nhà. Có một cái gì đó đã tồn tại để giúp tôi giải quyết vấn đề này bằng cách sử dụng python, tốt nhất là theo cách trực quan bằng pygame?
Đương nhiên, điều này cũng có ý nghĩa thú vị đối với thế hệ thành phố nói chung trong thiết kế trò chơi, vì vậy tôi rất vui mừng để xem giải pháp tốt nhất là gì.
chỉnh sửa Để rõ ràng, tôi chỉ tìm cách bố trí tại thời điểm này vì các tòa nhà sẽ được thiết kế và xây dựng trong trò chơi.