MTGJSON – オープンソースプロジェクト

皆さんこんにちは、今回は MTG 関連の WEB アプリ開発において、永遠に悩んでいた問題の解決策を見つけたので書き留めておきたく筆をとりました。

知っている人からすると「なんで知らんかったん?」と言われるレベルだと思いますが、初見の管理人からするとあまりにも驚きが大きかった事と、イノベーションに繋がる可能性が高いと言う大きな期待をするに足りる発見だったのです。

 


データ収集にかかる工数が多すぎた

当サイトの MTG に関係するデータは、

上記の3サイトから収集したものを、手動で整形やリネームを行い、ローカルデータベースに収集したものを使用しています。

趣味で勝手にやっている事とは言え、最近の「新セット連発」「絵違い連発」に加えて「公式ギャラリーの仕様変更」で絶望的に使いづらくなり、1セットのデータを作るのに平気で7~9時間ぐらいかかるようになってしまい、流石に辛いなと感じていました。

更に、新たに開発しているアプリは「オラクル解析」がコアとなる設計なので、magicthegathering の API が指輪物語のセット以降更新されなくなったのがトドメとなって、かなり悔しい理由で挫折を味わう事になってしまいました。(それきっかけで発信が激減してました。)

 


救世主 MTGJSON に出会う

で、今日と言うかついさっきの話。

ホントに偶然、なんとなく頭に浮かんだ MTG のカードデータを JSON とかで DL 出来ないかな?と検索したら、

https://mtgjson.com/

と言うサイトを発見、どうやら世界中の有志が更新しているオープンソースのプロジェクトだと言うではありませんか。

これってもしかして?

ですよ。

速攻で Get Started Now から目的のデータを探し始めたら、まぁ1分もしないうちに「最新ほやほやの全データ詰め合わせ SQLite データ」を手に入れる事が出来ました。

JSON じゃなくて SQLite ですよ、最初からリレーショナルデータベースの形になってるなら、

これもうデータ入力の必要なくね?

って事ですよ!

更にデータの更新は毎日、深夜~朝にかけて行われているそうで、手に入れたデータの中身を SQLite ブラウザでざっと見た所、最新セットの「ラヴニカ・リマスター」まで網羅されていました。

 


なんか色々出来る模様

少し読み進めていると、どうやら GraphQL API で最新のメタデータやデッキ情報2023/12/22 訂正:meta は MTGJSON のバージョンやリリース日、deck はデュエルデッキや Secret Lair みたいな特殊セットの情報らしい、残念。)、価格情報なんかも取得出来る?(未確認)ような事が書いているので、ローカルにキャッシュする部分と、最新データを取得する部分で別けて、なるべく低負荷で運用出来る設計を考えたいですね。

仕様周りのドキュメントもしっかりしていて、およそ考えられる全てのデータが詰まっているっぽいので、連携させるなら当サイトも全面リニューアルの必要がありそうです。

しばらくは詳細の把握と、実際の API による取得データの検証に時間をかける事になりますが、こう言う作業は楽しいので大歓迎です!

興奮してごちゃごちゃ書いてるけど、要するになんか色々出来そうって事です。

 

あまりにもありがたいため、とりあえず投げ銭しなきゃですね。

海外のサイトは PayPal とかで気軽に寄付できるの良いよね、日本は厳し過ぎると思うの。

分析,雑談

Posted by theuri