ポケカ×リレーショナルDBで遊ぼう

ポケモンカードのテキストをリレーショナルデータベース(RDB)へ登録しました。
活用はこれからですが、ちょっとだけ紹介させてください。

1.そもそもRDBとは?

データベースの分類のひとつで、細かい定義は無視して紹介するなら「とても詳細な検索ができる」データ構造をしています。
今回のポケカでは、カード1枚を一括管理するのではなく
・ポケモン、トレーナーズ、エネルギー共通の情報(収録弾など)
・ポケモンのみのテキスト(HPなど)
・ワザ、特性など更に細かい情報
と、情報を分割しています。
分割したデータを用途に合わせて連携=リレーションさせて使うのが特徴です。


2.活用

なぜ公式サイトのカード検索で満足しないで、自分でデータベース化したのか。
主に3つの目的から、自由に使えるデータベースが欲しかったのです。

無題3

(1) 細かい条件で検索したい
公式サイトのカード検索は大雑把で、細かい条件を付けた検索はできません。

RDB化したことで、とても複雑な検索ができるようになります。
例えば、こんなのはどうでしょうか?

【課題】
「ツインエネルギーとブルーの探索が入ったデッキに入れるポケモンを探したい」
【検索条件】
必要な要件を整理すると以下の三つです。
・ V, GXではない
・ 特性を持っていない
・ 無色エネルギー2個で使えるワザを持っている

無題

無題2

この検索では「たねポケモンで。かつ進化先がいない」という条件を追加しています。
ツインエネルギー1枚でワザが使えるポケモンが検索され、全部で24種類いることがわかりました。


(2) デッキリストを分析する
プレイヤーズクラブで公開される、入賞デッキのデッキコードの統計処理に使います。
デッキコードから得られるデッキリストでは、収録やイラストが異なるカードは別に使われています。
そのため単純に集計するとテキストが同じカードが別種扱いされてしまい、分析に向きません。

今回のRDBには同種カードを判別するデータを持たせて、この問題を解消しました。
ポケモンのみですが、先行して昨年から活用していました。


リストからデッキタイプを自動判定してみる。バージョン2(ロジック部分)

分析レポート ポケカ攻究会(9月7日) (活用した分析)

このほか、使われているポケモンのHP帯を分析したりと、使い方は色々考えられます。

(3) 個別のカードを分析する
大量のカードを数値的に分析して、グラフ化やランク付けをしたいと考えました。
平均より優れたカードを探したり、インフレ率を調べるなどできそうです。


3.今後の展望

冒頭に書いたように本格活用はこれからです。

挙げた活用3つの中では、詳細検索が手を付けやすいと思っています。
示したように今でも検索することはできますが、毎回検索用プログラムが必要で手軽ではありません。
Webページで手軽に検索したいです。

対して、数値分析は困難です。
ワザや特性のテキストを解釈しないと、ダメージの変動を計算できません。
自然言語系の機械学習を使って解析できるかもしれませんが、今は経験も知識も足りません。


4.終わりに

というわけで、ポケカをRDBにした報告とやろうとしていることの紹介でした。
この記事自体が役に立つわけではないですが、興味を持ってもらえたら嬉しいです。

今回は技術的な資料の紹介を見合わせました。
同業者にはER図かなにかあった方が、興味を持ってもらえるかもしれませんね。
興味を持ってくれる人がいたら第2回を書くかもしれません。


今回記事を書くにあたって、検索条件のヒントをCHANGさん、ほうほうさんから頂きました。
お礼を申し上げます。

この記事が気に入ったらサポートをしてみませんか?