Release Specification / Ver1.3.0
クラリィのぷくぷくシャボン玉はこび 仕様書
Ver1.3.0 は、シャボン玉を弾くプレイ快感と、眺めて落ち着ける水中体験をさらに強めたリリースです。 追加された海の24時間サイクル、設定/ポーズからの時間帯切替、クラゲコンパニオンを中心に、ゲーム仕様・技術仕様・スクリプト構成・ログをまとめます。
ゲーム概要
基本体験
プレイヤーはクラリィを操作し、頭の判定エリアでシャボン玉を弾いてスコアや距離を伸ばします。 操作はシンプルですが、ヒット音、破裂音、端末振動、Bubbleのぷにょ変形、海中演出により「触って気持ちいい」反応を重ねています。
- 頭の中心に近いほど高得点・高精度。
- Normal / Time Attack / Center Hit の3モード。
- 落下・時間切れ・規定ヒットでリザルトへ遷移。
作業用体験
Clock Mode / Pomodoro / Timer は、海中の美しさとクラリィのかわいい動きを活かした「眺めるゲーム」機能です。 Ver1.3では海の時間帯を実時刻や好みに合わせられるため、勉強・作業・休憩の背景としての価値が強まりました。
- タイトルは実時刻・季節に連動する海を表示可能。
- ゲーム中もポーズから昼/夕焼け/日没/夜へ即時切替。
- クラゲコンパニオンが長時間滞在時の癒やし要素になる。
- 仕様書のTitle代表画面は昼を基調にし、夕方・夜は海時間サイクルの差分として紹介。
- 正式名称
- クラリィのぷくぷくシャボン玉はこび / Bubble Pop
- ジャンル
- 海中カジュアルアクション、チル作業用ゲーム、時計/ポモドーロ/タイマー補助
- 対象端末
- iOS / Android。Android Min SDK 33。
- 現行バージョン
bundleVersion: 1.3/ iOS1.3.0/ Android versionCode103- 主な実装方針
- Unity Input System、UI Toolkit、URP、イベント駆動、PlayFabランキング、モバイル触覚フィードバック。
Ver1.3.0 リリース差分
Ver1.3.0 の中心は「時間で表情を変える海」と「クラリィのそばに集まるクラゲ」です。 既存のゲームモードやストア/ランキング機能は維持し、タイトル・設定・ポーズ・水中演出の体験密度を上げています。
| 区分 | 内容 | 主な実装 |
|---|---|---|
| 新規 | 24時間の海中時間帯サイクル。Day / Dawn / GoldenSunset / Sunset / Night を日の出・日の入り相対で補間。 | OceanTimeOfDayCycle / OceanTimeOfDayProfile |
| 新規 | タイトルは端末の実時刻と日付に連動。愛媛県伊予市/松山相当の夏至・冬至モデルで日の出/日の入りを近似。 | ResolveHour() / ResolveSeasonT() |
| 新規 | 設定画面・ポーズ画面に「現実 / 日中 / 夕焼け / 日没 / 夜」の海時間タブを追加。 | SettingsController / PauseController |
| 新規 | 海の時間帯をシーン別に保存。タイトル、Normal、TimeAttack、CenterHit で独立スロットを持つ。 | GameSettingsStore / GameModeInfo |
| 新規 | ゲーム3シーンへ OceanTimeOfDayCycle を実行時に自動付与。シーンへの手動配置漏れを防ぐ。 | OceanCycleBootstrap |
| 新規 | クラゲコンパニオン。画面外から登場し、クラリィ/プレイヤーの周囲に定着して漂う。 | JellyfishCompanion / JellyfishCompanionManager |
| 新規 | クラゲ用アニメ付きFBX、Animator Controller、半透明URPマテリアル、セットアップEditorツール。 | JellyfishCompanionSetup / Jellyfish.mat |
| 更新 | 時間帯Profileに Dawn を追加。Profile共有時に地形高さでカースティクスがずれないよう配置適用フラグを追加。 | OceanTimeOfDay.Dawn / applyCausticsPlacement |
画面・素材ギャラリー
Ver1.3の実機画面を反映した縦画面の代表ギャラリーです。Titleは昼の画面を主役にし、 夕方・夜は海時間サイクルのバリエーションとして扱います。3モード選択、Clock / Pomodoro / Timer、 衣装クローゼット、海時間タブ付き設定、ゲーム中のHUD、結果、ランキング、ストアを確認できます。
Titlever 1.3.0表示、クラリィ、時計/設定/クローゼット/ランキング/ストアへのホーム。
Clock / Pomodoro / Timer時計、ポモドーロ、タイマーを切り替える作業用モード。
Closet貝がら残高と衣装カードを表示し、クラリィの衣装を切り替え。
Ranking距離ランキングと自分の順位を表示。実機ではPlayFab名簿を確認。
Mode SelectNormal、どまんなか、タイムアタックの3モードをタイトル下部から選択。
NormalゲームシーンでBubbleを弾く通常プレイ。バブル、クラリィ、距離、ヒット数、貝がらHUDを表示。
Center Hit15回制の中心ヒット。命中率、スコア、ヒット回数を表示。
Time Attack60秒制の距離チャレンジ。タイマー、距離、夜の海時間HUDを表示。
Result距離、スコア、平均、拾った貝がら、復活/再試行/シェア導線。
SettingsBGM/SE/振動、ユーザー情報、問い合わせ、海時間タブを管理。
Storeゲーム内/ストア課金タブ、広告削除・衣装購入・購入復元。
ゲームモード
Normal Endless
Bubbleを落とすまで続く基本モード。距離、ヒット回数、命中率、スコアを伸ばす。海時間の既定は 日中。
- スコア、総移動距離、最大/平均精度を記録。
- 同じ位置での放置連続ヒットはコンボガードで抑制。
- 落下/破裂でリザルトへ移行。
Time Attack
60秒でどれだけ距離とスコアを伸ばせるかを競う短時間モード。海時間の既定は 夜。
- 時間切れまたは落下で終了。
- テンポ重視。ランキング/シェアとの相性が高い。
- ポーズ画面から海時間を即時変更可能。
Center Hit
15回のヘディングで中心精度を競う採点モード。海時間の既定は 夕焼け。
- 中心ほど高得点。端でも最低命中率を保証。
- 連続高精度でコンボ倍率が上昇。
- Bubbleの水平移動はランダム方向で、中心狙いを成立させる。
Bubble 挙動 / 当たり判定 / Shader 詳解
Bubble は HeadingBall の物理、BubbleEffect のヒット変形、
BubbleShader の透明膜、BubbleBurst の破裂演出で構成されます。
Ver1.3でも中核ロジックは維持されています。
通常モードの跳ね返り
- Bubble が
HeadingZoneに衝突する。 - 頭ローカル座標へ変換し、中心からの
offsetを求める。 centerThreshold内は真上、外側は衝突方向へSlerpして角度を付ける。targetHeightYと滞空倍率から垂直初速・カスタム重力を計算。- 水平速度を更新し、Bubble の
linearVelocityへ反映。
放置コンボ防止
Normal / TimeAttack では、前回とほぼ同じ頭ローカル位置で連続ヒットした場合に
comboGuardDistance と comboGuardMaxRepeats で放置判定します。
閾値を超えると命中率を0にし、ランダム水平ナッジでループを崩します。
Center Hit は毎回ランダム方向へ飛ばすため、同じ位置での放置ループが成立しにくい設計です。
当たり判定と命中率
| 項目 | 通常 / TimeAttack | Center Hit |
|---|---|---|
| 命中評価 | 中心からの距離でスコア化。精度は色にも反映。 | CenterHitAccuracy(offset)。中心100%、端でも最低保証。 |
| 跳ね返り方向 | 中心は上、外側はヒット方向へ角度をつける。 | 採点と跳ね返りを分離し、毎回ランダム水平方向へ飛ばす。 |
| 二重判定 | 衝突判定と状態管理で抑制。 | centerHitHitCooldown 0.3秒。 |
| 壁反射 | 壁衝突時はステージ内へ戻す。 | 水平方向だけ反射し、テンポを保つ。 |
シャボン玉 Shader
透明膜とFresnel
BaseColor、Alpha、Fresnel を組み合わせ、外縁ほど光る薄膜感を作ります。
命中方向の色は MaterialPropertyBlock 経由で個体へ反映し、共有Materialを汚さない設計です。
ぷにょ変形
BubbleEffect.TriggerHitSquish(finalDir) が衝突方向を渡し、
_SquishProgress を減衰振動として更新します。
Shader は _HitDirection 軸を縮め、直交方向を膨らませます。
| Shader/Material パラメータ | 役割 |
|---|---|
_BaseColor | Bubble本体の薄い色。ヒット色と元色をブレンドする。 |
_FresnelColor | 外縁の発光色。命中方向・反応の気持ちよさを視覚化。 |
_SquishProgress | ヒット直後の変形量。時間経過で0へ戻る。 |
_HitDirection | どの方向へ潰すか。物理反射方向に対応。 |
_Surface / _SrcBlend / _DstBlend | URPの透明描画/アルファブレンド。パーティクルやクラゲMaterialでも手動設定が必要な箇所あり。 |
Ver1.3 海の時間帯サイクル
OceanTimeOfDayCycle は時間帯Profileをキーフレームとして並べ、現在時刻に応じて海の色・フォグ・ライト・HUD・魚の見え方を滑らかに補間します。
タイトルは実時刻、ゲームシーンは各モードの既定Profileを基準にします。
白み始め前
日の出
昼プラトー
夕方
日没
夜
時刻ソース
| RealTime | 端末の DateTime.Now と実日付。タイトル向け。 |
|---|---|
| Fixed | _fixedProfile を常時適用。ゲーム3シーン向け。 |
| Manual | _debugHour スライダー。調整・プレビュー用。 |
季節モデル
愛媛県伊予市/松山相当の値をもとに、夏至と冬至の日の出・日の入りをcosで補間します。 Fixedモードでは安定したゲーム画面を優先し、季節係数は0.5で固定します。
| 夏至 | 日の出 4:58 / 日の入り 19:23 |
|---|---|
| 冬至 | 日の出 7:10 / 日の入り 17:05 |
既定キーフレーム
| # | Profile | 基準 | Offset | 意味 |
|---|---|---|---|---|
| 1 | Night | Sunrise | -0.5h | 日の出30分前、白み始め。 |
| 2 | Dawn | Sunrise | 0h | 夜明けのピーク。 |
| 3 | Day | Sunrise | +1.5h | 完全な昼へ。 |
| 4 | Day | Sunset | -2.5h | 昼プラトー終わり。 |
| 5 | GoldenSunset | Sunset | -1.5h | ゴールデンアワー。 |
| 6 | Sunset | Sunset | -0.75h | 夕焼け・薄明。 |
| 7 | Night | Sunset | +0.5h | 完全な夜。 |
soft-only 適用
ランタイムでは OceanUnderwaterSettings.ApplySoftTo() を使い、色・強度・フォグなど軽量な値だけを反映します。
最後に ApplyExternalEnvironmentChanges(false) を呼び、光柱・粒子・カースティクスの再生成を避けます。
カースティクス配置保護
TitleとGameではTerrain高さが異なります。共有Profileが groundY を上書きすると光模様が床下へ潜るため、
applyCausticsPlacement がONのときだけ配置を適用します。
設定 / ポーズの海時間タブ
| シーン | 既定 | 保存キー | UI導線 |
|---|---|---|---|
| Title | Real(実時刻+季節) | settings_ocean_time_of_day_title | 設定画面 |
| NormalEndless | Day | settings_ocean_time_of_day_normal | ポーズ画面 |
| TimeAttack | Night | settings_ocean_time_of_day_timeattack | ポーズ画面 |
| CenterHit | GoldenSunset | settings_ocean_time_of_day_centerhit | ポーズ画面 |
Ver1.3 クラゲコンパニオン
クラゲコンパニオンは、クラリィやプレイヤーの周囲を長時間ふわふわ漂う癒やし要素です。 タイトルでは経過時間で増え、ゲームでは距離連動に切り替えられる構造になっています。
生成ルール
| 時間スケジュール | 15, 45, 180, 600秒。タイトルでは15秒で1匹、45秒で2匹、3分で3匹、10分で4匹。 |
|---|---|
| 距離連動 | 15, 40, 80, 140m。"Bubble"タグの HeadingBall.TotalTravelDistance を読む。 |
| 同時生成 | SPAWN_STAGGER 0.6秒 で1匹ずつ。スロット数と maxCompanions で上限。 |
| ターゲット | TitleClarieController → PlayerController の順に自動検出。Explicit指定も可能。 |
配置スロット
中心は target.position + (0, 0.6, 0)。既定はクラリィ周囲4点です。Sceneビューでは選択時ギズモで番号付きの球が表示されます。
| #1 | (-0.80, -0.50, -0.30) 左下 |
|---|---|
| #2 | (0.85, 0.70, -0.30) 右上 |
| #3 | (0.95, 0.00, -0.20) 右 |
| #4 | (-0.85, 0.60, -0.30) 左上 |
1匹の状態遷移
画面外から一定速度→ Attached
SmoothDampで追従→ Leaving
上方へフェード
動きのロジック
- 接近は
Vector3.MoveTowardsによる一定速度。到着時に急に詰める不自然さを防ぐ。 - 追従は
Vector3.SmoothDamp。MAX_SMOOTH_DT 0.05と1フレーム移動上限でワープを防止。 - スロット内で
wanderRadiusとsin波を使い、固定点ではなく持ち場の中で漂わせる。 minDistanceFromCenter 0.85でクラリィに近づきすぎない。
アニメとマテリアル
jellyfish_animated.fbx+Jellyfish.controllerでFBXのベル収縮アニメをループ。- Animator+Controllerを検出した場合、コード側の拍動/上下浮遊/傾きは自動OFF。
Jellyfish.matはURP/Lit Transparent、BaseColorは白寄り水色、Alpha 0.45。- フェードは
MaterialPropertyBlockで_BaseColor.aを個体ごとに更新。
搭載機能一覧
ヘディングゲーム
Bubble衝突、スコア、距離、命中率、難易度ランプ、コンボガード、壁反射、破裂。
モード選択
Normal / Time Attack / Center Hit をTitleのカードから選択。
Clock Mode
時計、ポモドーロ、タイマー。作業用・勉強用の眺める体験。
Jellyfish Companion
時間/距離でクラゲが増え、クラリィの周りを漂う。
Settings
BGM、SE、振動、海時間。UI Toolkitで構築。
Pause
再開、タイトル復帰、海時間切替。timeScale=0でも即時反映。
Ranking
PlayFabでランキング取得。未ログイン時はローカル表示。
Store / Ads
リワード広告、バナー、広告削除IAP、購入復元。
出現する魚の種類 / 頻度 / 特徴
FishParticleManager のデフォルト定義は13種です。画像素材が確認できる魚は12種で、
Oyabiccha は定義に存在しますが画像ファイルは今回未確認です。
ほぼ全魚種が avoidCenterArea = true で、プレイヤーとBubbleの通り道を避けます。

ソラスズメダイ
重み1.5、3〜7匹。青い高頻度差し色。

キンギョハナダイ
重み1.5、3〜7匹。暖色アクセント。

キュウセン
重み0.7、0〜2匹。低めの高さ。

チョウチョウウオ
重み1.2、1〜4匹。Hovering。

ハナゴイ
重み0.85、2〜4匹。紫ピンク。

キビナゴ
重み0.8、5〜12匹。速い銀色の流れ。

マアジ
重み0.65、2〜5匹。中層回遊。

イサキ
重み0.55、1〜3匹。落ち着いた中型魚。

メバル
重み0.5、0〜2匹。海底近くでゆっくり。

マダイ
重み0.95、1〜2匹。愛媛らしさ。

カワハギ
重み0.5、0〜2匹。StopAndGo。

ブリ
重み0.25、0〜1匹。低頻度の見せ場。
| 魚種 | 同時表示 | 出現重み | 群れ | 動き | 特徴 |
|---|---|---|---|---|---|
| Sorasuzumedai | 3〜7 | 1.5 | SmallGroup 2〜5 | GentleWave | 青い差し色。見せ場の多い高頻度枠。 |
| Kingyohanadai | 3〜7 | 1.5 | SmallGroup 2〜5 | GentleWave | オレンジ系。ソラスズメダイ相当の頻度。 |
| Kyusen | 0〜2 | 0.7 | None | GentleWave | 砂地・岩場。低めに出る。 |
| Chouchouuo | 1〜4 | 1.2 | None | Hovering | ふわっと漂う観賞魚枠。 |
| Hanagoi | 2〜4 | 0.85 | SmallGroup 2〜4 | GentleWave | 紫ピンクで色幅を追加。 |
| Oyabiccha | 2〜4 | 0.85 | SmallGroup 2〜3 | GentleWave | 定義あり。画像ファイルは未確認。 |
| Kibinago | 5〜12 | 0.8 | LooseStream 4〜8 | FastStraight | 銀色の小魚の流れ。 |
| Maaji | 2〜5 | 0.65 | LooseStream 2〜4 | FastStraight | 自然なスピード感。 |
| Isaki | 1〜3 | 0.55 | SmallGroup 2 | Straight | 落ち着いた中型魚。 |
| Mebaru | 0〜2 | 0.5 | None | Hovering | 岩場・海底近く。 |
| Madai | 1〜2 | 0.95 | None | Straight | 愛媛らしさの主役魚。奥でも小さくしすぎない。 |
| Kawahagi | 0〜2 | 0.5 | None | StopAndGo | 止まる/動く変化。 |
| Buri | 0〜1 | 0.25 | RareSmallGroup 2〜3 | FastStraight | 低頻度の大型回遊魚。実効重みは背景補正でさらに控えめ。 |
貝がら通貨 / 衣装コレクション
魚図鑑と同じ海のコレクションとして、10種の貝がらを用意しています。貝がらはクラリィの衣装と交換するゲーム内通貨です。 Normal Endlessではフィールドで拾い、Time AttackとCenter Hitではプレイへの集中を優先してリザルト報酬として獲得します。
| モード | フィールド貝がら | 獲得条件 | 報酬 | リザルト表示 |
|---|---|---|---|---|
| Normal Endless | 表示(同時5個) | Playing中に接近して拾得 | 貝がらごとの value(現行は1) | 貝がらアイコン + 「拾った貝がら +N」 |
| Time Attack | 非表示 | 60秒を完走 | 3 + floor(ヒット数 / 10)、最大8 | 貝がらアイコン + 「獲得した貝がら +N」 |
| Center Hit | 非表示 | 15回のヘディングをクリア | 6 + floor(最終スコア / 100,000)、最大10 | 貝がらアイコン + 「クリア報酬 +N」 |
Normalの貝がらはプレイ開始時、または自分で拾った貝がらの20〜35秒後の再出現時だけに現れます。 未取得の貝がらをプレイヤー移動に合わせて再配置しないため、理由のない突然出現を防ぎます。
貝がらの種類一覧
SeashellDecorSetup.shells で一覧管理します。各定義は名称、テクスチャ、価値、出現重み、サイズ補正、色補正を持ち、
現行の10種はすべて価値1・重み1です。

青貝
価値1 / 重み1

アサリ
価値1 / 重み1

アワビ
価値1 / 重み1

ベニガイ
価値1 / 重み1

ヒオウギガイ(橙)
価値1 / 重み1

ヒオウギガイ(紫)
価値1 / 重み1

イトカケガイ
価値1 / 重み1

サクラガイ
価値1 / 重み1

サザエ
価値1 / 重み1

ツメタガイ
価値1 / 重み1
貝がらで手に入る衣装
既定の「いつものワンピース」に加え、集めた貝がらで7着を交換できます。交換後はクローゼットから試着・装備でき、 タイトルとゲーム中のクラリィへ即時反映されます。

チェックスタイル
20 貝がら

ボーイッシュ
50 貝がら

パジャマ
70 貝がら

夏ワンピ
120 貝がら

クラシックドレス
200 貝がら

チャイナドレス
300 貝がら

着物
400 貝がら
有料課金で手に入る衣装 / 広告削除
iOSのStore「ストア課金」タブでは、貝がら交換とは別に衣装と広告削除を購入できます。 価格はストアの商品情報を優先して表示し、下記はカタログに設定された表示用の目安です。

学園制服
目安 $1.00

アラビアン
目安 $2.00

魔法使いの服
目安 $2.00

プリンセス
目安 $2.00
| 商品 | 商品識別子(公開用) | 内容 | 価格 / 復元 |
|---|---|---|---|
| 広告削除 | •••••••• | バナー・インタースティシャル等の広告を削除。 | ストア表示価格 / 非消耗型・購入復元対応 |
| 学園制服、アラビアン、魔法使いの服、プリンセス | •••••••• | 購入後はクローゼットで試着・装備。 | ストア表示価格 / 非消耗型・購入復元対応 |
有料衣装のストア表示はiOS向けの仕様です。Androidでは同じ衣装を貝がら交換として扱い、iOS有料衣装の交換数は基準価格の一律2倍です(学園制服 1,000、アラビアン/魔法使いの服/プリンセス 各2,000貝がら)。
技術仕様
- エンジン
- Unity 6000.3.10f1、Universal Render Pipeline。
- 入力
- Unity Input System。モバイル向けタッチ/仮想入力、プレイヤー移動。
- UI
- UI Toolkit(
UIDocument、UXML、USS)。UGUI Canvasは基本使用しない。 - 描画
- Bubble Shader、URP透明描画、UnderwaterDecorSetup、Renderer Feature、Particle System。
- 水中演出
- カースティクス、光柱、浮遊粒子、スクリーン屈折、深度フォグ、魚群、サメ、クラゲ。
- 保存
- PlayerPrefs。音量/BGM/振動、海時間、広告削除状態、ローカル統計など。
- オンライン
- PlayFabログイン/ランキング/Statistic送信。未ログイン時はローカルフォールバック。
- 収益化
- AdMobリワード/バナー、IAP広告削除、購入復元。
- ネイティブ
- iOS/Android触覚フィードバック、Store Review、Native Share、iOS表示名ローカライズ。
スクリプト構成
Manager.cs、HeadingBall.cs、PlayerController.cs、PauseController.cs、GameMode.cs。ゲーム進行、Bubble物理、入力、ポーズ、モード/海時間シーン区分。SettingsController.cs、GameSettingsStore.cs、UXML/USS。音量・振動・海時間タブを保存/反映。OceanTimeOfDayCycle.cs、OceanCycleBootstrap.cs、OceanTimeOfDayProfile.cs、OceanTimeOfDayProfileSet.cs、Editor。24hサイクル、固定Profile、Dawn、soft-only適用。JellyfishCompanion.cs、JellyfishCompanionManager.cs、JellyfishCompanionSetup.cs。クラゲ生成、追従、FBXアニメ、URP半透明Material生成。BubbleBurst.cs、BubbleEffect.cs、BubbleRemnant.cs、BlobShadow.cs。破裂、ぷにょ変形、残骸、影。FishParticleManager.cs、SeaLifeDecorSetup.cs、SeaLifeStreamingDecor.cs、SharkSpawner.cs、SharkSwimmer.cs。魚、サメ、装飾、品質プリセット。LeaderboardClient.cs、AdMob、IAP、StoreReview、NativeShare。ランキング、広告、購入、レビュー、共有。OceanTimeOfDayCycleEditor.cs、OceanTimeOfDayControllerEditor.cs、JellyfishCompanionSetup.cs、iOS PostProcess群。調整・生成・ビルド後処理。ログ一覧
ここではシステムのデバッグ出力ではなく、ユーザー操作・利用状況として記録される Unity Analytics のイベントと、
PlayFabへ送信する Statistic / ランキング値をまとめます。Debug.Log は実装診断用のため、この一覧の中心からは外します。
Unity Analytics: button_tapped
| イベント | パラメータ | 画面・ボタンの記録例 |
|---|---|---|
button_tapped | screen、button | すべてのボタン操作を共通形式で送信。UGS初期化前は送信しない。 |
| Title | screen=Title | Start、Start_Normal、Start_TimeAttack、Start_CenterHit、ClockMode、Settings、Ranking、Store、Closet。 |
| Game | screen=Game | Start、Pause、Resume、Retry、StartOver、Title、Share、ReviveAd、Time_Day など。 |
| Settings / Pause | screen=Settings または Game | BgmSelect、VibrationSelect、Contact、Time_Real / Time_Day / Time_Sunset など。 |
| ClockMode | screen=ClockMode | Tab_Clock、Play_Pomodoro、Pause_Timer、Reset_Timer、Close、Exit。 |
| Closet / Store / Ranking | 画面名 + 商品/操作名 | Equip_outfit_*、Exchange_outfit_*、Store_outfit_*、Tab_InGame、Tab_RealMoney、Restore、SelectType、SelectChoice。 |
iOSではATTの許可状態を確認してからデータ収集を開始します。ATT拒否時はAnalytics収集を開始せず、初期化完了前のボタン操作もキューには入れません。
PlayFab: Statistic / ランキング
| Statistic名 | 記録タイミング | 集計 | 値 |
|---|---|---|---|
BubblePop_HighScore | Normal Endlessの新しいベストスコア確定時 | Max | ヘディング回数 |
BubblePop_Distance | Normal Endlessの距離ベスト更新時 | Max | 距離(m × 10) |
BubblePop_TotalScore | ゲームオーバー時。セッション未送信分のみ | Sum | 全モード累計ヘディング回数 |
BubblePop_TotalDistance | ゲームオーバー時。セッション未送信分のみ | Sum | 全モード累計距離(m × 10) |
BubblePop_60secDistance | Time Attackの距離ベスト更新時 | Max | 60秒間の距離(m × 10) |
BubblePop_CenterHitScore | Center Hitのスコアベスト更新時 | Max | Center Hitスコア |
BubblePop_CenterHitAvePercent | Center Hitの平均命中率ベスト更新時 | Max | 平均命中率(0〜10000。87.65% → 8765) |
PlayFab送信の扱い
- ゲームオーバー時にモード別のStatisticを更新。
- 複数Statisticは1回の
UpdatePlayerStatisticsにまとめて送信。 - 未ログイン時は送信待ちキューへ保持し、ログイン後にまとめて送信。
- ランキング画面は
GetLeaderboardAroundPlayerで自分周辺を取得。
フォールバック
PlayFab未ログイン、開発者モード、SDK未定義時は、同じStatistic名に対応する PlayerPrefs のローカルベストを表示します。オンライン値とローカル値を混同しないよう、ランキング画面ではローカルフォールバックとして扱います。
Ver1.3 リリース確認観点
海時間
- TitleでReal選択時、端末時刻に応じた見た目になる。
- 設定タブでDay/Gold/Sunset/Nightへ切り替わり、保存後も維持される。
- ゲーム中ポーズで海時間を切り替え、timeScale=0でも即時反映される。
- Normal/TimeAttack/CenterHitの保存スロットが混ざらない。
クラゲ
- Companion Prefabが各シーンで設定済み。
- タイトル滞在15秒以降に画面外から自然に登場する。
- Animator付きFBXではコード拍動がOFFになり、二重アニメにならない。
- シーン遷移時にターゲット消失で自滅し、不要な残骸が残らない。
Appendix / 関連解説書
同じ Docs ディレクトリにある実装解説を、仕様書の補足として参照できます。