WSN追加案: 識別用クーポン「@Wsn.2」

Issue #438 resolved
k4nagatsuki repo owner created an issue

「Wsn.2に対応しているエンジン」という意味合いの識別用クーポン@Wsn.2を追加し、称号判定分岐で使用できるようにする事を考えます。

WSN形式がバージョンアップするたびに、@Wsn.3@Wsn.4…と増えていく事を想定しています。


実行中のエンジンが対応するWSN形式のバージョンの判別は、現状ではほとんど必要ありませんが、無いよりはあった方がよさそうに思います。

  1. CW 1.20から1.28へのバージョンアップ時には、普及度を見越して「1.20と1.28の両対応」という処理を行ったシナリオがいくつもありました。将来、WSNシナリオでも似た状況が発生しないとは限りません。
  2. CWPyは対応していないWSNバージョンのシナリオの実行時に警告を出しますが、無視してプレイする事はできますし、他のWSN実装エンジン(まだ存在しないと思いますが)では、警告を出さない仕様を選ぶかもしれません。
  3. 1.2.を踏まえると、シナリオの側から「このエンジンはWsn.いくつまで対応しているのか?」を知る仕組が必要になります。現状では(1)@CardWirthPy Version.N.nを使うか、(2)古いバージョンには無い機能を効果的に使う事で判断する(1.20と1.28を識別した時のように)しかありません。
  4. (1)はCWPyのバージョン識別用で、固有バグの回避などの用途がありますから、他のエンジンで使える事は望ましくありません。(2)の方法は仕様のアップデートの内容次第では使えないおそれがあります。
  5. 従って、「エンジンが対応するWSN形式のバージョンを調べるための称号」を別に用意するべきである、という事になります。

上記の想定には、まだ発生していない状況がいくつも含まれますから、現状ではほぼ不要ですが、追加しておいて損になる事はないと思います。

称号名はシンプルに@Wsn.Nでよいかと思います。

Wsn.0とWsn.1への対応を判断する方法は後付で用意する事はできません。これは1.20と1.28の時のような方法を編み出すしかないでしょう(もっともWsn.0のシナリオは将来もほぼ作られないでしょう)。

Comments (2)

  1. Log in to comment