DEV Community

Cover image for Simple circuits can create complex behaviors
Ashish
Ashish

Posted on

Simple circuits can create complex behaviors

Building AmblyoPunch: Simple Circuits → Complex Binocular Vision

Hacker News top post today: Simple circuits can create complex behaviors (171 pts).

Der Artikel auf HN zeigte, wie minimale neuronale Verschaltungen reichhaltiges Verhalten erzeugen. Genau diesen Prinzip haben wir auf AmblyoPunch übertragen – ein Meta‑Quest‑VR‑Spiel für Amblyopie (lazy eye) und binokulare Sehstörungen von Seven Sportz.

Der Kern‑Loop (einfach, aber wirkungsvoll)

  • Gabor‑Muster‑Münzen fliegen auf den Spieler zu → Punch für Punkte
  • Rote Spikes nähern sich → Ausweichen/Ducken (3 Leben)
  • Welten schreiten fort: Village → City → Space → Moon → Mars → Venus
  • Objekte werden schneller/kleiner, Spikes größer

Das ist der einfache Schaltkreis: ein Arcade‑Loop, den jedes Gehirn sofort versteht. Keine Tutorials, keine Menüs – nur Blick‑und‑Hand‑Koordination.

Die neuronale Umverdrahtung (komplex)

Der klinische Effekt entsteht durch eine 4‑stufige dichoptische Pipeline (Automatic Mode), die pro Auge unterschiedliche Bilder rendert:

  1. Monokulares Warm‑up – Targets nur dem schwächeren Auge (dominantes Auge: schwarz)
  2. Suppression brechen – dominantes Auge stark gedimmt/ausgewaschen → Gehirn muss das Signal des schwachen Auges gewichten
  3. Rebalancing – Klarheit/Helligkeit des dominanten Auges wird in Sub‑Schritten schrittweise wiederhergestellt, während das schwache Auge engagiert bleibt
  4. Fusionstraining – leichte Disparität innerhalb von Panums Fusionsbereich zwingt das Gehirn, beide Ansichten zu einem einzigen 3D‑Perzept zu verschmelzen, um präzise Treffer zu landen

Progressions‑Gating: ≥70 % rollierende 10‑Ergebnisse; ≥80 % für Strabismus‑Profile vor Fusion. <40 % → Demotion.

Anpassung (Konfiguration über Wall‑/Wrist‑Menu)

  • Lazy Eye: Left / Right – kritisch, falsche Wahl kehrt den klinischen Effekt um
  • Severity: Mild / Moderate / Severe → Target‑Größe, Geschwindigkeit, Stufen‑Dauer
  • Strabismus: Esotropie / Exotropie → Stage‑4 Disparität / Vergenz‑Shift
  • Custom Mode: Manuelle mono‑/binokulare / Fusion‑Toggles. Automatic empfohlen.

Technische Implementierungs‑Details

Dichoptisches Rendering

Zwei Kameras (Left/Right Eye) mit je eigenem Post‑Process‑Pass (Alpha, Contrast, Disparity). Quest 2/3/Pro @ 72/90 Hz.

// Fragment‑Shader Auszug für Gabor‑Stimulus
uniform float uSpatialFreq;
uniform float uOrientation;
uniform float uBandwidth;
vec2 uv = vTexCoord * uSpatialFreq;
float gabor = exp(-dot(uv,uv)*uBandwidth) * cos(dot(uv, vec2(cos(uOrientation), sin(uOrientation))));
gl_FragColor = vec4(vec3(gabor), 1.0);
Enter fullscreen mode Exit fullscreen mode

Parameter werden zur Laufzeit über Severity/Stage gesteuert.

Input‑Abstraktion

Controller‑ und Hand‑Tracking‑Eingaben werden über einen einheitlichen IInteractionLayer normalisiert – so bleibt die Spiellogik geräteunabhängig.

State‑Machine

Automatic Mode als deterministischer FSM:

state MonocularWarmup -> (performance>=70%) -> BreakSuppression
state BreakSuppression -> (performance>=70%) -> Rebalancing
state Rebalancing -> (performance>=80% && strabismus) -> FusionTraining
state FusionTraining -> (performance<40%) -> Demotion
Enter fullscreen mode Exit fullscreen mode

Übergänge werden frame‑genau evaluiert, keine versteckten Timer.

Persistenz

Lokale Speicherung (SharedPreferences‑ähnlicher Key‑Value‑Store) für Fortschritt, Kalibrierung, Settings. Keine Cloud‑Abhängigkeit – Offline‑First.

Warum das für Builder relevant ist

Compliance ist die Kill‑Metrik in Digital Health. Pflaster‑Therapie scheitert, weil sie langweilig, sozial unbehaglich und wie Behandlung wirkt. AmblyoPunch rahmen die gleiche neuronale Arbeit als Spiel, das man spielen will. Der simple Loop treibt Engagement; die dichoptische Pipeline liefert das klinische Signal.

Kein Medizinprodukt‑Claim. Trainings‑/Assistenz‑Spiel, das professionelle Augenpflege ergänzt – nicht ersetzt. Augenarzt konsultieren für klinische Beratung.

Try it: https://www.meta.com/en-gb/experiences/amblyopunch/1239507485902689/

Top comments (0)