How I Built an AI to Beat the 1990s Arcade Game Double Dragon
summary
Built an agent that uses the PyBoy emulator and direct memory reads (health, X/Y, lives) with reinforcement learning, deployed across Kubernetes + KubeRay and MinIO for checkpoints; training runs at ~50x Game Boy speed with 60+ parallel instances. Reward shaping uses a -50 death penalty and favors positioning over scoring, which yields the crucial cornering/back-elbow behavior. After ~3,000 sessions (only 1 successful full run), the AI beats level one; scaling from a laptop (100 hours) to the cluster cuts that to ~8 hours.
AI-written summary · about
chapters (12)
- 0:00AI and arcade nostalgia
- 2:48Live AI demo
- 5:37Kubernetes for AI training
- 8:33Jupyter and MinIO setup
- 13:07Reinforcement learning model
- 15:15Positioning beats scoring
- 17:41Extracting game data
- 20:57Training across levels
- 24:28AI beats first level
- 26:58Infrastructure improvements
- 27:39Future AI plans
- 28:22Q&A
related talks
37mHow I trained an AI Model to Beat the 1990's Arcade Game Double Dragon
31mUsing Python to build an AI to play and win SNES StreetFighter II
46mAI Takeover
39mBuilding self evolving video game AI in Python
56mCan I do AI?
35mLet's play Space Invaders!
31mDesigning game AI with reinforcement learning
17mTraining My Rival in Java: A Deep Q-Learning AI to Play Azul
