Oyun programcıları, iki ana veri depolama yönteminden birine güvenmiştir:
- her veri dosyasını ayrı bir dosya olarak saklayın
- her veri dosyasını özel bir arşiv biçiminde saklayın
İlk çözümün dezavantajı boşa harcanan disk alanı problemi ve daha yavaş kurulum problemidir.
İkinci çözüm, kendi tuzaklarını sağlar, ilk önce kendi görüntü / ses / etc'inizi yazmanız gerekir. arşivlenmiş verilere erişmek için özel bir API kullanan rutinleri yükleme. Diğer bir dezavantajı, arşivleri ilk etapta oluşturmak için kendi arşivleme yardımcı programını yazmanız gerektiğidir.
Tüm dosyaları her zaman arşivden yüklemeyecekseniz, TAR / GZ çok iyi bir fikir olmayabilir, çünkü belirli dosyaları istediğiniz gibi çıkaramazsınız. Birçok oyunun bireysel dosyaları gerektiği gibi çıkarmanıza izin veren ZIP arşivlerini kullanmasının nedeni budur (iyi bir örnek, PK3 dosyaları farklı bir uzantıya sahip ZIP dosyalarından başka bir şey olmayan Quake 3'tür).
EDIT: oyun klasörü yapısını "gizle" ve sadece çalıştırılabilirleri "tut"
Başka bir çözüm de genellikle oyun dosyalarını klasör yapısında "gizlemek" için kullanılır. Yalnızca çalıştırılabilir dosyalarınızı ve belki de ana dizindeki bir benioku dosyasını saklayın ve oyun dosyalarını "data" veya benzeri bir dosya adı altında bir alt klasöre taşıyın.
EDIT: Gamedev Tuts Plus'ın güzel bir kaynağı var
EDIT: libarchive
ZIP dosyası gibi bir arşivden dosyaları çıkarmayı işleyen bir arşivleme kütüphanesi olan potansiyel bir çözüm kütüphanesi. Ayıklanan dosyayı standart bir DOSYA işaretleyicisine atamanıza izin verir, bu da diğer tüm kitaplıklarla etkileşimi potansiyel olarak daha kolay hale getirir.
EDIT: ZIP Alternatif uzantılı dosyalar biçimlendirin
Burada, @Joachim Sauer adlı kullanıcının Yorumunu beğendim
Alternatif uzantılı Posta formatlı dosyaları kullanma yanı oyunların dışında büyük bir geleneğe sahiptir: Java yapar , OpenDocument Biçimi (OpenOffice / LibreOffice biçimi aka) yapar , hatta ( "yeni" Microsoft Office biçiminde aka) Office Açık XML yapar .