अभी के लिए, चूंकि आप अभी शुरुआत कर रहे हैं, पाठ फ़ाइलें शायद ठीक हैं। आपके प्रश्न में कुछ चिंताएँ हैं जिन्हें मैं संबोधित करूँगा।
डेटा की रक्षा करना उतना महत्वपूर्ण नहीं है जितना आप शायद सोचते हैं। यदि आपका गेम मल्टीप्लेयर है, तो आपके पास डेटा सेव्ड सर्वर-साइड वैसे भी होगा। यदि आपका खेल एकल खिलाड़ी है, तो क्या होगा यदि खिलाड़ी डेटा को संशोधित करते हैं? यदि वे कुछ तोड़ते हैं तो यह वास्तव में उनकी गलती है और वे फिर से स्थापित कर सकते हैं।
प्रदर्शन भी कुछ और है कि हम अक्सर ठीक से योजना बनाने में विफल होते हैं। जब तक आप वास्तव में एक प्रदर्शन के मुद्दे को नहीं मापते तब तक आपको वास्तव में अनुकूलित नहीं करना चाहिए । मेरा अनुमान है कि आपके पास संभवतः एक बड़ा डेटा होगा जो इतना बड़ा नहीं है और वह टेक्स्ट फाइलें बस ठीक होने वाली हैं।
कहा जा रहा है, आपका सबसे अच्छा दांव आपके डेटा की बचत और रूटीन को लोड करना है जो आप कर सकते हैं। उदाहरण के लिए, आपके पास एक आधार वर्ग हो सकता है, कह सकता है DataWriter
, और फिर इसके विभिन्न तरीकों के विभिन्न कार्यान्वयन प्रदान कर सकता है । एक बहुत ही बुनियादी उदाहरण की तरह दिखेगा:
class DataWriter {
virtual void save(GameState state) = 0;
virtual ~DataWriter() { }
};
class TextFileDataWriter : public DataWriter {
virtual void save(GameState state) {
//write to text file
}
};
class DatabaseDataWriter : public DataWriter {
virtual void save(GameState state) {
//write to database
}
};
जब आप अंततः अपने खेल को प्रोफाइल करते हैं और महसूस करते हैं कि प्रदर्शन की अड़चन फाइल राइटिंग रूटीन में है, तो आप कॉलिंग कोड में कम से कम बदलाव के साथ उस वर्ग का एक और कार्यान्वयन (उदाहरण के लिए डेटाबेस को लिखने के लिए) प्रदान कर सकते हैं।