X

イカフェスレートとstat.ink

この記事は、Splatoon Advent Calendar 2015の6日目の記事です。

相沢陽菜です。Splatoon関連のウェブサイトを2つほど作りましたので紹介します。

イカフェスレート

みなさん、スーパーサザエたくさん欲しいですよね。
スーパーサザエはフェスの報酬でのみもらえ、しかもチームの勝敗で個数が変わってしまいます。
勝てば多くスーパーサザエをもらえる。勝ちたい。
フェスの度に繰り広げられる双方からの「相手チーム弱すぎ」。実際の状況が知りたい。

ということで作りました。イカフェスレート (https://fest.ink/)です。

Gigazineでとりあげられるなどお陰様でそれなりに利用して頂いているため、ご存じの方も多いかもしれません。

イカフェスレートは、公式サイトに表示される少数の勝敗情報を集計して、全体の勝率を推測してみましょう、というサイトです。たとえばこんな感じ。

「公式サイトに表示される少数の勝敗情報」というのはこれのことです。

フェス中はリアルタイムに更新が行われ、その時点での推定勝率を表示してくれます。
また、推定勝率の遷移の表示しますので、次の画像のように盛り返したり(推定)逆転したり(推定)というのもわかって面白いかもしれません。

次回フェスの際には是非イカフェスレートを見て頑張ってください。Twitterの@ikafestで定期的なツイートも行っています。

※実際のバトル数は時間が経つに従って、また、深夜等は少なくなるはずですが、全数が推定できない情報しか得られないため時間帯によって強さが異なった場合最終結果に影響する可能性があります。
※公式サイトに表示される情報を利用している関係上、任天堂は好きにこのデータを操作できます。今のところそういう操作は行われていないようですが今後どうなるかはわかりません。

ちなみに類似サイトがいくつかあります。情報源が同じなので基本的に似たような数字を表示します。

イカフェスレートAPI

一応APIも公開してあるので、やる気と技術があれば外部のサイト等に同じような推計値が表示できます。
自分で1から取得してどうにかするよりは楽に作れて任天堂への負荷的にも良いと思います。

stat.ink

みなさん、自分の成績みたいですよね。
でも、手動でつけるのは面倒くさい。
自動で記録できればいいのになあ。

ということで作りました。stat.ink (https://stat.ink/)です。

IkaLogとstat.ink

stat.inkを語る上でIkaLogを避けて通ることはできないので、先にIkaLogの話をします。

まず、stat.inkの事はいったん忘れて、こちらのスライドをご覧ください。有名なので(違うバージョンかもしれませんが)ご存じの方も多いと思います。

IkaLogはWii Uの画面出力を自動的に分析することで戦績を作成、Twitterその他いろいろなものに出力することができるアプリだということがわかって頂けるとここから先の話が簡単で助かります。

IkaLogの出力先としてTwitterを選ぶとたとえばこんなツイートができます。

IkaLogの出力先として棒読みちゃんみくみくまうすを選ぶとこんな風に実況してくれます。(※ぽいぽい言わせるには現状ではご自分でのカスタマイズが必要です。プレイ動画はみやこさんのものです)

このようなIkaLogの複数の出力先のうちの一つが私の作ったstat.inkです。

(前掲のスライドの20ページ目から引用)

stat.inkでできること(個人編)

※現在(事実上)全てのデータはIkaLogによって自動的に収集されています。ここでご紹介する内容は基本的にプレーするだけで自動的に蓄積されます。

※私のデータへリンクしていますが、ほとんどナワバリしかやっていないためガチ周りのデータが不足しています。ガチ中心のプレーヤーがたくさん利用されていますので、リンクを巡っていろんな人のデータを表示してみてください。

  1. バトル一覧の表示・検索


    現在用意している検索項目は

    • ゲームモード(ロビー):野良・タッグ(人数別)・プライベート・フェス
    • ルール:ナワバリ・ガチマッチ全て・ガチマッチ個別
    • マップ:アロワナ・Bバス…
    • ブキ:個別ブキ・ブキカテゴリ別(シューター・チャージャー…)・サブウェポン別・スペシャルウェポン別
    • 勝敗
    • 期間:今のステージ・一つ前のステージ・最近24時間・今日・昨日・期間指定

    です。

    一覧の表示項目は一覧の下に設定があり、塗った面積やウデマエも表示できます。(設定はブラウザ毎に保存されます)

  2. 個別バトルの詳細表示


    特定のバトルについてわかっている情報を基本的に全て表示しています。

    • 死因とその回数
    • 敵味方合わせた両チームの構成やキルレシオ、塗った面積、ウデマエ
    • キルやデスのタイミングの時系列表示(※死んでいると思われる間の背景を赤くしていますが、現在のところ復活短縮ギアなしかつ場外転落でないという想定で決め打ちしています。短縮ギアをつけているとタイミングがズレます)
    • 塗った面積の時系列表示
    • ホコやヤグラの位置表示(現在IkaLog側で実験的な実装)
    • エリアのポイントの時系列表示

    等が特徴的だと思います。バトル中に発生したイベント、たとえば「ヤグラに乗った」なども現在実験中です。

  3. 個人の統計表示

    • 簡易的な統計
      すでにご覧頂いているスクリーンショットの右側にバトル数や勝率、キルレシオなどが表示されているのがご確認いただけると思います。
    • ナワバリバトルに関する統計
      マップ別の塗った面積(勝利ボーナスを含まない)の遷移や、勝率の遷移を確認できます。

    • ガチマッチに関する統計
      ウデマエの遷移や勝率の遷移を確認出来ます。グラフの色により、ルールもわかります。(ルール別の勝率グラフは現在準備中です)

    • ルール別の統計
      ルール(ナワバリバトル・ガチエリア…)別の勝率が確認できます。

    • マップ別の統計
      マップ別の勝率が確認できます。全てのルールを横断するので意味は薄いかもしれません。

    • マップとルールの複合統計
      マップとルール個別の勝率が確認できます。得意・苦手なマップとルールの組み合わせがわかります。

    • 死因に関する統計
      どんなブキで倒されているかを確認できます。メインウェポンやサブ/スペシャル、特殊な死因として、場外への転落やガチホコ周りにも対応しています。

  4. エクスポート

    現在のところ、自分のデータしかサポートしていませんが、次の形式でのエクスポート(ダウンロード)をサポートしています。今後増えるかもしれませんし増えないかもしれません。エクスポートはログイン後、プロフィールページに移動すると右側(スマホ等では下側)にあります。

    • CSV (IkaLog互換):IkaLog自身が記録する(ことができる)CSV形式とほぼ同じものをダウンロードできます。
    • JSON (IkaLog互換):IkaLog自身が記録する(ことができる)JSON形式とほぼ同じものをダウンロードできます。

stat.inkでできること(全体編)

  1. 「自分」のキルデス数と勝率の関係の表示


    ルール別に「自分」(ここでいう自分とは投稿しているプレーヤーの事を指します)の成績とチームの勝率をまとめて表示します。間接的には「自分」のキルレシオと勝率の関係も表されます。

  2. マップとルール別のガチマッチノックアウト率


    KOの発生しやすさをまとめて表示します。この画像でいうとシオノメ油田やアロワナモールのエリアは非常にKOで勝負が決まりやすく、キンメダイ美術館のホコやヤグラはKOで勝負が決まりづらいことがわかります。

  3. ブキに関する統計


    各ルールでのブキに関する各種統計を表示、人数や勝率等で並び替えることができます。
    サブやスペシャルでは「敵チームに1人以上それを持ったイカが現れる確率」の数値も表示されます。これは、たとえばマーキングガードの有効性を確認するのに使えます。
    (※同じ性能のブキ(たとえばスプラシューターコラボとオクタシューターレプリカ)は現在意図的に合算していません。)

stat.inkの表示データに関する注意事項

  • stat.inkの表示データは、IkaLogの導入に手間とお金がかかることから「強い側」に大きく偏っていることが強く想定されます。Splatoonプレーヤー全体の何かを表してはいません。
  • stat.inkはデータを表示しますがデータの中身については考察しません。たとえばキルデスと勝率の関係において、「自分」の活躍で勝てたのか、そのような環境があったから勝てたのかのようなことは区別できません。データが何を表しているか、あるいは表していないかは利用者が自分で考えてください。

IkaLog以外で利用する方法

ここまで、stat.inkはIkaLogが前提であるかのように記載してきました。
しかし、実はシステムとしてはIkaLog専用ではありません。IkaLogが複数の出力先に対応しているように、stat.inkは複数の入力元をサポートしています。

実際、長い間IkaLogが事実上唯一の対応アプリだったのですが、2015-12-03、ついに別のサポートアプリが現れました。
Android用アプリケーションのイカレコです。
手動入力のためIkaLogを使う場合と比べると運用は面倒ですが、きちんと入力すれば統計データが作れます。
なお、イカレコはstat.inkとの連携なしでも使用することができます。

また、APIを広く公開していますので、望む開発者がいらっしゃれば、同様にiOSやAndroidアプリから手動登録できるようなアプリを作成することができます。
現在、「自分が困っていない」のでstat.ink手動入力のインタフェースは作っていないのですが、そういったアプリが作成されれば歓迎します。
(なんか作りかけているウェブサービスというのは見たような…)

プライベートstat.ink

現在、公式にはサポートしていませんが、自前の環境にstat.ink同等品を準備して自分専用でデータを貯めてる猛者がいるらしいです。
将来的にはプライベートモード(全体統計には使われるがバトルは自分以外見えない)もサポートできたらいいかなとは思っています。時期は未定ですが。

類似のサイトやアプリ

  • イカレコ

    Android用アプリで、ガチマッチの勝敗やキルデスを記録することができます。stat.inkへの投稿にも対応しています。

  • ウデマエアーカイブ

    ウェブアプリで、最新200件のガチマッチを記録・参照することができます。
    詳しくはSplatoon Advent Calendar 2015 2日目の記事を参照してください。

  • イカキロク

    iOS用のアプリで同様に色々記録するものだと思いますがiOSの端末を持っていないのでわかりません。

  • InkLog.

    ウェブアプリで、同様に記録できるようです。試してないのでよくわかりません。

それぞれ設計ポリシーが違うので完全に互換性があるわけではありませんができることは似ています。
どれが優秀とかいうことはたぶんないので好きなのを使えば良いと思います。

ソースについて

イカフェスレート、stat.inkともにMIT LicenseでGitHubにてソースコードを公開しています。

ソースは綺麗じゃないです。あとPHPです。まだPHP7ではないです。

DockerHubにビルド済みイメージもあります。何か適当に使ってください。


長かったですがいかがだったでしょうか。サイトのご利用お待ちしています。

IkaLog用のキャプチャ環境を構築する際は、IkaLog Wikiの動作報告リストをまず確認することをおすすめします。
キャプチャデバイスによって正常に動作しなかったりするため、ヒトバシラー以外は冒険しないほうが良いでしょう。安くない買い物ですし。

また、IkaLog用のキャプチャ環境を構築する際は、IkaLog作者hasegawさんのIkaLog Storeを経由して購入すると作者へ還元できて良いと思います。私への還元は別にいいです。


明日はイカデンワの濃い話をmzsmさんがしてくれるはずです。お楽しみに。
イカデンワとWebRTCのそんなに濃くない話

AIZAWA Hina: