Wiki

Clone wiki

CardWirthPy Reboot / Home

CardWirthPy Reboot


CardWirthPy及びCWXEditor及びWSNの開発の現状と今後について(#1107)

現状の体制が機能していないため開発・リリース等の引き継ぎ者を募集しています。興味のある方はご覧ください。


最新リリース版(5.2)のダウンロード

CWXEditorはCardWirthPyと協調して開発されているシナリオエディタです。


  • 最新のテスト版やスキンのダウンロードとそのChangeLog
    • cardwirthpy_<8桁の数字(年4桁+月2桁+日2桁)>_x86.zipcardwirthpy_<数字>_x64.zipが最新のテスト版ですが、差分しか入っていないので単体では動きません。最新のリリース版に上書きしてください。

エンジンのアップデート方法

ダウンロードし解凍した内容を、ご利用中のCardWirthPyフォルダへ上書きすれば更新完了です。

設定やプレイデータは含まれていないため、フルバージョン、差分バージョンのどちらも同じ方法でアップデートできます。


お知らせ

2023年12月10日

いくつかの不具合を修正したCardWirthPy 5.2をリリースしました。

シナリオの動作に影響する不具合が修正されています。全てのユーザにアップデートをおすすめします。

2023年3月18日

大量のスパムが投稿されるようになったため、一時的に非ログインでの課題立てを無効化しました。

お手数ですが課題を立てる際はユーザー登録を行い、ログインしてください。

2020年11月16日から2021年1月6日にかけてのデイリービルドを使用された方へ

上記期間内のデイリービルドにはセーブデータに余計なスペースが混入する不具合が存在します(#1003)。

この不具合によって肥大化してしまったセーブデータを修正するツールを用意しましたので、README.txtをよくお読みの上でご利用ください(特に修正する宿データのバックアップは忘れないようにしてください)。

ご迷惑をおかけして申し訳ありません。

2021年12月19日

CardWirthPy 5をリリースしました

新しいシナリオ規格であるWsn.5のシナリオを遊ぶ事ができる他、多くの新機能が搭載されています。CardWirthPy 5の紹介ページもご覧ください。


CardWirthPyは、開発にあたって多くの方からの助言・提案・報告、そしてコードやデータの直接の寄贈といったご協力をいただいています。

それらの方々と、CardWirthPyを使用してくださっている方々に、心よりお礼申し上げます。ありがとうございます!



これは何?

これはCardWirthPy Developer's Siteで開発中だったCardWirthPyのフォークです(フォークについての説明)。

Rebootと称して独自に開発を継続しています。原開発者の方に連絡を取ったところ、恐らく更新は今後も無いという事なので、事実上開発を引き継いだ形になっています。

開発に参加したりさらに引き継いだりしてくれる方を募集中です。成り立ちについてはtakuto_cwさんのよくまとまった紹介記事もご覧ください。

開発に興味のある方は開発者向け情報をご覧ください。


テスト版のバージョン

最新リリースと同等か、それよりも新しいバージョンがDownloadsにあるかもしれません。これらはテスト版としてソースコードに更新があるたびにビルドされているバージョンです。

以下のファイルをダウンロードし、出てきたフォルダを正式版に上書き統合する事で遊べるようになります。

  • cardwirthpy_[日付].zip

実装メモ

CardWirthエンジンを実装するにあたって直面した互換性やバグなどについてのメモを作成したので掲載しておきます。エフェクトブースターについてのメモなど、実際のシナリオ作成時などの参考となるかもしれません。


CardWirthPyの目標

ここに書いてあるのは個人的に決めた事なので、他の開発者の意向で変更されるかもしれません。

フリー・オープンソースの維持

フリー・オープンソースを維持します。大方針と反しない限りにおいて、協力をできるだけ受け入れます(もちろん大方針に反するforkも可能です)。

事故や開発者側の都合によって永遠に開発が打ち切られるというリスクをこれによって軽減します。

CardWirth(~1.50)との99%の互換性を目指す

過去に作られた全てのCardWirthシナリオがプレイ可能な環境を提供する事を目指します。

ただし「完璧にプレイできる」ようにする事は困難ですので、それは理想として掲げつつ、現実的には「全てのシナリオが充分にプレイできる」事を目指す事になります。

これにはCardWirth 1.30以前のバージョン用として作られたシナリオや、各種バリアント用のシナリオも含まれます。

互換性に対する考え方について

例えばCardWirth 1.28と1.50で仕様が異なる時にどうした対応をするかですが、次のような理由で、ほとんどの場合は1.50に合わせるのが妥当と思われます。

  • 最新のバージョンに対応したシナリオは今後増加しますが、最新でないバージョンに合わせたシナリオは増加が見込めません。
  • 「最新」のバージョンは常に改まっていくものですが、過去のバージョンは変化しませんので、一度互換性DBなどを用いた対応を行えば、以後は手を入れる必要がありません。

また、仕様の違いが、シナリオをプレイするに当たってほとんど無視できるほど小さなものである場合は、内部的・外面的な複雑さの増大と将来に渡る保守リスクを加味した上で検討し、リスクに対するメリットが無いと判断された場合は無視した方がよいでしょう。

追加・拡張機能とその互換性について

追加・拡張機能は将来的な互換性を考えて慎重に実装するべきです。例えば追加のイベントコンテントなどは、将来のCardWirth側の拡張と衝突する可能性があるため、特に注意しなくてはなりません。単体のソフトウェアではなくプラットフォームである以上、意思決定は軽々しく行うべきではないのです。

一方で、新しい機能の提供によって、シナリオ作者の負担を軽くしたり、新しい事ができるようにする事も、やはり必要です。この2つの考え方は矛盾するようですが、どこかで折り合いをつけなければなりません。

さて、CardWirthPyでは、最初から独自シナリオ形式(WSN形式)のシナリオを遊ぶ事ができます。バージョン1以降には、そのWSN形式の機能拡張も含まれます。WSN形式に追加された新しい機能は、「CardWirth側の拡張との衝突の可能性をできるだけ低くしつつ有用なもの」というような基準で検討され、選択されたものです。

WSN形式の機能拡張を行う際の方針についての詳細は、issue #184で見る事ができます。

CardWirthPy/CWXEditor/WSN仕様開発の方針」もお読みください。


このwikiサイトのライセンス

プロジェクトのアバターとして、あるいはダウンロードの節で使用している兜状のアイコンは、CardWirthPyのソースコードと共にMITライセンスの下に配布されているものです。License.txtを参照してください。

その他の部分については、特に著作権情報の記載されている画像などを除き、すべてCC0の通りに利用してください(何をしようとも完全に自由で、許諾は不要)。

なお、このwikiサイトの内容はGitで管理されており、以下のようにして取得する事ができます。

git clone https://bitbucket.org/k4nagatsuki/cardwirthpy-reboot/wiki

Updated