Tôi nghĩ rằng anh ấy đang tìm cách lưu và tải bản đồ từ một tệp chứ không phải cách lưu trữ chúng trong bộ nhớ. (Hoặc có thể tôi đã hiểu nhầm?)
IMHO có bốn đường dẫn để xử lý vấn đề này.
cực trị: Tạo định dạng của riêng bạn
Bạn có thể tạo bạn sở hữu định dạng tập tin. Cách dễ nhất là chọn một định dạng tệp được sử dụng rộng rãi và có thể mở rộng (chẳng hạn như XML) vì bạn sẽ tìm thấy rất nhiều trình phân tích cú pháp tự do có sẵn trên internet. (đầu vào application-mathematics.net cho trình phân tích cú pháp XML đơn giản nhưng đầy đủ).
Vấn đề ở đây là bạn sẽ phải tạo trình chỉnh sửa bản đồ của riêng mình. Không nghi ngờ gì đây là cách "tốt nhất" nếu bạn muốn học nhiều thứ và có định dạng rõ ràng. Nhưng bạn cũng phải xem xét thời gian mà bạn sẽ cần phải chi tiêu để tạo ra tất cả các công cụ này.
cực trị: Sử dụng định dạng của một trò chơi/công cụ khác
Bạn cũng có thể chọn để sử dụng các định dạng tập tin của một trò chơi hiện có, và kỹ sư retro nó (hoặc đơn giản là sử dụng định dạng của một trò chơi mã nguồn mở , chẳng hạn như Quake).
Vấn đề ở đây là bạn sẽ kế thừa từ các giới hạn của định dạng mà bạn đã chọn. Nhưng thời gian phát triển khá giảm, bạn chỉ cần tìm cách tải các định dạng này.
cân bằng 1: tách hình học từ dữ liệu meta
Bạn cũng có thể chọn để chọn những thứ bạn cần từ một định dạng hiện có, và để lưu trữ dữ liệu meta của bạn ở nơi khác.
Ví dụ bạn có thể sử dụng tạo ra một định dạng mà sẽ trông như thế:
<?xml version="1.0" encoding="UTF-8"?>
<map>
<name>MyMap</map>
<geometry type="bsp">my_map.bsp</geometry>
<spawn id="1">
<monster type="1" spread="5" />
</spawn>
</map>
Ở đây bạn có tốt nhất từ hai thế giới. Bạn có thể thiết kế bản đồ trong bất kỳ trình soạn thảo .bsp nào (3DSmax, Máy xay sinh tố) và lưu trữ dữ liệu bạn cần trong XML.
Trung 2: Thích nghi các định dạng khác của yêu cầu của bạn
Ý tưởng ở đây là chỉ để tạo định dạng thống nhất của riêng bạn, và tạo ra các nhà xuất khẩu cho các biên tập viên sử dụng rộng rãi. Bạn có thể ví dụ viết kịch bản xuất khẩu cho Blender, có thể tạo ra các tệp cho định dạng của riêng bạn.
Chỉ một số mẹo khác nếu tôi hiểu lầm và bạn đang tìm bộ nhớ lưu trữ bản đồ của mình. (Trong trường hợp chỉ cần hỏi và tôi sẽ hoàn thành câu trả lời của tôi :))
- Hãy tìm Quad/Octrees. Đó là một cách để cắt bạn bản đồ thành quads/cubes. Sau đó, bạn sẽ có thể thực hiện tìm kiếm nhanh trong các cấu trúc này và do đó chỉ hiển thị các phần có thể xem của bản đồ, LOD, v.v.
- Tăng tốc độ tải bản đồ bằng cách chọn định dạng tệp gần bố cục bộ nhớ của bản đồ.
- Kết hợp nhiều mô hình lưu trữ bản đồ. Heightmaps là tốt đẹp cho bigs bản đồ ngoài trời, nhưng rất hạn chế (espacially cho bản đồ đa cấp). Bạn có thể sử dụng độ cao cho sàn và lưu trữ đá/hoa là quadtrees, v.v.
Không nói chúng tôi vô dụng ở đây, nhưng bạn có thể nhận được phản hồi được nhắm mục tiêu hơn @ http: //gamedev.net . – ryeguy
Tôi đã thử và không ai trả lời. Thời gian phản hồi ở đây tốt hơn nhiều so với gamedev. Ít nhất cho câu hỏi của tôi ... Idk, có lẽ họ không thích tôi bởi vì tôi thỉnh thoảng hỏi những câu hỏi noob đơn giản. Oh well ... – Robbie
@Robbie: Tôi kiểm tra Gamedev.net mỗi ngày và tôi không nhớ lại khi nhìn thấy một câu hỏi như thế này. Bạn đã đăng nó ở đâu? – Kylotan