データと根拠
確認した事実 32 件と、使っている計算式の一覧です。
01出典の読み方
数値の横にある記号は出典です。CG は配信ページの JSON-LD(VideoGame 構造化データ)、CGB は配信ページの本文と埋め込み設定、BUILD は配信ビルドの JavaScript、SELF は当サイトが式に代入して計算した値です。
CG と CGB は誰でも確認できます。BUILD は配信されているファイルを読めば確認できますが、難読化されているため手間がかかります。SELF は計算なので、式を検算すれば誰でも再現できます。
推測と不明は分けて書いています。推測は当サイトの推定で、不明は確認できなかったものです。実機で1つずつ測った値ではないので、その点は了承してください。
- CG
- CrazyGames の JSON-LD(構造化データ)
- CGB
- CrazyGames の本文・埋め込み設定(controls、tags、hasLeaderboard など)
- BUILD
- 配信ビルド assets/main/index.js(2023-08-14 公開版)
- SELF
- 当サイトが上の値から計算したもの(式を併記)
02事実の一覧
当サイトが確認した事実の全件です。種別が「確認」のものはビルド内のコードで、「公式」は配信ページの記載で確認しました。
| # | 種別 | 内容 | 出典 |
|---|---|---|---|
| 01 | 公式 | 開発元は Kayiyou(CrazyGames の developer 表記、developerId ipKAGruWxAZSNYF3jDB4gbMcpL12) | CG |
| 02 | 公式 | 公開日は 2023-08-14。JSON-LD の datePublished と dateModified が同じで、以後の更新日は配信ページからは分からない | CG |
| 03 | 公式 | 配信ページの評価は 10 点満点で 8.3、評価件数は 202,726 件 | CG |
| 04 | 公式 | 高評価 173,130 件・低評価 29,596 件(interactionStatistic) | CG |
| 05 | 推測 | 高評価率は 173,130 ÷ 202,726 = 85.4%(評価件数と Like 数は母数が違うため参考値)(CG の 2 つの数値を割っただけ。母数が同一とは限らない) | SELF |
| 06 | 公式 | 価格は 0 USD(offers.price)、アプリ内課金なし(hasIap = false) | CG |
| 07 | 公式 | 対応はデスクトップ・モバイルのブラウザ(Windows / Chrome OS / Linux / macOS / Android / iOS) | CG |
| 08 | 公式 | 画面は横向き固定(orientation = LANDSCAPE) | CGB |
| 09 | 公式 | リーダーボードは無効(hasLeaderboard = false)。スコアは外部に送られない | CGB |
| 10 | 公式 | 配信ページのタグは Sniper / Mobile / 3D / Skill / Mouse の 5 つ。Sniper タグの登録作は 23 本 | CGB |
| 11 | 公式 | 操作説明は「左ボタンのドラッグで視点を動かし、画面内のボタンを押して撃つ」。照準を合わせて撃つ方式ではない | CGB |
| 12 | 確認 | ゲームエンジンは Cocos Creator 3.x の Web 書き出し(Cocos Creator | Sniper Mission、cc.js を import-map で読む) | BUILD |
| 13 | 確認 | 武器は 7 挺。基礎ダメージは順に 100 / 300 / 500 / 700 / 900 / 1100 / 1500(SniperDamage 配列) | BUILD |
| 14 | 確認 | 装弾数は順に 8 / 8 / 10 / 8 / 10 / 10 / 10 発(InitBulletNum = fixBulletNum) | BUILD |
| 15 | 確認 | 解放価格は順に 0 / 1,000 / 3,000 / 6,000 / 10,000 / 15,000 / 20,000 ドル(NumWeaponPrice) | BUILD |
| 16 | 確認 | 武器 3 と 4 だけ装填方式が違い、自動装填が入らない(Type 2)。他 5 挺は発射 500ms 後に次弾が入る(Type 1)(SniperType = [1,1,2,2,1,1,1]) | BUILD |
| 17 | 確認 | ダメージ強化は 1 レベルごとに +50、装填は +1 発、倍率は +0.5。いずれも上限 10 レベル(initWeaponNature + _0x1778ef = [10,10,10]) | BUILD |
| 18 | 確認 | 強化コストは「100 × 現在レベル + 武器ごとの基礎値」。基礎値は 50 / 100 / 200 / 500 / 1,000 / 1,500 / 2,000(0x64 = 100 を掛ける) | BUILD |
| 19 | 確認 | 敵の HP は「100 + 10 × (ステージ番号 - 1)」。ボスは同じ式の 2 倍(initNPCHP: HP = 100 + 10*(NumGateTT-1), IsBoss → HP *= 2) | BUILD |
| 20 | 確認 | ステージ 1 の敵 HP は 100、ステージ 50 は 590、ボスは 200〜1,180(上の式に代入) | SELF |
| 21 | 確認 | クリア報酬は「30 × キル数 + 10 × ヘッドショット数」ドル(NumGold = 10*headshootNum + 30*recordKillNum) | BUILD |
| 22 | 確認 | ホーム画面の広告ボタンは 1 回 500 ドル(You got $500!)(homeFreeAD: NumGoldTT += 0x1f4) | BUILD |
| 23 | 確認 | 1 回のプレイで進めるのは 3 ステージまで。3 面クリアでホームに戻る(countGateNum >= 3 → returnHome()) | BUILD |
| 24 | 確認 | ステージ 51 以降は 11〜50 の 40 面を巡回する((n - 51) % 40 + 11)(initMap のステージ選択式) | BUILD |
| 25 | 確認 | ボスは 3・8・13・18・23・28・33・38・43・48 の 10 面。5 面ごとに 1 体(SetGate の MapNodeName に boss が入る面) | BUILD |
| 26 | 確認 | 弾は着弾点へ直進するだけで、重力・風・弾道落下のパラメータは存在しない(setLinearVelocity(normalize(着弾点-発射点))) | BUILD |
| 27 | 確認 | キル後にカメラが弾へ寄り、ゲーム速度が 1/100〜1/3 に落ちる演出がある(followRatio 上限 0.85、updateGameDt(0.01 / 0.3)) | BUILD |
| 28 | 確認 | 弾が尽きて敵が残っていると失敗(JudgeFail)。約 2.5 秒後に失敗画面(setTimeout(..., 0x9c4)) | BUILD |
| 29 | 確認 | ステージ表示は「A + 番号」(A1〜A50)。5 の倍数の面だけゴールド表示が出る(NumGateTT % 5 != 0 で非表示) | BUILD |
| 30 | 確認 | 敵は決まった経路を往復する。経路はノード名に埋め込まれていて、npc2_FRBL_2m2m2m2m は前右後左へ 2 ずつ、npc2_R_10 は右へ 10 の往復(initNPCMove / moveFaceTo) | BUILD |
| 31 | 不明 | 武器とスキンの画面表示名は配信ビルドから取り出せなかった(画像プレハブ側にあるとみられる) | BUILD |
| 32 | 不明 | タイム評価(star1Time など)は初期化で 0 が入るだけで、代入箇所が見当たらない。実装されていない可能性がある | BUILD |
03計算式
当サイトの計算に使っている式です。すべてビルド内の実装に合わせています。
| 対象 | 式 | 出典 |
|---|---|---|
| ダメージ | 武器の基礎値 + 50 × ダメージ強化レベル | BUILD |
| 装弾数の表示 | マガジン(8 または 10) + 1 × 装填強化レベル | BUILD |
| ズーム倍率の表示 | ショップ倍率 + 0.5 × 倍率強化レベル | BUILD |
| 強化コスト | 100 × 現在レベル + 武器ごとの基礎値(50 / 100 / 200 / 500 / 1000 / 1500 / 2000) | BUILD |
| 敵HP | 100 + 10 × (ステージ番号 - 1) | BUILD |
| ボスHP | 敵HP × 2 | BUILD |
| クリア報酬 | 30 × キル数 + 10 × ヘッドショット数 | BUILD |
| 広告報酬 | 500 ドル(1回) | BUILD |
| 必要弾数(頭なし) | 敵HP ÷ ダメージ(切り上げ) | SELF |
| 必要弾数(頭あり) | 敵HP ÷ (ダメージ × 2)(切り上げ) | SELF |
04ビルドについて
配信されているゲームは Cocos Creator 3.x の Web 書き出しです。ゲームのロジックは assets/main/index.js にまとまっていて、obfuscator.io で難読化されています。文字列は配列に退避され、実行時に並べ替えられます。
このサイトの数値は、その難読化を解除して定数ブロックを読んだものです。ファイル名から weapon1〜weapon7 の7挺であること、npc・boss のプレハブがあること、音声が soundheadshoot などの名前で入っていることまでは確認しました。
ゲームの画像・音声そのものは転載していません。数値と式だけを引用しています。
05このサイトの限界
実機で1つずつ検証した値ではありません。コードを読んで分かる範囲の数字です。したがって「この武器は使いやすい」といった体感の話は、数字から言える範囲でしか書いていません。
武器名、宝箱の金額、タイム評価の有無、倍率の表示と実装のどちらが正しいか、といった項目は確認できていません。各ページで「不明」と書いています。
更新はビルドが変わったときに行います。配信ページの dateModified は2023-08-14のままなので、以後の更新は配信ページからは分かりません。