Nén trò chơi lưu dữ liệu


9

Tôi đang viết một trò chơi cần lưu nhiều dữ liệu chi tiết (quỹ đạo chính xác của một số thực thể) vào một tệp bên ngoài. Tôi muốn tiết kiệm dung lượng ổ đĩa và băng thông bằng cách nén nó, nhưng tôi chưa bao giờ làm điều này, vì vậy tôi không biết có cách nào ưu tiên để làm điều đó không.

Tất nhiên, giải nén nén không nên ảnh hưởng đến tốc độ của trò chơi quá nhiều.


1
Ngôn ngữ của bạn đang sử dụng là gì?
Richard Marskell - Drackir

Câu trả lời:


8

Các zlib thư viện đã gán cho hầu hết các ngôn ngữ lập trình, và là khá nhanh. Tuy nhiên, bạn nên so sánh các thuật toán comperssion khác nhau, bởi vì một thuật toán có thể đạt được tốc độ nén tốt hơn trên loại dữ liệu của bạn so với trường hợp chung.


1

Một cách, có thể là cách nén dữ liệu cực đoan là chỉ ghi lại các bước / đầu vào được sử dụng để tạo dữ liệu. Một cái gì đó giống như những gì ModNation Racer làm (nguyền rủa những lần tải dài đó khi nó tạo lại bản nhạc). (Google cho video của trình chỉnh sửa bản nhạc trong ModNation Racer).

tức là nếu tôi đang lưu trữ một số địa hình, tôi sẽ lưu trữ tất cả các thao tác bắt đầu từ một đồng bằng bằng phẳng. tức là áp dụng bàn chải hình núi lửa với lực này, ở đây. Áp dụng các hoạt động làm mịn địa hình trên khu vực này, với lực này. Thêm đối tượng được xác định trước của tôi ở đây. Sử dụng các đường cong giống như đường cong bezier với 'khung hình chính' để xây dựng toàn bộ đường bay / đường bay / bất cứ điều gì.

Nhiều trò chơi khác làm điều này không chỉ để tải cấp, mà còn cho trò chơi, bằng cách làm cho trò chơi trở nên quyết định, chỉ gửi đầu vào của người chơi (tôi nghĩ PixelJunk Shooter 2 làm điều này).

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.