「ゲームプログラミング」の版間の差分

削除された内容 追加された内容
タグ: モバイル編集 モバイルウェブ編集
576 行
 
なお、暗号化について、たとい機械語でセーブ内容を書き込みをしてもバイナリエディタなどで読み込めば中身を読めてしまうので、ソースコードの内容を機密にしたい場合は暗号化が必要である。
 
 
=== その後のセーブ・ロード機能の整備 ===
セーブ&ロード機能の作成は、セーブから作るほうが作りやすい。
 
しかし、最終的にセーブ用関数とロード用関数の一部を統合する場合などは、ロード機能を基準に考えたほうが良い。
 
 
この理由は、まず、セーブ機能とロード機能では当然、セーブファイルの読み方の書式を統一しなければならない。(でないと、ロードの前後で、ゲーム主人公の能力値や進行状況などが変わってしまい、セーブとしての機能を果たさない。)
 
なので、ともかくセーブとロードにおけるセーブファイルの書式を統一する必要がある。
 
ロードのほうが処理が複雑であり、プログラムが複雑になるので、ロード機能を作りやすい書式なら、セーブ機能も作りやすい。つまり、ロードの都合だけしか考えていない書式であっても、比較的ラクにセーブ機能のプログラムを書ける。
 
一方、セーブ用を基準にして考えたセーブファイル書式は、必ずしも、ロード機能のプログラムを作成しやすいとは限らない。
 
 
では、なぜロード機能のプログラムは、複雑になりやすいのであるか?
 
まず、セーブの場合、最終的に外部に出力されたデータには、データ型の差異(int型やchar型などの差異)は無く、すべてテキスト文字列として処理されているので、プログラムは比較的に単純である。
 
しかしロードのほうは、読み取った文字列がint型なのかそれともchata型なのかなどの解釈をプロプラムで指示しなければならないので、よってロードのプログラムはやや複雑になる。こうして、セーブ機能よりもロード機能のほうがプログラムが複雑になりやすいのである。
 
== 特殊イベントのフラグの作り方 ==