Using Python to build an AI to play and win SNES StreetFighter II
summary
Uses a SNES emulator (snes9x + BizHawk) and Python glue to expose game state to OpenAI gym and trains a DQN via keras-rl and tensorflow. Acts every 20 frames, runs training at ~450 FPS in cloud, and optimizes a delta health reward (health difference per frame). After ~3,000 games an agent reaches ~80% win rate, special moves emerge autonomously, and overpowered M. Bison bots are banned from the tournament.
AI-written summary · about
chapters (12)
- 0:00Start
- 1:35Overview
- 2:45Reinforcement Learning
- 3:44Observation
- 5:24Action Space
- 7:37Gym Environment Step and Reset
- 21:21Funniest Programming Fails
- 23:33Time-Delayed Attack
- 24:41Have You Considered Challenging the Professional Players with Your Bots
- 25:29How Much Did the Training Cost
- 26:06How Much Did the Cloud Cost
- 26:41Academic Backgrounds
related talks
35mHow I Built an AI to Beat the 1990s Arcade Game Double Dragon
37mHow I trained an AI Model to Beat the 1990's Arcade Game Double Dragon
33mPython vs Punch Out
39mBuilding self evolving video game AI in Python
01h 01mReinforcement Learning: Pac-Man
35mLet's play Space Invaders!
46mAI Takeover
56mCan I do AI?
