Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

連作シナリオにおけるシステム改善 #282

Open
snext1220 opened this issue Jun 28, 2021 · 1 comment
Open

連作シナリオにおけるシステム改善 #282

snext1220 opened this issue Jun 28, 2021 · 1 comment
Labels
Compatibility 現在/将来の互換性に影響すると思われる変更 enhancement 新機能提案*

Comments

@snext1220
Copy link
Owner

snext1220 commented Jun 28, 2021

幕末ソーサリアンも本格的に始まり、連作シナリオに関する問題も出てきています。
本Issueでは、それら問題の改善案をまとめ、対策していきます。
非互換な問題もあり、一朝一夕には対応できないものもありますが、備忘録の意味も含め、列挙しておきます。

series属性の導入

  • scenario要素のseries属性にシリーズidを指定した場合、連作共通のセーブデータを作成する。
  • series属性を持つシナリオは、ひとつのセーブデータを連作で共有する
  • セーブデータにscenerioプロパティ(現在のシナリオid)を追加
  • (課題)バックアップ/リストア管理に影響あり。scenario.xmlにもseries属性を追加要?
  • (課題)シナリオ途中で他のシナリオを開いた場合、無条件にそちらを開始しても良い?
    • scenarioプロパティと等しいかどうかで判定?
  • (課題)現在のシナリオ個々のセーブデータは無効化される(自動移行は辛いので、最初からになってしまうか...)

nexts属性の廃止 ★非互換★

series属性の導入に伴い、nexts属性は廃止する。

  • 現在、不特定多数の回に引き継ぐ場合、nexts属性に連作全てのシナリオidを列挙する必要がありますが、これが不要になります(自由に連作を追加可能)。
  • 不要なセーブデータが大量にできる問題が解消する。

end属性のシーンの仕様変更

  • series属性の導入に伴い、happy、badエンドの処理を変更する。
  • scenario=空文字列、その他はnexts属性での処理に準ずる

次シナリオ開始時のルール

地味に結構複雑になりそうなので、要検討

  • scenario is empty
    + [既存キャラで開始]:********************************
    + [新規キャラで開始]:********************************
  • scenario not empty
    + scenario=現シナ
    + [つづきから]:********************************
    +[既存キャラで最初から]:********************************
    +[新規キャラで最初から]:********************************
    + scenario=他シナ(alert:冒険途中のデータが消えます)
    +[既存キャラで開始]:********************************
    +[新規キャラで開始]:********************************

再開時の確認

[最初から]のボタンをクリックした場合に、ダイアログによる確認を追加(冒険途中のデータが消えますが、宜しいですか?)

  • (課題)連作以外でも適用する?

2021-08-17 更新メモ

series属性の導入

  • scenario要素のseries属性にシリーズidを指定した場合、連作共通のセーブデータを作成する。
    • 作成タイミングはhappy/bad問わず、end属性ありのシーン
    • 現在のnexts属性の仕様に即して、エンディング時のセーブデータを複製
  • 本来のセーブデータは従来通り、シナリオ個々のセーブデータとして管理(バックアップの互換性維持)
    • 【課題】連作バックアップはUtilページからのみ(ok?)
    • 連作セーブデータにはplayingフラグを追加(冒険中シナリオを記録。クリア時は空)

シナリオ開始時の仕様

  • series属性なし:従来と同じ
  • series属性あり
    • 連作sdなし:従来と同じ
    • 連作sdあり:連作sdの複製(以下は追加処理)
      • playingが空
        • 個別sdあり:sceneのみコピー(ただし、本来ないもの)
        • 個別sdなし:×
      • playingが現在のシナ
        • 個別sdあり
          • [はじめから]:
          • [つづきから]:
        • 個別sdなし:×
      • playingが現在のシナ
        • 個別sdあり:
        • 個別sdなし:
@snext1220 snext1220 added the enhancement 新機能提案* label Jun 28, 2021
@snext1220 snext1220 added this to the 2021 Summer Update milestone Jun 28, 2021
@snext1220 snext1220 added the Compatibility 現在/将来の互換性に影響すると思われる変更 label Jul 3, 2021
@toki-sor1
Copy link
Collaborator

series属性の導入

現在よりも連作のセーブデータ引き継ぎ方法&表記が楽になるのであれば、series属性の導入もいいなと思います。
今までのセーブデータが使えなくなってしまうようですが、今後さらに連作シナリオを作りやすい環境を構築(?)してゆくとなると、いずれどこかのタイミングで切り替える必要が出てきます。
それなら、幕末ソー作品がまだ少ないうちに切り替えるのも有りかなと。

nexts属性の廃止 ★非互換★

連作が自由に追加できるのと、表記が楽になるのが良いですね。
セーブデータがすっきりとするのも良いと思います。

次シナリオ開始時のルール

セーブデータの扱いがはっきりと表記されているのが良いですね。
可能であれば、読み込むセーブデータの既存キャラ情報(名前、性別、種族、年齢、現在Scene番号など)も一緒に表示されていると、もっと分かり易そうだと思いました。

再開時の確認

うっかり上書きミスはありそうなので、連作でも普通のシナリオでも表示されると良さそうですね。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Compatibility 現在/将来の互換性に影響すると思われる変更 enhancement 新機能提案*
Projects
None yet
Development

No branches or pull requests

2 participants