SS 戦術帖 · 第 07 面
ビルド解析 — 転送ファイルに残っていた手がかり
配信ページに書かれていないことは、配信物の中に書いてあります。45.4 MB を落として中を読みました。
何を読んだのか(手順と限界)
CrazyGames の配信ページは、起動時に 4 つのファイルを読みます。sure.loader.js(20,642 バイト)、sure.framework.js.br(437,839 バイト)、sure.wasm.br(5,933,649 バイト)、sure.data.br(39,015,872 バイト)です。このうち data がゲームの中身(シーン・プレハブ・スクリプト名・UI 文字列)を持っています。
data.br は名前に .br と付いていますが、実際には Brotli ではなく展開済みの UnityWebData でした。展開後のサイズは 51,885,818 バイトで、その中から読み取り可能な ASCII 文字列を 179,257 本取り出しました。以下の表は、その文字列の実物です。
限界も書いておきます。取り出せるのは「名前」と「文章」だけで、ダメージや連射速度のような数値は、どの数値が何を意味するかのラベルが無いため特定できません。武器の製品名(M4A1 のような固有名)も見つかりませんでした。数値と製品名については、このサイトでも「不明」のままにしています。
土台は MFPS、通信は Photon
data の中には Assets\MFPS\Scripts\ で始まるクラス名が大量に残っています。MFPS は Lovatto Studio が販売しているマルチプレイ FPS のテンプレートで、Sure Shot はこれを土台に作られていることが分かります。つまり「この作品だけの独自エンジン」ではなく、既製の仕組みに独自のマップと設定を載せた構成です。
通信は Photon の PUN と Photon Chat です。これはサーバー側の挙動を推測する材料になります。ラグや接続切れが「ゲームの作り込み不足」ではなく「Photon のリージョンと回線」の問題である可能性が高い、という判断ができます。
data.br 内で確認した実装クラス(2026-10-28 時点のビルド 27)
| 文字列 | 意味 | 確度 |
|---|---|---|
| Assets\MFPS\Scripts\Weapon\bl_Gun.cs | 銃の共通処理。弾・連射・装填を 1 つのクラスで扱う | 確認 |
| bl_SniperScope.cs | スコープ(倍率)付きの照準を実装 | 確認(実装の存在) |
| bl_Grenade.cs | 投げ物の実装 | 確認 |
| bl_MedicalKit.cs / bl_AmmoKit.cs | 回復キットと弾薬キット。操作表の H / J と対応する | 確認 |
| bl_BodyPartManager.cs | 部位ごとにダメージ倍率を分ける判定 | 確認 |
| badge_headshot | ヘッドショットのバッジ(キルログ用の表示) | 確認 |
| Assets\PhotonChatApi\ 以下 | Photon のチャット。ENTER = chat と対応する | 確認 |
| bl_KillCam.cs / bl_SpectatorCamera.cs | 死亡時のキルカメラと観戦カメラ | 確認 |
| bl_RoundTime.cs / TDMScoreRoom | ラウンド時間とチーム得点の管理 | 確認 |
モード名の候補がコードに残っている
配信説明文は「5 つのモード」としか書いていません。ところが data には、モードの管理用オブジェクトらしい名前が残っています。CTFObjects と DominationObjects は、それぞれ旗(Capture the Flag)と拠点(Domination)のためのオブジェクト群をまとめた名前です。KnifeTDM と SniperTDM は、武器を限定した TDM の派生と考えられます。
ここは注意が必要です。テンプレートには使わないシーンやプレハブが残ることがあり、「文字列がある=そのモードが遊べる」とは限りません。したがって下表の「5 つのうちのどれか」は推測です。ただ、少なくともチーム戦の得点管理(TDMScoreRoom)が実装されていることは、配信説明の Team Deathmatch と一致します。
モード関連の文字列と、そこから言えること
| 文字列 | 推測される内容 | 言い切れるか |
|---|---|---|
| TDMScoreRoom | チームデスマッチの得点管理 | TDM の存在は説明文でも確認できる |
| CTFObjects | 旗を使うモード(Capture the Flag 系) | 実装はある。遊べるかは推測 |
| DominationObjects | 拠点を確保するモード | 実装はある。遊べるかは推測 |
| KnifeTDM | ナイフ限定のチーム戦 | 文字列のみ。採用は推測 |
| SniperTDM | スナイパー限定のチーム戦 | 文字列のみ。採用は推測 |
武器は「種類」までしか分からない
武器まわりでは Rifle、ShotGun、Sniper、Machinegun、Pistol、Grenade、Knife といった種類の語が出てきます。これは 4 スロット(1〜4)に different types of weapons が入るという配信説明と矛盾しません。ただし M4A1 や AK-47 のような製品名は見つかりませんでした。
重要なのは、スコープ(bl_SniperScope)とグレネード(bl_Grenade)が別クラスで実装されている点です。つまり「4 つの武器」は、同じ銃の色違いではなく、照準の作法が違う武器を含む可能性が高い。距離を取る武器と、投げ物で遮蔽の裏をどかす武器が同居している、という前提で立ち回りを組むのが安全です。
ヘッドショット(bl_BodyPartManager と badge_headshot)も実装されています。エイムが上の相手に対して、しゃがみ(C)で被弾面を変える意味はここにあります。
プライバシーと運営に関わる文字列
ビルドの中には、外部への接続に関わる URL と、運営側の措置に関する文章も残っています。これらは「ゲームの攻略」ではありませんが、遊ぶ前に知っておく価値があります。当サイトのプライバシーポリシーにも、この事実をそのまま書いています。
ビルド内の外部URL・警告文(原文)
| 文字列 | 読み方 | 注意 |
|---|---|---|
| http://lovattostudio.com/Utils/GetIP.php | 接続元 IP を取得するための外部 URL | 実際に送信されているかは未検証。ビルドに残っている事実として記載 |
| This IP has been banned due to … | IP 単位の BAN 機構 | 運営側の措置。ブラウザ側では解除できない |
| Your fps is very low for a multiplayer game… | 低 FPS の警告文 | 重いときは人数を減らすか設定を下げるしかない |
| check your local coneccion. | 接続失敗時の表示(綴り誤り) | 回線側かサーバー側かの切り分け材料になる |
このページを読む意味
攻略サイトの多くは、配信ページの説明文を言い換えただけです。このページは、ブラウザが実際に落とすファイルを読んで書いています。だから「スコープとグレネードが別実装」「部位判定がある」「通信は Photon」といった、説明文に無い情報を出せます。
一方で、この方法でもダメージ値とマップ名は分かりません。分からないものを推測で埋めると、サイト全体の信頼が落ちます。当サイトは、分かったことと分からないことを毎ページで分けて書く方針です。