タスク: 同行キャストはの回復タイミングを調節する

Issue #255 resolved
k4nagatsuki repo owner created an issue

次のような問題があります。

  1. 1.28では同行キャストは1戦毎に回復していた。その仕様を利用したシナリオが存在する。
  2. 1.50では同行キャストは戦闘後に回復しない。ただしロードやシナリオの再開で回復する。同行キャストの消耗を計算に入れたシナリオが存在する。

これらのCWの挙動を考えると、現状で2.に合わせてNPCを消耗させつつ、互換モードで1.に対応した方がいいのかもしれません。

Comments (23)

  1. k4nagatsuki reporter

    1.を互換モードで実装するのは確定として、実際に回復を行うか否かを考えています。CWで冒険の再開時にNPCが回復するのは、おそらく仕様バグです。CWの宿では同行キャストをIDでしか管理しておらず、保存されるデータに状態が無いため、そうせざるを得なかったのだと思います。

    CWPyの実装では次のいずれかの選択肢があります。

    1. 回復は行わない。ロードしてもそのままの状態になる
    2. プレイヤーがキャンプモードを開ける状態になったら、回復する

    2.は、プレイヤーが手動で行う操作を再現する事になります(仕様バグを再現するという事にもなります)ので、個人的には1.がいいかなぁと考えています。

    なお、CWと同じ挙動(ロード時のみ回復する)は、セーブ&ロードで状態が変わるのは好ましくないという原則から、避けたいと考えています。

  2. 暗黒 騎士

    互換モードと言っても、判断はデータベース任せになってしまうのですよね?

    現状では1.28シナリオの方がまだ圧倒的に多く、同行NPCを加入させっぱなしでPCが精神力を含めて回復する休憩・日数経過描写を入れているようなシナリオはかなりあるように思えますし、(NPCだけ休めていないという状態になる)セ-ブ&ロードで回復してしまうという1.50の中途半端な挙動を見越した1.50シナリオは数えるほどでしょうから、少数の例外に対応するという互換データベースの方向性を踏まえると基本は1.28動作の現在の仕様で1.50の挙動を例外対応する方が合理的なように思えます。

    魔法無効化の件の方にも言えますが、1.28までのGroupASKが意図した挙動とユーザーの要望でLyna氏等が実装した結果食い違っている挙動は少し区別して考えるべきではないかなと思います。 1.28の増殖と途中参加しても動かない挙動はおそらくバグでしょうけれども、回復に関してはセーブにNPCの状態が保存されないことからも仕様である可能性が高いはずです。もうNEXTのように独自路線を進むというのであれば四の五の言う余地はないのですが、互換を気にして仕様の衝突を心配している気配もあるので、そういう時軸になるのはGroupASKはどういう意図だったかになるかと。

  3. k4nagatsuki reporter

    仰ることは確かにその通りなのですが、いくつか難しい問題があります。

    1. 1.50以降のシナリオは今後増えていきますが、1.28以前のシナリオはほとんど増えないはずなので、いずれ数は逆転します。
    2. 過去のバージョンは固定されています。従って、「xx以前」という互換性情報が壊れる事はありません。「1.20以前は称号分岐に例外的処理がある」のような情報は永遠のものです。しかし、「1.50以降はNPCが回復しない」という情報は、いつまで真であるか分からないものです。いつ何時NPCが回復するようになり、互換性が逆に壊れる事態になるか分かりません。
    3. 1.50ぴったりであればNPCが回復しない、それ以外はする、という風にしても、1.50より後のバージョンでも回復しなければ、やはり互換性が壊れます。
    4. 新しいバージョンが出る度に互換性DBを保守すれば2.3.の問題は解決しますが、その度に互換性DBに入っているシナリオの内容を検証する必要があり、これは労力がかかるばかりか、そのシナリオを持っている人が開発者側にいなくなるなどして行えなくなる可能性もあります。

    今の互換性DBの仕組みは、過去のバージョンの挙動を互換動作とするのに向いています。現在や未来の挙動を互換動作とする事はできますが、上に挙げたような理由であまり好ましくありません。

    そのため、互換動作に関しては、基本的には「最新(1.50)の挙動を正とし、過去のバージョンと食い違うようであれば過去の挙動を互換動作とする」という方針を取っています。

  4. k4nagatsuki reporter

    あと、F9でゴシップや終了印が戻らないなどのバグもあったので、NPCの問題もgroupAskが意図しての仕様だったとは限らないです。解析する限りシナリオプレイデータは相当な継ぎ接ぎ状態なので、かなり妥協が入っているのではないかなぁと想像します。

  5. 暗黒 騎士

    1.50「以降」ということですが、Pyはその以降のひとつでもあり、 現在の実装は「1.50の同行NPCが回復しないバグ」を修正しているとも捉えられるかと思います。 似たような話として、「Py専用」でググるとキャッシュが出てくるのですが、1.50のpngバグによって1.50向けに作ったのにNEXT/Py専用シナリオになっていたという事例があったようです。 セーブ時に回復しない挙動に変更するとこれも結局は1.50とも1.28とも違うPy独自仕様になってしまうのではないでしょうか。

    NPCが同行して複数回戦闘があるシナリオはおそらく数百以上あり、リロードで回復してしまう1.50の消耗挙動を利用したシナリオはあと十年状況が変わらずとも数えるほどでしょう。であればもうデータベースよりもオプション対応が現実的ではないでしょうか。

    F9は1.20で実装された新機能だったはず(タチモリ氏がF9の時代というエッセイを書かれていたのが印象に残っています)なので、「時計台屋敷のねずみ」のように最初期から実装されていたと思われる同行NPC処理とは比較できないかと思います。

  6. k4nagatsuki reporter

    セーブ時に回復しない挙動に変更するとこれも結局は1.50とも1.28とも違うPy独自仕様になってしまうのではないでしょうか。

    それはセーブ&ロードで挙動が変化することを前提にしたシナリオが存在しうるかによります。私はそういうシナリオは、意図しなければ作れないと考えていますし、それは対象消去バグやゴシップバグの利用(#54)と同レベルの話だと考えています。これはシナリオの作者が意図する事なので、作者が責任を負うしかありません。もちろん互換モードで対応する事はできますが、優先度は低くして差し支えないかと思います。

    オプションは、選択肢としてはないです。それはプレイごとにプレイヤーに手間を掛けさせる事に繋がります。自動的に切り替えられるものは自動的に切り替えるべきです。

    F9は1.20で実装された新機能だったはず(タチモリ氏がF9の時代というエッセイを書かれていたのが印象に残っています)なので、「時計台屋敷のねずみ」のように最初期から実装されていたと思われる同行NPC処理とは比較できないかと思います。

    はい、同行NPCはおそらく技術や手間の都合でそういう仕様にしたのだと思っています。たぶん、同行NPCをデータで管理するよりはIDで管理した方が処理が簡単で速いためそのようにし、その上でロードで状態が変わるというのを嫌って戦闘毎に回復するようにしたのでしょう(完全に想像ですが)。

  7. k4nagatsuki reporter

    ところで

    1.50「以降」ということですが、Pyはその以降のひとつでもあり、

    これ結構本質的な問題なんですよね。CWPyは、その存在を前提にしたシナリオが出てくると自分自身の互換性とも戦わなくてはなりません。今はマイナーなのでいいのですが……。

  8. k4nagatsuki reporter

    1個書き忘れてました(というか忘れてた)。現在や未来に対して互換動作をさせたくない理由はもう1つあって、それは対象のシナリオが現役でバージョンアップされていると、そのたびにいちいちMD5値を取り直して互換性DBをアップデートしないといけなくなることです。これは現実的な作業ではないです。

  9. Liar_cw NA

    > 暗黒 騎士 様

    Issues #20 で私が発言した99%互換モード云々はまさしくそれです。 発言の一部は『もめる可能性があるなら、過去のCWをそのままコピーしてしまえばどうだ』というものでした。

    PCが精神力を含めて回復する休憩・日数経過描写を入れているようなシナリオはかなりあるように思えますし、

    そのようなCW1.28のシナリオを多くご存知のようですし、 具体的なシナリオを挙げていただければ互換データベースの補完(充実)に繋がるものだと思います。

    互換モードと言っても、判断はデータベース任せになってしまうのですよね?

    iniファイルの投入により設定できるそうですが今後のCWPyの認知度次第ですかね、これは……。 それと作者と連絡が取れないシナリオについては、どうしてもデータベース任せになってしまいますね。


    私個人の意見としては、次の通りです。

    • HPや状態変化、技能は戦闘終了後に回復するCW1.50に合わせる。 (シナリオを中断させる必要もなく機能していることから)
    • セーブ&ロード、シナリオ中断等でNPCのアイテム等は復活させない。 (CW1.50のあの挙動はバグだと思います。なぜ一度シナリオを中断する必要があるのか)
    • 『プレイヤーがキャンプモードを開ける状態になったら、回復する』については反対です。 (セーブ&ロード等の理由と同じ)
    • 旧CWやバグと思わしき挙動に依存したシナリオは随時データーベースに追記するべき。 (何のための互換モードなのか)

    実際にシナリオを作ってみたところ、数値が曖昧な技能やHP等が回復するのはともかく、 使用回数がはっきりと表示される消費アイテムが復活したのは想定外の出来事でした。 まさかエンジン毎の注意文を書く日が来るとは思いもしませんでしたね。


    これ結構本質的な問題なんですよね。CWPyは、その存在を前提にしたシナリオが出てくると自分自身の互換性とも戦わなくてはなりません。今はマイナーなのでいいのですが……。

    せっかくリリース版とテスト版と別けていますし、その時は過去のリリース版を互換モードで、とかなりそうですね。スパゲッティの予感、いや、過去のソースを読み込むようにすればなんとか……?

    CWPyの方向性についてじっくり話し合う必要がある場合は、また別のIssuesを立てるべきだと思います。このままでは話がごっちゃになってしまう可能性があります。

  10. 暗黒 騎士

    >長月さん

    おっと、オプション化が落としどころかなと思っていたのでその答は予想外でした。 オプションを推した理由は「特定Verの仕様の方が好きなプレイヤーが切り捨てられる」からです。 Pyを選択肢から外すことにもなりかねません。Pyは1.28残留問題を抱えているバリアントの合流先となりえる価値があるので、それは勿体ないと思います。 回復しない挙動に合わせるべきでDB化はできないという条件であれば、せめてオプションがあれば自分で判断して1.28+1.50までの追加要素+Pyの追加要素という環境にできます。

    回復しない仕様が好きな人、回復する仕様が好きな人それぞれどちらかのオプションだけでプレイすればいいのです。 大半のシナリオはどちらでも(バランスが多少変わる以外)問題はないでしょう。

    このあたりの自分の考えはF9ゴシップバグ、済み印バグ、魔法無効化時の自動選択あたりも同じです。

    >Liarさん(今更ですが、あまり堅苦しいのもどうかと思ったのでさん付けで統一させてもらっています、すいません)

    DB化は以下の理由で最小限にすべきだと思っています。

    • 進行不能レベルではない僅かなさじ加減が変わるシナリオを数百件も登録するのは合理的ではない
    • 具体的にリスト化することになるのでプライベートや特定コミュニティのシナリオは挙げにくい
    • 長月さんも仰られているようにハッシュで判断しているためVer違いを登録しているときりがない
  11. k4nagatsuki reporter

    おっと、オプション化が落としどころかなと思っていたのでその答は予想外でした。 オプションを推した理由は「特定Verの仕様の方が好きなプレイヤーが切り捨てられる」からです。

    例えばオプションで状態のラウンド数表示を消せるようになっているのはそういう理由ですが、今回の件についてはどうでしょう。この回復の仕様がユーザの切り捨てに繋がるレベルの話でしょうか。

    CWPyはシナリオをプレイする時の現実の手段ですので、現実的に存在する必要がないものは実装しなくてよいという考え方が開発の思想の一つとしてあります。例えば選択モードで画面が暗くなる効果を一発でオフにするオプションが提供されていないのもこの理由です。このオプションをオフにしている人はまずいないと考えられるので、機能追加による複雑さの増加と引き合わないと見て実装していないのです(ちなみにこのオプションがどれくらい使われていないかというと、CWでその設定が宿データにセーブされないのに十数年誰も気付かなかったくらいです)。

    今回のNPC回復問題がオプション実装に見合うほど重大かというと、私にはそうは思えません。「回復する」「回復しない」のいずれにもそれを利用しているシナリオが存在するという現実がなければ、今の挙動を変更しようとも思わなかったでしょう。

    さらに、今回の問題については、オプションの切り替えでシナリオの挙動が変わるという状態が発生しますが、これはシナリオのバランス取りをより面倒にします。オプションは、表示などの、シナリオの挙動に影響しない範囲での設定に限るべきで、シナリオ自体の動作を変えるようなものはできれば無い方がいいです。その意味では背景切替速度の変更などもよくないと思っています。開始時に「背景変更速度をXXに~」などといった指定をするシナリオが出てしまうのはこの設定が元凶です。でもこれは現実的に現状に合わせないと仕方ありません。

    • 進行不能レベルではない僅かなさじ加減が変わるシナリオを数百件も登録するのは合理的ではない

    これは逆に考えて「その程度の影響で済むならあえて登録しなくてもいい」と考えられないでしょうか。気になるほど影響が出るシナリオは、おそらくほとんど無いと思います。実際に私も、NPCが毎回復元される事を前提にしたシナリオを遊ぶまでは、CWPy開発当初のNPCが消耗したまま回復しないという仕様を変更しようとは思いませんでした(実はそっちが元々の挙動だった。なので元に戻すのは楽勝だったりします)。

    互換性DBにあまりにも大量のシナリオを登録しない方がいいというのは私も同感です。ですので、1.20時代のシナリオも、表示が致命的に乱れるとか進行不能になるというような問題があるもの以外は登録していません。

    しかし行動の理由を説明していくと長文になってしまいますねぇ。たしかに別のIssueを立てるべきかもしれません。

  12. 暗黒 騎士

    表示オプションについては自分は気づいていました。昔は凄い重いPCを使っていたので少しでも処理を軽くしたかったのです。たしかバグ報告をされても1.28の修正は困難であると当時の愛護協会の方が仰っていたと記憶しているので細かい問題は表面化しなかったのではないでしょうか……。

    さておき互換対応するのも、オプション対応するのも、内部的にはIF文で分岐させるので大差ない(むしろ互換設定を戻したりする方が面倒)と認識していたのですが、これは間違っているでしょうか。間違っていないのであれば、互換を実装しなければならない時点で重大さは変わらないのだから、それなら旧仕様で動かしたいシナリオが圧倒的に多いため、DBよりもオプションがいいと思った次第です。

    シナリオの挙動が変わるオプションは非推奨ということですが、それは公式エンジンならその通りなんですが、WSN形式がメインストリーム規格として普及しない限りは外の1.50仕様や1.28仕様・バリアント仕様をメインに読みに行くことになりますよね。Pyは現状そこに便乗しているエミュレータとしての立ち位置なので、特にVerに隔たりがあるバリアントと中世Ⅰ型1.50互換の両立のために、すべてのエンジンの受け口になることがまず必要であると考えていました。ただ長月さんはユーザー獲得に熱心ではない様子なので、そうなると根本的にお門違いである可能性も否めません。しばしば仰る「ほとんど問題ないと思われる」というのもまずCW互換を求めるユーザーには問題であっても、Pyユーザーにはという意味ならその通りかもしれません。

  13. k4nagatsuki reporter

    表示オプションについては自分は気づいていました。

    これはすみません。確かにその通りかもしれませんね。

    しばしば仰る「ほとんど問題ないと思われる」というのもまずCW互換を求めるユーザーには問題であっても、Pyユーザーにはという意味ならその通りかもしれません。

    これはCWというプラットフォームの過去と将来の互換性全体に渡る問題です。プラットフォームの仕様変更には、シナリオに問題を発生させてしまうものもあれば、影響のないものもあります。

    線引せずに細かいところまで合わせるとしたら、NPCがラウンドごとに復元するバージョン(1.29か1.30だったと思う)の互換動作も対応しなければなりませんし、AIも合わせなくてはなりませんし、能力修正の計算式も互換動作を追加しなくてはなりません。影響のない細かい部分まで合わせていくと労力は限りなく増大します。現実に影響がない、あるいはほとんど無いものであれば、それは切り捨てた方がよいです。さもなくばユーザが何ページもあるオプション画面を前にして必要なオプションが見つけられない上、意味の分からないオプションに下手に触ると意図せずシナリオの挙動が変わってしまうというような別の問題に直面します。

    ですので、私は色々な問題に対して「それは対応しなくてもほとんど問題ないのではないか」と言わざるをえないのです。それはあくまで私の判断ですので、現実に「この互換性は重大」という人が現れ、具体例を挙げれば話は変わります。

    今回の問題に関しても、「このような大きな問題の出るシナリオがこれだけある」と示せば私は説得されるはずです。


    どうしても暗黒騎士さんが回復しない仕様が重大な影響をもたらすと考えられるのなら、次のような折衷案はどうでしょうか。ただ、これはエンジン側だけの対応では収まりませんので、他に問題のあるシナリオが出た時に困難に直面する可能性があります。

    • 1.50ぴったりの時だけNPCが回復しなくなる互換動作を追加する。
    • Liarさんのシナリオにはmode.iniを追加してもらい、1.50モードで動かすようにする。
  14. Liar_cw NA

    まず最初に予防線を張らせてください。暗黒 騎士 様の言動は少々感情的のように見えてしまい、考えが少々読み取りにくく思います。そのうえで下記の私の意見について『なに言ってんだコイツ(Liar)』程度に見ていただければと思います。

    1.バリアントエンジンについて。

    NPCの回復タイミングがバリアントエンジンに影響があると考えるならば、 スキン設定に『CardWirth 1.20相当のカード適性計算を行う』の オプションがあるように、そこで対応するようにしては? とも思います。

    2.CW1.28のシナリオの量について。

    少々卑怯な考え方(意見)かもしれませんが、Issues #257では皆様が同じ事を 感じていたのか、イメージ画像作成という手間があるのにも関わらず すぐに表示案が出て、そして2~3日で可決しました。

    しかし、このIssues #255 は8月13日に立てられてから本日まで 誰も意見を出していません。これは多くの方が 『変更されたところで大した問題ではない』と 認識しているのでは無いのでしょうか?

    可能ならば他の方の意見もお伺いしたいところです。

    余談ですが、まさかデータベースの話で不特定多数のユーザーがほぼ確実に入手できないだろう、 プライベートや特定コミュニティ等のシナリオの事が出てくるとは正直なところ思いもしませんでした。 本来ならばそこまで考える必要も多少あるのでしょうが、そんなに風呂敷袋を広げられても返答に困ります。 それならばいっその事バリアントエンジンの問題も含めて新たに 『NPCの回復タイミングやその他挙動を過去のCWとも互換するようにする』 という議題を出してみてはいかがでしょうか?  そこでどこまで対応すべきか、しっかりと問題点等を洗い出し、改めて話し合うのもいいかもしれません。 甘い認識かもしれませんがシナリオの判断基準(どのCWバージョンか)さえ、 どうにかできればいい話なのではと思っています。

    3.何を基準にすべきか。

    CWPyは1.28なのか、1.50なのかよく分からなくなってきました。 それともPyはPy?


    1.50ぴったりの時だけNPCが回復しなくなる互換動作を追加する。

    Liarさんのシナリオにはmode.iniを追加してもらい、1.50モードで動かすようにする。

    mode.iniを追加する事に関しては、そうすべきならば喜んでそうします。 CWPyの仕様の方向性が何が基準としているのか、現状ではよく分からないので。 (そもそも方向性が固まっているのなら問題にすらならないか)

    私のシナリオで発生した問題については、1.28の召喚獣と回復タイミングを利用しているのが 原因でCWバージョンやCWPyの動作次第で進行が致命的になったシナリオ(CWPyが1.28仕様に合わせた理由)と 程度の差はどうあれ似たようなものだと思っています。

    少し喧嘩腰に見えるかもしれませんが、もしも個別に対応してもらうふりをして CWPyの基本仕様を変更させて間接的に私物化しようとしているのではないのか、 私の事が気に入らないというのならば、そう思うのならばぜひそう言ってください。

    公平さに欠けるのではと判断されたのならば、それはそのまま警鐘となります。

  15. k4nagatsuki reporter

    暗黒騎士さんもCWPyの将来の事を考えて最善は何かという事を模索してくださっているというのが伝わってきますので、その点はどうかあまり心配なさらずに。

    また、今回の意見も私は半分納得しています。一ヶ月ある設定のシナリオでずっとNPCが回復しないのは実際どうかと思います。後は実例が揃って、それらが上に書いた新しい方を基本にして古い方を互換動作にするという原則を覆すほどに強力であれば、充分にそのような実装にする理由になります。


    CWPyがどこを目指しているかという事ですが、これは数々のシナリオ作家の努力が将来にわたって無駄にならないようにする、というのが大きなところになります。理想的には、これまでに出てきた全てのシナリオが完璧にプレイできるべきです。現実的には、充分にプレイできるというところを目指すことになります。ですから、特定のバージョンを標準にするということはなく、実際のシナリオに合わせていくということになります。

    しかしながら現実的にはベースとなるバージョンが必要になります。そこで1.28か1.50かということになると、それは新しい方に合わせる方がほとんどの場合妥当です。理由は上の方に大量に書いた通りです。ですので、私はそれを原則にしています。

    ではこのNPC問題がどうして1.28仕様になっているかというと、(1)1.28仕様に依存したシナリオが存在し、(2)1.50仕様に依存したシナリオが見当たらなかったから、という事になります。これは1.50仕様にするメリットが皆無で1.28仕様にするメリットが存在する事になります。これは原則を覆すのに充分な差です(なにせ不等号の片側がゼロなので)。

    で、今は(2)の前提が崩れているので、仕様を変える変更が出てきているわけです。

  16. 暗黒 騎士

    >長月さん

    ですので線引きとしてはGroupASKの意図はどうだったかというのを目安に挙げました。何もすべてのバージョンをフォローすべきということではありませんし(すべてのエンジンというのは紛らわしかったですね、すいません)今回の場合、仕様が衝突していて、どちらの挙動にも依存したシナリオがあり、GroupASKの実装が不具合というわけでもなく、Lyna氏の実装はバグを抱えた暫定的なものでした。ならばGroupASKの実装を優先すべきで、少数の1.50シナリオをDBという手法に限らず例外処理するのが実態にも沿っているのではと思いました。 その上でPyが1.50の延長としてロードバグを解消し、消耗型を次世代仕様として選択するというならそれも構わなくて、 ただ最新版が1.50なのは中世Ⅰ型だけで、Pyがフォローしているのはそれに限らず、多くのバリアントは様々な要因で1.28どまりですから、1.50だけに限らず1.28&バリアントからの移行も考えるとこれに限らず救済手段としてオプションを設ける方が良いのではないか、それは互換モードの分岐を作る時点で大して手間は変わらないはず(両立も可)、という提案でした。それもユーザーが混乱するデメリットが強いと仰るのであれば「どうしても」ということは全くありません。

    ところで自分でも検証してみたところ1.50ではLiarさんが書かれている通り精神力が枯渇状態になりません。 アレッ?と思い踊る金狼亭をチェックするとこの実装は1.30で技能は1.50では1.28通り全回復し、召喚獣は消滅しますね。消耗アイテムと有限付帯能力だけが消耗され、離脱→再加入で復活する1.20とも違って復活しないということであれば問題となるシナリオはかなり限定されるのでDB化は妥当です。勘違いしていたようで大変申し訳ないです。

    >Liarさん

    あ、いえLiarさんの要望を冷遇しろと言っていたように捉えられるかもしれませんが、 1.50対応はどういう形であれする上で、デフォルトは1.28仕様にするか最低でもオプション対応した方が 色んなユーザーの需要を満たせるのでは、ということでした。しかもLiarさんの提案は妥当であるにもかかわらず、上述の通り勘違いで非効率などと言ってしまい、大変申し訳ありません。 Liarさんの多数の正確な報告や提案はPyのクオリティを高めていると認識していますし、 足を引っ張りがちな自分などより長月さんもよっぽど助かっていることでしょう(笑)。気に入らないということは全くありません。むしろこれで引かれてしまう方が損失かと思いますので、不愉快な言動に感じられましたら何卒お許しください。

  17. k4nagatsuki reporter

    バリアントが1.28仕様というのは確かに。1.28から1.50への変遷と同じ程度にリスクがありますね。その辺はちょっとプレイしながら注意していきましょう。

    その上で、オプションで動作を変えるというのは上述の通り私は反対の立場でして、そこで出た問題の解決は互換性DBの領分かと思います。本音をもうひとつ付け加えると、過去に対するメンテナンスはどこかで終わりが見込めるのに対し、未来に対するメンテナンスは延々と続くのでいやだなぁ、と。オプションを提供したとしたら、そのオプションはそれ自身が互換性問題となってシナリオ作家の懸案となりつつ10年後も20年後も生き延びることになるので、それを避けたいんですね。

    アレッ?と思い踊る金狼亭をチェックするとこの実装は1.30で技能は1.50では1.28通り全回復し、召喚獣は消滅しますね。

    おおっと!? 私は全然気づいてませんでした。調べてみるとどうやら全ての状態異常が回復するようです。たぶんデバッガから全回復するのと同じ挙動でしょう。あっぶねー実装が食い違うところだった。ありがとうございます。


    とりあえず、現状の話から対応内容としては次のようになるかと思いますが、いかがでしょうか。

    1. NPCは戦闘後に「回復」する。
    2. 1.28相当の「復元」をしなければ挙動がおかしくなるNPCは、互換性DBで個別に対応する。
  18. 暗黒 騎士

    自分は問題ないと思います。 正直表題をろくに調べずに「たしかにそんなような挙動あったなぁ。よく考えると回復しないって相当な数のシナリオで不味いんじゃ……」という風に受け取ってしまったため、Liarさんは最初から消費アイテムの話に限定しているにもかかわらず気づくのが遅れて話を堂々巡りさせてしまいました。長月さんも自分に突っ込まれなければすぐ気づかれていたと思います。重ね重ねすいません。

  19. Liar_cw NA

    > k4nagatsuki 様

    私はそれで問題ないと思います。

    ただ、その「回復」がどこまでの範囲なのか 明記されなかった事が今回の騒動の原因になってしまったようですし、 ガイドラインのような共通認識が欲しく思います。 CWPyを開発するにあたっての原則(効率的手法等)や、 CWの各バージョンの挙動がまとめられたサイト等の 情報も全員知っているとは限りません。

    互換性問題については完全に対応するとしたらオプションではなく、 エミュレータのような概念で考えるべきなのかもしれません。 いいとこ取りや部分的に拾い上げるから、終わりが見えないのかもしれません。 (そういう視点もあるという意見です)


    > 暗黒 騎士 様

    並行している議題の魔法無効化の挙動については、 個々の好みの問題(その程度の問題ともいえる)とはいえ、 あれも戦闘バランスなどシナリオに多少影響するだろう問題にも関わらず、 えらく冷静だったので多少の違和感は感じていました。

    こちらこそ、試すかのような攻撃的な態度を取ってしまい申し訳ありません。

    余談ですが、私個人の言動について(敬称等)ですが、 CWPyのようなデリケートなものを取り扱っている以上は 「必要以上に馴れ合うべきではない」という考えがあるからです。 そこから個人ではなくグループ単位での私物化に発展してしまった例も、見た覚えがあります。 私の文章は堅苦しいというよりも無理した結果、変な文章になってしまっていますが、まあ、その。 肩張ってんなぁ、と程度に思っていただけたら幸いです。

    同様の理由で、k4nagatsuki 様の私のシナリオに対する感想についても半ば無視しているような変な状態となっていますが、 褒められるのは素直に嬉しいです。ありがとうございます。

  20. k4nagatsuki reporter

    意見の統一が取れましたので、実装に移ります。ありがとうございました。

    原則云々の話については、wikiのトップページの下の方をそろそろ書き換えるべきかもしれませんね。あれはReboot最初期からまったくメンテナンスされていません。

    互換性問題については完全に対応するとしたらオプションではなく、 エミュレータのような概念で考えるべきなのかもしれません。 いいとこ取りや部分的に拾い上げるから、終わりが見えないのかもしれません。 (そういう視点もあるという意見です)

    それはエンジンをもう一つ作っちゃう状態になるんですよね……。現実的でないので次善の策として現状となっております。

    馴れ合い・コミュニティの運営については私も今現在も模索中です。どうしても立場上あまり砕けた態度は取れないというところもあります。そういう政治的な考え方はまったくしたくないんですが、まあ仕方ないです。

    同様の理由で、k4nagatsuki 様の私のシナリオに対する感想についても半ば無視しているような変な状態となっていますが、 褒められるのは素直に嬉しいです。ありがとうございます。

    こちらこそ楽しませていただきありがとうございました。あのシナリオはアイデア量が凄い。アイデアの数はシナリオの面白さに直結しますね。

  21. k4nagatsuki reporter

    wikiのトップページの下の方を書き換えました。内容はこのIssueで私が説明したことの要約です。

  22. Log in to comment