Pemrogram game mengandalkan salah satu dari dua metode utama penyimpanan data:
- menyimpan setiap file data sebagai file terpisah
- menyimpan setiap file data dalam format arsip khusus
Kelemahan dari solusi pertama adalah masalah ruang disk yang terbuang, serta masalah instalasi yang lebih lambat.
Solusi kedua menyediakan perangkapnya sendiri, pertama adalah Anda harus menulis semua gambar Anda sendiri / suara / dll. memuat rutin yang menggunakan API khusus untuk mengakses data yang diarsipkan. Kelemahan lebih lanjut adalah bahwa Anda harus menulis utilitas arsip Anda sendiri untuk membangun arsip di tempat pertama.
Kecuali Anda akan selalu memuat semua file dari arsip, TAR / GZ mungkin bukan ide yang sangat bagus, karena Anda tidak dapat mengekstraksi file tertentu sesuai kebutuhan. Inilah alasan mengapa banyak game menggunakan arsip ZIP, yang memungkinkan Anda untuk mengekstrak file individual sebagaimana diperlukan (contoh yang baik adalah Quake 3, yang file PK3 tidak lain adalah file ZIP dengan ekstensi yang berbeda).
Sunting: "Sembunyikan" struktur folder gim dan "Simpan" hanya yang dapat dieksekusi
Solusi lain sering digunakan untuk "menyembunyikan" file game dalam struktur folder. Simpan hanya file executable Anda dan mungkin file readme di direktori utama dan pindahkan file game ke sub folder bernama "data" atau yang terkait lainnya.
EDIT: Gamedev Tuts Plus memiliki sumber daya yang bagus
EDIT: libarchive
Salah satu solusi potensial libarchive, yang merupakan perpustakaan pengarsipan yang akan menangani mengekstraksi file dari arsip seperti file ZIP. Bahkan memungkinkan Anda untuk menetapkan file yang diekstraksi ke pointer FILE standar, yang akan membuat berinteraksi dengan perpustakaan lain yang berpotensi lebih mudah.
EDIT: ZIP Memformat file dengan ekstensi alternatif
Di sini, saya suka @ Joachim Sauer's Comment
Menggunakan file berformat ZIP dengan ekstensi alternatif juga memiliki tradisi di luar permainan: Java melakukannya , Format OpenDocument (alias format OpenOffice / LibreOffice) melakukannya , bahkan Office Open XML (alias format Microsoft Office "baru") apakah itu .