追加案: シナリオ終了時に情報通知 (デバッグモード)

Issue #307 resolved
Liar_cw NA created an issue

デバッグモードの追加案です。 シナリオクリア時(終了時)に、 キャストの連れ込みやプレミア属性のカードの持ち帰りをしたなど、 一部の情報をダイアログで表示するのはどうでしょうか?

わりとありがちなミスを絞り出すのにとても役立つと思います。

画像を添付します。こんな感じでどうしょうか?

要望用.png

Comments (17)

  1. k4nagatsuki repo owner

    ありがとうございます。間違った連れ込みや称号や報酬の配り忘れはたまにあるので、これはとてもいいアイデアだと思います。

    配り忘れのような問題を考えると、所持金の変動が無いことや、称号の変化が無い事なども明記したほうがいいかもしれません。また、単純なテキストとしてこうした情報を出すようにすれば、シナリオ作者へのバグ報告などへ簡単に転用できるかもしれません。

    テキストの内容は次のようなイメージになるでしょうか。

    同行キャスト「AAA」を宿帳へ登録します。
    
    所持金の変化はありません。
    
    ゴシップ「BBB」を追加しました。
    ゴシップ「CCC」を削除しました。
    
    カード「DDD(プレミア)」を獲得しました。
    
    「左端冒険者」の称号に変化はありません。
    「中央冒険者」の称号が以下のように変化しています。
        * 「_EEE」を追加
        * FFF」を削除
    

    また、このダイアログを表示しないようにするオプションが必要です。自動戦闘などの新規機能は、これまで慎重を期してしばらくデフォルトではOFFにして、使用実績を積んでからONにするという事をしてきましたが、この機能はどちらにするか考えなければいけません。

    時間のある時に仮実装を作ってみます。

    それにしてもプレミア掌破……遠距離攻撃と治療と解錠ができるのかな?

  2. Liar_cw NA reporter

    表示する項目やテキストの内容はそれで問題ないと思います。 .txt出力もバグ報告だけでなくシナリオ作者側も、誤ってダイアログを閉じてしまった際の再確認など色々と役立ちそうですね。

    オプション化については、 人によってはデバッグモードで快適にプレイしたいだけの方もいますし、 確かに機能ON/OFFも必要そうですね。よろしくお願いします。

    それにしてもプレミア掌破……遠距離攻撃と治療と解錠ができるのかな?

    添付した画像の □ には、対応したアイコンを表示するのが良いと思います。 そこで掌破を起用しました。

    私が掌破愛好家(使うとは言っていない)というのもありますが、 掌破は身近な存在ですよね。 どの種別のカードだったか、すぐに思い出せる辺り……。

  3. k4nagatsuki repo owner

    pull request #1198で追加しました(うっかりミスで他のバグ修正も混在していますが)。

    デフォルトではオフになっているので、詳細設定の「一般」→「シナリオ終了時にデバッグ情報を表示する」にチェックを入れてご利用ください。

    .txt出力もバグ報告だけでなくシナリオ作者側も、誤ってダイアログを閉じてしまった際の再確認など色々と役立ちそうですね。

    これは情報自体をテキストにしてコピー&ペースト可能にする、というつもりで書いたのでしたが、外部ファイルに保存しておくのも、たしかにいざという時に助かるかもしれません。現状では入れていませんが、ちょっと考えてみます。

  4. Liar_cw NA reporter

    CardWirthPy 0.12.4 Alpha 3 Build: 2015-11-27 21:52:20

    箇条書きになりますが、簡単に動作テストをした感想です。

    • PCが対象消去された場合、一部文字列を太字・赤字にするなどの強調表示をすべきかもしれません。「ログが出ているのだから」と安心して逆に見落としてしまう可能性が考えられます。
    • OKボタンのすぐ右下にダイアログの可変表示があるので、ひとによっては誤って閉じてしまう可能性が考えられます。ボタンをちょっとだけ左に動かしても良いかもしれません。
    • ゴシップ獲得(白地に白アイコン)、終了印削除(赤丸に赤×)などアイコンだけ見ていると情報を見落としてしまう可能性が考えられます。少々過保護な考えかもしれませんが。これ等アイコンについては対処する必要もなさそうですが、一応。
    • デバッガの操作も反映される(所持金で確認)のでシナリオ作者さんによってはシナリオ側のミスと勘違いしてしまう可能性も考えられますが、これも過保護な考えかもしれません。

    これは情報自体をテキストにしてコピー&ペースト可能にする、というつもりで書いたのでしたが、

    てっきり実装前は、これまでの通知ダイアログのようにコピー&ペーストできないものだとばかり思っていました……。メモ帳を立ち上げっぱなしのマメなシナリオ作者さんならともかく、そうではない作者さんには役立ちそうですね。もしくは.txt出力の代わりに、直前の報告ダイアログを再表示できるようにするのもありかもしれません。


    こちらはバグ修正についての報告です。

    各選択ダイアログの一覧表示時(1/1ページ未満)は問題なく動作する事を確認しました。

    Ctrl+Pのスクリーンショット撮影ですが、各選択ダイアログ(宿帳・アルバム・再開など)では 「ポン!」っと警告音が鳴ってしまいました(Win7)。撮影自体は問題なく出来ているので対処するほどでもないと思いますが……。

    (うっかりミスで他のバグ修正も混在していますが)。

    うーん、やはり機能実装を待ってから他のバグ・不具合報告をしたほうがよかったのでしょうか。 今回のバグ・不具合報告は、 XEditorの致命的なバグ数件を報告しても良いかどうかの 許可を得たかったので(木を隠すなら森へ的な感じで)つい、してしまいましたが……。 WSN追加のための大事な時期だとは分かってはいるのですが……。

  5. k4nagatsuki repo owner

    pull request #1200でテキスト出力とウィンドウボーダー・ボタン配置の問題に対処しました。こんなものでどうでしょうか。

    PCが対象消去された場合、一部文字列を太字・赤字にするなどの強調表示をすべきかもしれません。

    これはどうでしょう、PCの対象消去はそもそも一目瞭然ではないでしょうか(特に宿への帰還後は)。個人的には、_消滅予約が正しく登録されているかどうかの判断に役立てばなぁという気持ちでした。

    見た感じでは自明でないが重大な変化は、たしかにそのような方法で目立たせるといいかもしれません。

    ゴシップ獲得(白地に白アイコン)、終了印削除(赤丸に赤×)などアイコンだけ見ていると情報を見落としてしまう可能性が考えられます。

    これは過保護と仰っている通りではないかと思います。漫然と見る場合にはたしかに見落しが発生しますが、本当にデバッグ情報が必要な時には多少注意深く見るはずなので、アイコンが目立たない程度の事は問題ではないと私は思います。仮にアイコンを目立たせても、例えばゴシップに誤字があるとか付与するゴシップを間違えているなどの問題は防げません。

    デバッガの操作も反映される(所持金で確認)のでシナリオ作者さんによってはシナリオ側のミスと勘違いしてしまう可能性も考えられますが、これも過保護な考えかもしれません。

    これは現状ではデータ構造的に見分けるのが無理なのでこのようになっています。申し訳ないです。

    Ctrl+Pのスクリーンショット撮影ですが、各選択ダイアログ(宿帳・アルバム・再開など)では 「ポン!」っと警告音が鳴ってしまいました(Win7)。

    同じくwin7(64bit)ですが、再現しないです。なぜだろう? スクリーンショット.wavやWindowsのテーマなども関係している環境要因の現象でしょうか?


    先程の返信を書いた時、Issue #302の方でも同時に返信をしたつもりだったのですが、(おそらくうっかりミスで)投稿できていませんでした。もう一度書きましたのでご覧ください。

    開発側で取捨選択や優先度付はできますので、バグ報告はどんどんしていただけるとありがたいです。

  6. Liar_cw NA reporter

    プレイ結果のダイアログで_2から_5のPCが隠れてしまうのと、 ダイアログだけしか見ない方を考慮したつもりですが、やっぱり過保護ですよね。 素直に重箱の隅を突きすぎました、ごめんなさい。

    実際に何か問題が出てきてから対処する方向で、良いかもしれませんね。

    同じくwin7(64bit)ですが、再現しないです。なぜだろう? スクリーンショット.wavやWindowsのテーマなども関係している環境要因の現象でしょうか?

    キー識別がCtrl+PPで二重に行われてしまっているのではないかと思いましたが、再現性がないということは環境依存っぽいですね……。 少なくともPrintScreenではスクリーンショット.ogg以外の変な音も鳴らないし問題なく撮影もできるので、特に実害はなさそうです。

    もう一度書きましたのでご覧ください。

    間が悪く2回も聞いてしまい、申し訳ないです。 早速、あちらの方に書き込みをさせていただきました。

  7. Liar_cw NA reporter

    CardWirthPy 0.12.4 Alpha 3 Build: 2015-11-28 00:19:34

    プレイ結果ダイアログについてですが、これで問題ないと思います。

    「重大な変化」の強調については、先ほどの「過保護」に含んでいるので無理にとは言いません。 (どちらかというと、作者ではなく家計簿を書くようなプレイヤー側が欲しい情報になりますし)

  8. k4nagatsuki repo owner

    過保護というか、ある部分を強調すると他の部分への注意が疎かになる効果があるので、強調という手段はできるだけ使いたくないという気持ちがあるのです(どれくらい疎かになるという定量的なデータがあるわけではない)。

    それでも強調が必要になるのはよほどの場合ですが、対象消去は次のような理由で「よほどの場合」にあたらないと考えました。

    • 見た目に明らかである。パーティ隠蔽中に消されたのでもなければ対象消去された瞬間に、そうでなくても宿へ戻れば一瞬で分かる
    • PCの対象消去は普通に行われる操作ではなく、それを扱う場合、シナリオ作者は充分に注意深くなるはず

    対象消去に限らず重要な変化をもたらすイベントはシナリオ作者が充分に注意してテストするべきですし、そうするはずです。終了後に表示されるレポートだけに頼るべきではありませんし、実際それは補助的な役割となるはずです。

    後は、この機能をプレイヤーが利用して、シナリオ作者の嫌がらせを見つけようとするような場合ですが――そういうのが必要になる世の中は来てほしくないですが――巨大なマイナスクーポンのようなものは見つけた時に復元が可能ですし、唯一復元不能である対象消去は上記のようにすぐ見つける事ができます。


    Ctrl+Pの問題は本当に謎です。考えられる可能性としては、

    1. CWPyのどこかの部分がキー操作をキャプチャしていてビープ音を鳴らしている。P以外のキーでも発生する可能性がある
    2. CWPy以外にキー操作をキャプチャしているソフトがいてビープ音を鳴らしている
    3. スクリーンショット撮影処理の中にビープ音が鳴るような処理がある

    があって、一番ありそうなのは3.で、ダイアログを描写して画像を拡大・縮小したり文字列を描画する処理の中でビープ音が鳴っているという事になりますが、そういう処理で鳴るというのもまた考えづらいし、PrintScreenが問題ないのも謎です。うーん、不可解。

  9. Liar_cw NA reporter

    なるほどたしかに、強調したせいで逆に疎かな部分が増えてしまう可能性もありますね……。浅はかでした。

    少し違う話になりますが、対象消去でこれを思い出しました。 嫌がらせの類ではないのですが、少し前に噂で聞いた話によると、 「CW1.50でひとつのツリーの中に対象消去とシナリオ終了コンテントを混ぜると(例:消去した後すぐにクリア等) 宿に戻ったときに復活する! これ使えばビックリ系一発ネタシナリオも作れるよ!」 ……っといったモノで、噂通り1.50では復活してた(全員消去だと全滅)と思いますがCWPyだと普通に消滅してた覚えがありますね……。 1.50側のバグだと思って、挙動合わせの報告はしませんでしたが……。


    ポンポン(ビープ音)が鳴るのは、「宿帳」「アルバム」「再開」「貼紙」「宿選択」等の UDキー(ビープ音なし)が機能するダイアログのみなので、 もしかするとライブラリの標準挙動の影響(と環境依存)かもしれませんね。 (当てずっぽうになりますが)

    私から話を振っておいてなんですが、実害がないうえに原因が不明なので、あまり気にしない方が良いと思います。 (技術者の方からしてみれば、相当気持ち悪い現象かもしれないですが)

  10. 暗黒 騎士

    Ctrl+Pのスクリーンショット撮影の件、自分も宿帳で試してみましたが無効音が鳴りますね。(同時にSS撮影効果音も鳴っている) Pや他のキーでもフォーカスが[新規]などボタン系全般にあると鳴る(方向キー操作で整列のセレクトボックスに移った状態だと鳴らない)ので、1ではないでしょうか。実害はないのであまり気にしなくてもいいというのは同意です。

  11. k4nagatsuki repo owner

    CW1.50でひとつのツリーの中に対象消去とシナリオ終了コンテントを混ぜると(例:消去した後すぐにクリア等) 宿に戻ったときに復活する!

    少なくとも1.28以降にあるビックリドッキリバグですね。たしかエリア移動する前にシナリオを終了すると復活したと思います。実は検討事項の中に入っています。Issue #54をご覧ください。

    ただし、面倒な手間と新しい仕組みを作ってまで対応する事かなぁ、という感じで今まで放置されています。


    Ctrl+Pは、私のところではボタンにフォーカスがあっても鳴らないですね。

    しかしPを押す事でなんらかのイベントが発生し、そのイベントができない事を行おうとし、結果としてビープ音が鳴るという事で間違いなさそうです。たぶんその音が鳴るくらいなので実際には何も起きていないのでしょうが、うーん、鳴る環境と鳴らない環境がある事といい、気持ち悪い……。

  12. k4nagatsuki repo owner

    鳴りました! どうやら私のところの警告音は極端に音量が小さいらしく、聞こえていないだけでした。

    どんなところでもボタンにフォーカスが合っていると問題の音が鳴ります。これはおそらくライブラリの仕様でしょう。

    どうも解決は難しそうな気がしてきましたが、なんとかできるようであればなんとかしてみます。

  13. Liar_cw NA reporter
    CardWirthPy 0.12.4 Alpha 3 Build: 2015-12-23 21:20:31
    

    Issue #302の話の最中に割り込んでしまうのも難だと思い、 こちらのIssueにて不具合の報告をさせていただきます。 (内容としてはIssue #304に関係しますが)

    戦闘中にデバッガを開いたままCtrl+Dでデバッグモードを終了させると、 敵キャストの表示(体力バーの有無など)が更新されなかったり、 一時的にCtrl+Dが反応しなくなりました。

    • 敵味方問わずキャストカードにマウスカーソルを合わせる等すると正常な状態に戻りました。
    • 敵味方問わずキャストカード上でCtrl+Dでデバッグモードを終了させると敵キャストの表示更新は行われるものの、一時的にCtrl+Dが反応しなくなりました。キャストカード上からマウスカーソルを退避させると正常な状態に戻りました。
  14. k4nagatsuki repo owner

    ありがとうございます。pull request #1244で修正しました。

    Ctrlキーの押下状態の取得が内部的にちょっとややこしい事になっていまして、無理やり対応しましたが、もしかすると誤動作が発生するかもしれません。その場合はまたお知らせくださると助かります。


    ついでながら、どのIssueにコメントするかといった事についてなのですが、後から調査などで記録を参照するような場合がありますので、本音を言うと、できれば様々な情報が集約されたIssueというのは作りたくありません。汎用Issueは、新しいIssueを立てづらいという意見を受けてのものなのですが、実のところ新しい問題は新しいIssueを立てて解決次第クローズという風にした方が、後で助かるのです。

    とはいえ新しいIssueは立てづらいというのも理解しております。この場合はIssue #304の方が問題に強く関連しているので、ここよりはそちらにコメントしていただいた方が妥当だったと思うのですが、それはもう今更の話ですし、今後もどこにコメントがつけられてもできるだけ対応はしますので、今後ともどうかよろしくお願いいたします。


    Issueを新規に立てる時はKindとPriorityをどう選ぶかに引っかかりそうだと思ったので、wikiページの記述を詳しくしました。分量が増えてきたのでそろそろ別ページにするべきかも。

  15. Liar_cw NA reporter
    CardWirthPy 0.12.4 Alpha 3  Build: 2015-12-26 11:58:16
    

    pull request #1244の修正を確認しました。 特に問題なく動作しています。


    大変見苦しい言い訳をさせていただきますと、 Issue #304に関連する事柄だったので当初はそちらへ書き込もうと思ったのですが resolved状態だったので、「問題ない」と前持って告知されていたのにも関わらずやはり躊躇ってしまい、 このIssue #307はオープン状態(他ユーザが情報を共有しやすい)ということもあり デバッグモード関連の内容だからと このIssueに書き込みを行いました。

    今後はなるべく新しくIssueを立てる等、気をつけていきたいと思います。 迷惑をおかけしました。

  16. k4nagatsuki repo owner

    あれっ? そもそもどうしてこのIssueがOpen状態なんでしょう。

    ボタンにフォーカスが合っている状態だと無効音が鳴るという問題が残っているから私がCloseしなかったんだと思うんですが、当初の話からそれているのでそれはそれで新しいIssueを立てるなりするべきでした。実際の解決は難しそうなので、とりあえずこのIssueはCloseして、ボタンの件は後で既知の問題のリストにでも入れておきます。

    こちらこそ申し訳ないです。ありがとうございました。

  17. Log in to comment