ブラッドウェブみたいなやつ作りたい。
(注)これはポエムです。お気をつけてお読みください。
デッドバイデイライトっていうゲーム知ってますか。
非対称の対戦ゲームでサバイバー4人とキラー1人が対戦するゲームです。サバイバーはキラーから逃げることが勝利条件、キラーはサバイバーをなるべく多く屠ることが勝利条件です。
一つの対戦の中で、サバイバー・キラーどちらもパーク(perk)という特殊な能力を4つだけ選んで使うことができます。使うパークは対戦の前に選択します。もう一つアドオンというのもありますが、それもパークと似たような機能を果たします。
そのパークやアドオンというのは、ゲームを始めたばかりだと3つほどしか選択肢がありません。新しいパークを獲得するためには、ゲームを何回もプレイする必要があります。具体的には一つの対戦ごとにプレイヤーのパフォーマンスに応じてブラッドポイントというポイントをプレイヤーは獲得します。獲得したポイントを使って新しいパークやアドオンを取得するというのが通常の流れです。まあポケモンで言うレベル上げ見たいなもんです。
その新しいパークやアドオンを取得する上で出てくるのがブラッドウェブ。蜘蛛の巣上に新しく取得できるパークやアドオンが広がっていて、その中から自分がゲットしたいパークをブラッドポイントを消費して選択して行きます。
具体的には下のリンクから見てください。
具体的にブラッドウェブがどんな機能を果たすのかはここでは問題にしません。僕がここで強調したいのがブラッドウェブのデザイン最高じゃね??と言うことです。
何で好きなのかって言うと、僕個人がグラフがすごい好きだからです。グラフの形をしているものに目がありません。蜘蛛の巣はループがあるので木構造ではありません。単なる無向グラフです。
これを実装したいと言うのがこのポエムの趣旨です。
でなんか良い題材ないかなーと思っていたところ、AtCoder Problemsの問題をグラフの形にしたいなぁなんて思ったりしてます。
AtCoder Problemsの表示形式は今のところコンテストごとの表形式です。それも全然ありなのですが、グラフ形式で表示したい。問題同士の繋がりを見たい。
もっといってしまうとAtCoder ProblemsとAtCoder Tagsの融合したものを作りたいといった感じです。AtCoder Tagsにのっとって問題をクラスタリングして、そのクラスタリングした問題を難しさごとにレベル分けする。一つのレベルに大体10~20くらいの問題を載せて、ACした問題に関しては緑、WAした問題に関しては黄色にしたい(これはAtCoder Problemsと全く一緒)。
まあ単に動的にグラフが作りたいと言うことです。それをヴィジュアライズしたい。
と言うポエムでした。
以上。