Şimdilik, daha yeni başladığınızdan beri, metin dosyaları muhtemelen iyi durumda. Sorunuzda ele alacağım birkaç endişe var.
Verileri korumak, muhtemelen düşündüğünüz kadar önemli değildir. Oyununuz çok oyunculu ise, verileri zaten sunucu tarafında kaydetmiş olacaksınız. Oyununuz tek oyuncuysa, oyuncular verileri değiştirirse ne olur? Bir şeyi kırarlarsa bu gerçekten onların hatası ve tekrar kurabilirler.
Performans aynı zamanda düzgün bir şekilde planlamayı başaramadığımız başka bir şeydir. Aslında kadar Gerçekten optimize olmamalıdır ölçmek bir performans sorununu. Tahminimce, muhtemelen o kadar büyük olmayan bir miktar veriye sahip olacaksınız ve bu metin dosyaları iyi olacak.
Olduğu söyleniyor, en iyi bahis, veri tasarrufu ve yükleme rutinleri mümkün olduğunca en iyi şekilde özetlemek. Örneğin, bir temel sınıfa sahip olabilir, örneğin DataWriter
, ve farklı yöntemlerin farklı uygulamalarını sağlayabilirsiniz. Çok basit bir örnek şöyle görünür:
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
}
};
Sonunda oyununuzu profillendiğinde ve performans darboğazının dosya yazma yordamında olduğunu fark ettiğinizde, bu sınıfın başka bir uygulamasını (örneğin bir veritabanına yazmak için) çağıran kodda minimum değişiklik yaparak sağlayabilirsiniz.