[CardWirth] 公式ギルドの私家版用タグ追加について(9/15更新)
今月初めに、カードワース愛護協会からPy専用シナリオ用のギルドタグに関するお知らせが出ていました。CWNext専用シナリオに「NEXT仕様」タグをつけるのと同様に、CWPy専用シナリオには「PY仕様」タグをつけることになったとのこと。「PY仕様:wsn.1」といった感じに、シナリオデータバジョン(=Wsnのバージョン)で切り分けるようです。
Pyのシナリオデータバージョンの法則は?
シナリオデータバージョンを公式ギルドの最低動作バージョンタグに書くということで、Pyのシナリオデータバージョンの法則が気になるところです。
シナリオデータの変更は大きく以下3つに分けられますが、そのどこで数字を変えてくるのか。今回0→1になったばかりで、過去からの推測はちょっと無理そうです。
- シナリオデータの構造自体が変わる時
(内容によらず古いエンジンでは読み込めない) - シナリオデータに新しい要素が追加される時
(新要素を使わなければ古いエンジンでも読み込める) - 既存要素の拡張や調整、バグ修正など
(読み込めない問題はほぼ考えなくて良いが、修正の前後で挙動が変わることも)
Pyでは2の場合に数字が増えているので、1の場合のみ数字増という仕組みらしい正式版CW1.29以降(恐らくそれ以前も)とはバージョンの表記ルールが異なっているのは確実です。
それなら、3の場合は?
3の扱われ方によって、ギルドのタグ検索がちょっとややこしくなるかもしれません。
3のような場合、例えばwsn.1.Xのような形にして「X」部分を変えていくのが一般的だと思いますが、それだとキーワード「PY仕様:wsn.1」による検索で、「PY仕様:wsn.1」そのものの他に「PY仕様:wsn.1*」が全て(つまり1から2の直前まで全部)が引っかかってきます。「1」だけを探すなら、「1」を除く全ての「1*」を全てマイナス検索ワードに設定する必要があります。
そうした面倒を避けるため、開発側で対策が取られる(上記3の場合は呼称を維持とか最新版への更新推奨とか)可能性もあるかもしれないですが……
この辺は、まだ分からんですね。
最低動作バージョンタグはエンジンバージョンを使う方が良いのでは、という話
この記事の本題は、ここから。
先に書いておくと、既にPyの開発者さんご自身が「PY仕様:wsn.1」タグを用いてギルドに投稿されています。つまりは、特に問題ないということだと思います。以下、完全に余計なお節介です。
それでもPyエンジンのバージョンを使う方が良いのではと考えるのは、第一に、これまで各種エンジンについて調べてきた中で、仕様の移り変わりやデータ形式をずっと追っている人は思うより少ないという実感があるためです。
公式ギルドは、Pyを良く知らない人も集まる場所です。専用タグを見て「Wsnって何?」と思う人が、それなりに居るのじゃないのかと。正規版やNextがエンジンバージョンを書いているため、Pyエンジンのバージョンだと思う人もいるかもしれません。
また、Wsnが何かを知っていても、Wsnのバージョンから対応するPyエンジンのバージョンを逆算するとなると、結構難易度が高そうです。頭の中でそれが出来る一部の詳しい人以外は、シナリオの付属テキストなどを見て対応するPyエンジンのバージョンを調べることになるでしょう。
第二に、こちらの方がより重要ですが、対応素材の変更にタグが対応できない可能性があります。使える素材はエンジンが再生に対応しているかどうかで決まるので、何か変更が行われたとしてもWsnの更新ではなく、エンジン本体の変更点として扱われるはずです。実際、過去の更新では、そうなっています。
Wsnの更新が行われない時に対応素材が変わったら、愛護協会がギルドタグの設定に苦慮することになりそうです。
以上2点から、タグはWsnではなくPyエンジンのバージョンを使った方が良いのではと考えているのですが、それも問題が無いわけではありません。
PyエンジンもWsnと同じにバージョン「1」で「1.0」や「1.00」とは書かない方式です。さすがにエンジンの方は変更してもバージョン数字はそのままというわけにはいかないだろうし、現時点で既に1のバグ修正で1.1が出ています。仮に今からギルドタグがPyエンジンのバージョンになったら、その時点で前の方で書いた「場合によってはタグ検索が面倒問題」が……
……と、色々書きましたが、結局のところ各プレイヤーさんはシナリオの付属テキストで対応エンジン情報を見るだろうし、今のままでも、付属テキストで全て解決する話ではあります。
本当に、余計なお節介です。
何、告知から半月以上経って今さら? いやごもっともで。
(9/15追記)
3日前の9/12、Py用のギルドタグ「PY用スキン」が増えていることに気付きました。
こちらは特に告知は無く、「他のエンジン紹介」に「PY仕様」タグと共に記述が追加されているだけ。私家版紹介ページに載っただけでギルドのタグ選択リストには追加されていないので、気付いていない人も多そうです。
元々計画されていたのか、最近公式ギルドにPyのスキン機能を利用したバリアントシナリオ的な作品が投稿されたのがきっかけか、その辺りは定かではありませんか、Pyスキンの取り扱いに比して既存のバリアントエンジンの不遇さが泣けます。
既存バリアントには、カードワース愛護協会から出ている現代I型の他に学園バリアントや大江戸バリアントがありますが、「そのほかのバリアント」に学園バリアントへのリンクがあるだけ。タグ選択リストに「○○バリアント」という汎用項目はあるものの、正式な専用タグは無しです。オリジナルが1.28エンジンベースで新作シナリオもほぼ見かけないという事情もあるとは思いますが、この落差は大きすぎるように思います。
もっとも、タグは「PY用スキン」でひとまとめにされているため、特定のスキン対応のシナリオを探す向きではなさそうです。もしかすると、データバージョンの指定と同じように、後ろにスキンの種類をくっつけるのが正しい書き方なのかも……