実装とバージョン
このゲームの中身は、ブラウザに配信されるビルドから相当量が読み取れます。分かったことと、分からなかったことを分けて書きます。
01更新の履歴
それ以降のアップデートは、配信ページ上では確認できません。記載がないから更新がない、とは言い切れませんが、少なくとも公表された変更点は2022年11月で止まっています。
| 日付 | できごと | 出典 |
|---|---|---|
| 2022年10月 | Android 版リリース | 配信ページ本文 |
| 2022年11月 | WebGL 版リリース | 配信ページ本文 |
| 2022年11月25日 | 配信ページの最終更新 | 配信ページ本文 |
02エンジンと構成
配信ページには Game engine: Unity 2020 と書かれています。実際のビルドのヘッダは 2020.3.41f1 で、2020系の最終盤のパッチが使われています。
シーンは StartScene、MenuScene、GameScene の3つです。起動→メニュー→試合、という素直な構成で、モードごとにシーンを分けていません。モードの違いは、シーン内で読み込むマップとキャラクターの制御クラスで作られています。
アセットの読み込みには Addressables が使われています。必要な素材だけを後から読む仕組みなので、初回の読み込みに時間がかかる代わりに、試合中の切り替えが速くなります。
03モードはクラスで分かれている
7つのモードは、それぞれ専用のクラス(PunchersMode、DodgeballMode、LegsJetsMode、RidersMode、TagMode、TickTackMode、TrapMode)として実装されています。設定値は ScriptableObject として外に出ており、モードごとの情報(名前、説明、目標)を持っています。
AI もモード別に分かれています(PuncherAI、DodgeballAI、LegsJetsAI、RidersAI、TickTackAI、TrapAI)。Tag だけ独立した AI クラスが確認できませんでした。
つまり「7つのミニゲーム」は、見た目だけ変えた同じ遊びではなく、ルールごとに別のプログラムです。モードによって操作の意味が変わるのは、このためです。
04言語と保存
ローカライズのデータは英語(en)とロシア語(ru)の2つだけです。日本語のデータは含まれていません。ゲーム内の文字はすべてこの2言語のどちらかになります。
保存には Easy Save 3 系の仕組みが使われ、モード別のプレイ回数(PunchersModePlaysCount など)と全体のプレイ回数を記録しています。端末のブラウザ保存領域に書かれるため、ブラウザのデータを消すと失われます。
05分からなかったこと
分からないことを推測で埋めると、読む人が誤った前提で遊ぶことになります。当サイトでは空欄のままにしています。
- ダメージ量、体力、ラウンド数、制限時間といった数値。ビルドの設定値は暗号化された設定ファイル側にあり、読み出せませんでした。
- オンライン対戦の実装があるかどうか。配信版には通信の痕跡が見当たりません。
- 4人対戦の予定。3人・4人用の操作表示とスコア表示の部品は存在しますが、配信ページの表記は2人までです。
- 日本語対応の予定。発表は確認できませんでした。