VR × 両眼視トレーニング:AmblyoPunchのステージ制御と設定設計をどう組んだか
きっかけになった今日のニュース
ScienceDailyに「これまで有益とされてきた脳細胞が、機能不全になると過剰なミエリンを産生し、神経線維を乱して認知機能の低下に関与する可能性がある」という研究が載っていました。
分野は違いますが、この研究が前提にしているのは「神経系は入力と使い方に応じて振る舞いを変える」という考え方です。私たちがAmblyoPunchで扱っている両眼視トレーニングも、まさにこの前提の上にあります。入力の与え方——片目に何を、どの強度で、どのタイミングで見せるか——をどう設計するかで、体験の質が決まる。エンジニアリングとしては、これは「提示制御」と「進行制御」と「設定露出」の三層に分けて考えるのが素直でした。
何を作ったか
AmblyoPunchは、Meta Quest向けのVRビジョントレーニングゲームです。コアループは極めてシンプルです。
- ガボールパターン(縞模様)のコインをパンチして得点
- 赤いトゲをよける(ハート3、全損でリスタート)
- ワールド進行:村 → 街 → 宇宙 → 月 → 火星 → 金星。対象は高速化・小型化、トゲは拡大
面白いのは、この「ゲームループ」と「トレーニングプロトコル」を分離したことです。ゲームとしては「コインを叩いて避ける」だけで成立させ、その裏で動く提示制御を差し替え可能にしました。こうしておくと、プロトコルを変えてもゲームの手触りが壊れません。
設計上の判断
1. 提示制御はモードで抽象化する
自動モードでは4段階のダイコプティック提示を順に実行します。
- 単眼ウォームアップ(対象を弱視眼にのみ提示)
- 抑制の解除(利き目を強く減光)
- リバランス(クリアさを段階的に復元)
- 融合トレーニング(パナム融像域内のわずかな不一致を提示し、単一の3D知覚に統合させる)
実装としては「左右の目に何を、どの強度で出すか」を宣言的に記述し、ゲームロジックから切り離すのが正解でした。ゲーム側は「対象がどこにあって、当たったかどうか」だけを知ればいい。提示側は「今どのステージで、左右に何を出すか」だけを知っていればいい。この境界を引いてから、両者の変更が互いを壊さなくなりました。
// 概念的な擬似コード
const stage = stages[currentStage]; // 提示仕様
const frame = stage.render(eye); // eye: 'left' | 'right'
if (rollingWindow(10).accuracy >= stage.gate) {
advanceStage();
}
ポイントは、提示仕様がデータ(宣言)であって、命令の列ではないことです。ステージを足すとき、ゲーム側のコードには触りません。
2. 進行はパフォーマンスゲートにする
時間ベースではなく、成績ベースです。直近10回の結果で概ね70%以上を要求し、斜視プロファイルでは最終融合の前に80%以上を要求します。これにより、できていないのに先へ進む状態を構造的に防げます。
時間ベースにしなかった理由は単純で、「10分経ったから次へ」は進度の保証にならないからです。ローリングウィンドウで直近の正答率を見れば、その人の“今”を反映できます。窓幅を10にしたのは、短すぎると1回のミスで揺れ、長すぎると上達が反映されるまで遅れる、というトレードオフの帰結です。
function rollingWindow(n) { /* 直近n件の正誤を返す */ }
ゲートは固定値ではなくプロファイルで上書きできるようにしました。同じプロトコルでも、症状によって要求水準は変わるべきだからです。
3. 設定は「間違えると逆効果になる」項目を最優先で露出する
- 弱視眼の左右(誤ると効果が逆転するため、最初に確認させる)
- 重症度:軽度/中等度/重度(対象サイズ、速度、ステージ長)
- 斜視タイプ:内斜視/外斜視(ステージ4の視差・輻輳シフト)
自動モードを既定推奨とし、専門家向けに単眼/両眼提示と融合を手動制御できるカスタムモードを用意しています。
設定UIの設計原則は「逆効果になりうる項目を先頭に置く」でした。弱視眼の左右を間違えると、狙いと逆の目を訓練してしまう。だからこれはオンボーディングの最初に確認させます。逆に、あとから変えても影響が小さい項目は奥に置く。露出の順番そのものが安全性の一部、という感覚です。
実際に触ってみて分かったこと
抽象化のコストは、最初の設計でほぼ払い切れました。ステージを増やすとき、ゲーム側は無傷です。パフォーマンスゲートは、テストプレイで「進みすぎ」を防いでくれました。手応えとしては、地味ですが効いています。派手な機能より、境界の引き方が効くタイプのプロダクトです。
注意
これは医療機器ではなく、治療でも治癒でもありません。臨床判断は眼科専門家の領域です。あくまで「続けられる練習の入り口」としてのゲームです。今回触れた研究は速報段階の知見であり、本作の効果を示すものではありません。
▶ https://www.meta.com/en-gb/experiences/amblyopunch/1239507485902689/
Top comments (0)