built·not·taught

asymmetric hardware-heterogeneous cooperative RL

pokeai

a distributed deep-RL framework that trains a neural net to play Pokémon Red on hardware i already owned — a 2016 GTX 1080, a Ryzen 7 5700G, no cloud. two systems train in parallel and blend their "brains" into each other every 5 minutes. i called it asymmetric hardware-heterogeneous cooperative RL because i couldn't find anyone who'd wired it up quite this way.

status: still cooking. workers are on Route 1, Badge 1 not earned yet, repo private until it clears. it never fully worked — but it's an idea i keep coming back to.

the idea

the question was never "can it run Pokémon" — it was "can it learn Pokémon," across 256 parallel instances, on a gaming GPU from 2016. two asymmetric systems, one machine, sharing knowledge:

hardware

this started as a gaming PC — every part bought on release day, none of it for research. now it's a dedicated training node running 24/7.

architecture

Proxmox host
└── VM 501 (Ubuntu 26.04, PCIe GPU passthrough)
    ├── docker: pokeai        (CPU system)
    │   └── supervisord ×8 — SB3 PPO trainer, telemetry bridge,
    │       stagnation/watchdog/stack guards, orchestrator, blackbox
    ├── docker: pokeaicuda    (CUDA system)
    │   └── 256 GBInstance structs in VRAM, custom PPO loop,
    │       CUDAHealthMonitor, telemetry server :9090
    └── host
        ├── transfusion_loop.py   (bidirectional weight sharing)
        ├── monitor.sh            (5-pane tmux dashboard)
        └── twitch_panels.py      (live OBS overlays)

reward engine

the reward mirrors biological curiosity — reward what's new and useful, penalize wasted time.

per step    -0.01     time penalty (always)
new map    +50.00     first visit, gated behind badges late-game
north push  +Δ·0.03   proportional to northward progress
gym entry   +5.00     Pewter Gym magnetism (phase 1)
battle      +0.50     HP drop detected — agent is fighting
level up   +10.00     per level
badge    +1000.00     per badge
clockwise   +score·0.05 + Δ·5.00   (phase 2 only)

self-healing

honest log

this isn't a polished paper — it's an engineering log of what i built, what broke, what i fixed, and why. i used Claude as a programming assistant throughout; the ideas, the curiosity, and the 10-year-old GPU are mine, and every commit notes where AI helped.

github (private) ↗