गेम प्रोग्रामर ने डेटा स्टोरेज के दो मुख्य तरीकों में से एक पर भरोसा किया है:
- प्रत्येक डेटा फ़ाइल को एक अलग फ़ाइल के रूप में संग्रहीत करें
- प्रत्येक डेटा फ़ाइल को कस्टम संग्रह प्रारूप में संग्रहीत करें
पहले समाधान की कमी व्यर्थ डिस्क स्थान की समस्या है, साथ ही धीमी प्रतिष्ठानों की समस्या भी है।
दूसरा समाधान यह प्रदान करता है कि यह स्वयं की कमियां हैं, पहला यह है कि आपको अपनी सभी छवि / ध्वनि / आदि लिखना होगा। लोडिंग रूटीन जो संग्रहीत डेटा तक पहुंचने के लिए एक कस्टम एपीआई का उपयोग करते हैं। एक और दोष यह है कि आपको अभिलेखागार के निर्माण के लिए अपनी स्वयं की संग्रह उपयोगिता लिखनी होगी।
जब तक आप हमेशा संग्रह से सभी फ़ाइलों को लोड करेंगे, TAR / GZ एक बहुत अच्छा विचार नहीं हो सकता है, क्योंकि आप विशिष्ट फ़ाइलों को नहीं निकाल सकते हैं क्योंकि आपको उनकी आवश्यकता है। यही कारण है कि कई गेम ज़िप अभिलेखागार का उपयोग करते हैं, जो आपको आवश्यक के रूप में व्यक्तिगत फ़ाइलों को निकालने की अनुमति देते हैं (एक अच्छा उदाहरण क्वेक 3 है, जिसकी पीके 3 फाइलें एक अलग विस्तार के साथ ज़िप फ़ाइलों के अलावा कुछ भी नहीं हैं)।
संपादित करें: खेल फ़ोल्डर संरचना को "छुपाएं" और केवल "निष्पादन" रखें
एक अन्य समाधान अक्सर फ़ोल्डर संरचना में गेम फ़ाइलों को "छिपाने" के लिए उपयोग किया जाता है। केवल अपने निष्पादक और मुख्य निर्देशिका में एक रीडमी फ़ाइल रखें और गेम फ़ाइलों को "डेटा" या अन्य संबंधित नाम के उप फ़ोल्डर में स्थानांतरित करें।
संपादित करें: Gamedev Tuts Plus के पास एक अच्छा संसाधन है
EDIT: लिबेरक्टिव
एक संभावित समाधान लिबेरक्टिव, जो एक संग्रह पुस्तकालय है जो ज़िप फ़ाइल जैसी संग्रह से फ़ाइलों को निकालने का काम करेगा। यहां तक कि यह आपको निकाले गए फ़ाइल को एक मानक फ़ाइल पॉइंटर को असाइन करने की अनुमति देता है, जो संभवतः किसी भी अन्य पुस्तकालयों के साथ संभावित रूप से अधिक सरलता से इंटरफेस करेगा।
संपादित करें: वैकल्पिक विस्तार के साथ ज़िप प्रारूप फाइलें
यहां, मुझे @ जोकिम सौर की टिप्पणी पसंद है
वैकल्पिक एक्सटेंशन के साथ ज़िप-प्रारूप फ़ाइलों का उपयोग करने के साथ-साथ खेलों के बाहर भी एक महान परंपरा है: जावा यह करता है , OpenDocument प्रारूप (उर्फ OpenOffice / LibreOffice प्रारूप) करता है , यहां तक कि Office Open XML (उर्फ "नया" Microsoft Office प्रारूप) भी है करता है ।