複数エンジン対応シナリオ作成時のメモ
雑多メモ@私家版エンジン関連情報(対応エンジンの話)
バックパックの中身(Next)や私有カード(Py)はPCの所持品ではない
Nextエンジンの「バックパック」の中身やPyエンジン(Py5以降)の「私有カード」は、所持スキルやアイテムなどと同じく各PCの「○○の手札カード」の画面で確認することができ、バックパックや私物にカードを入れる際にはPCと共に表示されるバックパックやカバンの絵に対してカードを移動させる操作を行います。そのため各PCの持ち物のように見えるかもしれませんが、どちらも荷物袋内のカードを個人所有のように見せているだけです。【全エンジン向け】のシナリオにおいては、バックパックや私物のカードは荷物袋にあるものとして取り扱うことになります。どのPCのバックパック/私物にあるかを調べる方法はありません。
- 【全エンジン向け】シナリオでバックパックや私物にあるカードを検出したいときは、所持分岐の適用範囲を、荷物袋・全体(荷物袋含む)・フィールド全体のどれかにする。
バックパックや私物の主を選択状態にしてから所持分岐で「選択メンバが持っているか?」を調べても、結果はFALSEとなる。 - ちなみに、【全エンジン向け】シナリオで、PTメンバーのバックパックまたは私物に同じカードが1枚ずつある状態で所持分岐を行ったとき、結果は「全員が1枚ずつ持っているか?」だとFALSE、「荷物袋にPT人数分あるか?」だとTRUE。
- エンジン種別を判定した上で処理を切り替える等の工夫が必要になることも……?
Next付属のWirthBuilderでは、各種所持分岐の適用範囲に「現在選択中のメンバ」とは別に「選択メンバのバックパック」の項目があり、別扱いが一目瞭然です。しかし、CW1.50付属のWirthBuilderやCWXEditorでは、所持分岐に「バックパック」や「私物」を含む項目はありません。そこでエンジン上の見かけからPCの所持品だと考えて選択範囲の設定を行うと、シナリオが想定外の動きをする原因になります。
各エンジンの所持分岐適用範囲の対応は、以下のとおり。
CW1.50・Py | Next |
---|---|
現在選択中のメンバ | 現在選択中のメンバ |
パーティーの誰か一人 | パーティーの誰か一人 |
パーティーの全員 | パーティーの全員 |
荷物袋 | 荷物袋(バックパック含む) |
全体(荷物袋含む) | 全体(荷物袋とバックパック含む) |
フィールド全体 | フィールド全体 |
(対応する項目なし) | 荷物袋 |
(対応する項目なし) | 選択メンバのバックパック |
CW1.50の「荷物袋」「全体(荷物袋含む)」はNextではバックパックを含んでおり、それとは別に荷物袋のみ・選択メンバのバックパックのみを探せるオプションが追加されています。
Pyの方は、(少なくともPy5.1時点では)荷物袋と私物を分けて探す仕組みはありません。私物欄のカードを検出する方法は、CW1.50と同じです。
[▲上へ]
貼紙の「解説」表示における文字化け問題(Readme.txt等に使える文字コード)
Readme.txtのようなシナリオ付属テキストは、メモ帳アプリ(Notepad)などで直接開くほかに、エンジンのシナリオ選択画面(貼紙)の「解説」ボタンからも表示できます。シナリオを始める前に、貼紙から解説を確認する方も多いのではないでしょうか。実は、この解説表示が対応している文字コードは、エンジンの種類やバージョンによって違いがあります。
(※2023年12月現在)
以下は、各エンジン、バージョンごとの対応状況です。
対応表 | 公式 | Next | Py | ||
---|---|---|---|---|---|
CW1.30まで | CW1.50 | Next1.60 | Py0~2 | Py3以降 | |
Shift_JIS | ○ | ○ | ○ | ○ | ○ |
UTF-8(BOMあり) | × | ○ | ○ | ○ | ○ |
UTF-8(BOMなし) | × | × | × | ○ | ○ |
EUC-JP | × | × | × | × | ○ |
CW1.50やNext対応のシナリオでは、貼紙からの解説表示で文字化けしないために、付属テキストの文字コードをShift_JISかBOMありUTF-8にする必要があります。CW1.50より古い公式エンジンまで視野に入れるなら、Shift_JIS一択です。
世の中の流れはさておき、CWシナリオの付属テキストについては、Shift_JISで表現できない文字や記号を含む場合を除いてShift_JISにしておいても良いのかもしれません。現時点でエンジンの種類にかかわらず文字化けの心配がない利点があり、公式シナリオの付属テキストがShift_JISであるため未来のCWエンジンで表示できなくなる恐れもまずないと思われます。
注意:メモ帳の規定の文字コードが変更されています(Windows 10 May 2019 Update)
以下は、Windows付属のテキストエディタ「メモ帳」(Notepad、以下「メモ帳」と記す)についてです。他のテキストエディタを使っている方は、参考程度にご覧ください。
Windows 10のMay 2019 Updateで、メモ帳の既定の文字コードがShift_JISからBOMなしUTF-8に変更されました。
この変更から既に4年以上経っており、今ではほとんど方が、BOMなしUTF-8が規定値のメモ帳を使っていると思います。エンコード設定を変更せずにそのまま保存すると、CW1.50(とそれ以前の公式エンジン)やNextエンジンで貼紙から解説表示を行う際に文字化けが発生するため、注意が必要です。
- CW1.50やNext対応シナリオの添付テキストをメモ帳で作成するときは、保存の際、エンコード設定を必ず「ANSI」(←日本語環境ではShift_JISで保存される)または「UTF-8(BOM付き)」に変更してください。
- CW1.30以下対応のシナリオは、エンコードを「ANSI」に設定します。
ReadmeなどにCW1.50対応と表記し、便宜上CW1.50シナリオとして公開するなら、「UTF-8(BOM付き)」でも良いと思います。 - Py専用シナリオは、そのまま「UTF-8」でも大丈夫です。
もちろん「ANSI」か「UTF-8(BOM付き)」に変更しても問題ありません。
その他メモ帳関連で留意すべき点として、May 2019 Updateでエンコードの選択肢「UTF-8」が指すものが BOMありUTF-8 から BOMなしUTF-8 に変わったことがあります。新旧ともに選択肢の中に同じ「UTF-8」という項目がありますが、中身が違います。
- CWシナリオの付属テキスト作成にメモ帳を使用している方へ。以下1~3のいずれかに当てはまったら、念のため2019年5月以降に作成した分を確認しておくと安心です。気づかないうちに文字化け問題の影響を受けているかもしれません。
- 文字コードをUTF-8にしていたが、メモ帳のエンコード「UTF-8」の内容が変化したことを今知った
- 文字コードをUTF-8にしていたが、解説表示の際、BOMの有無によって違いが生じると思っていなかった
- 保存の際のエンコード設定を気にしたことがなかった
- もし、エンコードの選択肢に「UTF-8(BOM付き)」がない場合、シナリオ付属テキストをUTF-8にしたければ「UTF-8」が正解です。
(...「UTF-8(BOM付き)」がない方は、現環境で正解を選ぶより、OSのアップデートもしくはアップグレードをお勧めします。)
May 2019 Updateより前(4択) | May 2019 Update以降(5択) |
---|---|
・ANSI:Shift_JIS【規定値】 ・Unicode ・Unicode big endian ・UTF-8:BOMありUTF-8 |
・ANSI:Shift_JIS ・UTF-16 LE ・UTF-16 BE ・UTF-8:BOMなしUTF-8 【規定値】 ・UTF-8(BOM付き):BOMありUTF-8 |
[▲上へ]