見出し画像

【ゲ制日記#5】村長が村の記録を保存した

1. はじめに

Mayor's Door(メイヤーズドア)というノンフィールドRPGを作っています。直訳すると「村長の扉」です。

プレイヤーはこの村の村長となり、村人に指示を出します。
ときには死地へ赴かせ、ときには家へ招いて、もてなしたりもします。
食料が足りなくなれば、採取をお願いすることもあります。
こうして、村を管理しつつ、村人たちとともに新天地を目指します。

詳しく知りたい方は、下記から追っていただければと思います。


2. 最近の進捗

入れました!
とうとうセーブとロードを作りました!
ということで、今回はサラッとその部分のご報告になります!


3. オートセーブ

このゲームにおける村長の決断は重いのです!
村人へ下した指示は、取り返しがつかないのです。
そんな悲壮感を出したくて、このゲームはオートセーブを採用しました。

オートセーブ

一日が終わり、夜明けとともに、それまでの状況が保存されるようにしました。
村長の日記や、WILLによる村全体のバフ、村人のステータス、扉の現状など、その時の情報がまるっとJSON形式で保存されるようにしました。

元々ゲームの進行に関わるものは、GameStateという1つのクラスにまとめておいたので、ここからデータ構造を辿りシリアライズするだけでした。

JSON形式のセーブデータ

ただ、ここで少し悩んでいることがありまして……
このまま平文のJSONですと、ゲームの進行に重要なフラグなども全部丸見えです。
極端な話、扉のHPなどを書き換えれば、一撃で倒せるようになったりします。

開発中であれば、逆に色々いじりながらテストできるので便利かもしれませんが、リリースした後は問題になりそうですよね?
みなさん、どうしているのでしょうか?
暗号化などしたほうがよいのでしょうか?


4. コンティニュー

保存ができるようになったので、タイトルにも続きから遊べるように「Continue」を追加しました。
また、これに伴い、最初からやる場合を「Start」から「New Game」に変更しました。
文字数的にも、なんか収まりがよくなったような気がしますw

コンティニュー

これで、毎回最初からプレイせずとも、デバッグができるようになりましたね! やはりすごく便利ですw
なんで、もっと早く対応しなかったのか、少し後悔しています。


5. おわりに

やっとゲームらしくなってきましたが、まだまだ未実装なものが沢山あります。
なかなか村人50人を使い果たすこともなく、抜け落ちていたのですが……
今のところゲームオーバー画面がありません。

そして、扉を倒した後のエンディングもまだ用意していませんでした。
シナリオ関連も残っていますし、ゲームバランスの調整もこれからです。まだまだ地味な作業が続きそうですね。

もし、このゲームに興味が湧きましたら、スキやフォローで応援していただけると励みになります!


いいなと思ったら応援しよう!