ページ 1 / 1
セーブデータの作り方
Posted: 2008年11月30日(日) 03:54
by うい
ゲームプログラミングの館に、
save_dataというセーブデータの構造体があったとします。これをいちいち何かにわけて処理をする必要がなく
fwrite( &save_data, sizeof(save_data_t), 1, fp ) ;
とかけば構造体のデータがそのままファイルに保存出来ます。
このように書いてあるのですが、これのサンプルもC++でそのまま使えるのでしょうか?
あと、同人のゲームを作ろうと思っているのですが、暗号化などはした方がよろしいでしょうか?
Re:セーブデータの作り方
Posted: 2008年11月30日(日) 03:58
by GPGA
>これのサンプルもC++でそのまま使えるのでしょうか?
使えます。
>暗号化などはした方がよろしいでしょうか?
セーブデータなので暗号化はしなくてもいい気がしますが
改編されないためにCRCチェックは入れたほうがいいかもしれません。
Re:セーブデータの作り方
Posted: 2008年11月30日(日) 13:39
by Dixq (管理人)
セーブデータが改竄されたかどうかチェックする方法はゲームプログラミングの館の一番最後に書いてあります。
必要があるかどうかは、ご自身の判断に任せます。
セーブデータがネット上に出回りそうな本格的なソフトなら行った方が良いでしょうが、
特にそういうわけではない時は、ある程度改竄されにくくする程度で大丈夫なんじゃないでしょうか。
しかし排他的論理和でデータかえるのは簡単なので、それ位しておいたほうが無難だと思います。
Re:セーブデータの作り方
Posted: 2008年11月30日(日) 15:12
by Justy
>このように書いてあるのですが、これのサンプルもC++でそのまま使えるのでしょうか?
使えることは使えます。
ですが、構造体の中身に依って、或いは環境に依っては、それを読み込んだとき
正しく動くかどうかは保証できないことがあります。
Cでも構造体内にポインタが含まれていたらダメでしょうし、
C++の場合それに加えて参照やコンストラクタ・デストラクタ、
仮想関数を含んだり、継承したりすることができますが、
それらを含んでいると保証できなくなります。
>暗号化などはした方がよろしいでしょうか
保存する中身が重要なものでなく、改変されても問題もので有れば
必要ないと思います。
逆に言えば、重要で保護する必要があれば、暗号化&チェックサムを
付けた方がいいでしょう。
Re:セーブデータの作り方
Posted: 2008年11月30日(日) 23:51
by うい
わかりました、ありがとうございます。