GamecontrollerBeta

Pad

Zwei Sticks, zwölf Tasten, ein Gehirn.

Gamecontroller

Ein Gegner, der mit Daumen spielt.

Pad bildet Spielbilder auf einen Standard-Controller ab: zwei Analogsticks, Trigger und Tasten. Pro Spiel per Imitation und Reinforcement trainiert, auf demselben Gehirn.

Bilder gelangen über den Facettenaugen-Adapter hinein; die Sticks verlassen das Gehirn über die absteigenden Neuronen als kontinuierliche Werte, die Tasten als Spikes. Die native Kompetenz der Fliege, auf ein bewegtes Ziel zuzusteuern, ist genau das, was die meisten Spiele verlangen.

Reagiert in 90 ms.

Bild-zu-Stick-Latenz von 90 ms Ende zu Ende bei 60 fps, im Bereich menschlicher Spieler. Steuerungsaufgaben konvergieren in unter zwei Stunden Self-Play auf einer GPU.

Zielwert Mit „Zielwert“ markierte Zahlen sind Entwicklungsziele für das erste Release, keine Messungen.

90 msZielwertReaktionBild zu Stick, 60 fps
< 2 hZielwertTrainingSteuerungsaufgabe, eine GPU, Self-Play
So ist es gebaut

Gleiches Gehirn, eigene Verdrahtung.

Eingabe-Adapter belegen afferente Regionen, Ausgabe-Adapter lesen efferente. Co-Prozessoren speisen über den Embedding-Port ein.

3D-Ansicht braucht WebGPU oder WebGL2.
Engine
  • FlyCore v0.1.0
  • Gewichte v0.1.0-beta
Eingabe-Adapter
  • frames (compound eye)
  • controller state
Ausgabe-Adapter
  • gamepad (sticks, triggers, buttons)
Co-Prozessoren
  • keine
Python
import flycore

brain = flycore.load("flylabs/pad")      # engine + weights + adapters
agent = brain.attach(frames=env.frames, gamepad=flycore.io.Gamepad())
agent.play(env, hours=2)   # imitation, then self-play
# agent.act(frame) -> GamepadState
Anwendungsfälle

Zwei Sticks, zwölf Tasten, ein Gehirn.

Sparringspartner

Gegner mit menschlichen Reaktionszeiten für Renn-, Arena- und Plattformspiele.

Playtesting im großen Stil

Tausend Agenten, die wie Menschen spielen, finden das zu schwere Level, bevor Spieler es tun.

Grenzen
  • Beta: nur Standard-XInput-Layout.
  • Training pro Spiel nötig; kein Zero-Shot-Spielen.