追加案:待機メンバの所持カードの文字列検索機能

Issue #291 new
gorfrog created an issue

誰かに持たせて外し忘れ、誰に持たせたかも思い出せず、困った経験があるので、このような機能があればと思い、提案してみます。宿帳に組み込む事になるのでしょうか?もし可能であれば、ご検討頂きたく思います。

Comments (5)

  1. k4nagatsuki repo owner

    ご提案ありがとうございます。しかし、実はこの検索条件は厳しいです。私も所持カード名・カード解説で実装を考えたことがあるのですが、一度断念しています。

    問題はCWPyの待機メンバデータの構造にあります。PCの一覧や絞り込みは、そのインタフェース上、一瞬で終わるものでなければなりません。ですのでPCのデータは全てメモリ上に置いておく必要があるのですが、このデータはなかなか大きなものですので、場合によっては数十人~数百人にもなるメンバの情報をフルに置いておくわけにはいきません。

    そのため、CWPyはメモリ内に一覧・絞り込み用に非常に簡略化されたPCデータのリストを持っており、宿帳ではこちらのデータを使って表示を行っています。そして、このデータには所持カードの情報がありません。そのため、所持カードによる絞り込み検索を簡単に行うことが出来ません。

    所持カード名と解説くらいならそこまで膨大にもならないでしょうから、簡略化データの方にそれらの情報を追加してもいいかもしれません。しかし、ちょっと面倒な作業になりますので、着手までしばらく時間をください。

  2. gorfrog reporter

    確かに、所持カード情報までいちいちメモリに保存してたら負担が物凄い事になりそうですね。わかりました。御検討くださるとの事ですので、気長に待たせて頂きます。御回答ありがとうございます。

  3. gorfrog reporter

    一つ思いついたのですが、いっそカード名「だけ」で実装するのは駄目なのでしょうか?私は、誰が何という名前のカードを持っているかだけわかれば十分だと思うのですが。

  4. k4nagatsuki repo owner

    データ量のみでいえば、おそらく解説まで含めても可能なレベルに収まる思います(最大限数の所持カードを全部合わせてもせいぜい30枚で、それだけのカード所持者が1000人いたとしても、高々160文字×3バイト×30枚×1000人で14MB)。

    私が消極的な理由としては、データ構造変更の作業自体がそこそこ大変ということもありますが、さらに厄介な問題として宿データの形式の変更が必要ということがあります。

    この機能を追加するためのエンジンのアップデート後、ユーザが最初に宿を開いた時に、宿データのアップデートを行う必要があります。これには時間がかかります。私の手許の宿には数十秒かかるものも存在します。この処理時間を全てのユーザが体験する事になるので、気楽に行える事ではありません。しかもこれはアップデート作業で不具合が全く出ないと仮定した場合の話です。

    とはいえ、以前に称号で検索を行うためにデータのアップデートをかけた事があるので、現実的に不可能というわけではありません。そのうち対応したいとは思います。

  5. Log in to comment