2010-10-06 55 views
3

我想創建一個數據文件來保存我遊戲需要的所有數據,並且我希望它被壓縮。我研究了tar和gzip,但是我下載了它們的源代碼,我不知道從哪裏開始。有人能給我一些指導我如何使用這些?遊戲文件存檔格式

回答

6

除非您始終會從檔案中加載所有文件,否則TAR/GZ可能不是一個好主意,因爲您無法在需要時提取特定文件。這就是許多遊戲使用ZIP壓縮文件的原因,它允許您根據需要提取單個文件(一個很好的例子是Quake,其PK3​​文件不過是具有不同擴展名的ZIP文件)。

有點搜索帶來了Minizip,這是一個建立在zlib之上的ZIP庫。我找不到任何單獨的文檔,但頭文件似乎包含了很多評論,我相信你可以隨它一起下載。

+1

+1。如果你不想推出自己的產品,Zip就是要走的路。 – Porculus 2010-10-06 02:40:38

+0

Minizip是完美的。 – kaykun 2010-10-06 22:51:25

3

如果您的意思是您希望您的遊戲在運行時從存檔中讀出,那麼我建議每次將遊戲運行到臨時文件夾時進行解壓縮,然後根據需要使用這些文件。這可以通過使用庫來解壓你使用的任何檔案格式來實現。看看zlib

+1

如果檔案中包含許多文件,這不是一個好方法。如果當前級別僅使用其中的100個紋理,則不需要解壓縮5000個紋理! – Porculus 2010-10-06 02:38:23

+1

我想我假設遊戲不是很大,就好像當時凱庫恩很可能已經有了這方面的經驗。儘管引入了可接受的開銷,但我的方法對於程序員來說要簡單得多。 – ajnatural 2010-10-06 02:42:48