Tôi đang phát triển một thế giới trò chơi được tạo theo thủ tục bằng Python. Cấu trúc của thế giới sẽ tương tự như mô hình MUD/MUSH của các phòng và lối ra được sắp xếp như một đồ thị được chỉ dẫn (các phòng là các nút, lối ra là các cạnh). (Lưu ý rằng đây là không phải là nhất thiết phải là biểu đồ tuần hoàn, mặc dù tôi sẵn sàng xem xét các giải pháp tuần hoàn.)Chiến lược tốt để xây dựng biểu đồ đạo diễn cho bản đồ trò chơi (bằng Python) là gì?
Để thuật toán thế hệ, các loại phòng khác nhau sẽ được phân biệt bằng thuộc tính của mỗi phòng thiết lập các chuỗi). Một khi chúng đã được khởi tạo, các phòng có thể được truy vấn và được chọn bởi các thẻ (thẻ đơn, giao điểm thẻ, liên kết thẻ, ứng cử viên tốt nhất).
Tôi sẽ tạo các loại phòng cụ thể bằng cách sử dụng hệ thống tôn vinh đối tượng mẫu và phương pháp nhà máy - Tôi không nghĩ chi tiết quan trọng ở đây, vì việc triển khai hiện tại có thể sẽ thay đổi để phù hợp với chiến lược đã chọn. (Ví dụ, nó sẽ có thể để thêm thẻ và thẻ-truy vấn đến các mẫu phòng hệ thống.)
Đối với một ví dụ, tôi sẽ có phòng các loại:
side_street
,main_street
, plaza, bar, hotel, restaurant, shop, office
Cuối cùng, câu hỏi: những gì là một chiến lược tốt để khởi tạo và sắp xếp các phòng này để tạo biểu đồ có thể tương ứng với các quy tắc nhất định?
Một số quy tắc có thể bao gồm: một quảng trường cho mỗi 10.000 dân; main_street
kết nối với plaza
; side_street
kết nối với main_street
hoặc side_street
; hotel
ủng hộ các kết nối main_street
hoặc plaza
và nhận thêm thẻ tương ứng; v.v.
Điểm thưởng nếu chiến lược được đề xuất sẽ bật triển khai theo hướng dữ liệu.
-1: OP hỏi về cách tiếp cận đồ thị không phối hợp, được sử dụng trong nhiều trò chơi khá thành công (và cho phép kết nối không liên tục hơn, có thể khá hữu ích). Bạn mô tả một cách tiếp cận hoàn toàn khác (không nhất thiết phải tốt hơn). –
Ngoài ra, một cây không phải là cấu trúc dữ liệu phù hợp cho ứng dụng này. OP cho biết đồ thị, và ông có nghĩa là đồ thị. Một cây chỉ là một biểu đồ tuần hoàn, và bạn không muốn giới hạn tuần hoàn trong trường hợp này. –
@Carl Meyer: "OP hỏi về cách tiếp cận đồ thị không phối hợp" Tốt để biết. Tôi tự hỏi làm thế nào bạn biết điều đó? Bất kỳ từ hoặc cụm từ nào trong câu hỏi chỉ ra điều này? Tôi không thể tìm thấy. Tôi đã bỏ lỡ cái gì? –