Apa metode yang biasa digunakan untuk menyimpan model 3D, tekstur, suara dan skrip (misalnya file Lua) selama pengembangan dan dalam rilis? Saya mengembangkan game dengan teman-teman saya terutama di C ++; pada fase prototyping kami hanya memiliki satu tekstur yang disimpan sebagai header C dengan GIMP, tetapi tentu saja, pendekatan ini tidak skala dengan baik dan meningkatkan waktu kompilasi.
Di bawah Windows, praktik yang biasa dilakukan adalah membuangnya ke %PROGRAMFILES%
subdirektori di mana game executable berada, mungkin mengaturnya dalam struktur pohon yang sesuai. Namun, di Linux gambarnya tampak jauh lebih rumit. Yang dapat dieksekusi biasanya berada di /usr/bin
, sedangkan aplikasi menyimpan file mereka yang lain /usr/share
, dan saya pikir itu akan menjadi praktik yang sangat buruk untuk memasukkan non-executable /usr/bin
. Namun, struktur direktori selama pengembangan sama sekali berbeda.
Saya dapat menemukan dua solusi yang berbeda:
- Biarkan yang dapat dieksekusi menemukan file aset relatif terhadap dirinya sendiri, dan instal game ke
/opt
. Kemudian tempat symlinks ke/usr/bin
. Selama pengembangan, jalur relatif dari aset ke binari adalah sama dengan selama penyebaran. - Akses file dengan jalur absolut yang didefinisikan sebagai simbol preprosesor. Biarkan proses pembuatan (dalam kasus kami, mentah
Makefile
) berhati-hati mendefinisikannya sesuai.
Kedua pendekatan itu tampaknya agak tidak cocok bagi saya dalam satu aspek atau lainnya. Apakah ada praktik umum dalam industri pengembangan game tentang ini?
Satu-satunya pertanyaan yang relevan yang dapat saya temukan adalah Menentukan lokasi aset permainan disk yang diinstal / pada disk dan jalur Direktori untuk sumber daya dan aset , tetapi pertanyaan itu tidak membahas masalah menjalankan "dari pohon sumber".