読者です 読者をやめる 読者になる 読者になる

MacでIkaLogの動作環境を整える。

最近はスプラトゥーンの世界に潜っていて、ほぼ毎日のようにプレイしています。
このあいだ、はてブIkaLogというツールがバズっていて、面白そうだったので動作環境を整えてみました。

IkaLogはスプラトゥーン用の支援ツールで、自分の対戦成績をファイルとして記録することができます。
さらにstat.inkというWebサービスと連携させることでブキやステージ毎の勝率を可視化できたりします。
詳細は作者の方のスライドを見てください。

www.slideshare.net

ハードウェア

全体構成

IkaLogはWiiUの出力する映像をPCのPythonプログラムで画像解析することで対戦成績を分析していため、WiiUHDMI出力をPCでキャプチャする必要があります。
ハードウェアの全体構成は下図のような感じで、WiiUHDMI出力をスプリッタで分配して、ディプレイとHDMIキャプチャボードに接続しています。
ディスプレイにも映像を出力したかったのでこのような構成にしました。

f:id:yukihir0:20151026194323p:plain:w600

HDMIスプリッタ

HDMIスプリッタはプリンストン社製のものを使っています。
マイクロUSBで給電できてコンパクトなのでオススメです。

HDMIキャプチャボード

HDMIキャプチャボードはIkaLogのキャプチャボードのページに載っているMacで動作報告のあるBlackmagic Design社のUltraStudio Mini Recorderを購入してみました。
HDMIの映像をThunderbolt接続でMacに取り込むことができます。
付属のSDカードからドライバとキャプチャソフトウェアをインストールした後に、WiiUの出力解像度を720pに設定したところ、無事にWiiUの出力をキャプチャすることができました。
結論として何の問題もなく動作したのですが、上記以外にUltraStudio Mini Recorder+IkaLogの情報が見つからなかったので若干不安でした。

Blackmagic Design 小型レコーダー UltraStudio Mini Recorder 001846

Blackmagic Design 小型レコーダー UltraStudio Mini Recorder 001846

ソフトウェア

ソフトウェアの方は先人の方がブログで解説している方法で上手くいきました。
最初はpyenvでインストールしたPythonで動作させようとしたのですが、pyenvとOpenCVの相性が悪いらしく、OpenCVのモジュールをインポートできなかったのでHomeBrewでシステムワイドにインストールしたPythonを使いました。

hiho-developer.hatenablog.com

Python

% brew install python3
% brew install numpy --with-python3
% brew link numpy
% brew install opencv3 --with-python3
% brew link opencv3 --force

% pip3 install slackweb
% pip3 install fluent-logger
% pip3 install requests-oauthlib
% pip3 install urllib3
% pip3 install u-msgpack-python
% pip3 install Pillow

IkaLog

IkaLog本体は適当なディレクトリにgit cloneしてきて、設定ファイルにログの出力先やAPIキーなどを設定します。
あとはIkaLogを実行した状態でスプラトゥーンをプレイすればログが出力されるはずです。

% git clone https://github.com/hasegaw/IkaLog
% cd IkaLog
% cp IkaConfig.py.sample IkaConfig.py
% vi IkaConfig.py

% python3 IkaLog.py

まとめ

MacでIkaLogの動作環境を整えて、自分の対戦成績を可視化できるようになりました。
自動的に自分の対戦成績が記録されていく様子を見ていると、エンジニア的にはニヤニヤが止まりません。
「推測するな、計測せよ。」の言葉のとおり、 データの助けを借りながら腕を磨いていきたいと思います。