2016年7月31日日曜日

IkaLog CUI版を活用して、詳細なバトルデータをゲットしてみたメモ

やっていること


  • IkaLogさんでバトルが終わる辺りで作られて、stat.inkさんが受けて処理しているであろうデータをローカルに保存できるようにする。
  • そのファイルから、画像とjsonを分離し保存しつつ、バトルのタイムラインをテキストに出力するスクリプトを公開します。

はじめに


  • この方法は、わたし自身がIkaLogのコードを読んで勝手に独自で行っているものです。この記事を元にして、IkaLogさんやstat.inkさんに問い合わせるような事は、絶対にしないでください。
  • 素人がやってみたら出来たかも?くらいのレベルなので、いろいろ間違っているかも知れません。難しいことはよくわからないけど、とりあえず動いてるっぽい!
  • 1行ですがIkaLogのコード書き換えがあるのと、ドライブのルートに/tmpフォルダを作成する必要があります。
  • 今まで動いていたモノが動かなくなったり、とても困った事になる可能性があります。もし、そうなっても責任は持てないので、ご自身の判断で理解者のみ行ってください。

それでは、イカよろしくお願いいたします。

調べてみたきっかけ

Twitterで、「スペシャルの溜まった回数と抱え落ちした回数を取りたい」という意見をみかけました。
(詳しく調べてないのですが、csvにもjsonにも出力されてなさそう?です。)

stat.inkさんを使わせて頂いているのですが、バトルのタイムライン図があって、スペシャルが満タンとか、スーパーセンサーとか沢山のアイコンが出ています。

前々から、どうやって詳しいデータを受けているんだろうと不思議に思っていたので、IkaLogのソースを読んでみました。

詳細なバトルデータファイルを保存できるようにしてみる

  • IkaLog\ikalog\outputs\statink.py をエディタで開きます。
  • self.debug_writePayloadToFile = False の行を見つけて self.debug_writePayloadToFile = True に書き換えて保存してください。
  • IkaLogが動作するドライブのrootに tmpフォルダを作成します。
  • ※ C:ドライブなら、 c:\tmp みたいな感じです。
  • 実際にバトルでIkaLogを使って遊ぶと、/tmpフォルダ内に statink_20160730_2133.msgpack みたいな3MBくらいのファイルが保存されます。
  • そのままでは使えないと思いますので、分離するツールを作ってみました。

(メインのmsgpackを分離する部分が数行のコピペで動いたので、凄くラッキーでした。)

GitHub: https://github.com/sodoko-ika/yaki_ika

git clone https://github.com/sodoko-ika/yaki_ika.git で取得できます。

IkaLog CUI版が動作する環境だと動くハズです。

python yaki_ika.py

とすると、img, jsonに分離されたファイルが保存されます。
※json内の画像データは、サイズが大きいのでファイル名に置換しています。

タイムラインを表示したりテキストに保存していますが、邪魔なようであればコメントアウトしてお使いください。

処理後のファイルは /tmp→./tmpへ移動しています。
ファイルのエラー処理を何もしていないので、各保存フォルダの位置に注意してください。


jsonファイルから取れる情報ですが、生存しているイカリング数の変動や優勢劣勢、装備ギア、参加メンバーの情報、その他いろいろなものが詰まっています。

stat.inkさんは、この情報を1ページにまとめて表示する仕組みを作ってるの、本当に凄いと思いました。

最後になりましたが、参考にさせていただいた記事を書いてくださった皆様、ありがとうございます。

https://github.com/hasegaw/IkaLog/wiki
https://github.com/fetus-hina/stat.ink
https://github.com/vsergeev/u-msgpack-python
http://qiita.com/ligerbolt/items/aeaa88980030fba940b6


暑さにやられて、いろいろ雑な書き方になっているような気がするので、ボチボチと修正していきます。

おまけ

このバトル( https://stat.ink/u/sodoko_ika/1716418 )に対応する jsonファイルです。

{
    "agent": "IkaLog",
    "agent_game_version": "2.8.0",
    "agent_game_version_date": "2016-06-08_04",
    "agent_variables": {
        "input_class": "DirectShow",
        "primary_language": "ja"
    },
    "agent_version": "f906b5a (Windows)",
    "cash_after": 739477,
    "death": 3,
    "death_reasons": {
        "megaphone": 1,
        "splatscope_wakame": 2
    },
    "end_at": 1469883360,
    "events": [
        {
            "at": 0.1,
            "his_team": [
                true,
                true,
                true,
                true
            ],
            "my_team": [
                true,
                true,
                true,
                true
            ],
            "type": "alive_inklings"
        },
        {
            "at": 0.1,
            "game_status": "neutral",
            "type": "game_status"
        },
        {
            "at": 0.9,
            "point": 4,
            "type": "point"
        },
        {
            "at": 1.5,
            "point": 6,
            "type": "point"
        },
        {
            "at": 2.0,
            "point": 10,
            "type": "point"
        },
        {
            "at": 2.7,
            "point": 17,
            "type": "point"
        },
        {
            "at": 3.1,
            "point": 20,
            "type": "point"
        },
        {
            "at": 3.4,
            "point": 24,
            "type": "point"
        },
        {
            "at": 3.6,
            "point": 26,
            "type": "point"
        },
        {
            "at": 4.0,
            "point": 31,
            "type": "point"
        },
        {
            "at": 4.2,
            "point": 33,
            "type": "point"
        },
        {
            "at": 4.6,
            "point": 36,
            "type": "point"
        },
        {
            "at": 5.3,
            "point": 38,
            "type": "point"
        },
        {
            "at": 5.8,
            "point": 39,
            "type": "point"
        },
        {
            "at": 6.0,
            "point": 40,
            "type": "point"
        },
        {
            "at": 6.3,
            "point": 42,
            "type": "point"
        },
        {
            "at": 6.8,
            "point": 48,
            "type": "point"
        },
        {
            "at": 7.1,
            "point": 52,
            "type": "point"
        },
        {
            "at": 7.8,
            "point": 56,
            "type": "point"
        },
        {
            "at": 8.2,
            "point": 59,
            "type": "point"
        },
        {
            "at": 8.5,
            "point": 60,
            "type": "point"
        },
        {
            "at": 9.1,
            "point": 62,
            "type": "point"
        },
        {
            "at": 9.4,
            "point": 64,
            "type": "point"
        },
        {
            "at": 9.8,
            "point": 66,
            "type": "point"
        },
        {
            "at": 10.7,
            "point": 68,
            "type": "point"
        },
        {
            "at": 12.4,
            "his_team": [
                true,
                true,
                false,
                true
            ],
            "my_team": [
                true,
                true,
                true,
                true
            ],
            "type": "alive_inklings"
        },
        {
            "at": 12.7,
            "point": 70,
            "type": "point"
        },
        {
            "at": 13.4,
            "point": 74,
            "type": "point"
        },
        {
            "at": 13.7,
            "point": 76,
            "type": "point"
        },
        {
            "at": 14.9,
            "point": 88,
            "type": "point"
        },
        {
            "at": 17.0,
            "point": 89,
            "type": "point"
        },
        {
            "at": 18.5,
            "point": 92,
            "type": "point"
        },
        {
            "at": 19.0,
            "point": 98,
            "type": "point"
        },
        {
            "at": 19.5,
            "point": 104,
            "type": "point"
        },
        {
            "at": 20.0,
            "point": 110,
            "type": "point"
        },
        {
            "at": 20.1,
            "his_team": [
                true,
                true,
                false,
                false
            ],
            "my_team": [
                true,
                true,
                true,
                true
            ],
            "type": "alive_inklings"
        },
        {
            "at": 20.4,
            "point": 114,
            "type": "point"
        },
        {
            "at": 20.5,
            "his_team": [
                true,
                true,
                true,
                false
            ],
            "my_team": [
                true,
                true,
                true,
                true
            ],
            "type": "alive_inklings"
        },
        {
            "at": 20.7,
            "point": 118,
            "type": "point"
        },
        {
            "at": 21.0,
            "point": 121,
            "type": "point"
        },
        {
            "at": 21.0,
            "game_status": "advantage",
            "type": "game_status"
        },
        {
            "at": 21.3,
            "game_status": "neutral",
            "type": "game_status"
        },
        {
            "at": 21.6,
            "game_status": "advantage",
            "type": "game_status"
        },
        {
            "at": 22.1,
            "point": 122,
            "type": "point"
        },
        {
            "at": 23.1,
            "point": 129,
            "type": "point"
        },
        {
            "at": 23.4,
            "point": 131,
            "type": "point"
        },
        {
            "at": 26.0,
            "his_team": [
                true,
                true,
                true,
                false
            ],
            "my_team": [
                true,
                false,
                true,
                true
            ],
            "type": "alive_inklings"
        },
        {
            "at": 26.1,
            "point": 133,
            "type": "point"
        },
        {
            "at": 26.6,
            "point": 137,
            "type": "point"
        },
        {
            "at": 27.0,
            "point": 142,
            "type": "point"
        },
        {
            "at": 27.2,
            "his_team": [
                true,
                true,
                true,
                true
            ],
            "my_team": [
                true,
                false,
                true,
                true
            ],
            "type": "alive_inklings"
        },
        {
            "at": 27.8,
            "point": 150,
            "type": "point"
        },
        {
            "at": 28.3,
            "point": 152,
            "type": "point"
        },
        {
            "at": 28.4,
            "his_team": [
                true,
                true,
                true,
                true
            ],
            "my_team": [
                false,
                false,
                true,
                true
            ],
            "type": "alive_inklings"
        },
        {
            "at": 30.6,
            "his_team": [
                true,
                true,
                true,
                true
            ],
            "my_team": [
                false,
                false,
                false,
                true
            ],
            "type": "alive_inklings"
        },
        {
            "at": 28.8,
            "reason": "megaphone",
            "type": "dead"
        },
        {
            "at": 31.2,
            "game_status": "neutral",
            "type": "game_status"
        },
        {
            "at": 33.8,
            "his_team": [
                true,
                true,
                true,
                true
            ],
            "my_team": [
                false,
                true,
                false,
                true
            ],
            "type": "alive_inklings"
        },
        {
            "at": 34.2,
            "game_status": "disadvantage",
            "type": "game_status"
        },
        {
            "at": 36.7,
            "his_team": [
                true,
                true,
                true,
                true
            ],
            "my_team": [
                true,
                true,
                false,
                true
            ],
            "type": "alive_inklings"
        },
        {
            "at": 38.7,
            "his_team": [
                true,
                true,
                true,
                true
            ],
            "my_team": [
                true,
                true,
                true,
                true
            ],
            "type": "alive_inklings"
        },
        {
            "at": 39.7,
            "point": 154,
            "type": "point"
        },
        {
            "at": 40.0,
            "point": 156,
            "type": "point"
        },
        {
            "at": 40.8,
            "point": 163,
            "type": "point"
        },
        {
            "at": 41.0,
            "point": 165,
            "type": "point"
        },
        {
            "at": 41.3,
            "point": 167,
            "type": "point"
        },
        {
            "at": 42.5,
            "his_team": [
                true,
                true,
                true,
                true
            ],
            "my_team": [
                true,
                true,
                true,
                false
            ],
            "type": "alive_inklings"
        },
        {
            "at": 43.9,
            "point": 170,
            "type": "point"
        },
        {
            "at": 43.9,
            "me": false,
            "special_weapon": "tornado",
            "type": "special_weapon"
        },
        {
            "at": 44.7,
            "point": 180,
            "type": "point"
        },
        {
            "at": 45.1,
            "point": 184,
            "type": "point"
        },
        {
            "at": 46.0,
            "point": 195,
            "type": "point"
        },
        {
            "at": 46.9,
            "point": 196,
            "type": "point"
        },
        {
            "at": 46.9,
            "his_team": [
                false,
                true,
                true,
                true
            ],
            "my_team": [
                true,
                true,
                true,
                false
            ],
            "type": "alive_inklings"
        },
        {
            "at": 47.8,
            "point": 197,
            "type": "point"
        },
        {
            "at": 48.1,
            "point": 200,
            "type": "point"
        },
        {
            "at": 48.1,
            "his_team": [
                false,
                false,
                true,
                true
            ],
            "my_team": [
                true,
                true,
                true,
                false
            ],
            "type": "alive_inklings"
        },
        {
            "at": 48.3,
            "type": "killed"
        },
        {
            "at": 48.4,
            "point": 202,
            "type": "point"
        },
        {
            "at": 48.8,
            "point": 207,
            "type": "point"
        },
        {
            "at": 49.1,
            "point": 211,
            "type": "point"
        },
        {
            "at": 49.4,
            "point": 215,
            "type": "point"
        },
        {
            "at": 49.6,
            "point": 217,
            "type": "point"
        },
        {
            "at": 49.9,
            "point": 221,
            "type": "point"
        },
        {
            "at": 50.2,
            "point": 225,
            "type": "point"
        },
        {
            "at": 50.6,
            "point": 229,
            "type": "point"
        },
        {
            "at": 50.8,
            "point": 231,
            "type": "point"
        },
        {
            "at": 50.8,
            "his_team": [
                false,
                false,
                true,
                true
            ],
            "my_team": [
                true,
                false,
                true,
                false
            ],
            "type": "alive_inklings"
        },
        {
            "at": 51.0,
            "his_team": [
                false,
                false,
                true,
                true
            ],
            "my_team": [
                true,
                false,
                true,
                true
            ],
            "type": "alive_inklings"
        },
        {
            "at": 51.2,
            "his_team": [
                false,
                false,
                false,
                true
            ],
            "my_team": [
                true,
                false,
                true,
                true
            ],
            "type": "alive_inklings"
        },
        {
            "at": 51.3,
            "type": "killed"
        },
        {
            "at": 52.1,
            "point": 245,
            "type": "point"
        },
        {
            "at": 52.8,
            "point": 253,
            "type": "point"
        },
        {
            "at": 53.2,
            "point": 257,
            "type": "point"
        },
        {
            "at": 53.4,
            "point": 260,
            "type": "point"
        },
        {
            "at": 53.9,
            "type": "special_charged"
        },
        {
            "at": 54.0,
            "point": 261,
            "type": "point"
        },
        {
            "at": 54.2,
            "point": 262,
            "type": "point"
        },
        {
            "at": 54.6,
            "point": 263,
            "type": "point"
        },
        {
            "at": 54.7,
            "his_team": [
                true,
                false,
                false,
                true
            ],
            "my_team": [
                true,
                false,
                true,
                true
            ],
            "type": "alive_inklings"
        },
        {
            "at": 54.8,
            "point": 264,
            "type": "point"
        },
        {
            "at": 55.2,
            "point": 265,
            "type": "point"
        },
        {
            "at": 56.3,
            "his_team": [
                true,
                true,
                false,
                true
            ],
            "my_team": [
                true,
                false,
                true,
                true
            ],
            "type": "alive_inklings"
        },
        {
            "at": 56.8,
            "point": 268,
            "type": "point"
        },
        {
            "at": 57.1,
            "point": 270,
            "type": "point"
        },
        {
            "at": 57.3,
            "point": 272,
            "type": "point"
        },
        {
            "at": 57.7,
            "point": 276,
            "type": "point"
        },
        {
            "at": 58.6,
            "his_team": [
                true,
                true,
                false,
                true
            ],
            "my_team": [
                true,
                true,
                true,
                true
            ],
            "type": "alive_inklings"
        },
        {
            "at": 58.8,
            "point": 277,
            "type": "point"
        },
        {
            "at": 59.2,
            "point": 278,
            "type": "point"
        },
        {
            "at": 59.4,
            "his_team": [
                true,
                true,
                true,
                true
            ],
            "my_team": [
                true,
                true,
                true,
                true
            ],
            "type": "alive_inklings"
        },
        {
            "at": 59.7,
            "point": 283,
            "type": "point"
        },
        {
            "at": 59.9,
            "me": true,
            "special_weapon": "supersensor",
            "type": "special_weapon"
        },
        {
            "at": 60.9,
            "point": 284,
            "type": "point"
        },
        {
            "at": 61.2,
            "point": 286,
            "type": "point"
        },
        {
            "at": 61.4,
            "point": 287,
            "type": "point"
        },
        {
            "at": 61.8,
            "point": 291,
            "type": "point"
        },
        {
            "at": 62.7,
            "point": 293,
            "type": "point"
        },
        {
            "at": 63.0,
            "point": 297,
            "type": "point"
        },
        {
            "at": 63.7,
            "point": 304,
            "type": "point"
        },
        {
            "at": 64.0,
            "point": 308,
            "type": "point"
        },
        {
            "at": 64.4,
            "point": 312,
            "type": "point"
        },
        {
            "at": 64.7,
            "point": 316,
            "type": "point"
        },
        {
            "at": 65.1,
            "point": 321,
            "type": "point"
        },
        {
            "at": 65.6,
            "point": 326,
            "type": "point"
        },
        {
            "at": 65.9,
            "point": 328,
            "type": "point"
        },
        {
            "at": 66.5,
            "point": 334,
            "type": "point"
        },
        {
            "at": 66.9,
            "point": 338,
            "type": "point"
        },
        {
            "at": 67.1,
            "point": 340,
            "type": "point"
        },
        {
            "at": 67.4,
            "point": 344,
            "type": "point"
        },
        {
            "at": 67.7,
            "point": 346,
            "type": "point"
        },
        {
            "at": 69.4,
            "point": 347,
            "type": "point"
        },
        {
            "at": 69.9,
            "point": 353,
            "type": "point"
        },
        {
            "at": 70.3,
            "his_team": [
                true,
                false,
                true,
                true
            ],
            "my_team": [
                true,
                true,
                true,
                true
            ],
            "type": "alive_inklings"
        },
        {
            "at": 70.4,
            "type": "killed"
        },
        {
            "at": 71.1,
            "point": 366,
            "type": "point"
        },
        {
            "at": 71.4,
            "point": 370,
            "type": "point"
        },
        {
            "at": 71.8,
            "point": 374,
            "type": "point"
        },
        {
            "at": 71.8,
            "game_status": "neutral",
            "type": "game_status"
        },
        {
            "at": 72.1,
            "point": 378,
            "type": "point"
        },
        {
            "at": 72.4,
            "point": 382,
            "type": "point"
        },
        {
            "at": 72.9,
            "point": 388,
            "type": "point"
        },
        {
            "at": 73.2,
            "game_status": "disadvantage",
            "type": "game_status"
        },
        {
            "at": 73.2,
            "game_status": "neutral",
            "type": "game_status"
        },
        {
            "at": 73.4,
            "point": 393,
            "type": "point"
        },
        {
            "at": 73.7,
            "game_status": "disadvantage",
            "type": "game_status"
        },
        {
            "at": 74.3,
            "game_status": "neutral",
            "type": "game_status"
        },
        {
            "at": 74.9,
            "point": 394,
            "type": "point"
        },
        {
            "at": 75.2,
            "point": 395,
            "type": "point"
        },
        {
            "at": 75.6,
            "point": 396,
            "type": "point"
        },
        {
            "at": 76.0,
            "point": 398,
            "type": "point"
        },
        {
            "at": 76.5,
            "point": 400,
            "type": "point"
        },
        {
            "at": 77.8,
            "point": 404,
            "type": "point"
        },
        {
            "at": 78.5,
            "his_team": [
                true,
                true,
                true,
                true
            ],
            "my_team": [
                true,
                true,
                true,
                true
            ],
            "type": "alive_inklings"
        },
        {
            "at": 78.6,
            "point": 413,
            "type": "point"
        },
        {
            "at": 80.6,
            "me": false,
            "special_weapon": "supersensor",
            "type": "special_weapon"
        },
        {
            "at": 81.6,
            "his_team": [
                true,
                true,
                false,
                true
            ],
            "my_team": [
                true,
                true,
                true,
                true
            ],
            "type": "alive_inklings"
        },
        {
            "at": 81.7,
            "point": 415,
            "type": "point"
        },
        {
            "at": 82.0,
            "point": 419,
            "type": "point"
        },
        {
            "at": 82.3,
            "point": 422,
            "type": "point"
        },
        {
            "at": 82.9,
            "point": 428,
            "type": "point"
        },
        {
            "at": 83.2,
            "point": 431,
            "type": "point"
        },
        {
            "at": 83.6,
            "his_team": [
                true,
                true,
                false,
                true
            ],
            "my_team": [
                true,
                true,
                true,
                false
            ],
            "type": "alive_inklings"
        },
        {
            "at": 83.9,
            "point": 433,
            "type": "point"
        },
        {
            "at": 84.2,
            "point": 437,
            "type": "point"
        },
        {
            "at": 84.3,
            "type": "low_ink"
        },
        {
            "at": 84.5,
            "point": 440,
            "type": "point"
        },
        {
            "at": 85.8,
            "point": 441,
            "type": "point"
        },
        {
            "at": 86.4,
            "point": 443,
            "type": "point"
        },
        {
            "at": 86.7,
            "his_team": [
                true,
                true,
                false,
                true
            ],
            "my_team": [
                true,
                false,
                true,
                false
            ],
            "type": "alive_inklings"
        },
        {
            "at": 88.9,
            "point": 444,
            "type": "point"
        },
        {
            "at": 89.5,
            "point": 449,
            "type": "point"
        },
        {
            "at": 89.8,
            "his_team": [
                true,
                true,
                true,
                true
            ],
            "my_team": [
                true,
                false,
                true,
                false
            ],
            "type": "alive_inklings"
        },
        {
            "at": 89.9,
            "point": 451,
            "type": "point"
        },
        {
            "at": 90.4,
            "point": 455,
            "type": "point"
        },
        {
            "at": 90.7,
            "point": 459,
            "type": "point"
        },
        {
            "at": 91.0,
            "point": 462,
            "type": "point"
        },
        {
            "at": 92.2,
            "his_team": [
                true,
                true,
                true,
                true
            ],
            "my_team": [
                true,
                false,
                true,
                true
            ],
            "type": "alive_inklings"
        },
        {
            "at": 92.5,
            "his_team": [
                true,
                true,
                true,
                true
            ],
            "my_team": [
                true,
                false,
                false,
                true
            ],
            "type": "alive_inklings"
        },
        {
            "at": 92.7,
            "game_status": "disadvantage",
            "type": "game_status"
        },
        {
            "at": 94.5,
            "his_team": [
                true,
                true,
                true,
                true
            ],
            "my_team": [
                true,
                true,
                false,
                true
            ],
            "type": "alive_inklings"
        },
        {
            "at": 94.8,
            "point": 463,
            "type": "point"
        },
        {
            "at": 95.1,
            "his_team": [
                true,
                true,
                true,
                true
            ],
            "my_team": [
                false,
                true,
                false,
                true
            ],
            "type": "alive_inklings"
        },
        {
            "at": 95.4,
            "reason": "splatscope_wakame",
            "type": "dead"
        },
        {
            "at": 100.7,
            "his_team": [
                true,
                true,
                true,
                true
            ],
            "my_team": [
                false,
                true,
                true,
                true
            ],
            "type": "alive_inklings"
        },
        {
            "at": 103.3,
            "his_team": [
                true,
                true,
                true,
                true
            ],
            "my_team": [
                true,
                true,
                true,
                true
            ],
            "type": "alive_inklings"
        },
        {
            "at": 105.9,
            "point": 465,
            "type": "point"
        },
        {
            "at": 106.3,
            "point": 467,
            "type": "point"
        },
        {
            "at": 106.6,
            "point": 469,
            "type": "point"
        },
        {
            "at": 106.8,
            "point": 471,
            "type": "point"
        },
        {
            "at": 107.2,
            "point": 473,
            "type": "point"
        },
        {
            "at": 107.5,
            "point": 475,
            "type": "point"
        },
        {
            "at": 107.7,
            "point": 476,
            "type": "point"
        },
        {
            "at": 108.3,
            "point": 480,
            "type": "point"
        },
        {
            "at": 108.6,
            "point": 484,
            "type": "point"
        },
        {
            "at": 108.8,
            "his_team": [
                true,
                true,
                false,
                true
            ],
            "my_team": [
                true,
                true,
                true,
                true
            ],
            "type": "alive_inklings"
        },
        {
            "at": 109.0,
            "type": "killed"
        },
        {
            "at": 110.0,
            "point": 500,
            "type": "point"
        },
        {
            "at": 110.4,
            "point": 504,
            "type": "point"
        },
        {
            "at": 110.6,
            "point": 507,
            "type": "point"
        },
        {
            "at": 111.3,
            "point": 509,
            "type": "point"
        },
        {
            "at": 111.6,
            "point": 510,
            "type": "point"
        },
        {
            "at": 111.9,
            "point": 511,
            "type": "point"
        },
        {
            "at": 112.6,
            "point": 512,
            "type": "point"
        },
        {
            "at": 112.8,
            "point": 514,
            "type": "point"
        },
        {
            "at": 113.2,
            "point": 517,
            "type": "point"
        },
        {
            "at": 113.5,
            "point": 519,
            "type": "point"
        },
        {
            "at": 113.7,
            "point": 522,
            "type": "point"
        },
        {
            "at": 114.4,
            "point": 526,
            "type": "point"
        },
        {
            "at": 114.8,
            "point": 528,
            "type": "point"
        },
        {
            "at": 115.2,
            "point": 530,
            "type": "point"
        },
        {
            "at": 117.0,
            "his_team": [
                true,
                true,
                true,
                true
            ],
            "my_team": [
                true,
                true,
                true,
                true
            ],
            "type": "alive_inklings"
        },
        {
            "at": 119.0,
            "point": 533,
            "type": "point"
        },
        {
            "at": 119.3,
            "point": 534,
            "type": "point"
        },
        {
            "at": 119.9,
            "point": 536,
            "type": "point"
        },
        {
            "at": 121.2,
            "point": 537,
            "type": "point"
        },
        {
            "at": 121.5,
            "point": 540,
            "type": "point"
        },
        {
            "at": 123.3,
            "me": false,
            "special_weapon": "tornado",
            "type": "special_weapon"
        },
        {
            "at": 123.8,
            "his_team": [
                true,
                true,
                true,
                true
            ],
            "my_team": [
                true,
                true,
                true,
                false
            ],
            "type": "alive_inklings"
        },
        {
            "at": 124.2,
            "point": 543,
            "type": "point"
        },
        {
            "at": 124.6,
            "point": 545,
            "type": "point"
        },
        {
            "at": 125.7,
            "type": "special_charged"
        },
        {
            "at": 126.0,
            "his_team": [
                true,
                true,
                false,
                true
            ],
            "my_team": [
                true,
                true,
                true,
                false
            ],
            "type": "alive_inklings"
        },
        {
            "at": 126.3,
            "point": 557,
            "type": "point"
        },
        {
            "at": 129.7,
            "point": 558,
            "type": "point"
        },
        {
            "at": 130.0,
            "his_team": [
                true,
                true,
                false,
                true
            ],
            "my_team": [
                false,
                true,
                true,
                false
            ],
            "type": "alive_inklings"
        },
        {
            "at": 130.4,
            "point": 566,
            "type": "point"
        },
        {
            "at": 130.8,
            "point": 570,
            "type": "point"
        },
        {
            "at": 131.1,
            "point": 574,
            "type": "point"
        },
        {
            "at": 131.6,
            "his_team": [
                true,
                true,
                false,
                false
            ],
            "my_team": [
                false,
                true,
                true,
                false
            ],
            "type": "alive_inklings"
        },
        {
            "at": 131.7,
            "point": 580,
            "type": "point"
        },
        {
            "at": 130.3,
            "reason": "splatscope_wakame",
            "type": "dead"
        },
        {
            "at": 132.4,
            "his_team": [
                true,
                true,
                false,
                false
            ],
            "my_team": [
                false,
                true,
                true,
                true
            ],
            "type": "alive_inklings"
        },
        {
            "at": 134.3,
            "his_team": [
                true,
                true,
                true,
                false
            ],
            "my_team": [
                false,
                true,
                true,
                true
            ],
            "type": "alive_inklings"
        },
        {
            "at": 134.8,
            "his_team": [
                true,
                true,
                true,
                false
            ],
            "my_team": [
                false,
                false,
                true,
                true
            ],
            "type": "alive_inklings"
        },
        {
            "at": 136.7,
            "his_team": [
                false,
                true,
                true,
                false
            ],
            "my_team": [
                false,
                false,
                true,
                true
            ],
            "type": "alive_inklings"
        },
        {
            "at": 138.2,
            "his_team": [
                false,
                true,
                true,
                false
            ],
            "my_team": [
                true,
                false,
                true,
                true
            ],
            "type": "alive_inklings"
        },
        {
            "at": 138.6,
            "his_team": [
                false,
                true,
                true,
                true
            ],
            "my_team": [
                true,
                false,
                true,
                true
            ],
            "type": "alive_inklings"
        },
        {
            "at": 141.4,
            "point": 585,
            "type": "point"
        },
        {
            "at": 141.6,
            "his_team": [
                false,
                false,
                true,
                true
            ],
            "my_team": [
                true,
                false,
                true,
                true
            ],
            "type": "alive_inklings"
        },
        {
            "at": 141.6,
            "type": "killed"
        },
        {
            "at": 141.8,
            "point": 589,
            "type": "point"
        },
        {
            "at": 142.3,
            "point": 595,
            "type": "point"
        },
        {
            "at": 142.5,
            "his_team": [
                false,
                false,
                true,
                true
            ],
            "my_team": [
                true,
                true,
                true,
                true
            ],
            "type": "alive_inklings"
        },
        {
            "at": 142.6,
            "point": 599,
            "type": "point"
        },
        {
            "at": 143.0,
            "point": 603,
            "type": "point"
        },
        {
            "at": 143.0,
            "game_status": "neutral",
            "type": "game_status"
        },
        {
            "at": 143.3,
            "point": 607,
            "type": "point"
        },
        {
            "at": 143.4,
            "his_team": [
                false,
                false,
                true,
                false
            ],
            "my_team": [
                true,
                true,
                true,
                true
            ],
            "type": "alive_inklings"
        },
        {
            "at": 143.5,
            "type": "killed"
        },
        {
            "at": 143.6,
            "point": 611,
            "type": "point"
        },
        {
            "at": 143.6,
            "game_status": "disadvantage",
            "type": "game_status"
        },
        {
            "at": 143.7,
            "game_status": "neutral",
            "type": "game_status"
        },
        {
            "at": 144.4,
            "point": 620,
            "type": "point"
        },
        {
            "at": 144.5,
            "his_team": [
                true,
                false,
                true,
                false
            ],
            "my_team": [
                true,
                true,
                true,
                true
            ],
            "type": "alive_inklings"
        },
        {
            "at": 144.7,
            "point": 623,
            "type": "point"
        },
        {
            "at": 144.9,
            "point": 624,
            "type": "point"
        },
        {
            "at": 145.2,
            "point": 625,
            "type": "point"
        },
        {
            "at": 145.5,
            "point": 626,
            "type": "point"
        },
        {
            "at": 145.9,
            "point": 629,
            "type": "point"
        },
        {
            "at": 146.1,
            "point": 631,
            "type": "point"
        },
        {
            "at": 146.7,
            "point": 634,
            "type": "point"
        },
        {
            "at": 147.0,
            "point": 635,
            "type": "point"
        },
        {
            "at": 147.4,
            "game_status": "advantage",
            "type": "game_status"
        },
        {
            "at": 147.7,
            "his_team": [
                true,
                false,
                true,
                false
            ],
            "my_team": [
                true,
                true,
                false,
                true
            ],
            "type": "alive_inklings"
        },
        {
            "at": 147.8,
            "game_status": "neutral",
            "type": "game_status"
        },
        {
            "at": 148.5,
            "point": 637,
            "type": "point"
        },
        {
            "at": 149.7,
            "his_team": [
                true,
                true,
                true,
                false
            ],
            "my_team": [
                true,
                true,
                false,
                true
            ],
            "type": "alive_inklings"
        },
        {
            "at": 149.8,
            "game_status": "advantage",
            "type": "game_status"
        },
        {
            "at": 150.0,
            "game_status": "neutral",
            "type": "game_status"
        },
        {
            "at": 150.4,
            "his_team": [
                true,
                true,
                true,
                true
            ],
            "my_team": [
                true,
                true,
                false,
                true
            ],
            "type": "alive_inklings"
        },
        {
            "at": 151.5,
            "point": 638,
            "type": "point"
        },
        {
            "at": 151.8,
            "point": 640,
            "type": "point"
        },
        {
            "at": 152.0,
            "point": 641,
            "type": "point"
        },
        {
            "at": 152.3,
            "point": 644,
            "type": "point"
        },
        {
            "at": 152.7,
            "point": 648,
            "type": "point"
        },
        {
            "at": 153.1,
            "type": "special_charged"
        },
        {
            "at": 154.4,
            "me": true,
            "special_weapon": "supersensor",
            "type": "special_weapon"
        },
        {
            "at": 154.4,
            "point": 667,
            "type": "point"
        },
        {
            "at": 154.6,
            "point": 670,
            "type": "point"
        },
        {
            "at": 155.0,
            "point": 671,
            "type": "point"
        },
        {
            "at": 155.3,
            "point": 673,
            "type": "point"
        },
        {
            "at": 155.8,
            "point": 674,
            "type": "point"
        },
        {
            "at": 155.9,
            "his_team": [
                true,
                true,
                true,
                true
            ],
            "my_team": [
                true,
                true,
                true,
                true
            ],
            "type": "alive_inklings"
        },
        {
            "at": 156.2,
            "point": 675,
            "type": "point"
        },
        {
            "at": 156.5,
            "point": 677,
            "type": "point"
        },
        {
            "at": 156.8,
            "point": 680,
            "type": "point"
        },
        {
            "at": 157.3,
            "point": 682,
            "type": "point"
        },
        {
            "at": 157.4,
            "his_team": [
                true,
                true,
                false,
                true
            ],
            "my_team": [
                true,
                true,
                true,
                true
            ],
            "type": "alive_inklings"
        },
        {
            "at": 157.5,
            "type": "killed"
        },
        {
            "at": 157.6,
            "point": 685,
            "type": "point"
        },
        {
            "at": 158.0,
            "point": 689,
            "type": "point"
        },
        {
            "at": 158.5,
            "point": 690,
            "type": "point"
        },
        {
            "at": 158.8,
            "point": 691,
            "type": "point"
        },
        {
            "at": 160.1,
            "point": 692,
            "type": "point"
        },
        {
            "at": 160.3,
            "point": 694,
            "type": "point"
        },
        {
            "at": 160.7,
            "point": 698,
            "type": "point"
        },
        {
            "at": 160.8,
            "game_status": "advantage",
            "type": "game_status"
        },
        {
            "at": 161.0,
            "point": 699,
            "type": "point"
        },
        {
            "at": 161.3,
            "point": 701,
            "type": "point"
        },
        {
            "at": 161.7,
            "point": 705,
            "type": "point"
        },
        {
            "at": 163.6,
            "point": 708,
            "type": "point"
        },
        {
            "at": 164.1,
            "point": 710,
            "type": "point"
        },
        {
            "at": 164.6,
            "point": 716,
            "type": "point"
        },
        {
            "at": 165.4,
            "point": 720,
            "type": "point"
        },
        {
            "at": 165.5,
            "his_team": [
                true,
                true,
                true,
                true
            ],
            "my_team": [
                true,
                true,
                true,
                true
            ],
            "type": "alive_inklings"
        },
        {
            "at": 165.7,
            "point": 723,
            "type": "point"
        },
        {
            "at": 167.1,
            "point": 727,
            "type": "point"
        },
        {
            "at": 167.5,
            "point": 731,
            "type": "point"
        },
        {
            "at": 167.8,
            "point": 734,
            "type": "point"
        },
        {
            "at": 168.0,
            "point": 736,
            "type": "point"
        },
        {
            "at": 168.5,
            "point": 741,
            "type": "point"
        },
        {
            "at": 168.8,
            "point": 745,
            "type": "point"
        },
        {
            "at": 169.3,
            "point": 751,
            "type": "point"
        },
        {
            "at": 169.3,
            "me": false,
            "special_weapon": "supersensor",
            "type": "special_weapon"
        },
        {
            "at": 169.9,
            "point": 757,
            "type": "point"
        },
        {
            "at": 170.5,
            "point": 763,
            "type": "point"
        },
        {
            "at": 170.7,
            "point": 765,
            "type": "point"
        },
        {
            "at": 171.3,
            "point": 767,
            "type": "point"
        },
        {
            "at": 171.7,
            "point": 770,
            "type": "point"
        },
        {
            "at": 172.0,
            "point": 773,
            "type": "point"
        },
        {
            "at": 172.5,
            "point": 778,
            "type": "point"
        },
        {
            "at": 172.6,
            "his_team": [
                true,
                true,
                true,
                false
            ],
            "my_team": [
                true,
                true,
                true,
                true
            ],
            "type": "alive_inklings"
        },
        {
            "at": 172.8,
            "point": 781,
            "type": "point"
        },
        {
            "at": 173.2,
            "point": 782,
            "type": "point"
        },
        {
            "at": 174.3,
            "me": false,
            "special_weapon": "tornado",
            "type": "special_weapon"
        },
        {
            "at": 175.0,
            "point": 785,
            "type": "point"
        },
        {
            "at": 175.7,
            "point": 790,
            "type": "point"
        },
        {
            "at": 176.3,
            "point": 794,
            "type": "point"
        },
        {
            "at": 176.8,
            "point": 796,
            "type": "point"
        },
        {
            "at": 177.3,
            "point": 798,
            "type": "point"
        },
        {
            "at": 178.1,
            "point": 805,
            "type": "point"
        },
        {
            "at": 178.9,
            "point": 807,
            "type": "point"
        },
        {
            "at": 179.3,
            "point": 810,
            "type": "point"
        },
        {
            "at": 179.6,
            "his_team": [
                true,
                true,
                true,
                false
            ],
            "my_team": [
                true,
                false,
                true,
                true
            ],
            "type": "alive_inklings"
        },
        {
            "at": 179.7,
            "point": 812,
            "type": "point"
        },
        {
            "at": 179.8,
            "his_team": [
                true,
                true,
                false,
                true
            ],
            "my_team": [
                true,
                false,
                true,
                true
            ],
            "type": "alive_inklings"
        },
        {
            "at": 179.8,
            "point": 74,
            "type": "special%"
        },
        {
            "at": 182.3,
            "type": "finish"
        },
        {
            "at": 182.3,
            "point": 812,
            "type": "point"
        }
    ],
    "gears": {
        "clothing": {
            "primary_ability": "ink_recovery_up",
            "secondary_abilities": [
                "ink_saver_main",
                "defense_up",
                "ink_saver_main"
            ]
        },
        "headgear": {
            "primary_ability": "swim_speed_up",
            "secondary_abilities": [
                "defense_up",
                "quick_respawn",
                null
            ]
        },
        "shoes": {
            "primary_ability": "ink_resistance_up",
            "secondary_abilities": [
                "ink_recovery_up",
                "swim_speed_up",
                "ink_recovery_up"
            ]
        }
    },
    "his_team_color": {
        "hue": 336,
        "rgb": [
            180,
            40,
            98
        ]
    },
    "image_gear": "./img/20160730-2152_image_gear.png",
    "image_judge": "./img/20160730-2152_image_judge.png",
    "image_result": "./img/20160730-2152_image_result.png",
    "kill": 7,
    "level": 50,
    "lobby": "standard",
    "map": "bbass",
    "max_kill_combo": 1,
    "max_kill_streak": 3,
    "my_point": 1812,
    "my_team_color": {
        "hue": 116,
        "rgb": [
            49,
            137,
            44
        ]
    },
    "players": [
        {
            "death": 5,
            "is_me": "no",
            "kill": 4,
            "level": 16,
            "point": 1922,
            "rank_in_team": 1,
            "team": "my",
            "weapon": "promodeler_rg"
        },
        {
            "death": 3,
            "is_me": "yes",
            "kill": 7,
            "level": 50,
            "point": 1812,
            "rank_in_team": 2,
            "team": "my",
            "weapon": "dualsweeper"
        },
        {
            "death": 3,
            "is_me": "no",
            "kill": 1,
            "level": 31,
            "point": 1624,
            "rank_in_team": 3,
            "team": "my",
            "weapon": "hissen_hue"
        },
        {
            "death": 3,
            "is_me": "no",
            "kill": 4,
            "level": 49,
            "point": 1530,
            "rank_in_team": 4,
            "team": "my",
            "weapon": "wakaba"
        },
        {
            "death": 2,
            "is_me": "no",
            "kill": 9,
            "level": 46,
            "point": 851,
            "rank_in_team": 1,
            "team": "his",
            "weapon": "splatscope_wakame"
        },
        {
            "death": 3,
            "is_me": "no",
            "kill": 0,
            "level": 47,
            "point": 702,
            "rank_in_team": 2,
            "team": "his",
            "weapon": "sharp"
        },
        {
            "death": 7,
            "is_me": "no",
            "kill": 2,
            "level": 50,
            "point": 552,
            "rank_in_team": 3,
            "team": "his",
            "weapon": "promodeler_mg"
        },
        {
            "death": 4,
            "is_me": "no",
            "kill": 3,
            "level": 6,
            "point": 502,
            "rank_in_team": 4,
            "team": "his",
            "weapon": "wakaba"
        }
    ],
    "rank_in_team": 2,
    "result": "win",
    "rule": "nawabari",
    "start_at": 1469883178,
    "uuid": "",
    "weapon": "dualsweeper"
}