お世話になります、セーブロードに関して二つほど分からないことがあるのでご指導いただけたら幸いです。
①今自分は、ノベルゲームのシステムを自分で作っているのですが、セーブロードの段階で少し詰まってしまいました。
というのも、セーブする項目について、どんな変数を用意すればいいのかが正しく分からないのです。
現在は、背景・キャラ画像・BGM・メッセージなどを変数に格納してバイナリファイルとして書きだす・・・という風なやり方なんですが・・・。
方法としてはこれで間違ってはいないのでしょうか?
②そして一番の問題として、「進行状況を保存する」というのが全く分かりません。
自分は自作のスクリプトでストーリーや演出をテキストに記述して進めているのですが、例えば14行目のテキストまで進行したと言う情報は、どのようにして得ればいいのかが分からないのです。
方法としては、
「ストーリーなどを書いたテキストファイル」 からC++の関数呼び出し→ 「C++」で関数処理
と言う感じの処理の仕方です。
かなり分かりづらい説明になってしまっていますが、よろしければ教えていただけると幸いです。
よろしくお願いします。
ノベルゲームのセーブ・ロードに関して
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 15年前
- 住所: 東海地方
- 連絡を取る:
Re: ノベルゲームのセーブ・ロードに関して
これはプロでも結構悩む問題で難しいですよ。
昨今のノベル系のスキップやロールバック機能も含めると更にややこしいです。
背景・キャラ画像・BGMなど定義テーブルの番号などもっと抽象的な番号に置き換えないとマズイでしょう。
メッセージは、シナリオから再現できるのでは?
あとシナリオのフラグもセーブしないとまずいと思います。
この方式の弱点は、製作途中でシナリオが変わったときにロードできないデータになってしまう事でしょう。
あと公開後のメンテナンスでも不都合が生じる可能性があります。
ここをどう工夫で乗り切るかがノウハウなんですよね~。
吉里吉里とかNScripterとかの記録データはどう処理してるんでしょうね?調べてみる価値はあるかと思います。
昨今のノベル系のスキップやロールバック機能も含めると更にややこしいです。
その番号は次回も同じである保証がありませんのでセーブデータとしては不都合のほうが多いんじゃないでしょうか?はすみ さんが書きました:現在は、背景・キャラ画像・BGM・メッセージなどを変数に格納してバイナリファイルとして書きだす・・・という風なやり方なんですが・・・。
方法としてはこれで間違ってはいないのでしょうか?
背景・キャラ画像・BGMなど定義テーブルの番号などもっと抽象的な番号に置き換えないとマズイでしょう。
メッセージは、シナリオから再現できるのでは?
すくなくとも、プログラムでどのファイルの何行目までは実行したと把握しているはずですから、その情報を記録すれば良いのでは?はすみ さんが書きました: 自分は自作のスクリプトでストーリーや演出をテキストに記述して進めているのですが、例えば14行目のテキストまで進行したと言う情報は、どのようにして得ればいいのかが分からないのです。
あとシナリオのフラグもセーブしないとまずいと思います。
この方式の弱点は、製作途中でシナリオが変わったときにロードできないデータになってしまう事でしょう。
あと公開後のメンテナンスでも不都合が生じる可能性があります。
ここをどう工夫で乗り切るかがノウハウなんですよね~。
吉里吉里とかNScripterとかの記録データはどう処理してるんでしょうね?調べてみる価値はあるかと思います。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。
-
はすみ
Re: ノベルゲームのセーブ・ロードに関して
softya(ソフト屋)さんお早い返信ありがとうございました。
プロでも悩むレベルなんですね・・・・。自分ではどういった解決策を用意すればいいのか全くと言っていいほど思いつかなかったのですが・・・無理もないことなんでしょうか・・・・。
これを返信するまでの間、汎用スクリプトでのコルーチンやなんやといろいろ試行錯誤を重ねてみたんですが、やはり無理でした・・・。
と言う事で自分自身でももう少し研鑽を重ねてからトライしてみたいと思います。
ソフト屋さん、どうもありがとうございました。
いずれどなたかのご指南があるかもしれないので、そちらも少し期待しつつ自分でももっとチャレンジしてみます。
プロでも悩むレベルなんですね・・・・。自分ではどういった解決策を用意すればいいのか全くと言っていいほど思いつかなかったのですが・・・無理もないことなんでしょうか・・・・。
これを返信するまでの間、汎用スクリプトでのコルーチンやなんやといろいろ試行錯誤を重ねてみたんですが、やはり無理でした・・・。
と言う事で自分自身でももう少し研鑽を重ねてからトライしてみたいと思います。
ソフト屋さん、どうもありがとうございました。
いずれどなたかのご指南があるかもしれないので、そちらも少し期待しつつ自分でももっとチャレンジしてみます。
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 15年前
- 住所: 東海地方
- 連絡を取る:
Re: ノベルゲームのセーブ・ロードに関して
こういう抽象的な質問だと抽象的な答えしか返せませんので、ソースを見せてもらえばもっと具体的にアドバイスできることもあるかと思います。
それとDXライブラリ本家の「DXライブラリサンプルゲームのダウンロード」でノベルゲームがソースコード付きでダウンロード出来るのをご存知ですか?
http://homepage2.nifty.com/natupaji/DxLib/dxsample.html
参考になると思うのでダウンロードしてみては如何でしょうか?
それとDXライブラリ本家の「DXライブラリサンプルゲームのダウンロード」でノベルゲームがソースコード付きでダウンロード出来るのをご存知ですか?
http://homepage2.nifty.com/natupaji/DxLib/dxsample.html
参考になると思うのでダウンロードしてみては如何でしょうか?
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。