普段私は Steam でゲームを探すことが多いんですが、だんだん Steam のおすすめするゲームが枯渇してきた(一周してきた)という感覚があって、Steam とは違う方法でゲームをおすすめできないだろうか、と考えました。
基本的には「このゲームに似てるゲームはこれですよ」というのを出そうかと思っています。
よくあると思うので、何か違う要素を入れたいなと思いました。
ゲームの特徴を、そのゲームについて書かれたテキストを解析することによって抽出しよう、と考えています。
ジャンルをもう少し細分化したのがタグだとして、それをさらに細分化したのがゲームついて書かれたテキストに出てくる単語なんじゃないか、という考え方です。
「日本語を形態素解析して特徴語を抽出」という、よくある方法で実装しようかと考えています。あまり複雑なことをしなくても良いかなと。
ゲームの場合は名詞だけでなく、形容詞、動詞なども重要だと思うので。
サーバーのスペックが低くても動くよう、静的 HTML として公開したいと考えています。
著作権的にゲームのスクショは載せられないため、公式 Twitter アカウントの埋め込みとか、Amazon 商品ページへのリンクとか、そういう形になってしまうかと思います。
ワードクラウドか何かの描き方でそのゲームの特徴語を載せる、というイメージです。
文字の大きさでゲームの特徴を視覚的に分かりやすく表示できれば OK です。
上位 100 単語くらいで十分なんじゃないかと思いますが、1,000 個くらい出した方が面白いのかも。
雑に言うと「そのゲームと似たゲーム」ということになると思います。
それを似てる順に 10 〜 100 個くらい表示するイメージですかね。これも文字サイズで類似度表しても良いかも。
「オープンワールド」という単語を頻繁に使っているゲームはどれなのか? みたいなことが一覧で分かるページをいくつか用意しようかと。
このあたりは、データ量が少ないのであれば(具体的にはデータ量が 5MB 程度に収まるのであれば)、すべてブラウザ側にデータをダウンロードしてしまって検索できるようにする、とかでも良いかもしれません。
ちょっと適当に見積もってみると、
ゲームタイトル 1,000 * 関連単語数 100 * 文字数 10 = 1,000,000 文字
という感じで、この程度の情報なら通信速度的にもブラウザのメモリ的にも特に問題ないと思うので、クライアント側に検索ツールを実装しようかと思います。
いきなり 1,000 タイトルのゲーム情報を集める、とかは難しいので、とりあえず自分が遊んだことのあるゲーム 100 タイトルくらいを見繕って、手作業でテキストを集めていこうかと思います。
その 100 タイトルについて出た関連度や単語が、「あ〜、たしかにこういう感じ」となったら、いったんそれで公開してみようかと。
で、微調整しながらタイトルを徐々に増やしていく、という感じですね。
ちなみに Steam には 5 万本くらいのゲームが登録されているそうで、これ全部載せるのは厳しそうなので、基準としては「日本語対応していて、日本語でレビューや紹介が書かれているゲーム」というのをターゲットにしようかなと思います。
あとは、テキスト情報が少なすぎる場合も解析は難しいので「単語が 100 個以上抽出できたゲーム」というのを基準にしようかと思います。
関連テキストが多いゲームから順番に対応していけば OK でしょう。