Pad
BetaAn opponent that plays with thumbs.
Two sticks, twelve buttons, one brain. Game controller.
| Platforms | Python, Rust |
|---|---|
| Engine | FlyCore v0.1.0 |
| Weights | v0.1.0-beta |
| Input ports | Game frames (compound eye) → visual (11,390); Controller state → ascending (2,276) |
| Output ports | Sticks, triggers, buttons ← descending |
| Co-processors | none |
The 3D view needs WebGPU or WebGL2.
Install
Python
pip
pip install flycoreRust
Cargo
cargo add flycoreUsage
Pad maps game frames to a standard controller: two analogue sticks, triggers and buttons. Trained per game by imitation and reinforcement, on the same brain.
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) -> GamepadStateFigures
Figures marked target are design targets for the first release, not measurements.
| Reaction | 90 mstarget frame to stick, 60 fps |
|---|---|
| Training | < 2 htarget steering task, one GPU, self-play |
Limits
- Beta: standard XInput layout only.
- Per-game training required; no zero-shot play.