何を作ったのか
SF6に連動して対策メモを自動表示するツール、その名も「SF6 Instant Tactics」

どんな仕組みなのか
CPU/GPUの消費を抑えた形で裏でスクリプトを動かしSF6のアプリを常時監視、特定の条件にマッチした場合にキャラ名、ユーザ名を取得し画像認識から文字列判定。
そこから自キャラと相手キャラを特定し、Web側に対してjson送りつけて自動で相手キャラの対策メモが表示されるという仕組み。SF6のアプリの中身とか見るわけでもないし、通信傍受するわけでもない物理的な力技で実現する素晴らしいツールだ。そもそもlocalhostだからできるということもある。
ランクマッチやカジュアルマッチ、バトルハブ、ルームマッチ、まねもんくんに対応。
自分が誰かと対戦する際に自動で検知してWeb側で対策メモを自動表示する仕組みとなっている。キャラ画像は現状個人利用の範疇で使わせて頂いている。
何がうれしいのか
いい質問だ。
自分はテキストファイルに自キャラの長ったらしいコンボや対戦時に気にすることなんかをメモしてたりするのだが、すぐ忘れる。見直すと長くて見るのが面倒になる。豪鬼前にやったけどどこだっけってなってそもそも見つかる前に諦めてる。対戦した瞬間にちょっとしたことを書きたい時も多いけど、整理されてないので書いても誰のなんのことか後で見てもわからない。とまぁちゃんとやればいいことがちゃんとやれてなくて挙げ句伸びしろを逃していることが多い。
その点スト6の画面見ている状態で対戦前に勝手に表示してくれればぱっと顔を向けるだけで対策メモが見れる。そのまま編集もできるから、気になることがあれば再戦時に記載することもできる。2先が終わった後やリプレイ見にいったなら尚更そのキャラについて気を付けなければならないことをメモしやすい。
マッチング以外でも普通にWebページとして編集可能だから自キャラのコンボをメモしておいたり、後で観たいYoutubeのリンクコピっておいたり、自キャラ用のメモとしても役に立つ。
おま環過ぎない?
そうかも。
そもそもスト6はSteam版(やろうと思えばPS5版とかでもできると思う)だし、ディスプレイ2枚無いとスッと見れないし。裏でNext.js動かしてWebサーバ起動してるし、監視ツールはマッチ確定したらSocket.ioで通信してるしって感じです。あと今のライブラリだと英語以外のプレイヤーネームがうまく文字列として抽出出来なさそう。まぁなんかあった時しか頑張って作業しないのでCPUは使わないように気をつけてます。というか対戦中やマッチングするまではダラダラしてるだけのツールです。

それ以外のいいところ
対策メモはローカルで保存されてるから、溜まってきたタイミングでGitHubに上げとくと外部サーバにデプロイされて外から閲覧可能。外部で編集してもローカルには反映されないから注意は必要だけど、コツコツ書いてる自分のメモが外出先でも一口対策メモとして見れるのはすごくいい(自己満足)。
俺も使える?
GitHubで公開するのもありかと思ってたんだけど、自分以外の人が使うとなった時の環境周りの違いや取得する座標位置(FullHDなのかWQHDなのかとか)なども細かく直していかないと使えないので、わかってて自分である程度直せる人じゃないと難しいかなと思います。そういう部分すらも自動で取得して設定できる事前導入スクリプトなんかも作れたら公開できるんじゃないかと思いますけど、今のところは予定無し。
まとめ
スト6のモチベというよりAgent開発のモチベが上がっただけでは無いかと言われればそのとおりである。このツールよりも前に変なものを結構作っていたので、そのあたりはまた別の機会にでも紹介します。
一緒にスト6やってくれる人が増えればその分モチベも上がりますので、ぜひお声がけください。
それではまたね。



