PONOS Advent Calendar 2024 2024の22日目の記事です。
昨日は @e73ryo さんの記事でした
初めまして、インターネットでは「みしぇる」というハンドルネームで
活動させていただいております。
自分の方では個人の活動として格闘ゲームを扱うゲーミングチームにプレイヤーとして
所属させていただいていることもあり、格ゲーにちなんだ内容で
「格ゲーの試合解析ツールを作りたい」
というテーマで今回は執筆させていただきます。
※所属チームの結成発表時はちょっと話題になりました
チームに関して気になる方は下記のXアカウントをチェックしてみてください
https://x.com/vorpalhedgehog
はじめに
今回の内容を執筆するにあたっての背景ですが、esportsという単語の認知度も
上がってきている昨今、「遊び」、もしくは「競技」として実際に
FPS・MOBA・格闘ゲームをプレイされる方はもちろんですが
視聴される方も増えてきていると感じています。
開発をされている企業様側でもプレイヤーの自己・対戦相手の分析や
あまりそのタイトルを知らない視聴者様に向けてプレイヤーの特徴などを
わかりやすく伝えるための指標として試合の内容を集計してstatsを
表示しているタイトルも増えてきました。
こちらは機能として持っている or 人力集計 or そもそも集計してないなど
タイトルによって様々ですがプレイヤー・視聴者目線で欲しい情報に関しては
項目の整理や自動化についてまだまだ発展途上な分野というところと
1人のプレイヤー・コメンテーターとしても振り返ることができるデータが欲しい
というところが大きな動機になります。
技術選定
今回は Ptyhon + OpenCVにて解析を行いたいと思います。
動画・画像処理に関して実際に採用されている事例と
参考記事の多さが主な選定理由となります。
※筆者は本業はゲーム系サーバエンジニアなのでこの分野の知識は疎いので
もっといいのあるよなどあれば教えていただけますと大変嬉しいです。
最近は機械学習やディープラーニングなど色々と便利なものがあるみたいですが
まずは基本的なところから小さい単位で学習しつつその辺りをどううまく活用していくのか
といった部分も学んでいければと思っています。
タイトル選定
「UNDER NIGHT IN-BIRTH Sys:Celes 2」(通称uni2)という
アークシステムワークス様から販売されている格闘ゲームにて行います。
理由としては自分がメインで遊んでいるタイトルというのももちろんですが
試合中集計したい情報が数値として明確に表示されている部分が多く
他のタイトルに比べてもstatsとして集計したい情報が取得しやすいだろうと踏んでいます。
※UNI2ではコンボダメージやゲージ残量などが試合中でも数値として表示されるため、
他のタイトルと比べてみても珍しい部類だと思います。
集計したい情報
色々集計してみたい情報はありますが取り急ぎは手をつけやすそうな
下記内容でますはサンプルを作って行きたいと思っています
実際に作成しながら知識を蓄えていって集計できそうな情報の整理などしていきます
何回相手を崩しダメージを取ることができたか
- 格闘ゲームには守りの手段としてガードというものがあり、基本的には攻めの手札をばらつかせるなどして予想外の行動をし相手の意表をつくことができなければダメージに繋がりません
- 実際に崩すことができた際の回数を集計し攻めの上手さ、逆に守りの上手さを知る指標として集計を行います
崩した際に使用した技とその際に与えたダメージ量
- 昨今の格闘ゲームでは一度相手の守りを崩すと相手が体制を整える前に追撃を行うことでまとまったダメージを取れるものが多いです。(コンボのこと)
- 崩す際に当てた技や状況によって取れるダメージ量の上限も変わってくるので、
-
- リターンの高い技を当てるのが上手い
-
- 技を当てた際に上限に近いダメージを出せているか
- といった指標として集計を行います
で、実際いつ作るの?
- 年末年始に下記配信チャンネルにて配信しながら行おうと思います。
- 具体的な日程はXの方で告知するので興味ある方はチェックしてみてください
まとめ
なかなか時間取れず作りたいものの願望をまとめただけになってしまって
大変恐縮ですが、実際の作業の様子やできたものなどはQiitaはもちろん
配信やXの方でもアウトプットしていこうと思うのでよければチェックしてみてください
明日は @oryzae29さんになります。お楽しみに!