日記 2025年5月

あけましておめでとうございます。

5月24日 土曜日

にじGTAライバーMAPの諸々

にじGTAでの各ライバーの動きを地図上で追えるサイト、にじGTAライバーMAPを公開しました。

仕組み的な話はgithubのほうに書いているので、こちらでは開発の経緯などなど書いていきます。

はじまり

プロジェクトの始まりは2024年11月末でした。にじGTAが終わってから半年が経とうかという頃合いでしたが、未だににじGTAに囚われていて、ときおりにじGTAの切り抜きを見ていたりしていました(今でも見ます)。

一方でにじGTAの内容は膨大で、有名な事件は知っていれどリアルタイムで見てた枠以外での細かいイベントは追い切れず、どうにかしてにじGTAの全体を知る方法はないかと考えていました。

GTAのゲーム画面にはミニマップが映っている、しかも番地も映ってる。ならこれをかき集めればゲーム内での動きをトラッキングできるのでは、ということでこのプロジェクトは始まりました。

手法の確立

最初はあれこれ手法を試してましたが、最初の数日でミニマップからGTA全体地図へのマッピングは番地のOCRで取るで確定、ミニマップ内のプレイヤー位置をどうとるかで悩んでいたようです(記憶が抜けてるのでgit logからの推定)。

のちに(12/25)ミニマップ内のプレイヤー位置は固定であることが判明し、悩んでた2週間くらいの労力が吹き飛んだりなどしましたが、まぁ前進したんだから良かったね…といったこともありました(なお、徒歩・乗車とヘリとではプレイヤー位置がずれているっぽく、にじGTAライバーMAPでのヘリ移動のルートはちょっとブレているくさい)。

解析しているうちに、すべてを正確に取るのは難しいのである程度人手での修正がしやすいようにデバッグ・修正用のツールを揃えようというなり、12月末あたりからその辺の整備が始まりました。

2月初め頃にはおおよそ解析まわりのコードが固まり、全動画の収集・解析が始まりました。

全動画の解析

にじGTAの配信は全部で784本(成瀬鳴視点除く)あり、それぞれが数時間(長いと8時間~)と長いということで、全動画の解析には相当の時間がかかりました。

AWSなりで並列でマシンを動かせば短縮できるのでは?という考えもありましたが、試したところyoutubeからのダウンロードがコケやすく結局ローカルのPCでごりごり解析を回し続けることになりました(加えて高速な解析にはGPUが必須で、AWSといえそんなに並列数を増やせないというのもあった)。

いろんな動画に対して解析してると、最初に検証してた頃では踏まなかった事象を踏むことになり、その都度デバッグしては修正コードを足して解析し直し、という一進一退を繰り返していました。技術的な話に書かれているエラーケースはそうした事象の一部です。

縦画面配信のグウェルに頭を抱えたり、ミニマップの前に立っている弦月に頭を抱えたり、ゲーム画面が横に長いミランに頭を抱えたり…。今ではいい思い出です。

5/5にいったん全動画の解析ができましたが、その後もちょくちょく部分的に再解析がありました。

サイト構築

動画の解析と並行して、4月初めからサイト構築が始まりました。

地図まわりのライブラリとしてはOpenLayersを採用しました。過去にtrivial circlecheckのデータ編集ツールに使っていて機能的には問題なかろうということで採用しましたが、大量のルートをアニメーションで表示できるのかという点は不安が残りつつという感じでした。

React/Next.jsには馴染みがなく、この辺の勉強も兼ねての開発となりました。そもそも地図上のアニメーションという特殊ケースなのでこれで入門してよかったのかという疑問は残りますが、Reactに対する理解は多分、きっと、おそらく、深まったと思います。そう信じたい。

公開

ようやくここまでこぎつけたかという気持ちです。

にじGTAライバーMAPはどう受け止められるでしょうか。にじGTAに囚われている人たちに刺さるといいな、ということでお便り・不具合報告などお待ちしております。

例大祭

行ってないよ(trivial circlecheckの更新はした)。

メインで追うジャンルが東方からVtuber(にじさんじ)に移って3年が経ち、とうとうここまで来てしまった感を感じる。でも京都秘封は行くと思う。

錦上京もまだやれてない。にじGTAライバーMAPが一段落したのでそろそろやりたい。