【ゲ制日記#5】村長が村の記録を保存した
1. はじめに
Mayor's Door(メイヤーズドア)というノンフィールドRPGを作っています。直訳すると「村長の扉」です。
プレイヤーはこの村の村長となり、村人に指示を出します。
ときには死地へ赴かせ、ときには家へ招いて、もてなしたりもします。
食料が足りなくなれば、採取をお願いすることもあります。
こうして、村を管理しつつ、村人たちとともに新天地を目指します。
詳しく知りたい方は、下記から追っていただければと思います。
2. 最近の進捗
入れました!
とうとうセーブとロードを作りました!
ということで、今回はサラッとその部分のご報告になります!
3. オートセーブ
このゲームにおける村長の決断は重いのです!
村人へ下した指示は、取り返しがつかないのです。
そんな悲壮感を出したくて、このゲームはオートセーブを採用しました。

一日が終わり、夜明けとともに、それまでの状況が保存されるようにしました。
村長の日記や、WILLによる村全体のバフ、村人のステータス、扉の現状など、その時の情報がまるっとJSON形式で保存されるようにしました。
元々ゲームの進行に関わるものは、GameStateという1つのクラスにまとめておいたので、ここからデータ構造を辿りシリアライズするだけでした。

ただ、ここで少し悩んでいることがありまして……
このまま平文のJSONですと、ゲームの進行に重要なフラグなども全部丸見えです。
極端な話、扉のHPなどを書き換えれば、一撃で倒せるようになったりします。
開発中であれば、逆に色々いじりながらテストできるので便利かもしれませんが、リリースした後は問題になりそうですよね?
みなさん、どうしているのでしょうか?
暗号化などしたほうがよいのでしょうか?
4. コンティニュー
保存ができるようになったので、タイトルにも続きから遊べるように「Continue」を追加しました。
また、これに伴い、最初からやる場合を「Start」から「New Game」に変更しました。
文字数的にも、なんか収まりがよくなったような気がしますw

これで、毎回最初からプレイせずとも、デバッグができるようになりましたね! やはりすごく便利ですw
なんで、もっと早く対応しなかったのか、少し後悔しています。
5. おわりに
やっとゲームらしくなってきましたが、まだまだ未実装なものが沢山あります。
なかなか村人50人を使い果たすこともなく、抜け落ちていたのですが……
今のところゲームオーバー画面がありません。
そして、扉を倒した後のエンディングもまだ用意していませんでした。
シナリオ関連も残っていますし、ゲームバランスの調整もこれからです。まだまだ地味な作業が続きそうですね。
もし、このゲームに興味が湧きましたら、スキやフォローで応援していただけると励みになります!
