-
Notifications
You must be signed in to change notification settings - Fork 2
Home
いくつかの不具合を修正したCardWirthPy 0.12.3bをリリースしました(ダウンロード / 更新内容)。
0.12.3には宿の変換でシナリオ内で手に入れた直後のカードの希少度情報が変化してしまうバグが存在しているため、0.12.3をご使用されている方はアップデートをお薦めします。
このリリースには、0.12.3リリース後に追加された新機能は含まれていないため、テスト版をご使用中の方は最新のテスト版へのアップデートをお薦めします。
CardWirthPy 0.12.3をリリースしました。バージョン0.12.2に続く最新のリリース版です。更新内容については紹介ページをご覧ください。
このバージョンの開発にあたり、多くの方に助言・提案・不具合の報告をいただき、数名の方にはコードやデータを寄贈していただきました。この機会に改めてお礼申し上げます。ありがとうございました!
これはCardWirthPy Developer's Siteで開発中だったCardWirthPyのフォークです(フォークについての説明)。本家側の更新停止が続いているため、Rebootと称して独自に開発を継続しています。
原開発者の方に連絡を取ったところ、恐らく本家側の更新は今後も無いという事なので、事実上開発を引き継いだ形になっています。
開発に参加したりさらに引き継いだりしてくれる方を募集中です。
CardWirthPy&XEditor攻略wikiや、takuto_cwさんのよくまとまった紹介記事もご覧ください。
開発に興味のある方は開発者向け情報をご覧ください。
- CardWirthPy 0.12.3b
- 0.12.2からの差分(0.12.2以降にフォルダごと上書きしてください)
フルバージョンであっても、設定やプレイデータは含まれていないため、ダウンロードし解凍した内容をそのまま上書きすれば更新が可能です。
追加はありません。
- 拡大設定をフルスクリーン以外からフルスクリーンに変更した時、一旦拡大状態を解除するようにした。これは、同操作によってフルスクリーン化した後でF4キーで拡大を解除するとウィンドウの操作が効かなくなるという問題への暫定的な対処です。問題が無くなった場合は元の挙動へ戻す予定です。
- カードの防御修正に適性が影響しないようにした。
- 横長のモニタでフルスクリーン表示に切り替えると画面の右端が消える。
- フルスクリーン以外の拡大設定で画面を拡大している状態で拡大設定をフルスクリーンに変更し、その後F4キーで拡大を解除するとウィンドウの操作が効かなくなる。
- 宿の変換で、シナリオ内で入手し、PCに持たせたカードのレアリティが上昇する。
開発版の11月1日時点でのスナップショットです。0.12.3のリリース後に搭載された新しい機能が使用できますが、正しく動く事は保証されません。宿データのバックアップを取るなど自己防衛策を講じてからご利用ください。
- CardWirthPy 0.12.4α3(2015年11月1日リリース)
- 更新内容(ChangeLog.txt)
さらに新しいテスト版やスキンのダウンロードとそのChangeLog
冒険者の宿の変換が必要です。起動してから「スタート」カードを選ぶと宿の選択ダイアログが出ますが、そこで「変換」ボタンを押してCardWirthのYadoフォルダ内にある冒険者の宿のフォルダを選択するか、宿のフォルダをダイアログにドラッグ&ドロップしてください。宿は自動的に変換され、CardWirthPyで使用できる状態になります。
また、Scenarioフォルダ内にはショートカットを置く事ができるので、まずはCardWirthのScenarioフォルダへのショートカットを作るといいでしょう。
バリアントのエンジンの実行ファイル(例えばModernWirth.exe)をCardWirthPyのウィンドウにドロップすると、そのバリアントのデータからスキンを自動生成するダイアログが出ます。
そのまま「決定」ボタンを押せば、必要なデータが自動的に抽出され、そのバリアントをそのまま移植したスキンが生成されます。スキンは右下の歯車ボタンで開く設定ダイアログから切り替える事ができます。
スキンの生成と同時にそのバリアントのシナリオのフォルダへのショートカットがCardWirthPyのScenarioフォルダに自動的に生成されますが、宿のデータは変換されません。必要な宿を個別に変換してください。
適宜シナリオの対応エンジンの情報を与えることで、CardWirthPyに過去のCardWirthエンジン相当の動作を行わせる事ができます。
例えば、CardWirth 1.20から1.28への移行の時、メニューカードの位置がプレイヤーカードの上に表示されていたのに、1.28ではその位置関係が逆になり、1.20環境で作られた一部シナリオのメニューカードがプレイヤーカードの背後に隠れて見えなくなるといった事が起きました。CardWirthPyは、普段は1.28エンジンのようにプレイヤーカードを上に描画しますが、「このシナリオのこのエリアは1.20のようにメニューカードを上に表示するべき」であると判断すると、自動的にそのような描画に切り替えます。これを互換モードと呼びます。
互換モードに切り替える判断材料には次のようなものがあります。
いくつかのシナリオについては、エンジン本体に同梱された互換性データベースによって、自動的に互換モードに切り替わります。
全てのシナリオの互換性を調査する事は容易ではないため、互換性データベースに入っているシナリオのリストは不完全です。CardWirthエンジンのバージョンアップで動かなくなったシナリオ等について、皆様からの情報提供をお待ちしております。
そういったシナリオを見つけたら、Issueを作成してお知らせください。タイトルは【互換性DB】から始め、説明には該当するシナリオの情報(シナリオ名やどこで手に入るか等)を書き、Kindはenhancementを選択するとよいでしょう。出来る限り速やかに対応させていただきます。
入手不能なシナリオを登録させたい場合は、互換性情報の生成のしかたをご覧ください。
互換性データベースには情報が無いが、とりあえずすぐに互換モードで動かしたいシナリオ等が存在する場合、シナリオのフォルダにmode.iniというファイルを追加する事で、CardWirthPyに互換モードで動くよう指示を出す事ができます。
mode.iniはテキストファイルで、内容は次の2行です。
[Compatibility]
engine=1.20
ここで、2行目がengine=1.20となっているとCardWirth 1.20相当の互換モードで動きます。1.28相当のモードにしたい場合は、これをengine=1.28にしてください。
現在の互換モードがどの程度まで過去のエンジン相当の挙動をするかについての詳細はIssue #17で見る事ができます。
現在のCardWirthPyが抱える課題はIssue(課題)の一覧で参照する事ができます。
バグや仕様の不備等の問題を見つけたら、新たにIssueを作成してお知らせください。皆様のご協力をお待ちしております。
また、Issueは連絡や要望などに使っていただいても構いません。
課題のタイトルと説明を書いてください。不具合の報告の場合、発生した問題の内容や、どのように操作すれば問題が発生するかを具体的に詳しく書いていただければ調査が簡単になります。使っているOSのバージョンなど、バグに関係のありそうな情報があるとなおよいでしょう。
タイトルは視認性をよくするために「バグ:」や「追加案:」や「変更案:」といった文句で始める事になっていますが、そうなっていなくても問題ありません。
IssueにはKind(種別)とPriority(優先度)というパラメータがあります。Milestoneというパラメータもありますが、普段は無視して差し支えありません。また、担当者の欄は、最初は空欄にしておいてください。
Kindは次の中から該当するものを選択してください。
bug(バグ) : バグ。不具合。エラーが出る・ハングアップする・データがおかしくなるなど。仕様上のバグもここに含まれますが、正常なのだろうが使い勝手が悪い等といった事柄はおそらくenhancementの方が妥当です。
enhancement(強化・品質向上) : 既存の機能の強化の提案。また、互換性情報の提供はこれを選択してください。
proposal(提案) : 新しい機能の提案。enhancementとproposalはどちらを選ぶべきか判断しにくい場合があります(例えばデバッガに新しいビューを追加するのは、 デバッガの強化でしょうか、新機能の提案でしょうか?)が、その場合はおそらくproposalを選ぶのが妥当です。
task(タスク・予定済みの作業) : いずれ実行しなければならない作業。普通は開発者側の人間によって登録されるものなので、これを選択する場面はほとんどないはずです。が、単に連絡するためにIssueを作る場合は選択肢の中に該当するものがありませんが、とりあえずtaskを選んでください。
Prioerityはblocker-critical-majorの順で重要度が下がっていきます。次の中から該当するものを選択してください。
blocker : 他の作業を全て停止してでも解決するべき重大な問題。高い確率で発生してユーザのデータを破壊する不具合、ライセンスや法的問題など。
critical : ほとんどの環境で高い確率でプレイ不能になったり、比較的発生率が低くても発生するとユーザのデータを破壊するような不具合。
major : 一般的な提案やデータを破壊するほどではないバグなど。重要度が分からない場合はこれを選択してください。ほとんど全ての提案やタスクはこれになるはずです。
minor : 当面取り組む必要のない問題。表示が少し乱れるなどの修正しなくても具体的な問題の生じないバグや、ちょっとした誤字、実施を将来のバージョンへ先送りした作業など。
trivial : 解決しなくても事実上まったく問題のない不具合。
なお、Bitbucketのユーザアカウントを持っていなくてもIssueを作成する事はできますが、その後コメントする事はアカウント無しにはできないようです。修正の通知の後でなお問題が残っていたりした場合、遠慮無く次のIssueを作ってください。
汎用の報告・連絡用Issueがあるのでここに返信する形で書き込んでください。ただしBitbucketのユーザアカウントが必要です。
環境によって、音声の再生で問題が発生することがわかっています。次のような問題が、サウンドフォントが存在しないか、サウンドフォントをまったく使用しない設定になっている時に発生します。
- BGMの終了時に時々ハングアップする。
- サウンドフォントを使用する設定から使用しない設定にした時にハングアップする。
- 音声ファイルの形式によっては音量調節や再生可否の設定が機能しない。
このような問題が発生する場合、標準のサウンドフォントを使用するように設定を変更してください。
シナリオが存在するにも関わらずシナリオ選択ダイアログに表れず、表れたシナリオも読み込みに失敗する状態になることがあるようです。この問題が発生した場合は、CardWirthPy.exeと同じフォルダにあるScenario.dbを削除して再起動してください。
ダイアログのボタンにフォーカスがある時にCtrl+Dなどのキー操作を行うとWindowsの警告音が鳴る事が分かっていますが、解決できていません。警告音が鳴る以外の実害はありません。
最新リリースと同等か、それよりも新しいバージョンがDownloadsにあります。これらはテスト版としてソースコードに更新があるたびにビルドされているバージョンです。
以下のファイルをダウンロードし、出てきたフォルダを統合する事で遊べるようになります。
- cardwirthpy_[日付].zip
- skin_classic_[日付].zip
- font_[日付].zip
CardWirthエンジンを実装するにあたって直面した互換性やバグなどについてのメモを作成したので掲載しておきます。エフェクトブースターについてのメモなど、実際のシナリオ作成時などの参考となるかもしれません。
ここに書いてあるのは個人的に決めた事なので、他の開発者の意向で変更されるかもしれません。
フリー・オープンソースを維持します。大方針と反しない限りにおいて、協力をできるだけ受け入れます(もちろん大方針に反するforkも可能です)。
事故や開発者側の都合によって永遠に開発が打ち切られるというリスクをこれによって軽減します。
過去に作られた全てのCardWirthシナリオがプレイ可能な環境を提供する事を目指します。
ただし「完璧にプレイできる」ようにする事は困難ですので、それは理想として掲げつつ、現実的には「全てのシナリオが充分にプレイできる」事を目指す事になります。
これにはCardWirth 1.30以前のバージョン用として作られたシナリオや、各種バリアント用のシナリオも含まれます。
例えばCardWirth 1.28と1.50で仕様が異なる時にどうした対応をするかですが、次のような理由で、ほとんどの場合は1.50に合わせるのが妥当と思われます。
- 最新のバージョンに対応したシナリオは今後増加しますが、最新でないバージョンに合わせたシナリオは増加が見込めません。
- 「最新」のバージョンは常に改まっていくものですが、過去のバージョンは変化しませんので、一度互換性DBなどを用いた対応を行えば、以後は手を入れる必要がありません。
また、仕様の違いが、シナリオをプレイするに当たってほとんど無視できるほど小さなものである場合は、内部的・外面的な複雑さの増大と将来に渡る保守リスクを加味した上で検討し、リスクに対するメリットが無いと判断された場合は無視した方がよいでしょう。
追加・拡張機能は将来的な互換性を考えて慎重に実装するべきです。
例えば追加のイベントコンテントなどは、将来のCardWirth側の拡張と衝突する可能性があるため、特に注意しなくてはなりません。
しかし、例えばシナリオを一覧表示するような、純粋なインタフェースの改良などは問題ない場合が多いでしょう。
いずれにせよ、単体のソフトウェアではなくプラットフォームである以上、意思決定は軽々しくするべきではないと考えます。
特に著作権情報の記載されている画像などを除き、すべてCC0の通りに利用してください(何をしようとも完全に自由で、許諾は不要)。
なお、このwikiサイトの内容はMercurialで管理されており、以下のようにして取得する事ができます。
hg clone https://bitbucket.org/k4nagatsuki/cardwirthpy-reboot/wiki