dangtrantanluc/reinforcement-learning-arena — explained in plain English
Analysis updated 2026-05-18
Watch PPO, Dyna-Q, and DQN agents compete live in a Bomberman-style game.
Study how neural-network and tabular reinforcement learning approaches differ in behavior.
Tune training hyperparameters like learning rate and discount factor without restarting.
Review past matches step by step using the built-in replay browser.
| dangtrantanluc/reinforcement-learning-arena | acoyfellow/svelte-edge | asyncawait547/omnidispatch | |
|---|---|---|---|
| Stars | 18 | 18 | 18 |
| Language | TypeScript | TypeScript | TypeScript |
| Setup difficulty | moderate | moderate | hard |
| Complexity | 3/5 | 3/5 | 4/5 |
| Audience | developer | developer | developer |
Figures from each repo's GitHub metadata at analysis time.
Needs Python with PyTorch for the backend and Node.js for the frontend, or Docker Compose to run both together.
This project is an educational demonstration where three different AI learning algorithms compete against each other in a Bomberman-style grid game. Bomberman is a classic game where players move around a grid, place bombs to destroy boxes and eliminate opponents, and try to reach a goal position. Here, instead of a human player, each character is controlled by an AI agent trained using a different technique. The three algorithms are PPO (Proximal Policy Optimization), Dyna-Q, and DQN (Deep Q-Network). PPO and DQN both use neural networks to learn from experience, while Dyna-Q uses a traditional lookup table combined with a simple internal model of the environment to plan ahead. All three are built from scratch using PyTorch and NumPy, without relying on any pre-built reinforcement learning libraries. The point is to show how each approach learns and behaves differently when placed in the same competitive environment. The backend is written in Python using FastAPI. It runs the game environment and trains all three agents continuously in a background process. A React-based frontend connects to the backend over WebSocket and shows the game updating in real time, step by step, without skipping frames. The UI includes heatmaps showing where each agent tends to move, charts comparing their scores over time, action probability displays, and a replay browser so you can review past matches. There is also a panel for adjusting training settings like learning rate and discount factor without restarting. The game rules give points for reaching the goal first, for destroying boxes with bombs, and for eliminating opponents. Each step costs a small penalty to encourage efficiency. Agents can be trained from the command line or watched live in the browser. Docker Compose is provided to start both the backend and frontend with one command. The project includes automated tests for the game environment logic and a GitHub Actions setup that runs tests and checks on every push.
An educational project where PPO, Dyna-Q, and DQN reinforcement learning agents compete in a Bomberman-style grid game, viewable live in a React dashboard.
Mainly TypeScript. The stack also includes Python, TypeScript, FastAPI.
Setup difficulty is rated moderate, with roughly 30min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.