Fungusには、セーブやロードの機能もちゃんと用意されているんだ~!
この記事では、セーブポイントの作り方・変数の保存方法を紹介するよ!

ゲームを中断・再開できるようにして、遊びやすいゲームにしようね♪
✅第⑧回の「会話のスキップ機能を実装方法」はこちら↓
セーブメニューを作る
✅手順:
- メニューから「ツール」→「Fungus」→「作成」→「SaveMenu」 を選ぶ
- 生成された 「SaveMenu」オブジェクト を、ヒエラルキーの「Canvas」オブジェクトの中 に入れる
※Canvasが存在しない場合は、先に「UI → Canvas」を作成してね!

🖱 SaveMenuの基本構成
「Save」ボタン:現在のゲーム状態を保存
「Load」ボタン:保存されたデータを読み込む
「Restart」ボタン:ゲームを最初から再開

💡SaveMenuを追加するだけで、ボタン操作でのセーブ・ロード機能を簡単に試せるようになるよ!
スタートポイントを作る
ゲームをリスタートさせるときに、最初に戻る場所を設定しよう!
✅手順:
- Flowchartウィンドウの中で、一番最初に実行されるブロックを用意
(※ぼくのゲームでは「タイトル画面を表示するブロック」) - このブロックの中に「Save Point」コマンドを追加!
- Save Pointコマンドの設定で「Is Start Point」 に ☑ チェックを入れる

この「スタートポイント」は、*Restart(リスタート)*を押したときに戻る場所になるよ!
Flowchartの中に複数の「Save Point」がある場合も、Start Pointは1つだけにしてね
セーブポイントを設定する
「スタートポイント」以外にも、
ゲームの途中でセーブしたい場所に、自由にセーブポイントを追加できるよ!
✅手順:
1.セーブしたい場所に新しいブロックを作る
または、既存のブロックの中に 「Save Point」コマンドを追加!
2.「Save Point」コマンドを選択して、設定を行う

🔧主な設定項目:
| 項目名 | 内容 |
|---|---|
| Key Mode | 「Custom(カスタム)」にすると、好きな名前でセーブポイントを管理できるよ! |
| Key | セーブポイントの名前。 ロードブロックでもこの名前を使って指定するよ。 |
| Fire Event | セーブ時にイベント(処理)を自動実行したいときに使用。 |
| Resume On Load | ロードしたときに、 このセーブポイントのブロックをそのまま実行開始できるよ。 |
セーブ場所を増やせば、オートセーブやイベント途中の再開も実現できる!
Key をしっかり管理すれば、ロード時の処理がスムーズになるよ。
変数を保存する
ゲームを中断しても、プレイヤーの進行状況をちゃんと引き継ぎたいよね!
Fungusでは、「Save Variable」コマンドを使って、
指定した変数をセーブデータとして保存できるんだ♪

✅ぼくの活用例:
脱出につながる行動をしたときに、
自動で「変数を設定」して → 「変数を保存」する流れにしてるよ!
🔧「Save Variable」の設定項目:
| 項目 | 内容 |
|---|---|
| Key | セーブデータの名前になるよ。 好きな名前をつけてOK!(例:”hasKey”) |
| Variable | 保存したい変数をここで選ぶよ。 あらかじめ Flowchart に作っておいた変数から選択しよう。 |
ぼくは、分かりやすくするためにKey と Variable を同じ名前にしてるよ(例:”給食完食”)。
🔁 セーブ処理の流れ(ぼくの例):
Set Variableコマンドで、変数の値を更新
→ 例:「イベント完了」変数を True に!Save Variableで、その変数をセーブする
→ これで次回ロードしても状態が引き継がれる♪
まとめ|セーブ機能を活用して、プレイヤーの体験をもっと快適に!
今回は、Fungusでセーブ機能を作る方法を紹介したよ!
- 「SaveMenu」を作成してセーブ・ロード・リスタートボタンを追加
- セーブポイントを自由な場所に設置できる
- 変数を保存して、ゲームの状態を引き継げる
セーブ機能をうまく使えば、プレイヤーが好きなタイミングで中断・再開できるようになるから、ゲームの満足度もアップするはず♪
👇次回は、「ロード処理の作り方」も紹介するからお楽しみにね〜!




コメント