finds.dev

vietnh1009/Super-mario-bros-A3C-pytorch

Asynchronous Advantage Actor-Critic (A3C) algorithm for Super Mario Bros

View on GitHub

★ 1,119PythonMITupdated Apr 2024

// the take

A from-scratch PyTorch implementation of Asynchronous Advantage Actor-Critic (A3C) trained to play Super Mario Bros via OpenAI Gym. It's aimed at people learning RL who want to see the paper's algorithm with minimal extra scaffolding, not a production RL framework.

The code is genuinely minimal and maps closely to the paper — no extra abstraction layers hiding how the async workers, advantage estimation, or shared optimizer actually work, which makes it a good read for understanding A3C rather than just running it. It ships trained weights for most of the 32 stages, so you can validate results without burning your own compute. The README's actor/critic explanation is unusually clear for a research repo.

It pins to Python 3.6-era gym and cv2 APIs with no requirements.txt or version lock, and gym/gym-super-mario-bros have both had breaking API changes since 2019, so getting this running today means reverse-engineering a compatible environment rather than pip installing. A3C here is single-machine multiprocessing, not distributed — it doesn't scale past your core count and offers nothing like the throughput of a vectorized PPO setup. There's no CI, no tests, and the last commit predates any adaptation to gymnasium or newer Mario environments, so expect to patch import paths and reward/done signatures yourself.

We read the README, the directory tree and a key source file in October 2026. Nobody pays to be listed. How we judge →

// at a glance

Stars
1,119
Forks
235
Language
Python
License
MIT
Last commit
28 Apr 2024

// nearby

If Super-mario-bros-A3C-pytorch isn't quite it.

All repos →