আপাতত, আপনি যেহেতু সবে শুরু করছেন, পাঠ্য ফাইলগুলি সম্ভবত ঠিক আছে। আপনার প্রশ্নের মধ্যে বেশ কয়েকটি উদ্বেগ রয়েছে যা আমি সম্বোধন করব।
আপনি সম্ভবত মনে করেন ডেটা সুরক্ষা ততটা গুরুত্বপূর্ণ নয়। যদি আপনার গেমটি মাল্টিপ্লেয়ার হয় তবে আপনার পক্ষে সার্ভার-সাইডটি কোনওভাবেই সংরক্ষণ করা হবে। যদি আপনার গেমটি একক প্লেয়ার হয়, তবে খেলোয়াড়রা যদি ডেটা পরিবর্তন করে? যদি তারা কিছু ভঙ্গ করে তবে এটি তাদের ত্রুটি এবং তারা পুনরায় ইনস্টল করতে পারে।
পারফরম্যান্সও অন্য কিছু যা আমরা প্রায়শই সঠিকভাবে পরিকল্পনা করতে ব্যর্থ হই। যতক্ষণ না আপনি প্রকৃতপক্ষে কোনও পারফরম্যান্সের সমস্যাটি পরিমাপ করেন ততক্ষণ আপনার সত্যিকারের অনুকূলিত হওয়া উচিত নয় । আমার অনুমান যে আপনি সম্ভবত ডেটার একটি পরিমাণ নয় হবে হয় যে বড় এবং যে পাঠ্য ফাইল শুধু জরিমানা করা করতে যাচ্ছি।
বলা হচ্ছে, আপনার সেরা বাজি হ'ল আপনার ডেটা সঞ্চয় এবং লোড রুটিনগুলিকে যথাসম্ভব উপস্থাপন করা। উদাহরণস্বরূপ, আপনি একটি বেস ক্লাস রাখতে পারেন, বলুন 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
}
};
আপনি যখন শেষ পর্যন্ত আপনার গেমটি প্রোফাইল করেন এবং উপলব্ধি করেন যে ফাইল রাইটিং রীতিতে পারফরম্যান্সের অন্তরায় রয়েছে, আপনি কলিং কোডের ন্যূনতম পরিবর্তন সহ সেই শ্রেণীর আরেকটি বাস্তবায়ন (উদাহরণস্বরূপ কোনও ডাটাবেজে লিখতে) সরবরাহ করতে পারেন।