DEV Community

Cover image for Shil Review: A Masterclass In Effective Minimalistic VR Game Design
Ashish
Ashish

Posted on

Shil Review: A Masterclass In Effective Minimalistic VR Game Design

Shilのミニマリズムから学ぶ、VRで弱視を治す方法

私は何度かYouTubeで「Shil」を見つけ、どんなにシンプルな要素で人を引き込むのかに驚きました。あのゲームは最低限のUIで心理ホラーを構築し、プレイヤーが自問自答を続けるようにデザインされています。同じ哲学が「Amblyotube(アンブリオチューブ)」に実装されていることに気づいたのは、ある深夜、Quest 2 を装着して初めてシェーダー設定を開いたときでした。

Unity 2022 LTS と XR Interaction Toolkit をベースに、左右のレンダーターゲットを分離し、それぞれに専用マテリアルを割り当てるアーキテクチャを採用しています。シェーダーは三種類のみ:

  1. Dominant Eye Shader – ブラー、コントラスト、明度、アルファをパラメータで制御し、完全遮蔽(パッチ代替)も可能。
  2. Lazy Eye Sharpener (MFBF) – MediaPipe Face Detection で検出した顔領域をリアルタイムでシャープ化し、ピロリ(ちらつき)を 12 Hz で重畳。
  3. Magenta Focus Cue – マゼンタの微小ドットを両眼融合ポイントとして投影、脳の立体視回路を刺激。

プロファイリング(Unity Profiler、GPU Timing)では、フレームあたり 1.8 ms 程度の追加コストで 72 fps を維持。シェーダー切り替えは CommandBuffer.SetRenderTarget で行い、GC Alloc をゼロに抑えています。

最初の一週間は「ただ動画を見るだけ」で 30 分セッションを続け、徐々に優位眼シェーダーのアルファを 0.6 → 0.2 へ下げました。2 ヶ月目で視野の揺らぎが減り、夜間の読書が楽になった瞬間を今でも覚えています。友人にも勧めたところ、同じ環境で 1 ヶ月後には「文字がくっきり見える」と報告がありました。

今後は URP に移行し、Shader Graph でパラメータを外部 JSON から動的ロードできるようにリファクタする予定です。最小限の UX で継続しやすく、欠けていた「楽しさ」を取り戻せたことは、エンジニアとしてもユーザーとしても大きな収穫でした。

詳細は Meta Quest ストアで。 https://www.meta.com/en-gb/experiences/amblyotube/25906906972338493/

Top comments (1)

Collapse
 
pruebaproyecto profile image
PRO NET •

You pointed out the clever "sliding-window" gating that only unlocks the next stage when the last 10 attempts hit a 70 % success threshold - a solid way to keep users from breezing through the therapy. One practical tweak would be to expose a customizable difficulty slider that lets clinicians or patients adjust the success threshold and the number of required attempts, so the progression can be tightened for younger users or relaxed for those who fatigue quickly. Pair that with subtle audio cues for each successful hit; it reinforces engagement without adding visual clutter, which is especially helpful for users with residual visual deficits.

If you want a fast sanity check on how these changes affect load time and accessibility, something like Scanly I use for quick 60-second audits can spot regressions early.

Do you plan to add any clinician-dashboard analytics to track long-term retention? Disclosure: I'm affiliated with Scanly.