SRC意見交換掲示板Mk2

HOME HELP 新規作成 新着記事 ツリー表示 スレッド表示 トピック表示 検索 掲示板新着情報RSS配信新着情報 過去ログ

[ 最新記事及び返信フォームをトピックトップへ ]

■6088 / inTopicNo.1)  【開発版】自作インターミッションからシナリオを再開する機能について
  
□投稿者/ Mr -(2012/02/06(Mon) 21:55:46) [ID:tU2yoIZX]
http://mrsrc.web.fc2.com/
    はじめての人ははじめまして。最近めっきり公式に顔を出していないMrです。

    SRC開発版に関して、新機能のソース投稿をしようと考えているのですが、その前に意見を伺いたくて書き込みさせていただいてます。
    開発版ですので、要不要というよりは「こうした方が使いやすい」みたいな方向性での意見を多くいただけると幸いです。
    2つありますが、分かりやすく1つずつ別スレッドを使用させていただきます。

    ■追加しようとしている機能の概要
    2.3.1ではセーブファイルから再開した場合、シナリオで自作インターミッションを使っていたとしても、
    通常のインターミッションから始まります。
    これを、自作インターミッションから再開できるようにしようという機能です。

    外部の話(シナリオ作者など、SRCを使う人にご意見いただきたい部分です)
    以下のいずれかの方法で実装しようと考えています。
    1.iniファイルに自作インターミッションのファイル名を記述する。
    2.Optionコマンドで『Option オリジナルインターミッション[ファイル名]』のように設定する。
    3.自作インターミッションのファイルを設定するイベントコマンドを追加する。(IntermissionCommandコマンドみたいな感じ)
    自分が使うとしたらどれが良いか、あるいは第三の方法などあればお聞かせください。

    内部の話(SRCの中身見たことある・いじったことある人にご意見いただきたい部分です)
    内部の処理としては、セーブファイルから起動時のインターミッションに飛ぶ部分に分岐をかませます。
    (Main()の『InterMissionCommand True』SRC.basの815行目の前)
    何か問題あればご指摘ください。

    今週中の意見を参考に、一旦実装して来週ソースを掲示します。
    それでは、よろしくお願いいたします。

引用返信/返信 削除キー/
■6090 / inTopicNo.2)  Re[1]: 【開発版】自作インターミッションからシナリオを再開する機能について
□投稿者/ RST -(2012/02/07(Tue) 22:25:00) [ID:3OCqustr]
    Mrさんはじめまして、RSTというものです。

    一応、今回の書き込み前にExecコマンドやCallIntermissionCommandコマンドなどの自作インターミッション再現に
    使いそうなコマンドについては確認しておいたんですが、しばらく開発版は触れていなかったので、
    自作インターミッション再現についてちゃんと理解できていなかったらすみません。。。


    > 以下のいずれかの方法で実装しようと考えています。
    > 1.iniファイルに自作インターミッションのファイル名を記述する。
    > 2.Optionコマンドで『Option オリジナルインターミッション[ファイル名]』のように設定する。
    > 3.自作インターミッションのファイルを設定するイベントコマンドを追加する。(IntermissionCommandコマンドみたいな感じ)

    1.2.3.のどれが良いかを選ぶ前に確認したいことがあるのですが、

    SRC本来のインターミッションは一切使わずにExecコマンドを利用した自作インターミッションのみにするためには、
    シナリオ内で、Execコマンドと1.2.3.のいずれかの方法の2つとも用いる
    (Execコマンドのみで自作インターミッションを作成した場合は、再開はSRC本来のインターミッションから)
    ということになるのでしょうか?

    そうだとしたならば、それよりは例えば

    セーブファイルに、
    「通常ステージ」オプションなしのExecコマンドから実行されたファイル(ステージ)で作成されたセーブファイルかどうかを記録しておき、
    その記録があるセーブファイルをSRC本体で読み込んだときはExecで指定されていたファイル(ステージ)から再開される

    というように、Execコマンドのみで自作インターミッション用のeveファイルが扱える形になったほうが良いと思うのですが…。

    もし1.2.3.のような方法をとらないといけない理由があるのでしたら、それについても教えていただけたらと思います。
引用返信/返信 削除キー/
■6092 / inTopicNo.3)  Re[2]: 【開発版】自作インターミッションからシナリオを再開する機能について
□投稿者/ Mr -(2012/02/09(Thu) 00:39:20) [ID:tU2yoIZX]
http://mrsrc.web.fc2.com/
    レスありがとうございます。
    実現方法がその3つなのは、ぶっちゃけると単純にコーディングが楽だからです。
    1などは特に5行追加するだけで実現可能です。

    まさにこのような意見がいただけることを期待して書き込みましたので、非常に助かります。
    「Execコマンドを通常ステージオプション無しで実行した時点でフラグを立てる」というのを実現方法に追加します。
    この場合問題点は、ロード時は普通のインターミッションという仕様を利用したい作者が困る、またすでにその仕様前提で組んでいるシナリオに影響が出るということでしょうか。
    前者は新しくExecコマンドにオプションを追加することで、後者は開発版なので我慢してもらうことで対処ということになるでしょうか。
    とりあえずたたき台として、この方法ではExecコマンドを以下のような仕様に変更するものとします。

    Exec file option
    file インターミッションのeveファイル
    option 以下のどちらかを指定可能
    通常ステージ…インターミッションではなく次のステージに直接進む
    固定…セーブファイルから再開した場合も、普通のインターミッションではなく指定したインターミッションから再開する

    こんなもんでどうでしょうか?
引用返信/返信 削除キー/
■6097 / inTopicNo.4)  Re[3]: 【開発版】自作インターミッションからシナリオを再開する機能について
□投稿者/ RST -(2012/02/10(Fri) 18:40:16) [ID:3OCqustr]
    RSTです。

    SRCの体制移行の話が出てきたので、今こっちの話をどのくらい進めて良いのか分かりませんが、
    とりあえず、コード内容の方向性を考えていく分には問題ない、んでしょうか。


    で、本題のほうについてですが、
    私も、上でMrさんが提案されたExecコマンドの仕様変更が可能ならばその案を一番に推す、ということで良いんですが、

    > 固定…セーブファイルから再開した場合も、普通のインターミッションではなく指定したインターミッションから再開する

    これは、

    普通のインターミッション  … SRC本来のインターミッション
    指定したインターミッション … Execコマンドで指定した自作インターミッション

    という意味で、オプションなしだと再開時はSRC本来のインターミッションから始まるということですよね?
    それよりはオプション指定なしのときに自作インターミッションから再開のほうが自然なんじゃないかな、と思うんですが、どうでしょうか。
引用返信/返信 削除キー/
■6100 / inTopicNo.5)  Re[1]: 【開発版】自作インターミッションからシナリオを再開する機能について
□投稿者/ Unnamed -(2012/02/10(Fri) 21:57:31) [ID:hLdmVLGH]
     インターミッションに入る時点でイベントファイル「Lib\インターミッション.eve」を
    自動的に実行するという形ではどうでしょうか。シナリオ側にファイルが見つからない場
    合はデフォルトのメニューを表示します。
     要はユニットステータス表示.eve等と同じ仕組みです。特段の設定やデータ追加も要ら
    ないステートレスな仕組みですから簡便性という点では一番かと思います。
引用返信/返信 削除キー/
■6101 / inTopicNo.6)  Re[2]: 【開発版】自作インターミッションからシナリオを再開する機能について
□投稿者/ Mr -(2012/02/11(Sat) 17:10:34) [ID:tU2yoIZX]
http://mrsrc.web.fc2.com/
    レスありがとうございます。なるほど、そのやり方はスマートでいいですね。
    その場合、さらに拡張して、Execコマンド実行時に引数を省略したら「Lib\インターミッション.eve」が実行されるようにするといいかもしれませんね。
引用返信/返信 削除キー/
■6102 / inTopicNo.7)  Re[1]: 【開発版】自作インターミッションからシナリオを再開する機能について
□投稿者/ 中箱 -(2012/02/12(Sun) 00:25:56) [ID:XAPi9INn]
    セーブから再開した時の挙動、という元の議題を考えると
    本来は別の議題として別ツリーでやるのがふさわしい気もする内容で恐縮なのですが、
    インターミッション(以下IM)やExecコマンドに深く関わることなので、とりあえず一度こちらに出してみます。



    IMに関して、今の開発版では
     IMを経由せず直接次のステージに移行したい場合は、オプションを付けたExecコマンドを使う
     IMに行く場合は、自作IMならExecコマンドで、通常IMならContinueコマンドを使う
    となっているわけですが

    これを、
     IMに行かない場合は、Execコマンドを使う
     IMに行く場合は、Continueコマンドを使う(IMが通常のものかイベントファイルかは、なにかしらで判別する)
    のように、コマンドの機能を再編してはどうでしょう。
    直後にインターミッションに行くかどうかという切り口でコマンドを分けるということです。


    このように変更して、Continueコマンドで移行するIMの判別方法をUnnamedさんの案のように特定のファイルの有無とした場合、
    自作インターミッションファイルを所定フォルダに入れるだけで、自作IMを使用することが出来るようになります。



    考えられる問題としては、
    Execコマンドで自作IMを使っているシナリオに確実に影響が出てしまうということ、
    通常IMと自作IMを使い分けたい場合はどうするか、
    あとはコーディングの手間が増えそう、といったあたりでしょうか。



    冒頭にも書きましたが、別議題とするべき内容でしたらすいません。
    では
引用返信/返信 削除キー/
■6104 / inTopicNo.8)  自己レス:一旦まとめ
□投稿者/ Mr -(2012/02/12(Sun) 20:00:42) [ID:tU2yoIZX]
http://mrsrc.web.fc2.com/
    いろいろとご意見をいただきありがとうございます。
    まとめたところ、以下のような実装にするのが良いかなと思っています。
    中箱さんの意見を取り込む感じでContinueコマンドにも触れています。
    デフォルトのIMを決めておく実装を導入しながら、指定したIMから再開というのを残しているのは、
    インターミッションファイルが配布されるようになり、複数のインターミッションファイルをシナリオ中で切り替えるような使い方をする場合があるのではないかと考えたからです。
    (たとえば、主人公選択でSRWαの主人公ならα風インターミッション、SRWWの主人公ならW風インターミッションみたく)
    自分で実装するのであれば、一つのインターミッションファイルの中で分岐制御を入れますが、
    インクルード使う専門で自分で手を加えて使わないような人は困るのではないかなと。
    「そこはシナリオ作者が頑張ればいい」といえるボーダーラインがちょっと判断しずらいため残っています。

    RSTさんご指摘の固定オプションについては、既存のシナリオへの影響を考えた結果です。
    現在、自作インターミッションをLib\インターミッション.eveに置いていて、再開は通常のインターミッションからがいい人がいるかもしれません。


    文言詳細
    指定したIM…Execコマンドの引数にしたファイルで定義しているインターミッション
    自作IM…シナリオフォルダ\Lib\インターミッション.eveで定義しているインターミッション
    通常IM…SRCの元の仕様のインターミッション

    Execコマンドで通常ステージが指定されている場合
     →これまでどおりそのステージへ

    Execコマンドで「固定」オプションが指定されている場合
     →指定したIMへ。再開は指定したIMから

    Execコマンドでオプションが何も指定されていない場合
     シナリオフォルダ\Lib\インターミッション.eveがある場合
      →指定したIMへ。再開は自作IMから
     無い場合
      →指定したIMへ。再開は通常IMから

    Continueコマンドが実行された場合
     シナリオフォルダ\Lib\インターミッション.eveがある場合
      →自作IMへ。再開は自作IMから
     無い場合
      →通常IMへ。再開は通常IMから

    今回の実装では、文言詳細であげた3つのIMがあり、
    コマンド実行後に呼び出されるIMと、再開時に呼び出されるIMの組み合わせパターンを網羅するような実装です。

    これについては実装を少し待って、引き続きもう少し意見を伺いたいと思います。
    論点は、
    Continueコマンドにまで手を入れるか
    指定したIMから再開する機能は必要か
    固定オプション使ってまで多分無いであろうLib\インターミッション.eveをIMにして再開を通常IMにしている既存シナリオを守るのか
    あたりだと思っています。

    数日様子を見て特に反対意見など無いようでしたら一旦実装してソース掲示しようと思いますので、またよろしくお願いいたします。

引用返信/返信 削除キー/
■6105 / inTopicNo.9)  Re[2]: 自己レス:一旦まとめ
□投稿者/ Unnamed -(2012/02/12(Sun) 22:25:11) [ID:hLdmVLGH]
     個人的にはインターミッションを切り替えるような、まず持って面倒なことをしたいだ
    ろうというシナリオからして稀だと思うので、そのためにわざわざ本体で複雑なことをす
    る必要があるかには懐疑的です。手間が掛かるにしても出来ないわけではないので、本体
    としては(従来インターミッションを呼び出すところで)常にLib\インターミッション.eveを
    実行チェックするというだけでも良いのではないでしょうか。
引用返信/返信 削除キー/
■6112 / inTopicNo.10)  Re[3]: 自己レス:一旦まとめ
□投稿者/ Mr -(2012/02/16(Thu) 00:56:37) [ID:tU2yoIZX]
http://mrsrc.web.fc2.com/
    ぶっちゃけそのやり方だとシンプルですごく楽です。
    他に、それではダメだという意見がなければその方法にしてしまおうと考えています。
    週末くらいまで待って特になければその実装でいきます。
引用返信/返信 削除キー/



トピック内ページ移動 / << 0 >>

このトピックに書きこむ

Pass/

HOME HELP 新規作成 新着記事 ツリー表示 スレッド表示 トピック表示 検索 掲示板新着情報RSS配信新着情報 過去ログ

- Child Tree -
- Antispam Version -