SIMPLE VRシリーズ Vol.2 THE DANMAKU(仮) 2026/06/18

概要
SIMPLE VRシリーズ Vol.2 THE DANMAKU(仮) の試作版を 0 から組み立て、あわせて今後の派生で使い回せる sync / save / score / audio の共通部品も切り出したうえで、2026年6月18日 に公開しました。
変更点
プロトタイプ実装
- 0 から STG 試作を組み立てました
glyph + DataTextureベースで playfield を描き、Desktop / VR の両方で弾幕 STG として触れる最小構成を先に作りました。START、RESTART、ENDLESS、BOMBまわりの入口を揃え、試作として一通り遊べる流れを先に成立させました。
- STG 用の画面構成を builder から再生成できるようにしました
STGShaderPrototypeBuilderを入口にして、Canvas_Field、Canvas_Status、Canvas_Demo、Canvas_Controls、Canvas_ScoreBoard、Canvas_Debugの配線をまとめました。- scene を手で作り込むより先に、壊れても組み直せる shell と wiring を用意して、調整を回しやすい形にしています。
共通部品化
- ゲーム本体と共通システムを分離しました
- ゲーム本体は
StgShaderPrototypeUdonに寄せつつ、進行同期はStageSessionSync、boss 状態はBossStateSync、参加者状態はPlayerRosterSync、結果表示はResultSync、ランキングはSTGScoreboardSync、保存はSTGSaveSystem、音まわりはSTGAudioSystemに切り出しました。 - 「1 Behaviour は 1 つの主要責務に寄せる」という形にして、あとから別の試作へ持ち出しやすい層を先に固めました。
- ゲーム本体は
- Rogue 側の方針を STG 側へ持ち込みました
- 文字列は同期せず、score / seed / wave / phase のような numeric data だけを同期し、表示文は各クライアントで組み立てる構成にしました。
- 自機位置、弾 1 発ごとの座標、細かい演出はローカル処理のまま残し、共通化しすぎて重くならない境界を意識しています。
公開
- 試作版を公開しました
- ワールド名を
SIMPLE VRシリーズ Vol.2 THE DANMAKU(仮)として公開しました。 - 公開ページ:
https://vrchat.com/home/world/wrld_68b226ac-5d45-49f3-986f-fcad070c45ad/info
- ワールド名を
修正
- ローカルベスト保存の前提を揃えました
- 原因:
PlayerDataはOnPlayerRestored前に扱えず、保存対象 Behaviour 側にVRCEnablePersistenceが無いと永続化の入口も揃いませんでした。 - 対応:
STGSaveSystemをOnPlayerRestored(local)後だけ save / load する形にし、builder 側でもSTGSaveSystemへVRCEnablePersistenceを自動付与するようにしました。
- 原因:
設計メモ
- まず 0 から 1 本通して遊べる STG を作り、その後で共通化する順にしました
- 最初から抽象化しすぎず、試作を成立させたあとで score / save / sync / audio のような再利用しやすい層だけを切り出す方針にしました。
- そのため今回の共通化は「全部を共有化する」のではなく、「次のシリーズでも困りやすい部品を先に独立させる」ことを重視しています。
次に確認すること
BossStateSyncの owner authoritative 化はまだ途中です。PlayerRosterSyncの state を UI 表示へつなぐ余地があります。STGAudioSystemには実音源の追加と発音間引きの整理が残っています。