タスク:やるべきことメモ(第5世代)

Issue #40 new
暗黒 騎士 repo owner created an issue

#29より継続。5.2~6.xを予定。

5.2or6以降に持ち越しのタスク

  • 定期バックアップオプション(#3) 予定とは異なりCabの扱いを先に覚えてしまったが、#15に手を付けたい。
  • 行動順の厳密な仕様合わせ 6.0までにはやりたい。

長期目標タスク(状況の変化がなければ優先度低)

  • CW1.28のF9仕様 現状オプション制。本来は有限アイテムも元に戻らないため、忠実に実装を目指したい。
  • 規格外適性の不明値(#39) 現状あまり成果はなかった。
  • 規格外適性の更新タイミング 本来手札に入った時点で固定されるのだが、Pyでは随時計算なので大掛かりになる。
  • TimGM_A320_Mixの改良 ドラム・ピアノあたりはまだ不満が残るが、概ね満足。

実現したいWSN機能(最短でもWSN6なので6以降)

  • ミリ秒ウェイト これがないと結局カードアニメ演出をするシナリオは移植できないという意見があった
  • コモン関数で効果型カードの数値指定での選択を行う シナリオ作者の要望を受けて一番簡単そうな実装例(この手段には固執しない)

Comments (5)

  1. 暗黒 騎士 reporter
    • キー・マウス入力時、たまにランタイムエラーでエラー落ちする

    忘れた頃に出てきた。かなり条件が限定的なエラーだと思うのだが、再現ができない。

    これどれぐらい(の頻度で)起こっている人がいるのか知りたいけど、確認しようがないよなぁ……

    error: video system not initialized

    Exception in thread Thread-1:
    Traceback (most recent call last):
    File "threading.pyo", line 801, in __bootstrap_inner
    File "cw\thread.pyo", line 904, in run
    error: cannot convert without pygame.display initialized

  2. 暗黒 騎士 reporter

    • ランダム選択コンテントにおいて「除外対象」を追加
    • 「ラウンド開始時に非表示状態」「武器が効かない」「魔法が効かない」

    タスクとして追加。

    この機能は、連続攻撃スキルなど、「アクティブにランダム選択で敵をターゲットに取るカード」が不具合を起こさないために必要。話題になっていたように増援をターゲットに取って倒してしまうと進行停止するケースは、キーコードを発火できるPyでは稀と思われるものの、不正なショートカットになってしまっているシナリオはそれなりにある。(後者は竜殺しの墓のゴブリン戦など)

    当初「対効果属性(命を持たない等)」をすべてチェック方式で入れる方法を考えていたが、しろねこさんの意見を受けて(「キャストの無効属性のシステムクーポン化」が実装されれば、クーポン評価式の除外で十分と思い直した)この3つに絞ることにした。

    このようなカードを作る作者が最低限除外したいのは「増援(ラウンド開始時に表示されていなかったエネミー)」と「バトルギミック用の無敵キャラ」の2つ。現状は前者に判定手段がなく、後者も手動で1体ずつ判定しないとならないため、ものすごく作りにくくなっている。上記の3択が用意されれば、なんとか現実的な範囲で表現が可能になるはず。

    個人的には本来、ランダム選択コンテントの挙動自体で仕様変更を実施してもいいぐらいだと思うが、ランダム選択コンテントは1.30時点から追加されているのでどれだけの規模で使用されているのか想像もつかない。加えて、1.50以下ではどの道効果コンテントではキーコードを発火できない=使用時イベントで敵を攻撃するスキルは依然として作られるべきではない(死亡イベントが発火するようにしただけでは不十分なので環境はNEXTでも同じ)。よって遺憾ながらPy専用のWSNオプションとして用意するしかない。


    Xでの反応を見る限り、需要はそこそこありそう。エンジン側の対応としてはターゲットを限定した後にフィルターをかけるだけなので数行で済む見込み。

    これまでシナリオ規格において独自機能を作っていなかったのは、マージ拒否された時にまるまる作業が無駄になるか、独自路線を突き進むしかなくなるのと、長月さんの意向を汲んでの追加の作業とやりとりが発生するのが負担(自分だけではなく相手方にも)に思っていたから。

    だが、「カード交換」や規格外の値に対する方針の違いで、既に仕様差は埋めにくくなっているし、Rebootはすでに2年活動縮小状態でWSN6もいつになるかわからない(これまでのような体制はもうダメそう?)ので、ひとまずミリ秒ウェイトなども含めてPyLiteのみで実装してみるのも選択のうちかと最近は考えている。そうなるとXEditor側の実装の方も自分でやらないとならないので、どこまでやるかの決断には思い切りがいる。

  3. Log in to comment