【World制作】VRC Rogue DevLog 2026/07/03

概要

VRC Rogue の同期とリザルト表示を調整しました。


変更点

同期

  • 敵・アイテム状態の同期
    • 敵の位置、撃破状態、アイテム取得状態を数値パック同期で送る設定を有効にしました。
    • DungeonRoot の同期 payload を縮小し、敵タイプやアイテム内容は seed/floor から再生成、敵位置・HP・生存状態とアイテム取得状態だけを送る形にしました。
    • 文字列や配列を直接同期せず、必要な状態だけを数値として扱う形にしています。

UI

  • リザルト表示
    • リザルト画面に到達階を表示するようにしました。
    • クリア時はクリア階、ゲームオーバー時はその時点の階を表示します。

修正

  • 観戦時に敵やアイテムの状態が揃わない

    • 原因: 敵・アイテム状態の同期送信が無効になっていました。
    • 対応: 数値パック同期経路を有効にし、受信側で seed/floor 由来の静的配置へ動的状態を重ねるようにしました。
  • DungeonRoot のシリアライズ失敗

    • 原因: 敵・アイテムの全属性を個別の synced int として持つ構成が大きく、FlatBuffer8 のシリアライズで失敗していました。
    • 対応: 同期対象を動的状態に絞り、DungeonGenerator の synced field 数を削減しました。
  • リザルトに到達階が出ない

    • 原因: リザルト用の表示テキストに到達階を含めていませんでした。
    • 対応: リザルト専用の到達階を数値で同期し、各クライアントで表示文を組み立てるようにしました。

次に確認すること

  • 実機で敵の移動、撃破、アイテム取得が観戦側にも反映されること
  • リザルト画面で到達階とスコアが表示されること
  • VRChat ログに RogueRoot / DungeonRoot のシリアライズ警告が出ないこと

vrchat udonsharp unity gamedev devlog