サイファのデッキ検索ツールをつくってみました

ごあいさつ

本ブログの数少ない読者の皆さん、ご無沙汰しております。明けましておめでとうございます。
筆者ですが、直近では趣味よりも私生活にウェイトを置かざるを得ない生活を送っておりまして、長いことブログを放置しておりました。
まぁ中の人の事情なんてどうでもいいと思うんですが、とりあえず忙しかったってことで。

そんな中でも、ワイルドエリアでレイドをやって砂パをつくり、東京で芸能活動をしながら暗黒竜を倒し、某総選挙には推しのフィンにしっかり投票はしていました。
煤闇の章も配信間近で、非常に楽しみです。
デジタルゲームは忙しくても自分の都合さえつけば遊べるのでありがたいですね…。

対してカードゲームのようなアナログゲームは相手がいないと成立しませんから、なかなか都合がつかないとどうしても離れてしまいます。
逆に言えば、遊んでくれる方には礼節を以て接さないと自分のプレイ環境がいずれ崩壊してしまうことになってしまいますね。
相手して頂ける方には感謝です。

最近はCSや対戦会にはほとんど参加せず、たまーに交流会やフリー会などに顔を出すかオンライン上でやる程度になってしまいましたが、細々と続けています。
黄色の強化が目覚ましくて個人的に嬉しいですね。

本題

さて、話の本題ですが、下記のような記事を覚えておられるでしょうか。
ragnellike.hateblo.jp

16弾環境の時、いろんなデッキレシピを集めてこんな記事を書きました。
Twitterとかで情報が出ている優勝レシピや個人で公開しているレシピのデータを、手元でカード1種につき1行のデータに分解してスプレッドシートで管理していろいろやってたんですけど、自分しか見れないんで、どうせならいろんな人が閲覧できるような環境を構築してみたいな、って思ったんですね。

なんでまぁ、作っちゃいました。

ファイアーエムブレムサイファ デッキ検索ツール

https://ragnellike.com/ragnellike.com

なんか名前はどーにかしたいです、ネーミングセンス欲しさ。
ドメインはブログと同じragnellikeにしてあるんで、「回避ないです、負けで。」でもいいかなw
けっこうこの名前は気に入ってます。

できること

デッキレシピ検索

登録してあるデッキレシピの検索が可能です。
サイトのヘッダー上にある、「デッキ検索」リンクから遷移できます。

キーとなるのは、主人公名、採用しているカード名、登録時期です。
たとえば、19弾環境のアイクデッキを調べたいってなったら、

↓こんな感じで主人公名に「アイク」って入力して
f:id:ragnellike:20200212195935p:plain

↓検索期間の入力補助から「19弾」を選択したら勝手に19弾発売日から20弾発売日前日までの入力補完をしてくれるのであとは検索ボタンを押すだけです
f:id:ragnellike:20200212195906p:plain

↓日付についてはもちろんもっと細かく入力することもできますが、手打ちはあり得ないと思うんで、カレンダー表示の入力補助をお使いください f:id:ragnellike:20200212200435p:plain

↓結果はこんな感じで出てきます
f:id:ragnellike:20200212195922p:plain

出てきたレシピは、詳細ボタンから詳細な内容と簡単な分析が確認できます。
分析内容は、コスト帯、採用色、支援スキル、射程、支援力、武器、性別、カードのタイプ(飛行とか)別です。
どのデッキにも大切なコスト帯分布(俗にいうマナカーブ)や採用色の割合なんかはもちろん、デッキ次第では剣を持ったカードの枚数だったり、女性の枚数だったりも大切になってくると思うんで出してます。

デッキレシピ分析

分析っていう名前だとちょっと仰々しい感じが出ちゃってますけど、要するに分布です。
期間を指定して、流行の主人公や採用事例の多いカードなんかが俯瞰できるようになってます。
何も指定しなければ、閲覧している時期から判定して現環境の分布をデフォルトで出すようにしています。
ここもデッキ検索と同様に検索条件を絞り込むことができます。

↓今だったら19弾環境なんで、何も指定しないと以下のように分布が出ています。
f:id:ragnellike:20200212195911p:plain

とりあえず画面左の「主人公別件数ランキング」を見ると…、へぇ、セリスやリーフなんかが多いんですね~。
んで、右の「カード採用件数ランキング」を見ると…それらに採用されているディアドラや、黄色いデッキ以外でもタッチで採用しやすいラケシスの採用事例が多いことは一目でわかると思います。
しかし、「カード採用件数ランキング」についてはいろんな主人公の採用事例が入り混じった情報になるので、情報の有用性としては「とりあえず何にでも入るんだねえ」とか「まぁ流行ってる主人公に入るならそりゃ上位に来るわな」程度で終わってしまいます。

そこで、主人公名を検索キーに入れることで、「カード採用件数ランキング」はその主人公での採用事例に限定して表示できます。
※主人公名が検索キーとして指定されている場合、「主人公別件数ランキング」は意味のない情報になるので非表示にしています。

↓例えばアイクデッキのカード採用事例を見たければ、こんな感じで入力すればアイクデッキに限定したものだけが出てきます。
f:id:ragnellike:20200212195917p:plain

なお、主人公名やカード名はクリックでき、クリックするとそれを検索キーにしてデッキ検索ができます。

こまかい話

ツイート機能

↓画面右上のヘッダー下に、ツイートボタンを用意してます。
f:id:ragnellike:20200212195931p:plain

現在表示しているページのリンクをツイートできますので、検索結果を共有したいとかがあれば使ってください。

レスポンシブデザインに対応

bootstrapというフレームワークを使用して、画面サイズに合わせてUIの配置が変わるようにしてます。
例えばデッキ詳細画面ですが…(例はぼくのデッキレシピ)

↓PCだとこういう画面ですが、
f:id:ragnellike:20200212195927p:plain

スマホだとこういう画面になります。
f:id:ragnellike:20200212195851p:plain

今後の展望

検索機能の強化

検索について、CSで優勝したようなガチ向けのレシピと、そのキャラクターが好きな人向けのデッキが混在してるので、 タグ付けでそういった情報を区分けして検索精度を上げるといったことは考えてます。
他にもコメントを検索条件に引っ掛けるようにしたりとか、採用色で検索引っ掛けてみるとかね。
実装やデータ構造的に難しいものもありますが、できるだけ頑張ってみたいと思います。

分析機能の強化

分析もさらに力を入れて開発していきたいなって思ってます。
例えば、採用カード間の相関とか、主人公別に採用色の分布を出してみたりとか。
まだまだ機能としては簡素ですからね。

デッキレシピ投稿機能

まぁ見せられないんですけど、このツールを管理するための機能も別途実装してて、そこからぼくが一人でデッキレシピ投稿してるんですよ。
正直クソ大変なんで、投稿機能作ってみんなに入力してゆくゆくは盛り上げてってほしいなあなんて野望は抱いてます。楽してぇ~
ただ、悪意ある人に勝手に投稿されても困るので、その辺の課題をクリアしていかないといけないのがなんとも難儀な話でありまして。
権限制限したアカウント発行してみるとかアリかもしれませんね。

まぁ、そんな感じです。筆者実はIT系なので、こういうの作れるんですね。

最後になりましたが、本ツールに掲載しているデッキレシピは、あくまでTwitter等で情報を得た、いわばお借りしているものという自覚が私にはあります。
もちろん、デッキの所有者におかれましては掲載に不快感を覚えたりする方もいると思いますので、削除等のご要望がありましたら、真摯に対応させていただきます。

機能要望について

個人で開発、運用しているものですので、私個人の脳みそなんてたかが知れていますしアイデアには限りがあります。
ご利用の上で、ご不便に感じた点、機能のご要望等ありましたら、コメントにて記載いただけますと、参考にでき、大変ありがたいです。
よろしくお願いします。